从在加拿大退货失败的一件小事思考系统设计
1 前言 前天刚写完《软件设计的哲学》,满脑子还萦绕着模块耦合和接口抽象, 结果昨天就撞上一个现实中的“设计陷阱”——一次耗时数小时却无解的「退货」噩梦。 今天趁着周末,决定把这场荒诞遭遇拆解出来,既当吐槽,也当案例分析. ...
1 前言 前天刚写完《软件设计的哲学》,满脑子还萦绕着模块耦合和接口抽象, 结果昨天就撞上一个现实中的“设计陷阱”——一次耗时数小时却无解的「退货」噩梦。 今天趁着周末,决定把这场荒诞遭遇拆解出来,既当吐槽,也当案例分析. ...
1 前言 知道这本书是因为在 Hacker News 上有人提问:你读过最好的技术书是什么 1? 最高赞的书是 Design Data Intensive Application(DDIA, 即《数据密集型应用系统设计》2), 我觉得 DDIA 也担得起这个赞誉,然后最高赞的回答顺势提到了 A Philosophy Of Software Design 3, 想来能与 DDIA 齐名的书,肯定不会差得哪里去。 ...
1 Design principle 在谈论四个设计的基本准则前, 作者强调了关于命名的重要性. 作者举了一个例子, 在圣诞节, 他收到一本书介绍树木的分类, 他注意到一种叫Joshua tree的树, 造型奇特. 他想, 如果我看过, 我肯定会记得, 毕竟形状特别. 当他走出家门时, 发现社区80%的院子都有这种树, 但他此前从未注意到. 一旦你可以叫出它的名字, 你就发现它随处可见 ...
最近我需要为运行的分布式系统某部分模块构造系统唯一的ID, 而 ID 需要是数字的形式,并应该尽量的短。不得不说,这是一个有趣的问题 1 若干实现策略 查阅完相关的资料,发现为分布式系统生成唯一 ID 方法挺多的,例如: ...