月度归档:2008年04月

我以为…

写于2008-04-28 21:07

昨天献了血后,赶紧换了毛巾,看着衣架上的两条毛巾,800cc血液=两条毛巾… 呵呵,不过今年送的毛巾比去年的好点,至少多了个刺绣,好看点。

不过今天一天都不舒服,冒虚汗,真的太累了。晚上女友打电话说要去上自习,不想告诉她我身体不舒服,就下去陪她吃饭,准备吃完去自习,可惜自己身体实在是难受,只好让她自己去自习,我自己回寝室休息下,躺在床上看着电视,跟寝室人聊着天,我说:”楼下那卖酸辣粉的老板是韩国人,今天下午两点多我去那吃午饭时听到老板跟他朋友对话,说的话我听都听不懂.”寝室人说他是浙江人,我暴寒,听起来明明像是韩国话,方言再怎么难懂我至少也能听懂几句吧,比如我下铺的涛,说的江西话跟日语似的,偶尔我也能听懂几句嘛。再说好歹以前我们班也有过浙江的,感觉不像韩语啊??? 困惑!

flex网站收集

写于2008-04-28

开始收集优秀的Flex 网站:

1:http://www.scalenine.com/
2:http://www.augitaly.com/flexgala/
3:http://www.adobe.com/devnet/flex/quickstart/your_first_application/
4:http://www.onflex.org/ted/
5:http://www.everythingflex.com/blog/
6:http://www.flex.org/
7:http://www.cflex.net/
AFR Access
The Australian Financial Review
Sony Ericsson Phone Selector
Adobe Flex Store
Kodak EasyShare Gallery
NOMOS Online
Flex Data Services
Pikeo
Motionbox
Trenitalia –
Fidelity Labs
www.fidelitylabs.com
Belgacom TV Portal
ESRI ArcWeb Explorer
services
Harley-Davidson Customizer
Intelligent Finance Mortgage Offset Calculator
Yahoo! Maps

程序员的成长从开窍开始

写于2008-04-27 22:25

最近,有两位Google Maps API的初学者向我请教他们按照最简单例子写的程序为什么不能正常的运行。

其中一位用GTalk跟我交流,我仔细了看了他的代码,没看出问题,把代码保存在本地,打开Firefox的错误控制台,用Firefox打开他的页面。出错的那一行被清晰的显示出来,我再仔细端详那句话,原来有两个应该是英文逗号的地方,写上了中文逗号。

另一位,在我的论坛跟我交流他的Google Maps API中遇到的问题,我看他代码的时候也没有马上发现问题。然而,同样在用Firefox打开后,问题很明显的找到了,原来是一个方法openInfoWindow被他写成OpenInfoWindow了。

在我帮助别人解决的程序调试问题中,这是非常常见的。人人都可能打出中文逗号,人人都可能把大小写写错。但是在我帮助他们解决问题以后,他们总是感慨的说,谢谢我解决了这个问题,这个问题困扰了他们几个小时,甚至是几天。

这其实并不是只有初学者才会遇到的问题,我还帮助过些有非常丰富经验的工程师解决问题,有时候问题仅仅出自某个参数没有传递进来,或者是拼接字符串的时候少些了一个冒号,或者是拼接地址的时候漏掉了http:。我甚至帮助一些人调试一些我根本不懂的语言的程序,因为多半出现的问题,都和语言特性无关,不是程序员写错了字符,就是写错了逻辑,或者是错误理解了一个函数。

出问题是正常的,写程序是一个复杂的边思考边打字的过程,笔误和一时糊涂都是难以避免的。程序员一般把这种问题叫做低级问题,因为这类问题跟你的智商完全无关,任何人都可能犯。

但是,问题在于,有时候即使是很优秀的程序员,也会被一个低级错误困扰,可能会几天都解决不了。所以,关键在于,如何找到问题。

遇到问题的时候:

1,不要怨天怨地。出了问题,当然有可能是系统的bug,API的问题,但是那些几率往往比你犯低级错误的几率要低多了,先从自己身上找原因,是不是自己写错了。

2,要掌握工具。最低限度你要会写Log,最好是Log和调试器结合。好 的工具可以大大的提高效率。以前有人跟我说,Dll不能调试,我发现可以;有人说多线程不能调试,我发现可以;有人说COM不能调试,我发现可以;有人说 IE插件不能调试,我发现可以;有人说OE插件不能调试,我发现也可以。当然,你确实会遇到不能调试的时候,当年我们做东芝芯片的嵌入程序,一个组都没有 一个仿真器和调试器,但是至少可以用Log嘛,无非是麻烦点。

3,分析问题要有逻辑。遇到问题可以先把所有的可能性都列出来,然后一个一个分析,肯定能找到原因的。

4,要学会隔离问题。问题涉及到的代码越多,越难以理解,问题越难以解决。遇到这样的情况,可以利用Log或者调试器,一行代码一行代码的给它们洗清嫌疑,这样很快你就可以找到出问题的地方。如果代码特别长,程序特别复杂,可以用二分法来做,效率很高。

5,千万不要懒惰,不要事事求别人。一次复杂的调试过程就像一部侦探剧,如果你有非常好的逻辑性,那这部剧的主角就是福尔摩斯,剧情一定非常精彩。我说这个是有巨大风险的,说真的我帮人调东西挺上瘾的,很有意思。但是我还是要告诉大家,一次高难度的调试之后,你的满足感绝对不亚于写了一个伟大的程序。

要想不遇到问题,写代码的时候:

1,要对写出来的代码负责。我很佩服那些写代码写100行都不执行一次的 高手,如果他们最后不被低级错误困扰的话我就更加的佩服了。我写程序几乎是写一行两行就要执行一次,每句话我都要确保执行效果跟我的预期一致。没错这样写的时候 可能慢一些,但是调试的时候很轻松,我可以很简单的确定哪些代码绝对没有问题。所以我写代码整体速度比一般人高。很多人学习新东西的时候喜欢把例子抄一遍,运行一下,改改,再运行。我喜欢一句一句的抄例子,抄一句两句执行一次,这样可以把例子透彻的理解,而且很难会遇到出现了问题找不到原因的时候。

2,函数体功能块不要过长。我认为我的智商并不高,我很难接受一个程序的一个函数体或者一个功能块超越3屏(当然逻辑真的有那么复杂除外,你会发现越是简单的逻辑越是容易被人写的冗长)。很多人对面向对象耳熟能详,对封装继承看起来驾轻就熟。但是动不动就写出来个函数体超长的程序。这就像写本书从头到尾不点句号一样,会累死读者的。自己看的时候,估计也会被累的喘不过来气。这是我对基础教育的微词所在,他们连教会学生写函数都没教会,虽然表面上他们连面向对象这么高深的东西都教。

3,缩进要对。这点很重要,虽然大部分语言不是像Python那样用缩进来决定逻辑块的位置,但是人看到缩进的时候,总是会以为这些缩进位置跟逻辑相关。尤其是在有大量的ifelse或者for循环等等的嵌套逻辑的时候,如果缩进错了,可能会直接让人把程序的逻辑读错。所以我拿到别人的代码,第一件事情就是整理缩进。我见过一些比较优秀的页面工程师,他们会在div结束的位置用注释写上这个div的id,这样层级关系就一目了然了。

4,不断重构。随着程序的不断修改,有些部分会不断的增长,原来看着清晰的架构可能因为问题的复杂而慢慢模糊,也可能被修正bug的权宜之计弄的面目全非。不信你找一个经过多次修改的程序看看,是不是满目疮痍,是不是都很难认出是你自己的作品了。这在多人参与的项目中更加严重,每个人有不同的代码风格,经过多次杂交后,你肯定认不出你的代码是骡子是马,还是四不像了。随着程序的慢慢成长,原来有些函数体会慢慢膨胀,需要拆分;有些原来简单的功能块四处都需要,应该被提炼成函数或者方法,等等。现在不重构,未来等到代码复杂到无法控制的时候,重构的工作就会变得更加困难。我见过最强的案例是,一个几千行的电子辞典配套联机软件,经过无数次的改版,变成了一个几乎无法维护的主窗体的cpp有1万8千行的怪物。最后经过复杂的重构,才变成一个出新版本只需要新增一个驱动程序的可以维护的几千行的程序。

献血

写于2008-04-27 21:40

时隔半年,又可以去献血了,今天特地跟老师请了个假,和奎,龚冉去天府去献血,走到南门口,我捡到20块钱,请他们坐车,吃雪糕,到献血车那,我们填完了表,龚冉临阵跑了,我和奎各献了400cc,献完后陪他们逛了会街,累,献了个血感觉身体不舒服,去年都没这样,同样是400cc,今天不是往年了,半年来,记不得多少次在实验室通宵,身体差了不少,还有我那老寒腿,唉,现在简直成了天气预报,每到要下雨,我的膝盖就特别的痛,落下病根了…

用点心,一切都OK

写于2008-04-17 21:41

跟老师做个关于数据挖掘的项目,自己一直都很拖拉,当自己认真起来才知道一切并不难,用点心,努力点,多花点时间,没有什么不可能。从跟自己做同一模块的一个女生身上看到了自己的影子,给她分了点简单的模块让她做,快一周时我问她怎么样了,她说可以了,那一模块没问题,前天打电话给她,她说看了差不多了,懂了原理。到今天我被老师批评了,我无语,自己一直花时间在这方面,没办法自己这块没出来,今天下午跟那女生去实验室去讨论那块,问她看的怎么样,她说挺简单的,直到那出代码开始分析她该做什么时,才知道她没怎么花时间去看。只好自己花一下午时间做她那块,做出来了大部分,刚把自己做的发给了她,她说明天再看,我心里还是没底,明早还是不去上课了,把那块给做出来算了,别再被老师说拖拉。

向前走 回头望

写于2008-04-17 12:02

Looking back to go forward。

很喜欢这句话,不要逃避,勇敢去面对,坦诚的去面对过去的自己,赤裸裸的解剖自己的往昔,让犯过的错不要再犯。昨天晚上去听了颜培程的讲座,感受到的是一种激情,当他讲职业规划时,我发现他讲的和我以前所预想的是一样的,这让我更加坚信:路还很长,我会义无反顾的走下去。

名企需要这8个行为能力(写给大学生)

名企需要这8个行为能力(写给大学生)

标签: 经典分享

前言:

(1)如果你看不懂这个表格中的内容,说明你离名企的要求还很远。

(2)如果你想知道自己是否适合名企的要求,请你对照下面这个表格,看看自己在哪里:第一阶段?第三阶段?

(3)名企需要的人,必须满足第一阶段,第二阶段和第三阶段。

(4)这个表格看上去比较艰涩,但是,以我多年的名企工作经验,我知道:这就是名企最需要的能力。

(5)每一个能力,你能找出无数个例子证明自己吗?如果能,恭喜你,你的面试不成问题了!

按照这个表格的要求来做,你会成为一名能干的员工,一个好朋友,好丈夫或者好妻子。

我本人,因为这个表格变得更收欢迎了。

如此罗嗦,只为引起大家的足够重视。

这8个做事之理,源自英国大使馆于2007年5月发布的“招聘需求”。毫不夸张地说,掌握了这8个做事之理,你可以搞定最“苛刻”的面试官:

(1) Achievement 有效完成工作

(2) Analytical Thinking 善于分析

(3) Customer Service Orientation 以客户为导向

(4) Entrepreneurship 开拓进取

(5) Relationship Building for Influence 建立合作双赢的伙伴关系

(6) Holding People Accountable 让别人担负起应尽的责任

(7) Self awareness有自知之明

(8) Teamworking 有团队精神

现在,我们以中英文对照的形式,一一阐述这8个“做事之道”,文中的黑体字部分,希望大家格外关注。以此为镜,细细反思:我是怎么做的?我应如何改进?

1 Achievement 有效完成工作

Definition 这个能力是什么?

Why is it important? 这个能力为什么重要?

Achievement is about having the sustained energy and determination in the face of obstacles to set and meet challenging targets, in compliance with quality, time standards. 有持续的精力和毅力,在面临困难的情况下,制订高目标,并保质保量、准时完成工作。

Only with this ability can you deliver the required business results by overcoming obstacles caused by conflicting priorities, lack of resources. 当多个工作任务互相冲突的时候,当缺少支持性资源的时候,有了这个能力,才能克服困难,有效完成工作。(备注:在工作中,任务冲突、资源短缺的情况时有出现。所以,请大家注意,当你强调自己的工作能力的时候,一定要说明工作背景:是否有任务的冲突?是否有人财物的短缺?)

第一阶段

Wants to do a good job and does not give up想干好工作,不放弃(备注:当你强调自己热爱工作的时候,别忘了:这可是最起码的要求啊。)

第二阶段

Works to goals and manages obstacles按目标工作,应付困难

第三阶段

Drives for improvement despite frequent obstacles 虽频遇困难,仍追求进步

第四阶段

Sets and meets challenging goals & seeks long term improvement 制订并完成目标,并追求长期改善

最高阶段

Assesses and takes risks to make significant gains 评估并承担风险,以取得重大成就

Clarifies what is expected. Is positive and enthusiastic about the job. Does not give up at the first obstacle. 弄清工作要求。对工作积极,有热情。初遇困难不放弃。

Understands and works towards goals set by others. Measures progress against targets. Seeks to understand reasons for obstacles and to find ways to overcome. 理解并努力完成别人设立的目标,随时根据目标审度自己的进展,想办法弄清困难产生的原因,然后找到克服的方法。

Tackles difficult problems and takes personal responsibility for reaching solutions. Seeks ways to improve overall performance levels to give higher levels of satisfaction to target groups. 挑战困难,以解决问题为己任。寻求全面提升,以使目标人群(如客户、员工)更加满意。

Achieves significant progress in the long term, wider performance of the Organization. Sets out to be the best – has own measures of excellence and works to these. 取得长远意义上的重大进展,超越了所在机构的平均表现,致力于做最好的——对优秀有自己的标准,并向着这些标准而努力。

Makes decisions through weighing up the cost-benefit and risk implications. Acts entrepreneurially to make significant performance gains. 衡量成本收益和可能的风险,然后再做决定。开拓进取,以取得重大业绩。

Warning signs: 令面试官“恶”的行为

Positive indicators: 令面试官“好”的行为

n Stops and gives up at the first obstacle. 遇到困难,立刻放弃。

n Seeks excuses rather than solutions or ways forward. 寻找借口,而不是找解决办法。

n Takes ‘no’ for an answer without probing further. 接受“不”的结果,而不继续探究。(备注:当你找实习或面试被拒绝的时候,你“探究”了吗?)

n Agrees achievable goals at the start of each project. 在项目之初,接受能够完成的目标。(备注:你是否不假思索地接受一个任务,然后不了了之?)

n Strives towards targets. 为完成目标而努力。

n Keeps a ‘to do’ list, and specifies due dates. 制作“工作清单”,并标明必须完成的日期。

n Asks for feedback. 主动寻求别人的反馈。(备注:你是否经常问同学和同事:我这么做可以吗?你有更好的想法吗?)

记点东西 怕忘了

写于记点东西 怕忘了2008-04-17

SUN中国客户中心 8008103786
成都办事处:
成都市人民南路二段18号
川信大厦11层C座
邮编:610016
国内外常用接活网站
2007-12-23 07:55:24
下面为大家列出一些国内外常用的接 活网站。实际上这样的网站很多,数以百计,但是访问量大的网站总是少数的。这里根据alexa排名列出相对较热的接活网站。因为只有人多的地方,活才多,钱才好挣。这种接活网站的吞吐量决定了我们的去留。另外,我们都知道alexa的排名并不能代表什么,可是除了这个排名,还有什么指标能更好的说明问题呢?所以我们有理由相信访问量大的接活网站会带来的更多的活。
注:这里alexa数值以2007-12-23查询结果为依据 。
五个国内的接活网站
* Yateshi.com
标题:雅特士 Yateshi.com 买卖服务—中国领先的服务交易平台
排名:28,651
* Taskcn.com
标题:威客_任务中国
排名:54,934
* K68.cn
标题:K68威客网,灵活就业平台,促进和谐社会
排名:92,528
* Vikecn.com
标题:威客中国__中国威客模式专业网站
排名:104,286
* Zhubajie.com
标题:威客_猪八戒_中国最诚信的威客在线工作平台
排名:110,475
国内的接活网站,我就不做评论了,相信大家都应该很了解这些地方。不了解的直接点过去看看也能熟悉起来。注意,如果有哪个接活网站alexa排名能在前五的而被我丢下了,请留言,我会替换。
五个国外的接活网站
* Elance.com
排名:1,738
说明:真正的大活所在地,全球第一接活网站。从身怀绝技的个人到上百人的外包公司都有从这里接活,体质完善,服务到位。不过对沟通要求高,我在这里接的那几个活客户很多都要求语音沟通,通过skype或电话。而且基本上需要你有国外的信用卡才能认证。会员费很高但也很灵活,网站提成固定在8%左右。E文扛的住的朋友一定要挖掘这片天空。这个网站上每月挣几万或十几万美元的人不在少数。
* Getafreelancer.com
排名:2,957
说明:简称GAF,同样也是全球非常知名的接活网站。这里人个接活者居多,同时活的数额也相对少一些。一般在30-100$或100-300$左右,也是我最常接活的网站。对于想在国外接活的朋友来说,这里是第一片试验田。网站做的非常易用,结构简单,服务一流。会员分为免费会员,不需要会员费,接活的时候网站提成10%,而且基本上每月只能投15-20个标。同时也可成为金牌会员,会员费12$,接活的时候网站不提成,每月可以投150个标。推荐大家去这里发展。
* Scriptlance.com
排名:5,367
说明:Scriptlance上网站开发和网站设计类的活居多。这个网站在美国本土很火,很受美国客户喜欢。网站也是有固定的提成费,接活的模式有一点不同。灵活性很高,客户在上面发项目也是非常灵活。这个网站个性鲜明,属于哪种你用过一次,觉得爽就会一直用,觉得不爽就再也不会理的哪种。
* Getacoder.com
排名:16,590
说明:从这个网站的名字就能看出,这里开发类的项目居多。这个网站的模式感觉上就是抄Getafreelancer的,网站基本上差不多。不过,这个网站有一个最大的文化特色:这里的项目都很独特,大部分客户都没有具体的需要,都是有一些idea或一个大概的想法,想找coder来实现。所以项目本身需要你更多的参与讨论,来给客户出一个解决方案。这个网站的客户都很热情并且主动。这里的付费会员有大量的网站模板资源可以使用。有一点不太理想的就是这里项目更新并不快,沟通上不是很方便。
* Ifreelance.com
排名:32,611
说明:这里的模式跟前面几个也不一样,发包者大多数是公司。网站结构上并不是像前面几个那么易用,接起活来有一点点麻烦。但是活更新比较快,大活小活都有。费用上不是特别明确,等待更多验证。

豆花火锅

写于2008-04-12 22:12

在四川呆了三年了,今天第一次吃豆花火锅,撑死了,免费的豆浆,豆花,不吃白不吃,我这人吃自助餐都会撑着回来,免费嘛,不吃浪费!吃完了跟小美又逛了遍东区,给同学带了些包子。感觉东区真的很安静,很舒服,没本部这么吵杂。喜欢东区,不仅仅因为那里安静,环境好,还有太多值得回忆的地方。