Home

带小团队的一点思考

事实上我也只是带实习生而已。但是感觉上之前更多的是把自己的任务分出去,而现在是开始跟一些人一起完成一个任务。主要的不同是之前做的事情是在个人工作量里面,自己做也只是慢一点,有时候甚至自己做反倒比分出去更快。现在做的事情已经超过一个人工作量了,必须发挥团队的能动性了,而且之前也只是对自己的工作负责,现在你要负责的是一个团队的KPI了。 主要有几点感觉: 分配好工作。需要能力的,需要经验的,需要稳定细心的,每个人的风格不一样,应该做的工作也不一样。 规范流程。大部分加班或者事故都是能从流程上避免的,在设计开发测试上省下来的时间最终都会在上线修bug处理问题的过程中补回来。 做好计划和项目管理。做一个包含不确定性和风险的事情最重要的是路线图。实现的过程就是把抽象的东西一点点...

Read more

通过父子关系构建话题树

一道题目,本来觉得挺简单的,后来卡在一个小问题上。mark一下: 给定一个数据库表,存了所有话题的关系,形式是:parent->child,表示前面是后面话题的父话题。根据这个关系构建出话题树并打印。 eg: 输入: a b c a d e e f r c r d 输出: r c a b d e f 题目隐含: 1. DAG:有向无环 2. 节点不重复 直观看类似于Graphviz的算法,只不过保证了是棵树。C++实现上可以直接通过树来做,这里用了Python。

Read more

Phibricator搭建过程总结

Phibricator是Facebook开源的一体化项目管理、代码review工具,主要特点是集成度高、界面漂亮。根据搭建的经验看,确实做的非常完善,各种细节用起来像是商业产品,不会像其他的开源产品那么难以配置。这里把配置过程根据回忆写一下: 官方给出过一个一键安装的脚本,但是下载的时候感觉有点问题吧,下载完不是sh而是网页,而且我只有一台机器,环境都已经预先有了,也不想再搭一套LAMP。这里我们以centos5为例: 首先安装httpd + mysql + php,由于centos5的版本太低,yum源里的mysql和php均低于phibricator要求的版本,我们需要先升级yum源,参见参考文献, 不过好像安装的时候没有php53u,而是直接php53 之后把对应的扩展也装...

Read more

简历生成器(基于moderncv+latex)

项目地址: https://github.com/chenxiaohui/resume 说明 通过文本文件生成简历tex的generator。最终生成pdf还是要靠Latex+Moderncv,环境请自行配置。 windows下:http://www.ctex.org/HomePage Linux下:https://www.tug.org/texlive/ Mac下:https://tug.org/mactex/ 需要的包都通过sudo tlmgr install package来安装。字体主要使用了Times New Roman(西文)和 Kaiti SC(中文)。可根据喜好换。 模板配置 config.tex 定义了公共头文件,包...

Read more

基于zookeeper的配置管理客户端

名词解释: SeviceConfig: 一个服务的所有配置存在一个目录下 BucketConfig: Bucket的配置存在一个单独的子目录中 配置项类型: Integer Long Short Float Double Byte[] Boolean String 自定义配置项 ConfigObject ###使用说明: ####POM: <dependency> <groupId>com.sohu.adrd</groupId> <artifactId>sohu-zk-client</artifactId> <version>1....

Read more

一些python小技巧

生成一个重复列表可以通过如下语句: [i] * n #这比[ i for _ in range(0,n) ]简洁太多 同样可以"i" * n来生成字符串 map函数。 可以用来分类函数和其调用参数,对于线程池比较有用。比如 import urllib2 from multiprocessing.dummy import Pool as ThreadPool urls = [ 'http://www.python.org', # etc.. ] pool = ThreadPool(4) results = pool.map(urllib2.urlo...

Read more

Git远程分支不存在的问题

建立了一个远程分支,提交到origin上之后,发现之前有一个同样的远程Repository存在,而且名字一样,这就比较D疼了,git branch -a 显示的分支里面的分支提交到了另一个Repository,但是这个Repository已经改名字了,虽然地址一样。 搞来搞去之后发现git checkout远程分支的时候报不存在的问题,删除这个分支的时候同样有这个问题: unable to delete ‘refactor’: remote ref does not exist 导致这个分支就这么存在着删不掉了。查stackoverflow有人给出如下的方案: git fetch -p origin 问题是能解决了,但是不太理解为什么。

Read more

mac下多屏幕移动窗口的快捷键

mac下使用多屏幕的话,经常需要把一个窗口移动到另一个窗口,windows下有快捷键win+shift+左右,linux下貌似可以通过xdotool实现,绑定一个快捷键,xdotool帮助你移动窗口到一个绝对位置。如下: xdotool getactivewindow windowmove 0 y windowactivate windowfocus xdotool getactivewindow windowmove 1280 y windowactivate windowfocus mac下没有找到对应的系统快捷键,虽然可以设定一个zoom键来完成窗口最适化,但是没有快捷键来完成窗口的移动。这里我们通过Moom实现。 Moom是一个窗口管理工具,安装之后只有一个配置页...

Read more