August 30th, 2007 by 张磊
最近在忙着做一个叫Camel的项目,用上GTD之后,我也把项目的进程放到了里面,这样可以被监督着。Camel是用来做一个提供建站服务的东西,可以让用户轻易地搭建一个功能齐全的网站。同时我也想对现有的一些同类的程序做些改进,看看他们的数据库和页面,做的实在不让人满意。 从技术上,我觉得我可以从中学到很多。开始在web程序中试用面向对象,是从牛扑开始的(Project ZLLP)。但独立地大规模地使用对象,是在期末软件实习里面做的在线购物车(Project OLBK),老师看完我做的东西之后,说可以拿来当毕业设计了,顺理成章地拿了优──实际上我只做了7、8天的样子。而现在我正在做的Camel 里面,一切都是对象。 当接到一个HTTP请求,服务器上会用.htaccess文件将所有的都请求重定向(不是301或302,而是Rewrite)到一个叫做page.php的文件,当然,带着不同的GET参数。page.php中会初始化一个Site对象,这个对象里除了一些必要的内部变量,还包含了缓存对象、数据库对象、smarttemplate对象,以及我自己写的字典对象、语言包对象、分页对象、校验对象等等。所有的任务都在Site内部完成,然后通过smarttemplate显示出来。现在,这样的一个骨架已经完成了。 后台管理我也打算采用类似的方式,不过还没有进行设计,相对来说可能要花更多的精力。 很久以前读了Babel的程序,感叹Livid的才华。用完全的面向对象写一个社区程序,之前的人们也许想都没有想过。最大的那个文件有几百K──想像一下,全部手写的程序,几百K实在是庞然大物了。而Babel的设计思想至少影响了我的3个项目,虽然,和babel的差距还很远。 2005年我刚上大学时17岁,85年出生的Livid20岁。明年即将满20的我,不知道能学到Livid的几分。而Livid更打动我的是那种轻松闲适的生活态度,同样是85年,有的人让我顶礼膜拜,有的人在我心里还是小女孩。
August 26th, 2007 by 张磊
注:这篇文章是应计算机学院吴书记的号召,以思想报告的形式写一下我对现阶段培养同学们学习氛围的一些思考。完全原创。 盗用这个大大的标题,自己有点汗颜,但是实在想不到别的可以贴合这篇文章的主题了。坦白地说,杭电计算机学院的学习氛围真的需要提高,我自己作为一个计算机学院的学生,目睹了周围人太多的堕落和迷茫。今天写的东西希望能对大家起到些作用。 1、实践是提高水平的唯一途径 在我们这样的专业,所学的东西只有亲自实践过了,成功了,才能算是吃到了肚子里。大一时学C++,看着不少人都拿着小本子拼了命抄老师在PPT上展示的程序。抄是抄来了,自己敲进电脑里面貌似也能跑起来,可是原理没弄懂。 很多时候,要做个东西,之前踌躇满志,可真正到了设计的时候,却发现涩涩的。某些关键地方的技术是自己所不知道的──相信很多人都有过这样的感觉。这其实 是缺少实践导致的。可能你去借了一本”Teach Yourself Java 2 in 21 Days”勤奋地从头读到尾,但真正到了做东西的时候,还是发现好多东西写不出来。没关系,勇于面对自己的无知就好了,在这个互联网及其发达的时代, Google就是最好的老师。我前段时间突发奇想,自己开始写一个聊天机器人,基于Jabber协议的,但是我对Jabber一点都不了解。全靠 Google,只要有了问题,马上搜一下。最终我的机器人只花了几天时间就做出来了,我还在自己的技术blog上写了一个系列的文章来分享心得(请看这 里:http://www.googlecto.com/2007/08/16/all-the-about-xmpppy-in-action-4/ )。 雅虎的工程师车东在 自己的blog上说,建议计算机专业的大学生在sorceforge上找一些小的项目自己练习一下。实践,是我们每个人都比不可少,而且要坚持做下去的事 情。而且,实践获得的乐趣也远远比往笔记本上抄程序大得多。同时,做ACM真的是一个可以锻炼人动手能力的东西,我虽然现在难得写C的程序,可还是从以前 做ACM中获得了不少宝贵的经验。我觉得我们学院把ACM做得太功利了,诚然,在领导们所关注的浙江高校之间的PK中,HDU不能落了后。但是看见那么多 人把身心都投在了ACM上,背负着很大的压力。不如把ACM当做一个锻炼自己的地方,来得轻松。 2、我们不仅应当有专业的知识,也应当有行业的眼光 IT是一个高速发展的行业。也正因为这一点,这个行业才产生了这么多年轻的富豪。如果一个计算机专业的只是投身于写程序、做东西,可能会成为一个顶级的 Coder,但永远也不配被称为IT人。前些日子接触了一个学院的同学,在QQ群里说要接活做网站。和他聊了一下,他说做网站也很苦,我就建议他给自己 做。可是他不知道该给自己做什么,说没有需求。一个只会做东西不去想东西的人,难成大气。 我们应该关心一下我们将来要投身的行业,技术只是这个行业里一个部分。IT涉及了太多东西,潜力之大也超乎我们想像。而我们现在需要做的,也只是在学好专 业知识的同时,培养一下行业的眼光。比如多关注一些IT新闻,多看一些IT人的blog,把花在游戏上的时间腾出来一点点,相信会有很大的收获。我在05 年加入了一个创业的团队担任CTO,之后就参加了大大小小很多类型的IT聚会,从中获益匪浅。 我曾经建议过学院里可以做一个长期的规划,在将来开一门选修的IT文化方面的课程。如果有对这个比较了解的老师,那是最好。 3、锻炼表述的能力 相信每个人都有这样的经历:在别人的要求下到某个公众场合,面对着下面很多只眼睛,讲话。不管普通话有多好,不管对要讲的内容有多熟悉,大部分人的第一次,总是会很紧张,哪怕下面都是自己的熟人,也会觉得不自然。这其实是能力的问题。 表述的能力是所有学生都需要的。把一样东西学到脑子里和把它清晰地讲给别人听是两个水平,而在那么多人面前,还能说得清楚、讲得明白,其实不是一件容易的 事。而学计算机的同学们在这点上分外欠缺。可能是我们长年都和电脑这种“冷兵器”打交道,我们用啥指令它给啥反馈,习惯了这样无声的交流。特别是那些传说 中的“牛人”,更是被“神化”为,深藏不露、沉默寡言的人。不仅是我们学校,我接触的一些浙江大学学计算机的同学也有一样的问题,虽然他们都是在这个领域 出色的学生,但在众人面前讲点东西的时候总会忍不住抓抓头发或是把眼望向别处。 我自己也比较注重这方面的锻炼。在上个学期,我和一些朋友们一起做了一个分享性质的沙龙。每次会有一个专题小演讲,加上讨论,沙龙一般会持续两个小时── 这样的事情对我真的很是考验,但是慢慢习惯之后,开始可以把自己的东西条理出来,讲清楚,大家也可以进行很好的交流。所以,我建议同学们应该多找说话的机 会,多锻炼表达的能力。这样的能力在将来对我们也是很有臂助的。 4、别让语言成了障碍 曾经和朋友开玩笑,说我们学校的“牛人”普遍特点就是英文很差。而我在浙大接触到的“牛人”一个个都能讲一口流利的英文。英文的重要性我也不用多强调了, 而在我们专业上来看,实际上英文有特别的用处。首先很多网上的技术文档都是英文,譬如一些现成的库和框架。面对大段大段的英文文档,如果没有好的英文功 底,实在难以对付。当然,总会有好心的人把英文翻译过来,但未必你要的翻译真就能找到,就算找到了,翻译的质量也实在不知道好不好。 我建议计算机专业的同学们可以尝试着大胆地买一些原版或是影印版的专业书籍来看,在学其中技术的同时也可以熟悉一下那些惯用的术语。我自己大学两年就读了 不少英文的专业和非专业书籍,明显感觉到英文的水平有了提高。现在,我自己开通了一个专门写技术备忘的英文blog:http://www.googlecto.com ,坚持写英文的技术文章,对自己也算鞭策吧。 5、和周围人一起 做小事可以自己搞定,而做大事是需要一个团队的。这里“和周围的人一起”,不是说一起下网吧一起打游戏,而是一起学习,一起做共同爱好的事,一起进步。我 住在一个学习氛围很浓的寝室,大二第一学期的期末成绩出来,软件工程05级年级前10名有3个人在我们寝室。第二学期最终结果还没出来,但是我们的成绩也 很不错。我们寝室里现在还有两个预备党员。我们共同的名字叫Yellow。而这一切,都是我们一起做的。让周围的寝室,都很羡慕。 我们从来不自习,也许这不是个好习惯。但因为我自己曾从事IT,所以可以有一些不错的资源。外校有活动,我们也是一起参加,这样也给我积累了在校内做活动 的经验。后来也我们一起做刚才提到的沙龙。上个学期,在繁忙学习之余,我们出资在加利福尼亚租用了一台服务器,然后每个人开始做自己的小项目。同时,每个 人都有一个独立域名的blog。下面这些就是我们自己的项目: blogkid: http://www.blogkid.net http://www.googlecto.com [...]
August 24th, 2007 by 张磊
最近晚上的中央一套在黄金时段播一个关于农民的片子。这个时段的节目往往能体现中央工作的重心,我想这个片子也不例外。七一开始实行的《农民专业合作社法》在香港回归10周年的光芒下显得毫不起眼,也绝少有人知道,这部法律,让我国的法人身份中多了一个合作社法人。 在Google 搜索“农民专业合作社法”,都是些歌功颂德的文章。聪明的卓越网已经不失时机地在搜索结果旁边摆放了自己的广告。而我破天荒用了一下百度指数,在规定的几个关键词里,只有“农业合作社”在今天有74个查询。貌似社会上对合作社很不关注,而合作社的主体──农民获得信息的渠道又很有限。和很多人提起合作社,他们都以为是信用合作社。 SIFE-HDU成立时的第一个项目是我来带的,做的就是合作社和电子商务方面的东西。因为SIFE的指导老师徐旭初就是刚才那部法律的立法人之一。但这个项目后来没有做下去,一方面因为做的后期一直只有我在投入,而且将来的前景并不明朗(主要是投入太大)。所以到后来,这个项目就停了,可惜浪费了前面同学们调研的精力和时间。我现在手里有一个chinahzs.com的域名,不过还不知到拿来干啥。针对那些很难上网或是很少上网的人群做的网站,一定要线上线下结合。 合作社现今看来是个好东西,不过SIFE的朋友们去台州调研时带来的消息并不乐观。希望合作社能避免流于形式,真正为农民们起到作用。
May 23rd, 2007 by 张磊
为什么这样子,你拉着我说你有些犹豫,怎么这样子,雨还没停你就撑伞要走,已经习惯不去阻止你,过好一阵子你就会回来,印象中的爱情好像,顶不住那时间. 为什么这样子,你看着我说你已经决定,我拉不住你,他的手应该比我更暖.铁盒的序,变成了日记变成了空气演化成回忆,印象中的爱情好像,顶不住那时间,所 以你弃权. 题目来自上面这首曾经很喜欢的《半岛铁盒》,不过今天说的内容和上面这个浪漫故事半点关系也没。 昨天听徐老师说,她最近刚开始给学生上课,赫然发现学生早已不是她所想的样子。但学生应该是什么样的,她也没有说过。我的感觉就是,当我在校园里走着,经常会听到后面的同学在和别人分享自己打游戏的经历。但是去过不少次浙江大学,看一些朋友们再聊天,所谈的都是创业、学术、出国方面的东西。高下立判啊。在HDU什么都不能奢望,周围能帮到你的人太少了,做什么都要自己一点一点、一步一步来,不过这也未必是一件坏事。 下面要批评一下小鲶鱼(他的blog已经有一个月没有更新了,所以不点过去也可以)。今天中午看到鲶鱼同学在卖力地写着“思想报告”,在大谈“唯物主义”,胡吹一气,一点实质都没有。让我想起小学时被老师逼着写读后感或者电影的观后感,“通过这本书(这场电影),我学习到了XXX,我深刻地感觉到XXX” ──我不知道为什么学校会把学生逼成这样,到了大学里还不放过。当然这也不全怪学校,当事人在这上面也体现出了猥琐的一面。我自己的思想报告写的是企业文化方面的内容,是我真实的想法。胸无点墨的人才会写文章大话连篇,真正有才学的人,像是我们学校的卢章陆老师讲的党课虽然也是纯粹的理论,但给我的印象特别深刻,甚至一年之后我还记忆犹新。 今天看到学院里有申报科技项目的通知。牛扑网所使用的系统(Project ZLLP)完全是我自己开发,做的过程中创造性地解决了不少问题,包括数据库优化缓存,包括缓存的设计和使用,包括Web Service的开发等等,当然也遇到不少新问题,还在不断地开发中。更重要的是,牛扑网是一个可以有一定经济效益的项目。所以一看到这个通知,我就想用Project ZLLP申请一个项目,会有一定的资金支持。可是后来打开申请表,发现要填的东西太多了,详细是好事,也难为那些借此机会想骗些经费下来的老师们了。后来我实在填不下去了,转念一想,Tom所带的那个LED光通信的项目进入了新苗计划,不过只批了5000元。如果我的项目不能到新苗计划,作为学校的科技项目最多只有1000元。想想还是算了吧,1000块钱真的不缺。 但上次在Mrtech,听到他们的CTO说和自己的导师商量给实验室买一辆车,居然马上就被答应了。浙大的老师骗钱真厉害,一辆车点个头就来了。国内学术氛围之差可见一斑,造假横行,陈进这种大流氓骗的是大钱,还有一群小学者骗着小钱。纳税人的钱有多少落进了他们腰包呢? 写文章的时候看到一个新闻:《哈尔滨20天内39人自杀 至少四分之一是大学生》 为什么这样子,因为不可能是别的样子。不爽得很,所以今天写了很多文章。
April 19th, 2007 by 张磊
那天下午花了智勇不少时间来帮我设置他的服务器,直到最后只剩下数据没有导入了。结果第二天我突然看到DH为我更换了一台数据库服务器。于是告诉智勇我暂时不用那边的服务器了。 我想我一直都是在接受朋友们的帮助,却从来没有真正付出过什么。所以现在越来越觉得惶恐。在这样的心理暗示下,明显地感觉我又走进了一段低潮。以前一直很奇怪,每一次见到Fish,或是在网上和她聊天,都感觉我的对面是一个很自信的很优秀的同学。 但是读她的blog,她过得并不好,甚至有些时候很差。但后来看到很多朋友都是这样,现在包括我自己也有这样的倾向,就再也不觉得奇怪了。 上午被Alone发现我有一根白发。前段时间和家里打电话还说挺好的,没有白头发——老了。这一段时间每个晚上都是在自己笔记本电池耗尽之后上床睡觉,一般都在凌晨00:30到1:00之间,虽然睡眠蛮好,但就是有种心力交瘁的感觉。V2Read的数据库服务器又不行了,这一周来忙忙碌碌与DH交涉所做的努力暂告失败。老了。我1988年生,今年的19岁生日还没有过,怎么就有了白发了呢? 我身体蛮好,很壮实。但是最近左右两边的胳膊根部都发现血管破裂,可以从皮肤表面按进去感觉到凹下去的血管,看得到鲜红的痕迹。 今天太阳很好,让我觉得杭电校园从来没有这么漂亮过。走在校园的路上,看着明丽的光和影,享受着这份平静和舒心。我们SIFE的部分成员穿着正装一起出来拍照。我可能因为肚子比较大吧,蛮有领导人的风范(哈哈,吹的),于是大家都叫我张老师——其实我是他们中年龄最小的。 V2EX的”EX”有两个含义,其中一个就是 “Extreme”。晓光说实在写网站写不下去了,烦得很。是啊,花很多时间和精力在我们所熟悉却不得不做的事情上,是将来我们获得工资的手段和理由。而把时间和精力倾注在我们不熟悉但很感兴趣的事上,我们也许会有长足的进步,虽然可能要交学费,但所学到的东西有希望被我们拿来换工资,或者只是满足我们的兴趣也好。我觉得最浪费的无过于把时间和经历浪费在你不熟悉也不感兴趣的那些事上,比如说学习一个自己并不喜欢的专业。所幸的是,我对技术还是有热情的。 纵观2006年至今我做的一些Project,最早的dianping是比较幼稚的,是我第一个用PHP写的网站。不过现在在Buyren论坛首页导航栏的6大模块中,还有两个是指向dianping的。前前后后,Dianping的更新从没有停止,直到不再需要更新的那一天。不过听说这套东西要被改写为JSP了,不知道将来的命运会如何。我从dianping中得到了基本的开发网站的经验,也因此熟悉了PHPWind的技术架构。这个一直影响着我,我现在所用的框架就是在PW的基础上做起来的。 第二个项目是Acid。Project Acid主要是一个内容发布的东西,用在chemsupermarket上。大概花了我一个星期来完成它。虽然它的结构很简单,但我从中还是学到一些东西。比如多用户权限控制,比如可视化编辑器的装载,也锻炼了一下模拟静态URL的技巧(不是用Rewrite)。 第三个我把它称为Duncan,名字来自我12月认识的一个澳大利亚朋友。在这个中我主要锻炼的是”URLRewrite”,也学习和使用了缓存这个好东西。Duncan花了寒假里大概两个星期的时间,只有很精简的功能。不过后来没有拿出来,秘密地藏在一个地方了,呵呵。 之后我就一直在做Project ZLLP 。这个花掉了我 2个月心血的项目,在V2Read放到服务器上之后终于被各家搜索引擎的爬虫拖得跑不动了。在这两个月中我从0做起,一点一点架起了ZLLP的结构。虽然ZLLP的程序不能说完美,但是在我心里是我所做过的最好的东西了。在这里面我不禁充分用了Rewrite这些常用的东西,也自己归纳整理了很多起到支撑作用的函数库和类库,也从Babel的code里面汲取了很多营养。写ZLLP的两个月中有先是在过年的时候耽搁了,后来开了学,每天的时间不能保证,只有熄灯以后我可以用电池工作一个多小时。ZLLP经过一定的修改可以被用在任何店评类的网站上,有了这套东西,如果愿意,你也可以从头做一个“大众点评”。为什么要做这样一个东西,一部分原因就是:我一直想改良我做的第一个dianping,但因为自己的拖沓,终于没有了机会。 没记错的话去年3月18日我用智勇的钱买回来这台电脑,到现在正好是1年1月1天。 这一年多的时间里我学到了很多东西,自己取得了长足的进步,也在一点一点成长为一个全面的学生。我之所以能保持热情去做一个又一个的Project而且不计较什么收入,是因为每做一样东西我都会得到新的成长。如果有这么一天我不得不日复一日做自己熟悉的事来养活自己,那时的自己恐怕一年才能拿出ZLLP这种东西来了。 我本来心情不好的,写完这篇文章看到了DH给我回复的邮件,总算找到了问题所在。我run在服务器上的一个查询太耗时了。还好不是ZLLP中的东西,而只是我写的一个生成缓存的脚本。V2Read上线之后所经历的一系列东西又让我对服务器的维护有了新的了解。不断地学习才能不断地进步。Extreme的生活貌似也蛮好。
March 11th, 2007 by 张磊
今天一个学弟联系我,说有问题问我。当时我正在外面,于是让他发邮件给我。后来读到邮件,感觉到他真的是一个很用心很上进的人。我不禁又想起去年的事情…… 那时我负责社联网络部的招新,他凭实力通过了前两轮的面试,却在第三轮被淘汰了。惭愧的是,这三轮面试我一次都没在场,所以后来我的三个干事我一个都没见过。当然也有客观原因,我那时确实有课。后来他和我好好地谈了一次,我才意识到他根本没想到过自己会被淘汰。他说他把这次失败当成一次挫折。 虽然后来真正招入我部们的干事都很出色,但那时的我真的没有去想我自己的决定会影响别人这么多。我不觉得自己做的草率但还是很后怕,在那个位置上的自己,真的该小心翼翼,多为别人想一想。 今天晚上学生会开会,最后我举手表明自己想从学生会里退出。实在是时间不够用了,我自己手里压着的项目做也做不过来,却在周围找不到一个与我分担的伙伴。我不知道我的退出会有什么样的影响,只是如果我留下来,一定会在内部和大家推行GoogleGroup和Email的使用。如果我们计算机学院的同学都是整天只知道用QQ在群里大喊,我们真的没救了。 可惜社团联合会的双代会要在五月底才开。掰着手指数数手里的项目,太多了。老师的项目,朋友的项目,自己的项目,SIFE的项目……今天和侯大哥在一起,他说我大二已经这样了,大学四年该要做多少事呢?我也不知道。
July 17th, 2006 by 张磊
陈伟说,已经在组建团队了,需要各方面的人才。可是我实在为下个学期的事情头疼,光是想想,就足以皱起高高的眉头了。做团队这个东西,恐怕没有想象中那么简单。正如让单机跑起来,装个系统就好了,但要让几个机器一起工作,就要来分布式计算,而且往往性能会抵消掉一部分。 我们是人,不像机器一样死板。但是想一想一个团队做项目,条理起来都觉得头疼。那天在蜗牛发来的程序里面看到了”CVS”的字样,不禁就想到了这个似曾相识的东西。软件工程,我现在的浅薄理解,就是相当于一个分布式计算机系统。 做团队不容易啊,虽然找项目太容易。
April 5th, 2006 by 张磊
点评即将完成了,手头琐碎的事情堆积了一堆,但是点评终于要完成了。昨天看到有人在智勇的blog上也说到这一点,想想那条留言应该让智勇很不爽。呵呵。 明天又是紧张的一天,午饭应该吃不上了。要开挑战杯的会,可是中午总共只有一个小时的空闲。今天和昨天,我应经两天没吃午饭了,这样下去生活费倒是能生出好大的一笔,可是这个胃要坏掉了。 周末如果能有一天空闲的话,我会把点评搞定。也了却了这么一个旷日持久的工程。下面的项目应该相对easy了。昨天上网居然在群里见到了livid。其实我一直就在想,王翌建的群里怎么会没有livid,问了才知道livid去年就在了。虽然没怎么聊,但也感觉和自己的偶像比以前近多了,有点小小的幸福。