OhLife

OhLife 是什么? OhLife is a journal that we guarantee you’ll write in OhLife 是一个在线日记工具。注册后,每天你会收到一封邮件,回复邮件即可完成一篇日记,这些日记是私人保密的,只有你才能够看到。 我于本周三注册了OhLife,原本只是想体验一下。到现在,我已经写了三篇日记,发现自己已经有些喜欢上这个简单的服务了。 之前,我就有断断续续写日记的习惯,偶尔想起来的时候就会写些东西。最近,我突然很想记录自己每天做了些什么,有什么想法,这样以后就可以回顾一下自己走过的路。对我来说,OhLife 是一个很适合的工具。你也可以尝试一下。 UPDATE 我的 OhLife 邀请链接 参考连接 OhLife:抛弃你的日记本吧! Gonna Sailing 😉 ==END==

September 24, 2011

HTRA – 程序与书法

看了《程序与书法》和《再谈程序与书法》这两篇文章,虽然认为作者文章写的不怎么样,但是它们还是带给我了一些的思考——不要一味得求速度,要学会掌控节奏,享受生活与工作的乐趣。 我已经工作5个月了(实习3个月+试用1个月+正式1个月)。话说这段时间我确实成长了不少,接触并了解了不少新东西,技术得到了提升,视野比之以前开阔了一些,但我也愈发的意识到自己知识的缺失,技能的不成熟,经验的匮乏。 我十分想弥补自己知识的缺失,提升自己的技能水平和竞争力。于是我购买不不少书籍,每天阅读;工作上也花费了不少的时间,学习新的技术,快速完成接手的任务;还想着完成一个又一个的个人项目。由于自己内心的急切,在这段时间内犯了一些错误或者采用了一些不好的方法: 因加班之名,导致工作时间内不够专注,工作效率不高(也许是因为想到反正要加班的缘故吧)。 相对与阅读研究资料,更醉心于收集资料,识得现在的我面临着严重的信息过载——Google Reader 中越来越多的待读条目;Read It Later 中接近5000条的待读条目;Instapaper 中的待读条目。 没有养成良好的总结的习惯,导致在学习新事物后,又会很快的遗忘。比如:学习使用Zend Framework的过程中就没有注重总结,于是在做新项目的时候又要重新学习某些内容。 关注点太多,想做的事情太多,精力过于分散,结果是什么都没做或者没有做好。比如:研究某些问题,还没有总结等到结果就转换到下一个问题上面,于是都没有获得好的答案;业余时间想做好几个项目,结果一个都没做好。 忽视了身体,导致最近一段时间健康状况急剧下降。比如:上周六打了次篮球,结果是浑身乏力好几天。 以上就是我现在面临的几个主要的问题,我将继续保持学习新东西的热情,专注于提升自己的竞争力,但是在这个过程中,将采取一些兄东改变这些问题。 尽可能不加班,不管是傍晚还是周末,而是想办法提升自己在工作时间内的效率。业余时间将用来完成其他计划要做的事情,如读书、个人项目、锻炼身体等等。 正确地评估项目工作量,合理的安排工作计划(需要经验,还需努力); 中午不打乒乓球,注意休息,保证下午的工作状态(已经在做,效果不错,坚持); 记录自己每天的时间花费情况,30分钟一个单位,并进行总结,找到浪费时间的地方并改进(实验中,断断续续); 晚上在公司里多待一会儿,打打乒乓球以及和同事进行交流(交流能够增进情感,学到不少东西的说)。 逐步处理收集的信息,分析信息的类型,制定处理方法,比如有些内容归档备查、有些内容直接删除、有些内容安排时间认真阅读。 每天安排1h-1.5h的时间进行已有信息清理工作(良好的阅读习惯之一,实践之); 每月清理一次Google Reader中的订阅源,去除不值得或不需要关注的信息源(研究总结如果更好的使用GR); 寻找合适的知识管理工具,学习知识管理的技巧(我目前使用Zim+Dropbox,但感觉Zim并不是十分合适)。 逐步养成总结的习惯, 每天随手记录知识要点、学习心得,晚上整理归档(效果不错,要坚持); 每隔一段时间分享自己的总结,也许不是很完善,但“很完善要等到什么时候”(接受建科的建议,暂定两周一次); 读完《如何阅读一本书》,学习阅读的技巧; 写读书笔记以及部分博客阅读感想,更新HTRA系列。 关注点太多,影响效率,因此我将竭尽全力减少自己的关注的事物的数量和同时进行的任务的数量。 通过制定计划,来强调自己在某个时间段迫切需要完成任务,并努力完成(GTD Life); 放慢生活的节奏,放松自己的心情,别给自己太多的压力,新的生活才刚刚开始(Hello, World!)。 享受生活,关注健康,锻炼身体。 开始煮饭的生活,提升自己生活的质量和厨艺(煮了好几次方便面,囧 =_=!!!); 每个周末将安排有固定的锻炼的时间——打篮球(先买个篮球的说); 平时也将进行一些锻炼活动,比如说傍晚的乒乓球和晚上的跑步(跑步需要坚持下)。 PS:Dropbox 是一个能同步的文件夹,帮助你在多台计算机上进行文件同步。免费容量为2G,如果你对其感兴趣,请使用我的邀请链接进行注册,这样你我都可以增加225M容量。 Gonna Sailing 😉 ==END==

September 11, 2011

HTRA – 西乔:我在过着很奢侈的生活

这是一个三明治访谈(西乔),受访者是西乔——Web设计师、Designlol.net 站长、《神秘的程序员》作者。本次访谈的内容在我的脑海中形成了共鸣,以下是我从访谈中截取的部分片段,并针对每个片段写下自己的一些碎碎念。 挣到年薪百万就算是人生追求吗?我们最终是为了什么而付出心血和健康,牺牲和家人呆在一起的时间,牺牲掉自己支配时间的自由呢? 我的人生追求是什么?我的梦想是什么?我现在做的事情与实现梦想有什么关系?我的梦想不是拥有很多的金钱,金钱方面,只要达到经济独立就好了。我的梦想是: … 家庭、创业、 … 。我现在做的事情在朝着实现我的梦想前进,我将一如既往地走下去。联想到前一段时间看过的TED视频《做生活的高手》,要学会专注于你的目标,专注于你的梦想。 在开发链条中的创造性的角色,程序员、设计师和产品经理他们都不能单靠自己的力量去完 成一个创造。所以最后,一个程序员要发展,要做出更好的东西来,必须也要去懂设计,去懂产品。好的产品经理要了解设计、要了解技术,不一定要自己做,但需 要对整个生产链有理解。你如果只在自己的角色里,最后你是很难最有效率地合作,做出成功的产品来。 我给自己设定了一个综合成长的路线,而不单单是一个会编码的程序员,我对自己有更高的要求。比如,最近我在读一些产品、设计方面的书籍,如《结网》、《写给大家看的设计书》等,并从中获得了不少收获;工作中我还会尝试一些前端开发;在开发项目的过程中,会思考项目的需求,和产品、编辑交流对项目进行改进。接下来的时间,我在考虑如何建立自己的团队(非公司),协作开发一些有趣的项目。 去看更多,体验更多,做更多尝试,突破以前的思路。 刚到丁香园实习的时候,接触到几乎全是新鲜的内容,那时感觉很棒,每天都很兴奋。现在的工作也很棒,每天期待着去工作,虽然偶尔会有些疑问,但是和同事的交流后也就释然,更加主动地去求知,去提升自己的水平。不过,现在的目标不仅仅扩展自己的视野,在接触了不少新内容之后,另一件很重要的事情就是增强自己的技能深度,在某个方面做到很牛的说。 经济独立并不只是看有多少钱在银行里,而是在任何时候都有能力去挣到钱。 很欣赏西乔的经济独立的观点,我达到经济独立的标准是什么呢?现阶段则是能够满足基本生活、买书、网络服务费用,并有些结余。 结婚的时候我们没有任何嫁妆、彩礼、钻戒,也没有拍婚纱照,那其实是真正意义上的裸婚,尽管那个时候我们有房有车。我认为裸婚并不意味着你没房没车就结婚,裸婚是你不会为结婚去特别置办什么东西。 裸婚万岁!!!不知道悲催的单身了二十多年并依然单身的我什么时候会结婚呢?不过有一点我很明确:将来,我想要两个小孩的说。你想要几个小孩呢? PS:读书是个好习惯,有多少人在坚持呢? Gonna Sailing 😉 ==END==

September 10, 2011

MySQL COUNT(*) vs. COUNT(expr)

最近在的项目中需要进行数据统计,在实现时多次使用到COUNT()函数,涉及的表也包含百万级别的记录,于是借此机会对COUNT()进行了一些研究。 COUNT()函数用来统计表中行的数目或符合特定条件的行的数目。 COUNT() 函数的两种用法: COUNT(*) — 统计表中的行的数目或符合特定条件的行的数目; COUNT(expr) — 统计表中expr字段值不为NULL的行的数目或值不为NULL且符合特定条件的行的数目(即统计时忽略expr字段值为NULL的行)。 以上表明COUNT(*)与COUNT(expr)并不等价。 当统计的字段值不能为NULL(expr … NOT NULL)时,二者的结果一致; 当统计的字段值允许为NULL的时候,COUNT(expr)将会遍历所有的记录,找到不为NULL的字段。 对于MyISAM引擎,MySQL会在information_schema.TABLES中存储表的记录行数,因此在使用COUNT(*)统计表的行数的时候,直接返回该值;在统计值可以为NULL的字段的时候,使用COUNT(expr)需要进行遍历,遍历带来的结果将是性能的降低。 以上表明,在进行数据统计的时候,尽可能使用COUNT(*)来获得最佳性能。 参考链接: MySQL SELECT COUNT(*) PS:个人感觉对比结果不是很完善,有时间再实践并补充。 Gonna Sailing 😉 ==END==

September 8, 2011

关于“How To Read A …”

How To Read A … 是我刚刚建立的博文主题,该主题的内容是一些我的阅读笔记、总结和读后感,我希望通过该主题来提升自己的概括总结能力。 具体原因如下: 最近在读一本书《如何阅读一本书》(好吧,其实已经很就没有看了),该书介绍了阅读的四个层次以及一些阅读技巧。虽然书名为《如何阅读一本书》,但是其介绍的阅读技巧也适用于其他类型的阅读,如博客、论文等等。我尝试采用书中介绍的一些技巧来阅读GR上订阅的部分文章并撰写总结,以此来提升自己的概括总结能力,于是我在点点上新建了一个子博客——阅读的艺术,并发布了几篇阅读总结。今天决定逐步弃用点点(原因),遂决定在 Milky Thinking 中建立一个新主题。 PS:阅读是门艺术,强烈推荐《如何阅读一本书》,掌握阅读的艺术。 Gonna Sailing 😉 ==END==

September 4, 2011

PHP最佳实践之编码规范

PHP Developer Coding Standards View more presentations from Matthew Weier O’Phinney 本文编译自上面展示的幻灯片,作者为Zend Framework架构师、项目负责人。 编码规范的目的 效率 可维护性 协作 效率 如果没有编码规范,你将会: 经常格式化他人的代码 6个月前的代码和今天的代码具有不同的视觉结构 修改旧代码的时候,不时遇到语法错误,如条件语句缺少括号、列表数据遗漏逗号等等 可维护性 遵循编码规范,你的代码将具有可预见的布局,包括文件布局和代码布局。容易阅读的代码将会容易理解、维护和重构。 协作 团队成员遵循编码规范,任何程序员可以拾起并理解他人的代码,这将帮助他们进行维护和重构。还可以更加高效的进行开发,获得更高的客户满意度。 编码规范提供了什么? 文件布局的一致性 代码布局的一致性 使用公共规范 不要发明自己的规范,不管是为个人还是为公司。因为你并不特别,你的PHP代码也不是独一无二的。他人已经探讨过这个问题,你可以受益于集体的智慧。 为什么使用公共规范? 客观 – 选择将不是基于主观的喜好,而是实际的经验 招聘或外包的需求 – 容易判断求职者的经验或代码的质量 兼容性 – 遵循你用到的库的编码规范 已有的选择 PEAR 编码规范 Zend Framework 编码规范 eZcomponents 编码规范 PHPLib PEAR编码规范 PEAR的规范是最广泛接受并使用的编码桂冠,这很大程度上受到PEAR用户数的影响,也是得益于该规范的整体质量与明确性。 PEAR命名约定 类名(Classes) 混合模式 首字母大写 使用下划线分隔逻辑包和代码的边界 示例:Spreadsheet_Excel_Writer, Services_Google_AdWords 文件(Files) 文件名和类名一一对应(一个类一个文件) .php 后缀 类名的下划线对应着目录结构 没有松散的PHP代码 示例:Spreadsheet_Excel_Writer ==> Spreadsheet/Excel/Writer.php 变量(Variables) 驼峰模式(CamelCase) 首字母小写 示例:var $firstName = 常量(Constants)...

September 1, 2011

《秒速5厘米》等电影观后感

音为爱 激情是好的,但不能遇到一点点挫折就放弃。选择了开始,就要善始善终。 YES OR NO 爱就爱了。 秒速5厘米 把眼前的事情一件件做好。One Time,One Thing! 棋魂 强烈的变强的欲望。热爱一件事,就要把它做到极致。 PS:哇咔咔,很诡异的电影观后感。 Gonna Sailing 😉 ==END==

August 31, 2011

Weekly Review (2011.08.22 – 2011.08.28)

8月20号的时候发布了一篇我的8月份的计划,昨晚总结了一下自己上周的工作,发现自己的计划完成不了了——因为自己浪费了太多的时间。 上周做了些什么 我负责开发的内部项目上线并投入使用 修改项目的Bug,开发了一些新的功能 阅读了《结网》(80%),对产品经理有一定的了解 研究了一些东东(匿名投票、历史记录、编码规范等等) 初步掌握jQueryUI Sortable的使用 乒乓球技术提升了,玩了传说中的XBox和Kinect 看了《音为爱》《yes or no》《秒速5厘米》三部电影 看了《棋魂》,50集左右(我的周末就耗在上面了) 使用Yasac制定每天的计划,记录自己的想法 可取之处 开始规划自己的生活 学习了一些新的技术 和同事的关系还不错 不足之处 没有早起、晨读 没有坚持锻炼(健康状况 良) 没有进行每日回顾 没有更新博客 学习新东西,解决了问题后,没有进行总结, 周五,在不重要的功能上耗费了太多的时间,致使重要的功能没有完成,只得周六去加班 虽然开始规划生活,但是做的很不好。于是,虽然有很多事情可以做或要做,但是却不知从何下手 看电影和动漫耗费了太多的时间,致使更重要的事情没有做,比如说这篇回顾应该是周末就完成的 下班后都做了些什么? 如何改进不足 早起(今天做到了),晨练+晨读 晚上坚持跑步(只要不下雨) 每日回顾(每天抽出半小时,回顾反思自己的生活) 响应“写点什么”,坚持更新博客,这就是开始 学习新东西后,养成随手总结的习惯,并将总结发布到自己的博客上 专注的工作一段时间之后,应当停下休整一下,调整方向再次前行(目标导向) 已经开始了规划生活了,接下来就是坚持和越做越好 干,学会抵制诱惑,控制自己的时间,有节制的娱乐 好好利用自己的业余时间,开发个人项目,提升自己的技能 回顾结束了,也找到了改进的办法,那就开始行动吧! PS:写这种东西是不是“滥竽充数”呢?不过,好像一直没有写出高质量的文章,所以就这样吧。 Gonna Sailing 😉 ==END==

August 30, 2011

Just Do It – 写点什么

晚上在整理自己此前产生的零散的碎片,其中有些是写给自己的激励的话语。如“也许刚开始自己的见解很粗陋,但是除了我自己,who cares?所以没所谓啦,大胆去写就行了。” 是的,对待某些问题,我目前的想法可能是片面的甚至可能是错误的,但是谁能够一开始就做的很完美,即使那些我认为很牛的人也不能够。 因此,问题的关键就在于执行力了。不要让自己内心的怯懦禁锢了自己前进的脚步。开始去做吧,只要用心,在这个过程中我将会成长起来,我也将会发掘自己真实的兴趣所在。 不用在意自己的能力,不用在意别人的眼光(其实是自己内心的偏见),做就行了。 Just Do It! Gonna Sailing 😉 ==END==

August 20, 2011

2011年8月份的计划

8月20号制定8月份的计划好像有些晚,但还是要记下来,激励自己前行。本计划的时长为12天(2011.08.20 – 2011.08.31)。 缘起 已经放纵了一周。晚上和小广、轩源聊了会儿天,有些收获,回来后零零散散地记录并思考了下。其中的一点感悟是“好的东西为什么要留到明天才开始做;明知道不好的事情为什么今天还要继续呢!”。于是关掉了早晨保留的小说的标签页,决定写点什么,然后就有了规划一下自己8月份剩下的日子。 正文 工作 ASMS 已有功能的完善以及新功能的开发(第二阶段-2周); Zend 框架的学习,特别是Zend_Db的使用与最佳实践; 个人 明确2011年下半年的计划,分解到各个月份之中; 阅读《结网》,笔记、总结并撰写读后感; 开始新个人项目的开发,完成初版功能设想、原型设计以及框架的搭建。基于Zend进行开发,Git进行版本控制; Shell快捷键的学习与实践; HTML & CSS 的学习与实践; 其他 SVN 的学习与技巧分享(SVN Hacks),包括SVN的介绍、命令、专题等。(2天/篇); 明确MilkyClassifieds的方向; Google Reader的清理,博客的阅读计划; PS:工作和个人部分是必须要做的事情,其他则是有时间会进行的事情。 PPS:和小广、轩源聊天收获颇多,需要好好总结一下,也许会写在某篇文章中。 Gonna Sailing 😉 ==END==

August 20, 2011