存档

‘WORK’ 分类的存档

Email管理

2010年2月20日 robertbao 2 条评论

每天收发Email超过50封以上的时候,就很有必要进行Email管理了。从我们怎样管理Email大约就可以看出我们怎样管理时间。多数人都是让Email管理他们,而非反过来。

你的Email阅读器是否高效

经常看到许多人还是在用web版的Email阅读器,实际上即使如Gmail般在web设计上已经无可挑剔的阅读器而言,在使用效率上还是比不上outlook、foxmail、thunderbird这些客户端的阅读器。如果你还在用web版的阅读器,尽快更换掉吧。

对比web版的阅读器,客户端的阅读器优点在:

  1. 可以常驻通知栏,有新邮件到达时马上可知
  2. 可以连接多个账户,将多个账户的邮箱组织在同一界面
  3. 可以拖拽附件,对附件的管理比较方便
  4. 便于将邮件备份
  5. 对地址薄、信纸、签名的管理更方便
  6. 最重要的,速度快
  7. 其他…

阅读,然后…

为保持高效,我的目标是只碰同一封Email一次。因为一封读了一部分的Email留在收件箱里而稍后才能读完或处理时,就不得不至少把其中一部分读两次,这样就降低了效率。所以我给自己建立了一条规则:只要开始读一封Email,就把它读完,然后继续采取行动:

  • 直接删除
  • 存档
  • 回复后删除
  • 转发后删除

这样一直保持收件箱的清洁,对每日有大量Email的人来说从心里上也可以大大减轻焦虑感。

善用过滤器

根据内容、主题或发件人,可以设置让阅读器过滤Email,这样就可以自动安排一些例行公事,并排入不同的优先级等待处理。你可以为某些对你来说很关键的人设立专门的过滤器,这样他们的邮件会第一时间出现在你的收件箱里,并高亮显示。

总之过滤器是个好东西。

使用模板

对于类似的重复性的邮件回复,在模板的基础上稍作修改和完全从头写,效率大不一样。准备几个常用的模板,花些时间修饰一下,会有回报的。

分类: WORK 标签:

简易开发管理工具

2010年1月29日 robertbao 没有评论

抽空写了个简易的开发管理工具,实现简单的需求管理、问题管理等,将日常手工进行的部分工作自动化,提高点工作效率。

技术方案:

  • 前台VC+后台Java+数据库Mysql
  • 后台调用全部service化,开放外部接口,并兼容B/S与C/S结构
  • 后台开发完全annotation化,配置文件减至最少
  • 采用自写的报文解析器和报表引擎

当前功能:

  • 需求管理
  • 项目管理
  • 消息传递、项目组沟通
  • 通讯录管理
  • 邮件通知
  • 项目知识库–lucene引擎,本地化google
  • 多维统计图表–需求、项目、工作量
  • 周报自动生成

待加入功能:

  • 在线会议室
  • 报文模拟器,定长、变长、8583、eucp、xml–Template
  • 项目组–simplePortal

部分截图:

chat_1.jpg

chat_2.jpg

chat_3.jpg

chat_4.jpg

chat_5.jpg

chat_6.jpg

chat_7.jpg

chat_8.jpg

chat_9.jpg

chat_10.jpg

分类: WORK 标签: , ,

程序员的高效实践

2009年11月11日 robertbao 1 条评论

作为一个程序员,也当每日三省吾身,努力地让自己成为一个高效的程序员,不断地在细节上精益求精,切实地消除浪费、提高效率。

在《Programming Perl》一书中,Larry Wall说:懒惰、傲慢和缺乏耐性是程序员的三大美德,其中的两点都与程序员的效率有关。只有高效才能减少需要完成的工作量,保持懒惰;只有缺乏耐性才不会浪费时间去做本该计算机做的事,保持高效。

要做到高效,根本上是在思想方法上下功夫,但是具体实践细节也不容忽视,下面我列出一些比较有效的实践:

  1. 首选键盘而非鼠标,文本编辑用vi或emacs,手不用离开键盘
  2. 花点时间学习你手边常用的快捷键,如windows的、word的、ide的
  3. 减少重复,用自动化脚本代替你的工作,windows下可以学习AHK
  4. 少用长长的树状列表,多用搜索
  5. 保持清洁
  6. 保持简单
  7. 用好正则表达式
分类: WORK 标签: ,

程序员的自我修养

2009年9月1日 robertbao 1 条评论

程序员,只是个职业而已,不比其他职业高贵,也不比其他职业低贱。这里不谈程序员自我修养的微观实践,只从宏观的角度谈谈程序员的道路选择。

我这里说的程序员,是指广义的,IT行业中常年与编码打交道的那么一群人,他们的称呼有可能为:程序员、软件工程师、高级软件工程师、架构师、系统管理员等不一而足。

两个典型的场景:

  1. 国外四五十岁,甚至头发花白的程序员依旧在第一线编程,对他们,我们不由心生尊敬
  2. 如果有看到国内这样的人,恐怕很多人都是内心充满鄙夷:怎么混的这么惨,还在写程序?

也无怪乎人们这样想,其实这样想的人心中隐含的有朴素的价值判断:老外那么大年龄的程序员收入多高,国内的这么大年龄的还在编程序,收入又低又没前途。

确实对于目前国内的情况来说,好像摆在大龄程序员面前的就只有两条路,要么升职转向管理要么转行不干程序员了,否则就只有留着被鄙视。

的确悲哀,很多有才华的程序员不能在专业的道路上继续专精,很是浪费。不过这就是现实,服从现实还是遵从内心,这是个问题。

分类: WORK 标签: ,

程序员的自动化

2009年8月15日 robertbao 没有评论

为什么是程序员?

我想不出还有什么职业比程序员更接近计算机,让机器代替我们工作,让我们享受自动化带来的快乐。

自动化的好处?

自动化最少能带来下面两个显而易见的好处:

  1. 减少工作量,减轻重复劳动
  2. 减少手工工作出错的机率

把什么自动化?

我们无法把每件事都自动化,所以先把事情分分类[1]

  1. 只做一次的事情:既然只做一次,我想就没太大必要自动化,要做成自动化会比直接做事更花时间
  2. 重复做的事情:只要有重复就一定能找出其中共性的部分,马上把它抽取出来,开始自动化

如何自动化?

可以考虑按下面4个步骤来进行:

  1. 手动去做一遍:首先要确定你可以手动执行此流程,或许你可以写下此流程,这样一是确保不会遗漏步骤,二是可以强迫你好好再想上一想
  2. 编写每个步骤的脚本代码:把每个步骤转成由命令行或小程序组成的脚本,并单独测试每个步骤,确保每个步骤的脚本都是正确的,有些参考资料[2]可以帮到你
  3. 把所有步骤的脚本合在一起:如果在这步能够渐增式合并的话,可以将最终脚本的错误率降至最低
  4. 最后别忘了测试:写个自动化脚本即使我们用不到TDD[3],最后的测试还是不要忘了

自动化脚本举例

参见我以前所用的一个oracle数据备份脚本的片段:

day=`date ‘+%Y%m%d’`

su – oracle <<EOF
rman target / nocatalog;
run {
allocate channel t1 type disk;
sql ‘alter system archive log current’;
backup format ‘/back/rman/last/arch/arc_%d_%T_%u_%s_%p’ archivelog all delete input;
release channel t1;
}
exit
exit
EOF

mt -f /dev/rmt/0mn eod
cd /back/rman
tar cvf /dev/rmt/0mn last/arch/arc_$day_*


注释:

  1. 国外也有人用四象限法把事情按是否重复和简单还是复杂分为四类
  2. Windows下可以参考《Win32 Perl Scripting》,Unix下可以参考《Advanced Bash Scripting Guide》
  3. TDD:测试驱动开发,Test-driven development,利用测试来驱动软件程序的设计和实现,极限编程中倡导的一种程序开发方法
分类: WORK 标签: