译:拥抱苦差事
原文:"Embrace the Grind" by Jacob 原文链接:https://jacobian.org/2021/apr/7/embrace-the-grind/ 我以前见过一种纸牌魔术,至今仍念念不忘。那魔术简单来说是这样的(为了清楚起见,我在这做了进一步的简化 … … View more
再见,面包旅行!
2012 年初,北漂的我抱着满心憧憬加入了一家创业公司,和另一位同事一起成了公司唯二的两名后端程序员。这家公司当时的产品是个名叫“遨游记”的移动 App,后来它变成了现在的 面包旅行。 在面包旅行的几年,我遇到了许多优秀又有趣的同事,写了一打又一打的代码,把一头黑发写的花白(不夸 … … View more
我写完了《Python 工匠》一书的初稿
去年 6 月底,在写完“Python 工匠”系列的最近一篇文章“在边界处思考”后,我在写作上陷入了迷茫。我迷茫的点在于,我不知道是否该继续写下去,如果写,我又该写点什么东西? 当然并不是真的没内容可写。关于编程和 Python 的话题何其多,我写过的内容只是沧海一粟。异步编程、 … … View more
有关单元测试的 5 个建议
虽然好像人人都认为单元测试很有用,但在实际工作中,有完善单元测试的项目仍然是个稀罕物。大家拒绝写单元测试的理由总是千奇百怪:“项目工期太紧,没时间写测试了,先这么用吧!”“这模块太复杂了,根本没法写测试啊!”“我提交的这个模块太简单了,看上去就不可能有 bug,写单元测试干嘛?” … … View more
Python 工匠:在边界处思考
前言 这是 “Python 工匠”系列的第 15 篇文章。[查看系列所有文章] 2016 年,Linux 操作系统的创造者 Linus Torvalds 参加了一场 TED 访谈节目。整个节目的前半部分,主要是他在讲如何在家光着膀子写出 Linux 的故事,没有涉及太 … … View more
游戏《蔚蓝山》教我的编程道理
如果有这么一款游戏,你操作的角色平均每 20 秒就会死亡一次,正常通关一次,总共需要死掉超过 2000 次。你猜这是一款神作还是垃圾? 《Celeste》(译名:“蔚蓝山”)就是这么一款游戏。在游戏里,你扮演一个名为 Madeline 的女孩,通过跳跃、抓墙、冲刺等动作,去努力 … … View more
Python 工匠:写好面向对象代码的原则(下)
前言 这是 “Python 工匠”系列的第 14 篇文章。[查看系列所有文章] 在这篇文章中,我将继续介绍 SOLID 原则剩下的两位成员:I(接口隔离原则) 和 D(依赖倒置原则)。为了方便,这篇文章将会使用先 D 后 I 的顺序。 D:依赖倒置原则 软件是由一个个 … … View more
Python 工匠:写好面向对象代码的原则(中)
前言 这是 “Python 工匠”系列的第 13 篇文章。[查看系列所有文章] 在 上一篇文章 里,我用一个虚拟小项目作为例子,讲解了“SOLID”设计原则中的前两位成员:S(单一职责原则)与 O(开放-关闭原则)。 在这篇文章中,我将继续介绍 SOLID 原则的第三 … … View more