2004年10月15日星期五

很久,很久,很久没有写过东西了

上一篇BLOG是在10月5号,天,快两个月了!好像一晃时间就没了,不过在这快两个月的时间里,还是发生了很多,很多,很多,很多的事情D。。。。嘻嘻!
最最重要的就是,俺找到工作啦!!!确切的说,到今天为止,我已经整整工作了一个月了!那是在遥远的10月26号。。。呵呵,其实现在想想也没什么了,简单的说,就是在经过了将近了3个月的漫长的寻找工作的过程后,俺终于找到了工作!俺不想把事情弄得太复杂,譬如说俺如何如何千辛万苦,跋山涉水,不畏艰难等等,哈哈哈哈~~~不过找到工作了就是好事。
我现在在一家叫做etherdigital的公司工作,web developer!终于是如愿以偿啊。我们公司有将近20个人,是一家在快速发展中的小公司(好像所有的招聘广告里小公司都这么说他们自己,哈哈)。在我第一次来公司面试的时候我就喜欢上了这里,一个半地下室,全部是开放式的办公室,所有人都是

2004年10月5日星期二

心理测试。。。

一芥草民那里看到一个测试,我的结果如下:
在你的生活中,第1位的是:事业;第2位的是:朋友;第3位的是:金钱;第4位的是:家庭;第5位的是:性;

原来我竟然是这样的人么?
SUNNY整天说我太顾着做我自己的事情而不管她,现在看来,家庭都排到第四位了,还有什么好说的呢?不过说实话我以为钱对我来说才是最重要的,现在看来不是哈~~~
========================================
回来英国已经快两个月了,还没找到工作,心里有点发毛了,今天发狠一顿往中介公司打电话,不过结果似乎还不是太好。。。。工作啊工作,到底什么时候我才能找到你?!

2004年10月3日星期日

一个优秀的网页开发员应该掌握的20条

基本上来讲,我的编程旅程就是从PHP开始的(小学的时候学的QB不算:P),所以我一直对于Web programming/developing情有独钟。因为网页的易于开发、发布简单,所以想必很多人也跟我一样是从做网页的程序开始了解编程的罢?但是正是由于web application的简单特性,使得很多人以为能做出个页面就是了解了网页编程是怎么回事了。今天我就想说一说我这些年来开发web application的体会,一个好的web programmer / developper到底应该知道什么。

  1. 英语!
    尽管这几年国内翻译国外优秀的作品越来越多,但是质量似乎也越来越差。很多简单的中文句子都词不达意,让你看都看不明白。而且,作为优秀的程序员,你必须了解到你所使用的语言的最新动态,所以一定要亲自到国外的站点上去看一看,英语这关都过不了的话,你永远不会成为一个优秀的程序员。
  2. 至少能够比较详细的了解两种编程语言。
    编程语言因为自身的结构性,似乎看上去总会有一些不足,如果你能够掌握了两种以上的语言,自己就能够明白到底缺的是什么,语言A的这方面好像做得不好,我们可以按照语言B的模式来做。当然,这个基础就是需要你能看懂两种以上的语言。
  3. 至少精通一门语言的各个类库。
    ASP.NET,JSP都有强大完善的OO体系类库。对于PHP来讲程序员应该熟练掌握PEAR的使用。
  4. 精通面向对象分析与设计(OOA/OOD
    现在都是OO的啦。。。所以这个不用我说。
  5. 要学会使用UML
    记住,网页程序也是程序,所以你就需要学会使用UML。特别是class,object,interaction以及state diagrams.
  6. 了解设计模式(design pattern)
    ASP.NET,JSP的规范都提供了比较好的设计模式,但是对于一些其他语言来讲(如PHP),本身并没有建议你采用什么设计模式。我在最初的很长一段时间都是自己乱写程序,dirty and fast。但是时间长了维护起来问题就出现了。所以一定要了解不同的设计模式:MVC,DAO,Decorator,Factory...这些说起来好像挺容易的但是都需要你自己能够完全的掌握、运用以及在自己的项目中再次开发他们。
  7. 真正了解你所使用的服务器
    不是说你能安装、运行你的web application就可以了,你一定要会调试、配置!要了解不同平台下的区别,有时候你在IIS下运行好好的PHP程序,怎么跑到APACHE下就不会动了呢?要不然为什么以前在PHP4下运行的好好的程序,原封不动的就在服务器那换个PHP5怎么就throw了一大堆错误?!这些都需要你对自己运行的服务器、容器有很好的了解才能够明白是怎么回事的。很多时候自己写的程序是什么毛病都没有的,而毛病出在服务器端,你要了解!
  8. 学会使用服务器配置文件
    最简单的例子就是Apache下的.htaccess文件。现在越来越多的人意识到使用URL Rewriting的好处,实现rewriting最简单的办法就是让.htaccess帮你将网址转换。其实.htaccess还有很多的动能,这些你都需要去掌握,而很多初级程序员连.htaccess是什么都不知道。。。
    (我那次打电话到我的web host的客服去咨询为什么我的.htaccess不好使,我解释了半天对方的服务器管理员也不明白我到底在说什么,他们研究了一个星期,最后给我个答案,使用.htaccess会将服务器的重要数据暴露出来,有可能会让黑客得手。。。我(×※¥(◎(¥……¥%¥×#%。。。)
  9. 学会使用Web Service
    现在Web Service的应用越来越多了,怎么可以不学呢?在大型项目中,就算你自己不想用,你的同伴也会要求你给他们做Web Service的接口的。
  10. 学会使用IDE
    .NET有VS,JSP的IDE更是五花八门,PHP现在也有一些比较成熟的IDE。熟练掌握这些IDE会让你的工作事半功倍,减少错误,并且养成良好的编程习惯。不要听那些吹嘘自己是用EditPlus的牛人的,他们是白痴!
  11. 学会使用Refactor
    使用重构我觉得是需要建立在有一个很好的重构工具之上的。这个工具最好是内置在IDE里,我最早开始使用重构是用IntelliJ IDEA,现在很多的工具也都提供重构了。重构的意义不仅在于软件更新完善,对于一个程序员来说,他能让你更快的溶入到已有的工程里或是快速的进行二次开发。
    (不过可怜的是我到现在也没找到一款可以重构的PHP 编辑器,谁知道有么?!)
  12. 你需要最少学会使用一种XML API
    说实话我到现在也没明白为什么要有那么多API。或许你会跟我一样觉得好像都差不多,但是,总是需要熟练掌握一种的。
  13. 学会创建RSS
    其实RSS也很简单,就是个XML。看看现在BLOG像野草一样的疯长,你就知道RSS多么有用了,这么简单而实用的东西,不会怎么行呢?!
  14. 熟练掌握JavaScript
    我在这个列表里尽量少的涉及到某种专门的语言,但是作为前台的JavaScript来说,它是每个优秀的Web application programmer应该熟练掌握的。
    (对于IE和Mozilla之争,我个人的意见是,在你实在没能力创建两套系统来实现相同的功能的时候,那就尽量绕开使用这个功能或者采用外部控件。我自己一向对JS开发很头疼。。。呵呵)
  15. 了解W3C的HTML,CSS标准
    不管是要面对IE还是Mozilla,首先向W3C看齐是没有错的。HTML和CSS不全是web designer的事情,很多时候你也需要帮助他们来完善页面的效果的。一定要了解标准的细节。
  16. 对HTTP的充分认识
    对于各种header,redirect,download,MIME动作要明白他们是怎么生成的。要会主动生成Stream。
  17. Caching/I18N/Mail。。。
    这些都是在开发web application时会经常碰见的问题,你都要至少会使用一种方法来处理他们。
  18. 学会使用Unit Test
    我并不强烈推荐完全使用Test Driven,但是最起码你要会使用Unit Test。
  19. 熟悉面向方面的程序设计以及面向属性的程序设计
    这两个都被很容易混淆的缩写为
    AOP,你需要了解他们在不同语言下的主流规格和执行。
  20. 了解极限编程(XP)以及敏捷建模(AM)
    极限编程(extreme programming)以及敏捷建模(Agile Modelling)在开发大型项目中确实能够得到很好的效果。当然,这也是建立在团队的每一个人都能够熟练掌握并灵活运用他们的基础上的。

以上的20条并没有按照什么顺序,都是我想到什么就些什么的。十分粗糙,还请大家批评指正。

前两天在Macromedia的网站上查到了我的考试成绩已经正式被收录了,而且发现我是现在全球唯一的一个拥有Dreamweaver MX 2004认证的中国人,呵呵高兴啊高兴!虽然我知道有很多很多人对DW的掌握要比我深得多,只是不愿意去花钱考这么一个证,但无论怎么说这回咱也是蝎子拉粑粑--独一份啦!高兴啊高兴!所以就关公门前耍大刀,乱写了写一些心得,还希望各位大侠能够多多指正。

此外,如果小弟的东西有幸被转载的时候希望能够注上小弟的名字以及文章的出处。最好还能回复一句满足一下俺小小的虚荣心,谢谢各位啦~~~

18:28 | 评论 (9)

2004年10月2日 #

又是N天没有写东西了

最近的一段日子用一个字来形容,就是“忙”!

乱七八糟的东西一股脑的涌上来,突然好几个事情同时需要我去做:

1。CNINUK在英国注册charity
2。筹划《CNINUK》杂志的事情
3。VTAGE.COM新版开发,妈的答应给YAKE先做好他那快结果到现在还没弄完,要死了!!!
4。大学开学了,虽然我今年已经要停学一年,但是学校学生会的事情还是不能不管,这两天就跟着CSSA到处跑了。。。
5。当然,还有现在最最重要的,他妈的找工作!!!

不过这段日子还是有几个稍微好一点的事情的

1。《CNINUK》杂志筹划的事情得到了不少人的关注,这个周日就要开首次编辑会议了
2。CNINUK注册charity的事情也得到了Chinese Community Center的关注,他们会提供一些支持。
3。我的MCP Welcome Kit也终于在今天收到了。过一段时间有空应该抓紧把剩下的一科考了,好拿个MCDBA。
4。现在Macromedia的网站上已经有我的Dreamweaver MX 2004 Certified Professional的信息了:http://www.macromedia.com/v1/handlers/index.cfm?ID=24174,看样子好像我是目前中国唯一一个拿这个证的人,不过在英国就是第31个了。。。当然不知道有没有其他人像我这样在本国拿了证然后来到英国的哈。。。。
5。那天背着SUNNY自己作主跟ebay上的一个人私下交易买了一个PDA,Hp Pocket PC 5550,才花200镑,我觉得是很划算了。。嘿嘿。如果SUNNY真不让我用那我就再跑到EBAY上卖了,绝对不只这个价格:)
6。从加拿大定的Zend PHP Certification Study Guide已经寄到了,足足等了将近一个月:(还没时间完全仔细通读,不过简单翻了翻觉得确实很不错,比较适合对PHP已经很熟悉的技术人员做考证的复习资料。里面对平时应用不多的技术细节都有提到,幸亏买了这本书好好先看看,要不然就这么冒冒失失跑过去直接考证我估计就危险了。我在考虑过一段时间手头事情没这么多了就跟作者联系一下,我想把他翻译成中文介绍给中国读者。(不知道国内是否已经有人翻译了,或者到底有没有人愿意读。就像我的DW认证一样,国内肯定很多人用DW比我用得好,但是只是没人愿意考这个证,国内到底有多少人愿意考PHP的证呢?看来还是MCSE,CCNP之类的热门啊。。。)
7。哦哦哦还有还有!今天我们的Freshers' Fayre,我去一个不记得是干吗的展台拿了个印有我们学校标志的瓷咖啡杯,^_^真好真好,赚到了!!!

现在一切都很好,就差工作的事情了。。。工作啊工作。。。我可是一直在为你奔波努力啊,你可不能辜负我啊!!!

技术学习方面,最近一直在弄VTAGE,整天也就是PHP,翻来覆去的也没什么新东西。只是PLOG里极大程度的复制了JAVA的OO结构让我觉得挺有意思的,也真难为这些人这么有功夫,把那些底层的接口重新用PHP实现。这样写起程序倒是方便了,不过对于PHP这种非编译性的语言每次要读那么多文件我总是觉得怕怕的。。。不过那么多网站也都在运行的好好的,只能说ZEND厉害啦!呵呵

还有,最近简单的接触了一下Python,主要是因为Fantasy Soft的两篇你今天Python了吗?介绍性文章写得实在很好,忍不住下载试了试。确实很好玩,结构简单、严谨,运行速度快,跨平台性能好。我觉得PYTHON在技术角度来讲以后一定会超过JAVA,只是看支持程度了。看情况如果发展的好的话我大三的毕业论文就用这个题材应该不错:)嘻嘻不过还早着的事情呢。。。

最后,今天是国庆,祝祖国人民快乐,祝父母健康、顺心~~~

2004年10月2日星期六

又是N天没有写东西了

最近的一段日子用一个字来形容,就是“忙”!

乱七八糟的东西一股脑的涌上来,突然好几个事情同时需要我去做:

1。CNINUK在英国注册charity
2。筹划《CNINUK》杂志的事情
3。VTAGE.COM新版开发,妈的答应给YAKE先做好他那快结果到现在还没弄完,要死了!!!
4。大学开学了,虽然我今年已经要停学一年,但是学校学生会的事情还是不能不管,这两天就跟着CSSA到处跑了。。。
5。当然,还有现在最最重要的,他妈的找工作!!!

不过这段日子还是有几个稍微好一点的事情的

1。《CNINUK》杂志筹划的事情得到了不少人的关注,这个周日就要开首次编辑会议了
2。CNINUK注册charity的事情也得到了Chinese Community Center的关注,他们会提供一些支持。
3。我的MCP Welcome Kit也终于在今天收到了。过一段时间有空应该抓紧把剩下的一科考了,好拿个MCDBA。
4。现在Macromedia的网站上已经有我的Dreamweaver MX 2004 Certified Professional的信息了:http://www.macromedia.com/v1/handlers/index.cfm?ID=24174,看样子好像我是目前中国唯一一个拿这个证的人,不过在英国就是第31个了。。。当然不知道有没有其他人像我这样在本国拿了证然后来到英国的哈。。。。
5。那天背着SUNNY自己作主跟ebay上的一个人私下交易买了一个PDA,Hp Pocket PC 5550,才花200镑,我觉得是很划算了。。嘿嘿。如果SUNNY真不让我用那我就再跑到EBAY上卖了,绝对不只这个价格:)
6。从加拿大定的Zend PHP Certification Study Guide已经寄到了,足足等了将近一个月:(还没时间完全仔细通读,不过简单翻了翻觉得确实很不错,比较适合对PHP已经很熟悉的技术人员做考证的复习资料。里面对平时应用不多的技术细节都有提到,幸亏买了这本书好好先看看,要不然就这么冒冒失失跑过去直接考证我估计就危险了。我在考虑过一段时间手头事情没这么多了就跟作者联系一下,我想把他翻译成中文介绍给中国读者。(不知道国内是否已经有人翻译了,或者到底有没有人愿意读。就像我的DW认证一样,国内肯定很多人用DW比我用得好,但是只是没人愿意考这个证,国内到底有多少人愿意考PHP的证呢?看来还是MCSE,CCNP之类的热门啊。。。)
7。哦哦哦还有还有!今天我们的Freshers' Fayre,我去一个不记得是干吗的展台拿了个印有我们学校标志的瓷咖啡杯,^_^真好真好,赚到了!!!

现在一切都很好,就差工作的事情了。。。工作啊工作。。。我可是一直在为你奔波努力啊,你可不能辜负我啊!!!

技术学习方面,最近一直在弄VTAGE,整天也就是PHP,翻来覆去的也没什么新东西。只是PLOG里极大程度的复制了JAVA的OO结构让我觉得挺有意思的,也真难为这些人这么有功夫,把那些底层的接口重新用PHP实现。这样写起程序倒是方便了,不过对于PHP这种非编译性的语言每次要读那么多文件我总是觉得怕怕的。。。不过那么多网站也都在运行的好好的,只能说ZEND厉害啦!呵呵

还有,最近简单的接触了一下Python,主要是因为Fantasy Soft的两篇你今天Python了吗?介绍性文章写得实在很好,忍不住下载试了试。确实很好玩,结构简单、严谨,运行速度快,跨平台性能好。我觉得PYTHON在技术角度来讲以后一定会超过JAVA,只是看支持程度了。看情况如果发展的好的话我大三的毕业论文就用这个题材应该不错:)嘻嘻不过还早着的事情呢。。。

最后,今天是国庆,祝祖国人民快乐,祝父母健康、顺心~~~