摘要: 学习或则测试一些git命令的效果,你可以使用github这种服务商,也可以自己建立服务器仓库。而后者更方便、快捷也更能体会git到底是什么。建立个人级服务器仓库 % mkdir -p ~/git/testgit.git % cd ~/git/testgit.git % git init --bare Reinitialized existin... 阅读全文
posted @ 2012-12-20 09:49 倚楼无语F5 阅读(13437) 评论(0) 推荐(0) 编辑
摘要: tmux里,一个session可以放置很多个window,一个window又可以分割成很多个pane。可以通过写配置文件,把这些设置固定下来,以避免重复操作。大体需要两步1. 配置文件(~/.tmux.conf)中添加命令。# session initializetionnew -s work # 创建一个叫work的seesion(附带有一个window)neww ranger #在当前session再创建一个window运行rangerselectw -t 0 # 选择第一windowsplitw -h -p 50 -t 0 # 水平切割第一个pane,百分比是50splitw -v -p 阅读全文
posted @ 2012-12-19 14:43 倚楼无语F5 阅读(869) 评论(0) 推荐(0) 编辑
摘要: git merge dev --squash这个只是“假装合并”dev分支,使本地文件的内容看起来就是合并后的效果。想要提交还要再commit一次这样的好处就是乱七八糟的dev分支提交信息不会再污染master了>>> git merge dev --squash Updating 166dfb3..7c7873cFast-forwardSquash commit -- not updating HEADb | 1 +c | 1 +2 files changed, 2 insertions(+)create mode 100644 bcreate mode 100644 c 阅读全文
posted @ 2012-12-18 22:17 倚楼无语F5 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 我有一台旧电脑,只有1G的内存,所以如果开“大家伙”非常容易卡。今天在bbs看到有人说起swap,突然想到我那台电脑swap的使用率非常之低。SwapFaq - Community Ubuntu Documentation - Pentadactylhttps://help.ubuntu.com/community/SwapFaq#What_is_swappiness_and_how_do_I_change_it.3F搜索一番,在ubuntu的wiki里发现了解决办法:可以调整内核参数swappiness改变swap的使用倾向。swappinessswappiness的取值范围可以从0到100 阅读全文
posted @ 2012-12-18 20:09 倚楼无语F5 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 工厂的好处常见的工厂模式有三个:简单工厂(Factory)、工厂方法(Factory Method)、抽象工厂(Abstract Factory)。如果按目标分类它们都是属于创建型(Creational Pattern)《scala编程》里提到两个工厂的优点1. 将对象的创建集中化 好的代码的终极目标是:易维护,易扩展,易复用,易使用。但如果代码里new一个类,new得到处都是,new得五花八门那肯定是灾难。 所以要统一集中的使用一种方式,这就是所谓的易维护,易复用。2. 隐藏对象实际代表的类的细节 这里可以理解为初始化类的细节。也就是说,使客户更容易的理解和使用。这就是易用 由于隐藏了细节, 阅读全文
posted @ 2012-12-11 21:21 倚楼无语F5 阅读(424) 评论(0) 推荐(0) 编辑
摘要: The Uniform Access Principle was put forth by Bertrand Meyer. It states "All services offered by a module should be available through a uniform notation, which does not betray whether they are implemented through storage or through computation." This principle applies generally to object-o 阅读全文
posted @ 2012-12-11 18:04 倚楼无语F5 阅读(884) 评论(0) 推荐(0) 编辑
摘要: 写了个脚本列出lua源码C文件头部的注释,作为我有一搭没一搭以Lua为对象学习编译原理的开端。lua5.1.4全部的源码有35个C文件,17216行代码。每个文件基本的功能如下./output_lua_sources_comments.sh ~/resources/sources/lua/src myarch/others (master ⚡) mattPC 1 52 lctype.c 'ctype' functions for Lua 2 67 linit.c Initialization of libraries for lua.c and other clients 3 阅读全文
posted @ 2012-12-08 12:35 倚楼无语F5 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 微博上有人出了几道小题目,也有人做出了不错的回答。就此我个人总结复习下。1. 把一个数提升到8的倍数。如1->8, 8->8, 11->16, 23->24。(x+7) & -82. 已知消息长度 x,要求补齐到最近的 8 的倍数,用一个表达式写出需要 padding 的字节数-x & 7解题思路和常识这类题目普通的思路是求余,这里用到是与操作和补码。先说下补码补码不难,正数的补码和原码相同。负数的补码分两步:取反然后加上1,相当于(~x+1)。所以: (ps: 下面的一些代码是运行在scala里)scala> println(Integer.to 阅读全文
posted @ 2012-12-02 00:08 倚楼无语F5 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 什么是GPG?GPG (Gnu Privacy Guard)是一个非对称加密的工具。使用过程中会遇到两种密钥:公钥和私钥。密钥的基本概念私钥加密可以用公钥解开。公钥加密可以用私钥解开。公钥顾名思义是公开的,很容易获取。这意味着什么呢?私钥加的密,大家都能解开。所以它的用途不是用来加密而是表明身份、用来判断出处,即:签名。Verify用不到的东西,比较容易遗忘。写写总结回头再想起来就容易一点。这篇说下GPG里verify的用法。一个实际的例子:下载了一个archlinux的iso,我想验证下来源。1. 下载相关sig文件 这个sig文件是签名文件,要和需要验证的iso文件放在同一个目录。 GPG 阅读全文
posted @ 2012-12-01 16:11 倚楼无语F5 阅读(2268) 评论(0) 推荐(0) 编辑
摘要: wmctrl 是一个用来和X window manger交互的工具。用它写过几个窗口控制脚本,很惭愧对它一览输出的项目含义却不是很清楚。最近使用awesome,写规则需要查看WM_CLASS,所以又想起这茬。>>> wmctrl -pxGl0x01200046 -1 6827 2 40 572 877 guake.py.Guake.py mattPC Guake!0x00e0007a 1 5557 1154 40 860 877 Navigator.Firefox mattPC 博客后台管理 - 博客园 - Pentadactyl0x010001af 2 5560 2 40 阅读全文
posted @ 2012-11-30 23:24 倚楼无语F5 阅读(839) 评论(0) 推荐(0) 编辑