做《卓有成效的程序员》

 

自动化法则

 

 

创建本地缓存

wget :


(1)支持断点下传功能

(2)同时支持FTP和HTTP下载方式

(3)支持代理服务器

(4)设置方便简单;

(5)程序小,完全免费;

 

http://www.verycd.com/groups/linuxleague/261334.topic

 

自动访问网站

 

curl是一个利用URL语法在命令行方式下工作的文件传输工具。和网页交互工具。

 

http://baike.baidu.com/view/1326315.htm?fr=ala0

 

与RSS源交互

 

使用Yahoo Pipes 进行RSS Feed合烧

 

我以前是使用FeedBurner Networks 进 行RSS Feed合烧的,方法很简单,将我常用的几个Feed都邀请加入FeedBurner Networks后,使用一个Networks的RSS进行输出Feed,就可以达到合烧Feed功能,在FeedBurner没被Google收购前, 这个功能用起来的确很不错。

  Google是在2007年5月收购 FeedBurner, 但FeedBurner和Google的整合却花了近两年时间,前期用户切换经常莫名其妙出错,最近才解决好。但是我实在不知道如何表达Google整合 FeedBurner的感觉,Feed地址来回几次不停变换,从原来的feeds.feedburner.com变换为 feedproxy.google.com,然后又变换为feeds2.feedburner.com,显示了FeedBurner的管理人员缺乏良好的 规划设计意识,思维混乱。几个月前,FeedBurner帐号终于全面整合进入了Google帐号,但从FeedBurner账户切换到Google账户 后,我会发现原先建立的FeedBurner Network全都不见了,并且无法切换回原先的FeedBurner账户,这不只是我一个人的现象,很多FeedBurner用户几个月前就在 Groups上反馈了Network消失这一现象,但直到现在也没有修复。

  我已经等了不知道多长时间,但是FeedBurner Networks的功能依旧无效,我只好放弃了这个曾经使用过的令人怀念的合烧功能,而使用第三方工具进行合烧。开始我尝试了FeedSky Network进行合烧,发现这个功能其实早就不再更新Feed了,只好作罢。最终我选择了较为稳定的Yahoo Pipes 进行合烧Feed。

  进入Yahoo Pipes 后,新建一个Pipes , 然后点“Sources”-“Fetch Feed”,点几次“+URL”,添加多个RSS Feed,然后将这个“Fetch Feed”拖到Pipe Output,就完成了多个RSS Feed的合烧工作,输出的RSS Feed可以再使用FeedBurner烧一次,以简化输出地址。目前我将自己写的多个中文博客都通过Yahoo Pipes 合烧到了一个Feed地址

   总而言之,被Google收购的FeedBurner在这两年来的表现是不好的,有些方面甚至不如收购前的FeedBurner,各种BUG和问题的修 复时间过长,很多重要功能(如FeedBurner Network)的错误至今都没有修复,对于一个曾经深受人们喜爱的Feed服务,现在竟然发展到这种地步,实在令人痛心疾首。

 

在构建之外使用Ant

             提示: 即便不是工具最初的设计意图,只要是合适的场合,同样可以使用这些工具。

 

Ant实践


Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。

 

用Rake执行常见任务

 

用Selenium预览网页

 

               提示:不要浪费时间动手去做可以被自动化的事情。

 

用 Selenium 自动化验收测试

 

Web 应用程序的验收测试常常涉及一些手工任务,例如打开一个浏览器,并执行一个测试用例中所描述的操作。但是手工执行的任务容易出现操作人员人为的错误,也比较费时间。因此,尽可能将这些任务自动化,以消除人为因素,这是一种很好的做法。

 

验收测试也称黑盒测试和功能测试,是测试和检验应用程序是否能按照涉众(stakeholder)的功能性需求、非功能性需求和其他重要需求来运行的一种 方法。验收测试是单元测试和组合测试的补充,后两者通常是使用 xUnit 框架编写的。验收测试也可以使用编程语言来编写,但是 Selenium 和其他类似的工具,例如 Fitnesse,也支持用特定于工具的文档格式编写测试。

 

用bash统计异常数

统计错误信息的脚本:

#!/bin/bash
echo "run parse Exception..."
for x in $(egrep -o "[A-Z]\w*Exception" $1 | sort | uniq) ;
do
        echo -n -e "processing $x\t"
        grep -c "$x" $1
done

 

把一些常用的命令做一个简短的别名,在.bash_profile文件中添加;
alias tomcat="cd /usr/local/tomcat",但是退出系统后这些别名就失效了,如何把别名写入配置文件:
首先找到登陆的用户的文件夹,比如ROOT登陆的时候,在/目录下进入ROOT目录编辑.bash_profile文件
比如可以这样编辑(alias 这两行是加上去的),当然,系统的环境变量也是可以写在这里的
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
 . ~/.bashrc
  fi
alias tomcat="cd /usr/local/tomcat"
alias myip="/sbin/ifconfig | grep -a 'inet addr' | sed -e '/127\\.0\\.0\\.1/d;s/.*inet addr:\\([0-9\\.]\\+\\).*/\\1/'"
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
在编辑.bash_profile文件后立即生效的命令
source .bash_profile

 

source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。还可以 对编译系统核心时常常需要输入一长串的命令。

 

用Windows Power Shell替代批处理文件

 

Windows 7时代带来了一个强大的工具Windows PowerShell。他必将成为CDM的继任者,成为下一代命令行工具。这是一种命令行界面和脚本语言,专门为系统管理而设计。Windows PowerShell使得IT管理员更容易地控制系统管理和加速自动化。Windows PowerShell 中的简单命令工具(称为 cmdlet)允许通过命令行管理企业中的计算机。通过 Windows PowerShell 提供程序,可以像访问文件系统那样方便地访问数据存储,如注册表和证书存储。 此外,Windows PowerShell 还完全支持所有 Windows Management Instrumentation (WMI) 类。最重要的是允许我们进行扩展, 可以编写自己的 cmdlet、提供程序、函数和脚本,并可以在模块中将其打包以便与其他用户共享。

 

用Mac OS X的Automator来删除过时的下载文件


驯服Subversion命令行

 

用Ruby编写SQL拆分工具

 

             提示:做简单重复的事情是在浪费注意力

 

             提示:以创造性的方式解决问题,有助于在将来解决类似的问题。

 

我应该把它自动化吗

 

             提示:是否应该自动化的关键在于投资回报率和缓解风险。

             提示:研究性的工作应该放在时间盒内

 

  • 长期来看,将自动化能节约时间吗?
  • 这件任务是否很容易出错(因为其中包含很多复杂的步骤)?一旦出错是否会浪费大量的时间?
  • 执行这件任务是否在浪费注意力?(几乎所以任务都会使注意力为之迁移,你必须花些工夫才能再回到全神贯注的状态
  • 如果手工操作失误会造成什么危害?

yak shaving

 

             提示:始终知道自己在做什么,千万不要陷入yak shaving

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值