本文是从All I Need To Know To Be A Better Programmer I Learned In Kindergarten翻译而来。
导读:编程虽是复杂活,但成就优秀程序员的很多因素和我们在学校中最早学到的相差无几。
1. 分享所有
尽可能使用开源,并且当你有能力的时候,要对其有所贡献。聚全社会之智慧,胜过某些大公司之短视。
2. 公平竞争
尝试其他技术、框架、方法和观点。不要总以为只有你的选择才是可行的。别的选择也有可能比你的要强得多。要以开放的心态,来检验其他人的选择。
3. 不要攻击他人
像第2条所说的,不要仅仅因为别人恰巧使用.Net、Java或PHP就去攻击他们(我在这方面有一次教训)。有时,它们或许要比你所认为的更有效。只要别人不是一无是处,你就可以从他们那里学到很
…… 阅读全文 >>我那程序员的经历让我知道了一些关于软件编程的事情。下面的这些事情可能会让朋友们对软件开发感到惊讶:
1. 一个程序员用在写程序上的时间大概占他的工作时间的10-20%,大部分的程序员每天大约能写出10-12行的能进入最终的产品的代码——不管他的技术水平有多高。好的程序员花去90%的时间在思考、研究和实验,来找出最优方案。差的程序员花去90%的时间在调试问题程序、盲目的修改程序,期望某种写法能可行。“一个卓越的车床工可以要求比一个一般的车床工多拿数倍高的工资,但一个卓越的软件写手的价值会10000倍于一个普通的写手。”——比尔盖茨
2. 一个优秀的程序员的效率会是一个普通的程序员的十倍之上。一个伟大的程序员的效率会是一个普通程序员的20-100倍。这不是夸张——1960年以来的无数研究都一致的证明了这一点。一个差的程序员不仅仅是没效率——他不仅不能完成任务,写出的大量代码也让别人头痛的没法维护。
3. 伟大的程序员只
…… 阅读全文 >>
本文罗列了23款目前非常受欢迎的jQuery插件,可以轻松建立起唯美的图片切换特效的相册功能,并且其中的一些还支持视频和Flash。
这些jQuery插件包括演示、文档说明等,欣赏吧!
1. Galleriffic
…… 阅读全文 >>
在过去的N年中,我遇到了很多使用囧然不同风格的开发者,下面是我所知道的一些,你还知道其它的吗?
散弹枪编程
这种编程风格是一种开发者使用非常随意的方式对待代码。“嗯,这个方法调用出错了……那么我会试着把传出的参数从 false 变成 true !”,当然依然出错,于是我们的程序员会这样:“好吧,那我就注释掉整个方法吧”,或是其它更为随意的处理方式,直到最后让这个调用成功。或是被旁边的某个程序员指出一个正确的方法。
如果我们把一个正规的程序员和一个撞大运的程序员放在一起做结地,那么,那个正规的程序可以马上变得发疯起来,并且,可以把正规的程序员的智商降到最低。两个撞大运的程序员不应该在一起做结对编程,这是因为他们破坏性的才能会造成的伤害会比只有一个还差。
撞大运编程
这是一种比散弹枪编程要温和一些的编程方式,我相信这种方式可能会是大多数程序员都会
…… 阅读全文 >>…… 阅读全文 >>
# -*- coding:utf-8 -*-
import os,time,stat
fileStats = os.stat ( 'readme.txt' ) #获取文件/目录的状态
fileInfo = {
'Size':fileStats [ stat.ST_SIZE ], #获取文件大小
'LastModified':time.ctime( fileStats [ stat.ST_MTIME ] ), #获取文件最后修改时间
用法:
CREATE TABLE test
(
id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(15) NOT NULL
)
AUTO_INCREMENT = 100;
在数据库应用,我们经常要用到唯一编号,以标识记录。在MySQL中可通过数据列的AUTO_INCREMENT属性来自动生成。MySQL支持多种数据表,每种数据表的自增属性都有差异,这里将介绍各种数据表里的数据列自增属性。
ISAM表
如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。
把0插入AUT
…… 阅读全文 >>
名人
名人在微博里粉丝众多,容易产生自己跟随者众多的错觉,不自觉地高估了自己的影响力。其实很多粉丝是看热闹,不是跟随者。因此名人在微博里要格外警惕,一旦和别人口角,都会被当成闹剧的主角而被长期围观。美国前总统丹奎尔曾因口误被媒体抓住,以后媒体天天盯着他,专抓他的口误。
朋友
微博使很多人成了朋友,似乎拓展了交际面,其实只是因为准实名使我们看到的人更多、找人更方便。两人在微博上能否成为朋友遵循的还是现实世界的法则:一、社会阶层相当的人容易相互认识,甚至可以跨领域;二、相同兴趣、社会阶层相近的人可以相互认识;三、有能力的人会被伯乐接受。
信用
微博其实有信用,不论在微博里说什么,即使没加V,只要不是马甲,都会变成信用沉积下来。但在微博这样迅速形成的社会中,信用如能显形化,将会使社会更加迅速地趋于稳态(自然界的鹿角、雉尾都是信用显形化的例证)。信用效
(一)
不知道各位玩过一个电脑小游戏没有。游戏是这样的,一个场景中,充满着不同方向的引力场和斥力场。游戏者在某个特定点发射一个小球。通过选择特定的发射角度与发射方向,小球就会在屏幕上翻转盘旋,划着奇异的轨道滑向某个终点。
我想,1963年的Edward.C.Stone一定是玩过这个游戏的。或许这正是他闲暇之余设计的一个小程序。
那时,他还是芝加哥大学的一个研究生,工作之一是计算某些卫星的发射轨道。在一次计算中,他惊讶地发现,当太阳系行星排列成某些特殊形状的时候,它们的引力就可以不断地为经过它们周边的物体加速。
进一步的仔细计算表明,这种事情每大约175年才会发生一次,而这种免费午餐式的摇摆变轨加速,能在当时的条件下,用大约十二年时间,就到达原本需要花费三十年时间才能到达的海王星。
而下一次这种时机的来临,是1977年。
(二)
话说我是一贯认为程序员是个很有前途的职业,因为工作的这几年来,最大的感触就是好的程序员太少,好的程序员的供给,其实是远远小于市场的需求的。这个原因有两方面,一方面是,贵国发展太快,聪明的孩子们现在的选择太多,当PM的,当Dev Manager的,甚或是转行去读MBA的,考公务员的,搞金融的,总之是聪明人的挣钱过舒服日子的实在不少,于是,程序员这个很有前途的职业就被大家放弃了;另一方面,互联网行业在贵国发展太快,现在需要好的程序员的公司实在太多。这样一两面夹击,您要真是能做个优秀的开发人员,过过中产生活应当是绰绰有余(当然,您要在北京二环买房,没有个叫李刚的爸爸可能买不了)。而且,您要真是个优秀的程序员,也是可以干到60岁的,常见的所谓30岁怎么办,其实是个巨大的误区,这个问题,因为不是本文的主旨,所以就不展开讨论了,下次专门写个文章说一下为啥这行业可以干到60岁。
然而尽管我如此认为,我最近也时常想,也许20年后我也不一定每天写程序了,虽然每天写程序的概率仍然很大。之所以这么想,其中有一部分是因为这个链接。想想几十年前,汽车业也是最NB,最伟大的行业啊
…… 阅读全文 >>