分类:程序员那些事儿

程序员:同步与异步、阻塞与非阻塞

在做网络编程的时候,我们会经常碰到阻塞(Blocking)与非阻塞(Non-Blocking)、同步(Synchronous)与异步(Asynchronous)的概念。这两组概念很相近,容易混淆。 阻塞和非阻塞是用来描述I/O操作的:在执行 I/O操作时,如果数据没有准备好,阻塞模式下会一直等待直到…

面试时,做一个贪心的程序员

出去面试要贪心,对年薪要贪心,总不能跳个槽工资还降了吧 对股票要贪心,现在跳哪里不是为了股票啊 对签字费要贪心,一时的奖励能争取就要争取 对自己的成长更要贪心,不能错过一点点机会 既然那么贪心,我们也来聊聊贪心这一种常见的算法吧,通过对贪心的活学活用,我们神挡杀神,佛挡杀佛,秒杀一切面试题。 贪心+…

程序员:三个人的爱情

H先生是个职业码农,独身35年,未婚,每天基本都会加班,只有晚上回到自己租的15平米的小房间,才有时间上上网聊聊天,做点自己喜欢的事情。H先生很喜欢聊天室这种东西,虽然现在几乎没人玩了,但是H先生仍然很喜欢那种感觉,那种戴上面具后,和陌生人畅所欲言,毫无顾忌的感觉。 H先生在聊天室里认识了X小姐,我…

程序员:写作、编程与直觉

上次写《科学之外》的原因,除了为神秘学报不平以外,还有一个原因是我最近正在练习写作,看的书是《再活一次:用写作来调心》。这是一本很精彩的书,让你对写作充满信心又不失章法。现在我时不时的会写一些东西放在日记里,虽然书中要求是每天都写,但我的懒惰依然战胜了一切。 当然,至少我也写了不少,通过这些写作练习…

隔壁小王:我要学编程

小王有很多程序员朋友。 一起聚会的时候,他们有时候会讨论很有意思的话题。 比如,如何创造一个对象。 但是大多数时候,他们讨论的话题小王都听不懂,小王觉得很没意思,就跟他们说,你们能聊点别的吗,生活中不止有编程,还有很多事情是跟编程无关的。 他的程序员朋友们听他这么说,觉得要说服他学习一点编程和计算机…

程序员水平分级,你属于哪一类?

近日,whattofix.com 刊登了一篇 Daniel Markham 的文章《What Level Programmer Are You?》,文内将参差不齐的程序员按照技术水平分为从”只读”到”上帝”,共十一个阶段,以帮助广大程序员找到自身定位并从中发现自己发展方向。以下是文章摘要: 随着技术…

做一个有信仰的程序员

有的程序员把代码当乐趣,只要让他写代码,比做什么都开心。 有的程序员纯粹把代码当作任务,养家糊口的本钱。 有的程序员视代码为宠物,精心呵护,容不下一丝瑕疵。 有的程序员视代码为工具,只要能用就行,管他扩展性和维护性。 有的程序员会说,我做了单元测试,没有发现什么问题。你要是发现bug一定要告我。 有…

谈程序的正确性

不管在学术圈还是在工业界,总有很多人过度的关心所谓“程序的正确性”,有些甚至到了战战兢兢,舍本逐末的地步。下面举几个例子: 很多人把测试(test)看得过于重要。代码八字还没一撇呢,就吵着要怎么怎么严格的测试,防止“将来”有人把代码改错了。这些人到后来往往被测试捆住了手脚,寸步难行。不但代码bug百…

编程的智慧

编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋。然而由于软件行业喜欢标新立异,喜欢把简单的事情搞复杂,我希望这些文字能给迷惑中的人们指出一些正确的方向,让他们少走一些弯路,基本做到一分耕耘一…

如何成为一个优秀的程序员?

一个优秀的程序员与一个优秀的码农,有着本质的区别。 优秀的程序员必须要有足够扎实的基本功,映射到武侠小说中,通常是说内力要足够深厚。 优秀的码农通常会说,数据机构、算法工作中根本不会用到,学了也没啥用,要实现什么什么,用PHP、Python就可以了,内置函数都给你写好了,直接用就行。成为高手有多种途…