May, 2010

...正在按月被浏览

 

[ZT]编程之路- 写给打算进入IT行业的新人们

Friday, May 28th, 2010

http://www.iplaysoft.com/new-to-it.html

IT=挨踢,这是IT人的自嘲,进入IT行业是有四五年了,也算得上是一个“老人”了吧,见了不少新人,面试了不少新人,也带了一些新人,多多少少还是有点发言权的。

关于书本

新人们常常会说我看了多少多少的书,看过某某人写的书,仿佛书看了就会做了。其实不然,很多新人在面试的时候夸夸其谈,说啥啥都知道一点,到真正做的时候,啥都不会。归根到底是没有经验,技术这玩意儿经验非常重要,很多东西如果不是你碰到了,你从书上一辈子都找不到答案。

我看书的习惯一般都是先把整个书翻翻,了解一下书的基本内容,然后在实际项目中遇到相应的问题再去翻书,当然这是因为我对技术已经有一定的了解,不需要通读整本书。初学者应该找一些适合自己的书,通读一遍,其中的例子要认真做,一定要自己去写代码,而不是Copy。我以前在学做网页的时候,别人都用Dreamweaver去做,只有我打开源代码编辑器学习HTML源代码的编写。

做完书的例子只能说明你会削木头了,但会削木头离会做柜子还有很远的路要走。还记得达·芬奇画鸡蛋的故事么?不停地重复肯定是枯燥的,所以你需要自己尝试去做一些实际的东西,比如做一个个人主页、一个留言本、一个通信地址本……在这些实际的东西中去实现你的创意,去实现你在书本上所学习的例子,并且将这些例子加入你的思想。

永远不要认为书本能给你带来多少东西,虽然它们很有用,但它们只是一个Key,一个引你入门的Key。我买的技术书中,最多的是VB.Net,但这却是我最烂的一门技术。而我用得比较好的Delphi、Sql Server、Photoshop、 CoreDRAW、CSS、HTML、Javascript、Xslt、Xml,我几乎没有买书,但因为实际的项目需要,或者是我个人的兴趣爱好。

当然,我并不是反对你去买书,去读书,我只是想告诉你,你需要有一种平和的心态。但你要记住,书本只是一个Key。

关于基础

现在很多新人们都是好高骛远,目空一切,基础的东西不想做,难一点的东西又做不了,真的很令人头疼。其实技术人员,尤其是中国技术人员,你要懂的东西太多太多了。我们拿Web程序员举例吧,HTML、Javascript、CSS、Photoshop切图,这些都是很基础的东西,但很多人就是不愿意去学,认为这些东西太低级,甚至有些老程序员也不擅长这些。但我要告诉你,在Web开发中,这些都很重要,尤其是CSS和HTML、Javascript,如果你不是做一个OA之类办公的Web系统的话,这些在网站用得太多太多了,是一些Web应用的基础。

虽然我们现在涌现一大批如ASP.Net的优秀开发环境,可以让你完全不懂HTML也能开发出一套“网站”来,但正如其它程序化的东西一些,它会限制你的灵感与思维,它们都很霸道,所以才会有开源的兴起。我以前甚至不愿意用ASP.Net内置的GridView,我宁愿自己去构造Table,这觉得这样我更便于控制。

很多新人们喜欢拿新兴的技术说事,比如说AJAX,但实质他根本就不懂AJAX实现的原理,连多线程的原理都不懂,怎么能明白AJAX呢?有些做了一年多 ASP.Net的人,居然还不知道.Net Framework框架的本质是什么,不知道ASP.Net是如何实现的,也不知道客户端和服务器端是如何交互的。

在这里,我建议做Web开发的新人们,HTML、Javascript,CSS是实现一些Web功能的基础,一定要打好基础,当你会你记事本编辑这些代码的时候,恭喜你,你过关了。

关于语言的选择

语言之争都是大公司战斗的结果,套用一句管理上的话来说,把合适的的技术用在合适的地方。我们没有必要跟风去不停地换新的语言,每种语言都有它的优劣,但在一般的项目中,很难看得出来。如果我们做一个只需要新闻发布功能的小公司网站,你说是Java和.Net好,还是Asp和PHP好呢?在很多时候,Java与.Net、Asp与PHP是难分高下的,他们之间的差异或许是你一辈子也不需要用到,我们范得着把自己拉入某一些阵营吗?

技术达到一定的水平之后,语言只不过是锦上添花了,武侠小说常无招胜有招就是这个道理。你现在让我换成Java或者是PHP,我很快就可以做项目,因为我掌握的不是语言,而是对技术深层次的理解,现在Java阵营也好,.Net阵营也好,不管你说它们之间有多少差别,但他们的本质始终没有变,掌握这些本质,换一种语言就好比换一辆车,只需要一个熟悉的过程和一个磨合期而已。

最后,我建议新手们选择一种在你实质工作中需要的语言,坦坦实实地学好,不要中途“变节”,这样的成本太高了。.Net也好,Java也罢,只是一辆车而已,学好开本田就会驾丰田。

关于学习态度

学习嘛,在学习的过程中自然会遇到一些问题,遇到问题自然会想到求助。古人有云:礼下于人,必有所求,言下之意是有求于人,必要礼下于人。可是现在有些人不仅不礼下于人,反而还趾高气扬,仿佛谁欠着他似的。我们老家有句俗话叫拜师学艺要吃二十四碗鼻涕,可见在学习过程中要受到多少的委屈。

吃得苦中苦,方为人上人,做技术尤是如此。我以前在学ASP的时候,同寝室有一哥们是学VB的,因为ASP也是用VBScript做为默认脚本,所以有很多问题请教他,他当是也是给了我不少的嘲笑,像“这些简单的问题都还要问”之类的话我倒是听了不少。但到后我们一起学Delphi的时候,我就已经超过他了。

新人们碰到问题的时候,第一个想法就是想找人解决,当你去帮他解决的时候,他却去做其它事了,好像这个问题是需要你来解决的,下次出现同样的问题他还得找你。遇到问题最好的办法是先排查问题,然后到互联网上查找问题的原因,这样你才不会忘记,不要忽略了互联网这个最好的老师。我以前在学ASP的时候,为了一个插入数据的问题,查了一个星期,但这个问题我永远也忘记不了,再也不会范同样的错误。

高手们一般都比较忙,虽然我不是高手,但我还是不原意在我写代码正酣的时候,有人打断我的思路。先把问题记下来,趁机会问问高手,不要让他为你解决问题,你要的是一种解决问题的思路。公司常常有新人问我,这个地方出问题了,怎么办?我便问他,你上网查了吗?不是我不愿意帮他,而是授人鱼不如授人以渔,我直接告诉他怎么做,那不是在帮他,那是我在害他,我只能是告诉他排错的方法,解决问题的思路,否则他永远也不知道这个问题是怎么解决的,没有人会珍惜轻易得到的东西的。

最后,我想给踏入这行的新人们一个忠告,编程没有捷径可言,如果一定要找出一个捷径,那只有六个字——多看、多问、多写

X-Force 插叙:

回想想起来,以前起码有10个以上的人来信问过我怎么能最快学好编程,而且书店也有很多那种《n天精通XXX》的书籍,貌似还相当受欢迎,可见大多数人对于学习技术还是相当急躁的。

要知道学习一门编程技术,是需要很长时间的,其中需要你去不断练习不断尝试,并在错误中总结经验教训,以及在项目开发中通过与别人相互沟通互相学习来历练自己,你才能算得上是真正学会,而且还不是精通。即使再聪明的人,都需要经历这个阶段,这是一个持续的无限长久的过程。如果你还真想自己可以在很短的时间内精通一门技术,那么我建议你参考一下下面这个《21天让你精通C++》的图解教程!

Teach_Youself_CPP_21days

所以,如果你打算混技术的,你最需要的并不是你的基础,也不是你的聪明,也不是什么好的书籍或教材,而是你的心态!心浮气躁是学习技术的最最最最最最大忌,不要奢望着怎样一步登天,即使真有这方法,也轮不到你来领悟。打从心底里说服自己,从基础慢慢学起吧。

[ZT]站起来 Stand Up While You Read This!

Friday, May 21st, 2010

译注: 原文Stand Up While You Read This! 作者:Olivia Judson, 出自nytimes.com 译者:@GuoPeter

health

Zack Canepari for The New York Times, left; Chris Machian for The New York Times
错: 在你的小隔间里。             较好: 用电脑打电话时来回走动

椅子是你的敌人。

如果你每天早上都慢跑或者经常去健身房,那就没关系。但是如果你一天的大部分时间都是坐–在汽车里,在办公室的椅子上,或者家里的沙发上–那你患肥胖,糖尿病,心脏病,各种癌症以及早死的几率大大增加。换句话说,若没有经常锻炼,长时间坐着对身体是不利的。

起码,近期的一些研究成果显示是这样的。实际上,仅拿经常锻炼的健康人士来说,那些长时间坐着的人通常腰围比较大,且血压,血糖指标较差。那些每天坐在在电视前超过3个小时的人中,锻炼和不锻炼的人一样胖:看来长时间坐着会抵消锻炼带来的益处。
那么,究竟为什么坐着不好呢?

这要从两个方面来回答。首先,坐着最被动的活动之一。嚼口香糖都比你坐在椅子上消耗更多的能量。跟坐着相比,在一个地方保持站姿可辛苦多了。为保持站姿,你需要绷紧腿部肌肉,同时背部和肩部肌肉也参与进来;长时间站立时,你还需要经常交换双腿的承重。所有这些都会消耗能量。

对很多人来说,体重增加是无法觉察的–今年2斤,明年3斤。如果你每天吃下的热量都有 30大卡没有消耗掉,那么你会很容易地增加体重。30大卡其实没有多少东西–几口香蕉,少许的薯片等。所以,从现在开始每天少坐一点,到头来你会发现变胖或是变苗条是很轻松的事儿。

你可能会说你每天要坐多久不是你能决定的。其实这是自欺欺人的。让我们算笔帐,比如你每天睡8个小时,锻炼 1个小时。那么你仍然有15个小时的活动时间。就算你锻炼了1个小时,实际上大部分的能量还是在这15个小时里消耗的,所以体重增加经常是一系列碎小的决策累积的结果:你经常走楼梯还是乘电梯?email你楼下的同事还是这几跑过去面谈?你回到家的时候经常到附近溜达溜达还是一直坐在电视跟前?你步行到街头小店还是开车坐车骑车?

我想强调一点,上面所说的你很容易做的到:一项针对实习医生的研究发现,在同样的时间内,同样的病房内,做同样的工作,有些医生每天会比别人多走4倍远的路。(这些医生中没有人超重;但是走的远的医生比那些走的近的要瘦一些。)

所以,长时间静坐的一部分问题是,跟那些经常走路或站立的人相比,你消耗的能量太少了。这样很容易导致体重增加,并容易产生由于肥胖引起的健康问题。

这有一个例子,脂朊脂酶是人体内对处理脂肪起主要作用的一种分子;人体内很多组织都能生成它,比如肌肉组织。低脂朊脂酶经常跟许多健康问题有关联,像心脏病。对老鼠的研究发现,腿部肌肉只有在积极活动的时候才产生这种分子(如,老鼠在站立或来回溜达时)。也就是说,当坐着的时候,你新陈代谢的一些关键部分会变缓。

脂朊脂酶并不是受肌肉活动影响的唯一分子。经常收缩肌肉可以产生一系列的物质,这些物质对使用和储存糖,脂肪起着积极作用。

这也可以解释下面的试验结果。一些平常走很多路(通过计步器测量大概每天10,000步)的人,被要求在两周内少走路(每天大概1,350步),使用电梯而不走楼梯,开车上班替代步行等。两周后所有这些人在糖和脂肪的新陈代谢上都变差了,他们的体型也有变化–腰部都有变胖。这些变化只不过是走向糖尿病的第一步。

相反,一项针对长时间坐着的人的研究发现,跟长时间坐着不起来的人相比,那些经常中途休息的人–中途站起来伸展伸展或者到走廊里走走–拥有较小的腰围,较好的糖和脂肪代谢指标。

有些人想出了更牛的方法对抗静坐着带来的问题:把桌子改高,站立工作,并安装一个跑步机,用于工作的同时走路。你也可以改造你的电视机,把它跟健身单车连起来,只有使劲蹬踏的时候它才能看。或者,你可以坐在摇椅上看电视:摇晃也能消耗能量,同时还可以给小腿肌肉与轻柔持续的活动。你可以用健身球换掉办公椅:这也可以活动你的肌肉,比坐椅子消耗更多能量,因为你需要用力保持平衡和支撑背部。如果可以的话,你还可以蹦蹦跳跳。

你也可以把所有这些方法作为告别静坐的开始。

不管你选择怎么做,请记住:警惕你的椅子.