06 2013 档案

摘要:这其实是个非常简单的东西。我们会写一些命令行的工具,一般跨平台的话,会用python或者perl写,比如叫foo.py,然后在Windows和Linux下调用这个脚本:Linux: foo.py - 只要在第一行加上:#!/usr/bin/pythonWindows: python foo.py直接foo.py是不一定能工作的,除非你在你的系统中设置了的映射,但这个就有问题了,首先,这对本机有依赖关系了;其次,你到底用哪个版本的python?每个系统设置可能不一样 - 作为这个工具的作者肯定希望我们来控制这些因素。于是,Windows与Linux的命令行就不一致了。。。解决方案是为window 阅读全文
posted @ 2013-06-25 20:58 lzprgmr 阅读(2777) 评论(0) 推荐(0) 编辑
摘要:先谈谈三个code review的关键因素:一、创建review要简单code reivew是一个程序员日常工作中经常做的一件事,理论上来讲,任何一个将要submit到SCM的change,都必须经过peer review。如果创建一个review要傻了吧唧的打包代码,发送邮件,或者shelve一个changelist,再发信告知changelist number,或者进入某个比较先进的code review系统(比如crucible)手工创建一个review,这些步骤都太过繁琐,任何一个懒惰的程序员都不会有耐心来做这种事,更别说日复一日的做这种愚蠢的事了。我们需要的是一键式创建review 阅读全文
posted @ 2013-06-23 21:46 lzprgmr 阅读(2781) 评论(7) 推荐(3) 编辑
摘要:$ history | awk '{print $2}' | sort | uniq -c | sort -nr | head 124 dir 80 vi 77 echo 60 cd 58 vim 53 jobs 38 gcc 33 ls 33 less 31 lua124 dir虽然linux下也有dir,但明显没有ls来的正统,甚至很多linux党都不知道这个命令的存在 - 这个是windows下面比较经典的命令 阅读全文
posted @ 2013-06-22 06:45 lzprgmr 阅读(530) 评论(0) 推荐(0) 编辑
摘要:工作8年,前6年基本是Windows环境下,也就是个鼠标党;两年前换工作开始用linux,也就开始了领略了命令行的强大,无论是直接在命令行组合命令,也还写几行简单的shell脚本,其能完成的功能往往令人难以置信。关于命令行强大的一个例子:csdn泄露的10个最常用的密码awk '{print $3}' www.csdn.net.sql |sort |uniq -c |sort -nr |head (陈硕同学写的)关于脚本强大的一个例子:提高分布式环境中程序启动性能的一个方法如果说我工作中第一次感觉“哇”是08年左右开始使用perl处理文本 - 发现脚本原来可以如此强大,自动化那 阅读全文
posted @ 2013-06-22 06:42 lzprgmr 阅读(1650) 评论(0) 推荐(0) 编辑
摘要:假设在linux下,你有一个可执行文件,其依赖于100个动态库,而这100个动态库来自网络中不同的位置,甚至可能来自不同的region,即使网路用的是专用光纤,其网络延迟也不可忽视,那么在启动该可执行文件时发生了什么:100个rpath100个动态库为了加载任意一个动态库,都需要在这100个rpath逐个寻找,假设其实一一对应,那么查找的次数为:1+2+3+...100=5050,在分布式的环境中,这个代价是非常大的(根据网络环境的不同,有的甚至能达到10分钟以上)。但其实有个蛮简单的方法,可以完全消除这些无谓的查找:把rpath设为只有一个entry,比如当前目录,然后把这个可执行文件所有的 阅读全文
posted @ 2013-06-22 06:10 lzprgmr 阅读(721) 评论(2) 推荐(0) 编辑

黄将军