blog

疯狂动物城2-第六十九期

../../images/e606402181d7380c6620f09086ac5ea0_720.jpg

这是今年看到的我比较喜欢的电影,轻松快乐的氛围,以及诠释的道理都通俗易懂,而且作为打工人深深共情小蛇说的一句话,我们本身没有肩膀,所以没什么必须要承担的责任。

技术类

数据模型是新产品的核心

著名计算机学家、Pascal 语言之父沃斯说过一句著名的话。

算法 + 数据结构 = 程序

他甚至写了一本书,书名就是这句话。

https://notes.mtb.xyz/p/your-data-model-is-your-destiny

最初的聊天软件,都是以人为中心,两人或两人以上组成一个聊天。

它的数据模型就是围绕人建模,要是成员全部退出,聊天就结束。

后来,新的群聊软件 Slack 诞生了。

它的数据模型变了,核心不是人,而是话题。一个话题就是一个容器,所有相关的聊天都在里面,又叫做频道(channel)。
即使成员全部退出,没人聊天了,频道依然存在,话题的完整上下文也不会消失。新成员加入后,可以看到以前的所有讨论。

由于这个特点,Slack 特别受企业欢迎,是目前公司内网工作聊天软件的首选。

你看,就因为 Slack 的数据模型变了,哪怕其他都没变,它就成了一个全然不同的产品,杀出了聊天软件的重围,在企业市场大放异彩。

Dijkstra算法

https://github.com/trekhleb/javascript-algorithms/blob/master/src/algorithms/graph/dijkstra/README.zh-CN.md

Dijkstra 算法是一种用于在图中查找节点之间最短路径的算法,例如,它可以用于表示道路网络。

该算法有许多变体;Dijkstra 的原始版本用于查找两个节点之间的最短路径,但更常见的变体是将一个节点固定为“源节点”,并计算从该源节点到图中所有其他节点的最短路径,从而生成最短路径树。

Typescript图解

https://types.kitlangton.com/

这个网站用图形讲解 TypeScript 类型。非常直观和容易理解,可以看看~

非技术类

https://www.ruanyifeng.com/blog/2025/11/weekly-issue-373.html

纽约的地铁AI广告

这就是 AI 设备和应用的现状:实际的销量不大,但需要巨额推广费用,AI 公司对此毫无怨言。

各国现金使用比例

https://www.voronoiapp.com/economy/Who-Still-Uses-Cash-7090

这个网站有2025年各国使用现金的比例,可以作为出国参考。中国的现金比例是10%,是最低的国家之一。

这说明了现金使用的少,就越来越依赖于电子设备。

公司越大越容易做出复杂的产品

https://hugo.writizzy.com/being-opinionated/57a0fa35-1afc-4824-8d42-3bce26e94ade

大公司容易做出复杂的产品,这主要有两个原因。

(1)公司的人越多,产品复杂度就越高,因为每个人都想留下自己的印记。

大公司的规则是,当你贡献了某种新功能,就会得到晋升。

哪怕这些功能是多余的,十个月后就会发现它们毫无用处,它们的开发者也会收到奖励,所以所有人总是热衷于添加新功能。

(2)公司规模越大,客户越多,就越需要应对具体的用例。

销售人员会告诉你,一些客户需要这个功能;客户支持人员则会告诉你,另一些用户提出了那个需求。

除非你有足够的远见,指出它们不符合软件发展的愿景,否则你就不得不按照那些人的要求,不停地添加功能。

现实中,大公司内部有各种压力,程序员几乎没有自己的立场,必须取悦所有上级部门,在各种压力之间搞平衡,最终就做出具有巨大复杂性的软件。

现在非常认同上面的观点,其他活动都是一样的功能,但是却要为一两个其他公司的合作,做出特性化的部分,而这一部分就会非常难以维护,而且后人接手维护,需要了解的背景会很多。