关于编程,程序员的一些语录
*****请准备好,花80%的时间用于思考、调试、测试、开会、谈话……*****
关于编程,大学没有传授的10件事::::
我们总是错的
事情若有可能出错,就一定会出错
所有的代码都烂
(Bug)总会存在
客户最大
纸上谈兵是行不通的
Keep it simple, stupid
编写代码只是我们所做工作的20%而已
客户永远不知道他/她想要的是什么!
已经有人做过了
*****为什么编程是件独一无二的职业???*****
1. 简介
有些人说编程很难,有些人认为很容易。
编程不仅依赖于你的能力,而且还取决于你工作的态度。
编程的确很难,但比起那些需要伪装、欺骗和表演来生活的恶棍或者小丑来说,真的一点也不难。
作为一个程序员,知道你在做什么,会让生活变得更加有趣和快乐。
2. 与不会说话的机器为伍
计算机是不会说话的机器。
除非你向它发送精确的指令,否则计算机是不会懂(你的意思)的。
和哑巴一起工作,明显是困难的。
因此,程序员必须很聪明。
阿呆与阿瓜永远不会是一对好组合。
3. 计算机是专横的(一个不可避免的恶魔)
不会说话的计算机明显也是专横的。
计算机语言之所以如此的专横,其中的一个好的理由就是让程序变得更精确而且没有歧义。
精确性是人们喜欢使用软件而不是由人来完成一件事情的最主要理由之一。
4. 人不能欺骗程序
编写什么代码就得到什么运行结果。
没有所谓的隐藏设计或者隐藏代码bug。
Bug总是会显现的。
因为当软件运行的时候,它已经不再处于你的控制之下了。
编写正确的代码是唯一的选择。
5. 没有地方可以祷告
不可能通过祈祷让代码工作。
如果你想要完成软件,只要设计一个方案然后编码实现。
在代码面前你与天才程序员的机会是平等的,这是很酷的一件事情。
6. 没有地方调情
一些人通过调戏其他人以完成工作。
计算机不是一个可爱的人。
在编程时仅仅调情是没有任何优势的。
编程适合真正(实干)的人。
7. 程序员都是解决问题的人
有很多看上去很像专业人士的人,他们其实是问题的制造者。
大多的律师为了他们的生计给别人找不必要的问题。
大多的销售为了他们的生计向别人推销不需要的东西。
一些很懒的或者不胜任工作的人,努力地成为管理别人工作的管理者。
但是,编程是在真正解决现实世界中的问题。
只有真正有才能的人才能成为程序员。
8. 逻辑思考真的很重要
八卦适合漂亮的女人。
占星术/迷信适合哑巴。
科学适合老古董。
编程适合逻辑思考者。
编程适合善于分析的人。
逻辑思考和分析也会让你变得聪慧 —— 一个对你人生的奖励。
9. 聪明人,编程以及职业
如果你是聪明人,并且很擅长你所做的工作。
你不需要向别人乞讨才能生存。
你不需要通过调情才能生存。
你会获得均等的机会。
你会获得自主。
你会获得自由(除非你是计算机的奴隶)
你会变得聪慧。
10. 编程适合不做作的人
“世上有两类人:一类人完成工作,另一类接受荣誉。努力成为第一类,那里竞争会少一点。”英吉拉·甘地
优秀程序员??????
对技术充满热情
编程是生活的一部分
会在你的耳边谈论技术相关的话题,如果你有兴趣的话
主动学习新技术
对自己不能认同的技术,感到不适应,无法全身心投入
聪明,对很多话题都感兴趣
在大学/工作之前就开始编程了
有隐藏的冰山,自己完成的大项目
对许多不相关的技术有了解
*****PHPer*****
一、MySQL能力
(1)了解:知道用PHP连接数据库;懂得写一些简单的SQL;建一些简单的索引;懂得用工具简单操作一下数据库(增删改库表结构数据等等)。
(2)熟悉:懂得在开发应用上设计数据库,建立一些有效的索引,用explain分析SQL性能,压力测试等等。
(3)很熟悉:深入了解数据库索引、存储引擎原理以及运行机制,能有效地构建高性能可扩展的数据库结构/架构,有效地优化数据库性能配置并加以调试,分析数据库运行状态。
(4)精通:简单地说具备以上所有能力的同时,有多年高负载分布式环境下的优化管理经验。
据观察以及交往经验,70%的PHPer处在了解阶段,25%处于熟悉阶段,>4%很熟悉,精通的人基本就不是PHPer了。
◆70%这个群体最容易忽视MySQL,以为MySQL只是简单的存储媒介,没有优化意识,认为加个内存、CPU就能解决问题。
典型事件:join、order by、group by等语句性能一塌糊涂,数据库根本没有设计(仅限于拆成一个主表,N个附表等),搞不清字段类型及作用,碰到大表的复杂查询就没辙。
◆20%这个群体的人只是MySQL运行机制理解不透彻,对影响MySQL性能的关健因素把握不明确,不熟练。
典型事件:熟读手册,但说不清索引原理,不知道二叉树、HASH等算法对于数据库的作用
◆4%的群体已经基本可以胜任DBA的职能。
二、OOP能力
(1)了解:了解变量的作用域、类型,及其意义,了解继承机制等,懂得复用、封装概念。
(2)熟悉:熟练应用接口、抽象等技术混合开发程序,并理解其中含义,一般研究过Java。
(3)很熟悉:有过OOP架构设计经验,熟悉设计模式、UML,熟悉PHP对象运行机制,内容管理等。
(4)精通:应该是架构师级别了,不限于PHP。
经常我们会碰到一些自称熟悉OOP却连public、private、protected、static都解释不清的人,是肯定没有经历过正规的OOP项目。
三、大型网站经验
(1)了解:熟悉PHP开发下的缓存应用(Memcache、APC等);接触过LVS、SQUID应用;有一定的Session处理方案;熟悉负载均衡;熟悉PHP数据连接池应用;了解PHP编程性能优化。
(2)熟悉:掌握分布式缓存及缓存性能优化、熟悉存储系统、文件系统、数据库,开发可扩展平台。能结合负载均衡合理布置流量,对PHP运行性能进行监控与分析。
(3)非常熟悉:具备系统分析师能力,已经超出PHPer环节;
(4)精通。
四、Linux应用能力
(1)了解:可以运用工具对项目进行Linux服务器部署,了解简单常用命令,会设置一般配置,vi简单操作
(2)熟悉:……