艾莉亚的猫 Time is limited, To be a better man

HTTP框架Proxygen

这些天,对我之前的中间件项目越发嫌弃了起来,想重新写过可是又一直被安排做其他的事情,只能是吸取经验等以后有机会再写写别的了。今天,就想着看看别人的项目框架来找找感觉,瞄了两眼脸书的Proxygen,谈谈自己的看法。

1 用到了Travis、Dockerfile、Doxygen分别用来帮助持续构建项目,实现容器部署和生产文档。看起来也觉得正规,大公司的技术就是能跟得上时代潮流。

2 毕竟是Facebook的项目,Proxygen自然的牵扯到了自家的基础库(比如folly),还有一大堆依赖,这点稍微不爽。

3 优秀的代码风格。

最后,来看看构建项目的shell脚本。

如何获取Debian源码包

如何获取ubuntu源码包里面的源码?

1、在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项

2、使用如下命令获取xxx源码包的详细信息:

sudo apt-cache showsrc xxx 这用来查询当前镜像站点中是否有该源码包。

3、源码包中通常包含3个文件,分别以dsc,orig.tar.gz和diff.gz为后缀名。

sudo apt-get source xxx 命令来获取源码包,它会将源码包下载到用户当前目录

Repack a .deb archive

长话短说,我要将.deb文件解包,替换上我的补丁文件,然后再重新打包回来。这样我可以其它电脑上安装,或者将修正的包文件发给我的朋友。我要怎么做呢?

只需要以下5条命令:

mkdir -p extract/DEBIAN

dpkg-deb -x package.deb extract/

dpkg-deb -e package.deb extract/DEBIAN

[…do something, e.g. edit the control file…]

mkdir build

dpkg-deb -b extract/ build/


  • 第一条命令创建了一个名为“extract”文件夹和一个名为“DEBIAN”的子文件夹;

  • 第二条命令会从你的.deb包提取一些文件到“extract”文件夹;

  • 第三条命令会解压.deb包的内容到“DEBIAN”子文件夹,在那里你就可以修改/补丁你想要的文件;

  • 第四条命令建立一个名为“build”的文件夹;

  • 而第五条命令会将修改后的文件重新构建到一个新的.deb包中,并在 “build” 文件夹中生成。

Git Submodule的使用

这两天在看facebook放在github上的开源项目,C++还挺多的。让我发现了git submodule这个东西,这里拿来说说。

Git子模块功能允许你将一个Git仓库当作另外一个Git仓库的子目录,允许你克隆另外一个仓库到你的项目中并且保持你的提交相对独立。这样既不会造成代码的冗余,也不丢弃公共代码库的维护历史,真的很牛逼

这里拿我的Winterfell工程做测试,来熟悉一下git submodule的操作

为当前工程添加子模块

git submodule add https://github.com/google/snappy git_submodule_test

执行此命令后,当前目录下新增.gitmodules文件和git_submodule_test目录,进入目录可以看到snappy的源码。.gitmodules文件内容如下

Ubuntu14.04安装QQ国际版

最近重装了两台机子的操作系统,一个安装Centos,一个还是Ubuntu,用于平时工作。今天在网上找了个国际QQ的教程,很不错,自己备份一下。

安装依赖库

sudo apt-get install libgtk2.0-0:i386

64位机还需要执行下面命令

sudo apt-get install lib32ncurses5

解压安装wineqqintl

1 先去网上下载一个wine-qqintl.zip

2 解压zip包,进入目录可以看到三个debian包

sudo apt-get install -f

sudo dpkg -i wine-qqintl_0.1.3-2_i386.deb

sudo dpkg -i ttf-wqy-microhei_0.2.0-beta-2_all.deb

sudo dpkg -i fonts-wqy-microhei_0.2.0-beta-2_all.deb

接着你就可以运行QQ了,其中设置了常用功能,比较精简,CPU占用少。