怎样把自己培养成为一个优秀的程序员
态度篇
1. 做实事:不要抱怨,发牢骚,指责他人,找出问题所在,想办法解决。对问题和错误,要勇于承担。
2. 欲速则不达:用小聪明、权宜之计解决问题,求快而不顾代码质量,会给项目留下要命的死角。
3. 对事不对人:就事论事,明智、真诚、虚心地讨论问题,提出创新方案。
4. 排除万难,奋勇前进:勇气往往是克服困难的唯一方法。 阅读全文…
态度篇
1. 做实事:不要抱怨,发牢骚,指责他人,找出问题所在,想办法解决。对问题和错误,要勇于承担。
2. 欲速则不达:用小聪明、权宜之计解决问题,求快而不顾代码质量,会给项目留下要命的死角。
3. 对事不对人:就事论事,明智、真诚、虚心地讨论问题,提出创新方案。
4. 排除万难,奋勇前进:勇气往往是克服困难的唯一方法。 阅读全文…
在 PHP 编程早期,PHP 代码在本质上是限于面向过程的。过程代码 的特征在于使用过程构建应用程序块。过程通过允许过程之间的调用提供某种程度的重用。
但是,没有面向对象的语言构造,程序员仍然可以把 OO 特性引入到 PHP 代码中。这样做有点困难并且会使代码难于阅读,因为它是混合范例(含有伪 OO 设计的过程语言)。使用 PHP 代码中的 OO 构造 — 例如能够定义和使用类、能够构建使用继承的类之间的关系以及能够定义接口 — 可以更轻松地构建符合优秀 OO 实践的代码。
虽然没有过多模块化的纯过程设计运行得很好,但是 OO 设计的优点表现在维护上。由于典型应用程序的大部分生命周期都花费在维护上,因此代码维护是应用程序生命周期的重要部分。并且在开发过程中代码维护很容易 被遗忘。如果在应用程序开发和部署方面存在竞争,那么长期可维护性可能被放在比较次要的地位。
模块化 — 优秀 OO 设计的主要特性之一 — 可以帮助完成这样的维护。模块化将帮助封装更改,这样可以随着时间的推移更轻松地扩展和修改应用程序。
总的来说,虽然构建 OO 软件的习惯不止 7 个,但是遵循这里的 7 个习惯可以使代码符合基本 OO 设计标准。它们将为您提供更牢固的基础,在此基础之上建立更多 OO 习惯并构建可轻松维护与扩展的软件。这些习惯针对模块化的几个主要特性。有关独立于语言的 OO 设计优点的更多信息,请参阅 参考资料。
7 个优秀 PHP OO 习惯包括:
如果你希望成为一个失败的产品经理,在遇到bug时,请立即动手修复它。如果bug可以立即被修复,为何要一拖再拖?PM应该是一位“执行者”,而非总是 纸上谈兵的“思考者”。当问题出现后,必须在第一时间搞定它。当然,这样做可能浪费大量的时间,也可能分散精力,不过这是一位PM的最佳时间分配方式,不 是吗?
如果你希望成为一个成功的产品经理,在遇到bug时,请不要总是立即着急的修复它。不可否认,我们在遇到问题时,总是迫不及待的想改正。然而事实上,其实根本不用那么的十万火急,理由如下: 阅读全文…
工作5年了,网站相关的开发工作也干了4年多。负责带领团队也好几年了。面试和带领刚工作的人也不少了。其中的优秀者不少,但是大多数都存在下面提到的几个认识误区。把这些问题提出来,希望对刚参加工作没有多久的程序员们有所帮助,少走弯路。
公司招你进来,其实最重要的就是看到你的工作能力和工作态度是可以接受的。
工作能力指你能满足他们的工作期望,或者在可接受的时间范围内,经过培训后,可以满足这个工作期望。
工作态度指你能有些做职员的基本素质。
这个道理应该所有人都清楚。但是到实际事情时候就经常犯迷糊。下面几点是经常会出问题的地方: 阅读全文…
本人作为一位web工程师,着眼最多之处莫过于性能与架构,本次幸得参与sd2.0大会,得以与同行广泛交流,于此二方面,有些架构设计的心得,不敢独享,与众友分享,本文是这次参会与众同撩交流的心得.
架构设计的几个心得:
一,不要过设计:never over design
这是一个常常被提及的话题,但是只要想想你的架构里有多少功能是根本没有用到,或者最后废弃的,就能明白其重要性了,初涉架构设计,往往倾向于设计大而化 一的架构,希望设计出具有无比扩展性,能适应一切需求的增加架构,web开发领域是个非常动态的过程,我们很难预测下个星期的变化,而又需要对变化做出最 快最有效的响应。。 阅读全文…
到处都是什么大规模啊,高流量啊,高性能之类的网站架构设计,这类文章一是满足人们好奇心,但看过之后也就看过了,实际收益可能并不大;另外一个副作用是容易让人心潮澎湃,没学走先学跑,在很多条件仍不具备的情况下,过度设计、过度扩展(高德纳大爷也说过,”过早优化是万恶之源”),所以,这里反弹琵琶,讨论一下小规模、低性能、低流量的网站该如何搞法。
如果站点起步阶段可能就是一台机器(或是一台虚拟机,比如 JobsDigg.com ),这个时候,去关注什么数据拆分啊,负载均衡啊,都是没影子的事情。很多大站点的经验绝不能照搬,辩证的参考才是硬道理。
MySQL能力
在开发上的应用基于几个能力体现:
(1)了解:知道用PHP连接数据库;懂得写一些简单的SQL;建一些简单的索引;懂得用工具简单操作一下数据库(增删改库表结构数据等等)。
(2)熟悉:懂得在开发应用上设计数据库,建立一些有效的索引,用explain分析SQL性能,压力测试等等。
(3)很熟悉:深入了解数据库索引、存储引擎原理以及运行机制,能有效地构建高性能可扩展的数据库结构/架构,有效地优化数据库性能配置并加以调试,分析数据库运行状态。
(4)精通:简单地说具备以上所有能力的同时,有多年高负载分布式环境下的优化管理经验。 阅读全文…
看到这篇文章,觉得很不错,我很庆幸自己当初抵住诱惑,没有去上所谓的培训机构,把这篇文章贴出来,觉得有必要提现一下对IT培训行业不了解的人~呵呵!!下面是我转的文字:
在阅读本文的过程中,不时地冒出一个词“震惊”,如今IT培训机构存在的这些潜规则,让人感到害怕。随着IT技术的发展,培训机构已不再向起初那样一切为 了学员着想,都以经济利益作为大前提。
如今的IT培训机构可以说是多如牛毛,在很多人的眼里,参加IT培训,不仅能获取知识,还能增加就业成功的几率。尽管我们也知道 很多资质不够的培训机构混杂其中的现象并不少见,但接到这封来信的时候,我们还是感到了震撼,因为这是一封从事IT行业培训十多年的一位教师的自白,更重 要的是,这位教师来自于知名的培训机构。 阅读全文…
1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”
其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈!
2、一定要确定自己的发展方向,并为此目的制定可行的计划。
不要说什么,“我刚毕业,还不知道将来可能做什么?”,“跟着感觉走,先做做看”。因为,这样的观点会通过 你的潜意识去暗示你的行为无所事事、碌碌无为。一直做技术,将来成为专家级人物?向管理方向走,成为职业经理人?先熟悉行业和领域,将来自立门户?还是先 在行业里面混混,过几年转行做点别的?这很重要,它将决定你近几年、十年内“做什么事情才是在做正确的事情!”。 阅读全文…