江边闲话集

07/31/2007

BB的Microsoft Visual Studio插件到货了

Filed under: Blackberry — Tags: — 张太国 @ 17:57

在一个月前的一文章2个BlackBerry新开发用品 中介绍了即将发布的Microsoft Visual Studio的plugin,目的就是为了更好的整合企业服务.
当时该插件还没有提供下载,可能是正在开发中.不过令人高兴的是该插件已经提供下载.你可以到去http://na.blackberry.com/eng/developers/downloads/mvsplugin.jsp下载.
该插件够大的,居然有200多M,这帮人也是够狠的,看来我的硬盘又要整理了.
先试用一把,如果可能的话,贴出使用心得.非常期待它会给我们带来惊喜.
注意,目前对于中国大陆用户不支持下载. 当你提交你的信息之后,它会提示IP的国家不支持.这是BlackBerry下载的惯例,早已习以为常了.据说连欧洲的同仁们也不可以下载,同病相怜.
至于如何下载,自己想办法吧.哈哈!

07/28/2007

笔记零碎

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

公司的专业化

人才来源于贫困地区学校,忠诚度,崇尚名校的做法有待商榷

忍耐力特别强的人

四季花园,看起来是万科独爱的名字

1234

招商银行,平安保险,中集集团,华侨城,远大空调,蒙牛,联想,万象

当王石登上珠峰时,居然有个71岁的日本人,足以证明日本这个民族的上升力

当在图书馆的取水处看见一位七十多岁的老爷爷在换桶装水时,周围的年轻小伙子和MM们居然等着这位先生换,这是一种极其不道德的行为.最后还是我帮着换了.(这是真实发生的)

还是竞争力,技术,能力等

惺惺相惜,

登山是希望挑战自己,希望给自己一个很好的身体,给自己的生活一个平衡

一笑泯恩仇,哈哈

消费时代的产物,互联网,短信,多媒体和互动,造成了一个客观上的互动平台,社会现象

品牌的一大作用就是使你的事业具备一种防御能力,从而让你在市场沉浮,技术盛衰以及竞争对手的残酷的商场中始终立于不败之地.

07/27/2007

Rails关联Model的验证

Filed under: 一技之长 — Tags: — 张太国 @ 12:52

这也恐怕是第一篇关于Rails的纯粹的技术文章.
这篇文章很简单,就是Rails的验证问题.

问题
 假如有一个User model,而这个User又带有一个Profile model. User和Profile的代码分别为:

User 代码
  1. class User < ActiveRecord::Base  
  2.   has_one :profile  
  3.   validates_presence_of :password,:on => :create,:message =>"Password can’t be empty!"  
  4.   validates_presence_of :password_confirmation,:on => :create,:message =>"Please re-type password!"  
  5.   validates_format_of :email,:on => :create,:message => "Email is invalid!",:with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i  
  6.   validates_uniqueness_of :email:on => :create  
  7.   validates_length_of :password,:password_confirmation:minimum => 4,:message=>"Password must be 4-40 characters or digits! "  
  8. end  



User包含email,以及密码

Profile代码
  1. class Profile < ActiveRecord::Base  
  2.   belongs_to :user  
  3.   validates_presence_of :firstname,:message=>"First name is required"  
  4.   validates_presence_of :lastname,:message=>"Last name is required"  
  5. end  

Profile仅有first name和last name.

User对应的Controller是UserController,而Profile没有对应的Controller,所有操作都在UserController里完成,当然包括editprofile,以及updateprofile.

ruby 代码
 

  1. class UsersController < ApplicationController  
  2.    
  3.   def editprofile  
  4.     current_user.profile  
  5.  end  
  6.   
  7. def updateprofile  
  8.     if current_user.profile.nil?  
  9.       @profile = Profile.new(params[:profile])  
  10.       @profile.user = current_user  
  11.       begin  
  12.        @profile.save!  
  13.       rescue  
  14.         redirect_to :back  
  15.         return  
  16.       end  
  17.     else  
  18.       @profile = current_user.profile  
  19.       unless @profile.update_attributes(params[:profile])  
  20.         redirect_to :back  
  21.         return  
  22.       end  
  23.     end  
  24.   end  
  25.   
  26. end  

在updateprofile里,如果firstname或last name为空的,是可以验证的,但是无法在view上显示.也就是说error_messages_for ‘profile’不工作.

分析
   按照常理,profile应该对应有controller的,但是有的时候为了统一,也许不会那么做.所以在处理的时候一定要注意.那么在profile保存的时候,进行验证,这个操作是可以进行的,但是为什么在editprofile时error_messages_for ‘profile’没有反应呢?那只能说明@profile里的errors是空的,那么@profile的erros是空的?前面明明已经得到验证了,所以应该不为空.究竟是什么原因呢?看看editprofile,发现问题了吧,原来此profile和updateprofile提交的是不一样的.前者是没有errors的.

解决

既然知道了原因所在,那就非常简单了,直接把提交的profile赋值给editprofile的profile.可以采用session,缓存将提交的profile对象存储起来就OK了.

总结
 Rails其实原理比较简单的,关键是有的时候要符合框架的基本意图,也正因为是个框架,其带来的条条框框有时候会令人抓狂.如果实在搞不懂,那就看看Rails里的源代码,了解其来龙去脉吧.

07/21/2007

SVN不工作

Filed under: 一技之长 — Tags: , — 张太国 @ 11:13

奇怪的厉害,SVN居然在我的Linux系统上脑瘫了不工作了。
我在我的Linux上装了Subversion,没有做任何配置,其实仅仅简单作为一个SVN client而已。
输入svn,没有问题
输入svn checkout http://xxxx/svn/trunk, 什么反应也没有了,也不提示错误,
输入svn checkout http://xxxx/svnx,提示错误,说svnx找不到,好,至少证明正常工作
输入svn checkout svn://xxxx/svn,正常工作

仔细思考一下,svn协议可以,为什么http协议却不行呢?继续思考中….

各位要是有什么高招,麻烦各位费点CPU和内存高告知我一声,现谢谢了!

回来了

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

上次说自己离开上海一趟,到外面旅游一番,确实感觉不错!
虽然说是一次短暂的旅行,但是自己心情舒畅,意念强烈,之前的那种枯燥心里已经成为历史。呵呵!
自从回来之后,人一下子对生活,对工作有了非常积极的态度,这无疑是一个很大的改善。个人认为自己是一个积极的人,可能一直处于某种生活中,那也就形成了短时的不正常,从心理学的角度看,这也是正常的。
回来之后,感觉事情也很多,尤其是工作方面,进度紧,而且存在一些技术性上的问题。即便如此,我也满心期待,因为我是一个爱挑战的人,爱冒险的人。
如果你觉得状态不太好,可以去放松一下,效果那是相当的好!

07/04/2007

如何获取某网站的缩略图

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

呵呵,第一眼看到这个东西的时候觉得应该很简单的,其实不尽然呀.

由于工作需要,我们的网站上有很多URL,而且需要获得这些URL链接的缩略图.我们的网站运行在debian操作系统上.想了半天,也不知道如何解决,于是google一下,看起来没有我需要的结果.

其实这个功能相信对很多人来说都非常有用的,既然没有,那我自己写了.呵呵.

相信这个功能也是充满了挑战性的.越是有挑战,我就越喜欢.

本周是不行了,从今天开始,出去逛几天再回来.看来只能等回来再说了.

若是各位有现成的话,麻烦您共享一下,在此先谢过了.

07/03/2007

丢失的自由

Filed under: 一技之长 — Tags: — 张太国 @ 15:46

平心而论,Rails真的是一个非常好的Framework,其易用性,高效率等,为之带来了无比巨大的反响,也给DHH来个更多的声誉.
当然,Rails还是Rails,一个框架而已.也正因为此,他给我们带来的是一种限制,让我们失去了自由.
如果你的数据库设计不是按照它的命名规则进行的.对不起,你将拥有一个极其崎岖的道路,到了一定的时候,会为之抓狂.也许有人说,我的系统很好呀.是呀,那是因为你的数据库不够复杂而已,或者说一些特殊的需要你没有碰见.
除数据库之外,其本身的架构也会令我们受阻.
当我们想实现更加复杂的逻辑,包括业务上以及表现上的,有的时候不是那么轻易实现的.但是对于其他简简单单的web开发,那是一件轻而易举的事情.如果你想在页面上实现复杂的表现方式,有些情况下又不是那么好实现.
难怪一些高人都说,框架会限制人的大脑思维,也会令你失去自由,看来真的很有道理.
我不是高手,但是我已经体验到了.
让我失去自由,也许是因为我对Rails的认识和使用还不到家吧.
尽管Rails有种种不是,但是不可否认的是,Rails仍然是目前最伟大的框架之一.

灵感

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

灵感这个词已经很久没有感受到了.工作的灵感尤其这样呀.感觉这些天大脑已经瘫痪,有点麻木,更加不用提什么灵感了.

昨天下班前,一些手头上的工作实在不得要领,郁闷的很.下班后拖了半个小时,还是不行.不搞了,直接下班.

今天早上一来,一个念头突然闪过,马上就做,不然就给忘了.哈哈.

呵呵,真的解决.自己也为久违了的灵感而快乐.

工作就是这样,保持激情,保持良好的状态,生产才高.

以本文记之

Powered by WordPress