江边闲话集

08/25/2007

短途马拉松

Filed under: 闲情逸致 — 张太国 @ 14:30

本周五组织短途马拉松,遗憾的是没有人报名参加.可以理解,毕竟是一个大夏天,谁也不会愿意去跑个20km左右.没办法只有自己跑了.
今天吃完早餐就出发了.昨天本来打算从上海南站直接跑到上海站的,但是后来觉得不太合理,还是从上海站跑上海南站吧..

天气情况
今天天气情况,27-34度.多云转晴,不过我跑的时候是个大太阳.

时间
估计整个过程完成大约3个小时.

路径
总路程在20Km左右,主要是沿南北高架和内环高架走.这相当于半个全程的马拉松了.起点为上海火车站,终点为上海南站

具体线路

  1. 上海火车站南广场->南北高架共和新路入口
  2. 共和新路口到->成都北路高架与延安路高架交接口
  3. 延安路高架->南北高架与淮海路交接处
  4. 淮海路交界处->南北高架徐家汇出口
  5. 徐家汇出口->内环高架中山南路瑞金路口
  6. 内环瑞金路->东安路(龙华路)
  7. 龙华路->龙华寺
  8. 龙华寺->龙漕路轻轨站
  9. 龙漕路轻轨站->石龙路轻轨站
  10. 石龙路轻轨站->上海南站终点站

详情
吃完早餐,坐3号线从上海南站到上海火车站南广场,这段时间自己的吃的那点东西也就不会影响跑步了.全过程喝掉3瓶氺,补充水分.温度估计在32-34度,非常热.全过程大约经过2小时40分钟.到达大木桥路时时间是10:30am.在这里补充了一点水分,这也是中途唯一的一次.开始和结束的时候各补充一瓶氺.整个过程还是比较顺利的,关键是红绿灯比较多,还好,今天不叫顺畅,在招商局广场,以及淮海路,大木桥这里碰上比较长的红灯.
由于很久没有这么大的运动量,导致后半段腿脚重的像灌了铅一样,步伐沉重,实在受不了了,以步行代替,毕竟是业余的,尽自己最大的能力.
中间有很多同志看我,可能大家很奇怪为什么好端端的一个人大热天的跑步,而且全身湿淋淋的.这也难怪!
最后到达终点的时候,自己喊了一句,上海南站,我来了.搞的人家交通协管员在那里纳闷呢.
为了纪念一下时间,到上海长途客运站看了一下,时间在11:35分.不过遗憾的是不知道什么时候出发的,估计在9:20左右吧.

相关
每年上海都有一次马拉松的.2007年安排在11月25号(星期天),详细情况可以登录http://www.shmarathon.com/cn/.有兴趣的话可以参加一下,可能很多人认为没法跑完,没关系,重在参与.而且那个时候不像今天天气这么恶劣.一个字,今天的天气太热,令人窒息.

08/23/2007

三四事

Filed under: 闲情逸致 — 张太国 @ 22:07

记录三四事

  1. portal终于就上线了,因为某些原因,延迟了一个礼拜.在这一个礼拜中,加大的测试,容错性,扩展性,以及高性能的部署.一个礼拜的延迟说明了一些问题,那就是以质量为重,如果质量达不到要求,宁可放弃本来已经计划好的上线日.我比较赞同FireFox,虽然FireFox 2已经是伤痕累累,经常令人苦不堪言,但是其团队是以质量驱动的,而不是时间为转移的.否则带来不必要的影响和骂声,真的很难挽回的.
  2. 今天晚上也是我记忆中很晚才走的,尽管才多上了一个半小时的班,却发现自己肚子咕噜咕噜叫,饿死人了.于是决定回家吃饭.本来打算叫饭的,后来想想那工作便当的味道,也就作罢.家里饭灾难吃,也比这个好吃.
  3. 到楼下取上我那个破车,居然爆胎,郁闷!不得已,修!
  4. 回到家,发现楼下装了一个安全门,没有钥匙进去,联系物业,没有电话,只得按101室的邻居给我开大门,不然真没办法.为什么物业不安排在周末安装呢?难道小偷多的让他们无法休息了.
  5. 由于不得已的原因,我们收入降低了,平白无故的每月少收入一点.唉,没办法.面对这物价飞涨的日子,我们只能说,快揭不开锅了.老板,快加工资吧.
  6. 终于发现已经有一件遥不可及的事情摆在眼前,看来早点完成角色的转化.别让自己老这么下去,不然没法交代.

08/21/2007

ROR发送邮件

Filed under: 一技之长 — Tags: — 张太国 @ 20:53

用ROR (Ruby On Rails)发送邮件是一个老话题,但是Google一下,会发现很多人都在抱怨无法发送出去,我自己也经历过类似的情况.

官方给出了一篇文档,即How To Send Email With ActionMailer.遗憾的是仍然有很多人说根据该文档配置之后还是发不出去.我也是参考了该文档,最后成功了.总结一下,如果不成功,很有可能是配置的问题.

ROR是利用ActionMailer来发送的,而且内部采用Tmail.先看看我的配置:

代码
  1. # Include your application configuration below  
  2. ActionMailer::Base.perform_deliveries = true  
  3. ActionMailer::Base.raise_delivery_errors = true  
  4. ActionMailer::Base.default_charset = "utf-8"  
  5. ActionMailer::Base.server_settings = {  
  6.     :address => "mail.xxxx.com",  
  7.     :port => 25,  
  8.     :domain => "www.xxxx.com",  
  9.     :user_name => "admin@xxxx.com",  
  10.     :password => "password",  
  11.     :authentication => :login  
  12.     }  

以上配置非常简单,无非就是配置了邮件服务器的状况,注意一下认证方式就可以了.

根据以上的配置,是可以发送的,也就是官方给的文档关于SMTP是没有错的.

如果按照上面的还是不能发送,首先检查一下是否正确配置改文件.另外检查一下发送人,即from是否正确?何谓正确?邮件地址的域名不要是localhost,例如admin@localhost.com 是不正确的.也正因为此,我自己就吃了一点亏,因为使用http://localhost:3000 来测试的,而from地址优势根据该URI来判断的.

至于带有TLS或认证的,参考官方文档的Sending emails with TLS and/or authentication-only SMTP servers这一部分,据目前了解的情况看,有人成功发送.

其实就是这么简单,只不过出现一点状况,会令人头痛,幸好Rails提供了源代码.

令人欣慰的是,如果你的Rails程序部署在Linux/Unix系统上,而且已经安装了sendmail,只需要将邮件的delivery方式设置为sendmail即可。最后摘录rails的sendmail代码:

ruby 代码
 
  1. def perform_delivery_sendmail(mail)  
  2.        IO.popen("#{sendmail_settings[:location]} #{sendmail_settings[:arguments]}","w+"do |sm|  
  3.          sm.print(mail.encoded.gsub(/\r/, ))  
  4.          sm.flush  
  5.        end  
  6.     end  

 

 

ROR的数据库维护解决方案

Filed under: 一技之长 — Tags: — 张太国 @ 17:54

很早就听说ROR有Database Migrate这样的服务.以前由于所做的太简单,也就没有必要去关心它.一旦数据库需要修改的时候,才会想到,"哦,原来ROR还有这样一个服务!".

感觉Migrate这样的服务真的很棒,很容易维护数据库结构和表.记得以前都是现在开发的环境下修改调试好之后,就部署到production环境下,一个个字段增加,删除或者修改.殊不知,这样是非常容易修改错的,相信很多人都有类似的经历.

现在ROR提供的解决方案非常简单,就是在Database Migrate目录下增加一些数字开头的ruby文件,直接到产品环境下执行就OK了.命令很简单:

ruby 代码
  1. rake db:migrate   

或者

  1. rake db:migrate VERSION=num    

这里,num就是要迁移的版本号.

在Database Migrate目录的文件里,包含了你要对数据库的操作,例如,创建一个表的文件内容可能如下:

ruby 代码
  1. class CreateUsers < ActiveRecord::Migration   
  2.  def self.up      
  3.  create_table :users do |t|       
  4.    t.column :login:string        
  5.    t.column :email:string      
  6.    t.column :password:string  
  7.    t.column :created_at:datetime  
  8.    t.column :last_login_at:datetime  
  9.    t.column :admin:boolean  
  10.    t.column :posts_count:integer:default => 0  
  11.  end  
  12. end  
  13.   
  14.   def self.down  
  15.    drop_table :users  
  16.  end  
  17. end  

文件名或许是002_create_user_table.rb

 

详细的内容可以参考Rails的API,书籍可以参考Agile Web Development with Rails,Second Edition 的第16章,正好中文有免费试读的.

好处就是:

  1.  版本控制
  2. 替换DDL
  3. 自动化,避免手工错误
  4. 共享资源
  5. 部署的简单性,灵活性

不足有:

  1. 难度较大,需要程序员有充足的知识

 

 

08/20/2007

用心去做

Filed under: 闲情逸致 — Tags: — 张太国 @ 18:10

上个周六,去了一趟上海书城,本来打算去看看上海书展的,想想也就算了,原因有三,一是交通不方便,也懒得过去,二是切合我的主题的书籍应该较少,三是即使去了,相信收获也不大,反而搞得自己很累.最后决定还是到上海书城去逛逛.最后买了一本关于理财的书籍.
周日,将周六的理财书看了一遍,200多页的书还剩即50页左右.
这些和文章的标题有什么关系?其实,我是发现自己周日真的用心去看了这本书.用心去做任何一件事情.
这段时间我一直在想,我们到底缺少一点什么.其实答案已经非常清楚了,只不过没有今天这样的清晰而且明白.

电视连续剧
现在这个社会,浮躁之风太严重,你我都不可能避免受其影响.记得和很多人聊天时谈到看电视剧,绝大多数的人很少看连续剧,因为大家都觉得看不下去,为什么?其实我个人觉得归根结底还是浮躁在作怪.难道你真的没有时间来看吗,未必?我比较欣赏那些能下去的人,至少觉得他能静下心来去做一件事情.

理财
当前,理财可是一个非常热的话题.但是很多人表现出来的却适得其反.在昨天看的那本书种强调了一个观点,那就是坚持.我另外加上一句,需要用心.首先,不要认为自己的钱少而不去理财,一个月工资只有2K块也是可以理财的.其次,如果进入理财天地,那就得盲目的去做吗?不是.去年和今年,股票和基金比较火,一些人看周围的人赚个盆满钵满的,所以决定也入市.但是最后其实并不是和当初想像的那样.其实这是需要用心去做的,也是需要大把时间去研究的.基金,股票,债券,保险,国债,哪一个不是要去了解的呢.既然打算进入,那就充好电吧.即使已经失败了,在学也不晚,亡羊补牢吗.

工作
这里的工作当然是指我们这一行的了.那做技术的来说,不可避免的碰见很多疑难杂症.但是很多人给我的印象不是我所期望的.每天都有把很多人我加为MSN好友,他们加我为MSN好友的目的就是为了问一些简单的常识型的问题.其实我一般不太愿意解决这些问题.在以前的文章里我就提到过,充分发挥自己的能力,努力解决好一件事情,要知其本质.很多时候并不是人们没有能力去做,而是不想去做,或者没有时间去做.真的,技术,需要用心去孕育,这样技术才能够扎实.当然我不是说我自己是一个技术扎实的人.一门技术是需要用心去学习的,不要动不动就问别人.先自己解决,如果解决不了,可以和别人讨论,不要直接问别人怎么做.

读书
相信每个人家里的书都有一堆,但是真正看了或者看完的有基本呢?每次看见一打一打的书往家里买,我真的感到很纳闷,这些书我看了吗?如果不看,买回家干嘛呢?难道是为了过足刷信用卡的瘾?难道是为了表现自己仍然是个知识份子?难道我们真的没有时间去看?未必,我看我们的时间多的是.其实,我们没有静下心来看.如果一旦进入角色,相信会进入另外一个世界.

总结
以上只是蜻蜓点水的描述了几个方面.不是我们做不到,而是我们没有用心 去做.面对这样一个浮躁的社会,用心看起来真的很难.今天发现这个好,于是投入三分钟的热情.明天那个流行,决定放弃今天的,投身明天的.这样不仅仅是浪费了精力,关键是浪费了生命.
在这个社会里,独善其身真的很难.但是,我们又不得不做.更是难.
人生,其实是自己的一份大事业,让我们用心去经营吧.

我仍然需要努力,未来不后悔才好.
如果你还没有,一起加入我的行动吧!

08/08/2007

嘿,BB插件居然不能用

Filed under: Blackberry — Tags: , — 张太国 @ 12:56

上篇文章介绍了BB 的visual studio插件.下载之,还真够大的. 好不容易抽了点时间准备试用一把,居然不能安装. 安装的时候首先安装SQL Server 2005 Express版本,我机器上已经有了这个版本,但是在安装的时候居然没有提示,仍旧是勇往直前的安装下去,装了半个小时后之后发现还在那里安装,于是直接结束掉.重新安装,又报错,没辙,重启一下机器.再试在失败. 于是换了另外一台机器,症状仍然是这样.没辙了,有时间研究研究是什么问题. 疑问,如果机器上装了SQL 2005怎么办呢?所以只能说明安装文件做的不好罢了!

Powered by WordPress