最近在给朋友做一个项目,要求将涉及到的算法内容整理成一个单独的 framework,这样可以隐藏算法细节,方便交付。这个需求可以很容易地通过Cocoa Touch Framework实现。不过在交付的时候存在一个头疼的问题:默认情况下,Xcode 在编译 Cocoa Touch Framework 时只会编译出支持模拟器或者真机的 Framework,而无法编译出同时支持模拟器和真机的 Framework,即 Universal(Fat) Framework。这一需求还需要进一步地利用一些系统脚本来实现。
2019
这里我们讨论的图像截取部分是指从一个完整的大图中截取一小部分出来。当然,使用 js 实现。
在学校里看剧、电影,下载破解游戏基本都靠北邮人。一方面资源比较全,另一方面是走 IPv6,不需要走计费的校园网 IPv4 流量。不过由于北邮人只支持 IPv6,而国内 IPv6 基本只有校园网有。问题来了,怎么在校外的纯 IPv4 环境下使用 IPv6 Only 的北邮人呢?
目前已经有一些运行商为家庭网络提供了 IPv6,但是北邮人这种教育网 IPv6 资源站点常常封禁了这些家庭 IPv6 网络。
最近墙又双叒叕加高了。在春节前就发现自己的 VPS 无法连接,后来发现还好只是端口被封禁,换成其他的端口就能使用了。不过这才撑了半个月新的端口访问又不太稳定了。如果再换端口,或许也可以。但是不是长久之计。不过我的 VPS 是支持 IPv6 的,一般来说,墙对于 IPv6 流量的拦截比较弱。或许可以想办法先把自己的流量转换成 IPv6 然后再出去。
网络资源的分享是非常重要的,而建立起一个网关来进行网络分享是一个比较好的解决方案。在 Linux 系统中创建和设置网关非常简单,成本低廉,而且性能可靠。
2018
最近实验需要在树莓派上搭建一个简单的视频服务,而且,希望画质一定的情况下,消耗的带宽越少越好。关于带宽的问题,其实开始并没有考虑太多,但是在尝试用uv4l
工具创建 mpeg 流的时候发现,尽管分辨率很低(720p)不到,需要的数据率却达到了大约 5MB/s。我们待测试的通信层不具备这样高的传输传输能力。因此需要想办法把数据率降下来。综上,我们需要产生一个编码后的视频流,如 H264。
GitLab 由乌克兰程序员 Dmitriy Zaporozhets 和 Valery Sizov 开发,它由 Ruby 写成。后来,一些部分用 Go 语言重写。截止 2018 年 5 月,该公司约有 290 名团队成员,以及 2000 多名开源贡献者。 GitLab 被 IBM,Sony,Jülich Research Center,NASA,Alibaba,Invincea,O’Reilly Media,Leibniz-Rechenzentrum (LRZ),CERN,SpaceX 等组织使用。
Make 一般是在 Unix 环境下使用的自动化编译工具。他本身不是编译器,而是将众多 C/C++源文件组织起来,确定其编译方式和编译顺序的工具。一旦我们写好的 Makefile 配置文件,那么无论多么复杂的工程我们都可以用一条 make 命令来解决。事实上,尽管通常和 C/C++搭配起来使用,make 也能应用到其他的编程语言之中。
在使用 make 过程中的第一个核心问题是处理文件依赖的问题。例如:
1 | foo.o : foo.c defs.h # foo模块 |
这里 foo.o
依赖于 foo.c
和 defs.h
。当后面两个文件发生变化时,make 会自动运行 cc -c -g foo.c
命令更新 foo.o
文件。但是,随着项目扩大。这种文件之间的依赖关系会变得非常复杂,一个小的改动可能会涉及到众多依赖关系的修改。因此有必要在项目的开始就引入自动构建依赖关系的工具链。