自动化法则
创建本地缓存
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
进行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 进行合烧Feed。
进入Yahoo 后,新建一个 , 然后点“Sources”-“Fetch Feed”,点几次“+URL”,添加多个RSS Feed,然后将这个“Fetch Feed”拖到Pipe Output,就完成了多个RSS Feed的合烧工作,输出的RSS Feed可以再使用FeedBurner烧一次,以简化输出地址。目前我将自己写的多个中文博客都通过Yahoo 合烧到了一个Feed地址 。
总而言之,被Google收购的FeedBurner在这两年来的表现是不好的,有些方面甚至不如收购前的FeedBurner,各种BUG和问题的修 复时间过长,很多重要功能(如FeedBurner Network)的错误至今都没有修复,对于一个曾经深受人们喜爱的Feed服务,现在竟然发展到这种地步,实在令人痛心疾首。
在构建之外使用Ant
提示: 即便不是工具最初的设计意图,只要是合适的场合,同样可以使用这些工具。
Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。
用Rake执行常见任务
用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