有趣,但无用的知识系列。

RSA 算法

Ron Rivest, Adi Shamir, and Leonard Adleman 三位的姓首字母写的。

《Cloud Native Java》

爪哇岛,岛上盛产咖啡;美国人有多爱喝咖啡,看英国人有多爱喝茶一样,波士顿倾茶事件,彻底惹怒了大英帝国(以前的称呼)。看看《硅谷》这部剧就知道了,咖啡 = 命,没有咖啡机的公司,不去。《Cloud Native Java》Josh Long 写的,书封面有几种意思,

  1. 这个鸟是蓝耳翠鸟(Alcedo menintiong)濒危野生动物,希望能唤起大家对动物的保护之心。当然,《高性能 MySQL》也是一样。

  2. 这个鸟在 Java island(岛)上生存。

  3. 鸟在天上飞,飞向云端的意思。迎合了云原生的概念,鸟就寓意为 Java,Cloud 就是云,如鱼得水,如鸟入天空。

具体的可以看他的视频 https://www.youtube.com/watch?v=Z5q-CXbvM1E&t=307s 他自己介绍的。

O’reilly 系列图书

《高性能 MySQL》

《设计数据密集型应用》

《机器学习实战》

等等,大部分书籍都是以濒危物种作为封面的,主要一方面是呼吁大家珍惜动物,这些动物对世界很重要。

具体可以看 animals.oreilly.com 网站查看。

雪花算法

Snowflake 没有一片雪花是相同(🈚️辜)的[狗头]

银弹

在 20 世纪 80 年代中期,Fred Brooks 发表了著名的论文《没有银弹:软件工程的本质性与附属性工作》。在介绍中,他将软件项目比作狼人。

“我们熟悉的软件项目都有这样的特点(至少在非技术经理看来是这样的),通常是无辜而直接的,但是它却有可能成为一个错过进度、挥霍预算并且产品有缺陷的怪物。因此,我们听到了迫切需要银弹的呼声,希望能让软件成本像计算机硬件成本那样迅速下降”。

他认为,由于软件开发的本质,在软件开发中没有银弹。这本身就是一项内在复杂的努力。在 20 世纪 80 年代,大多数软件都运行在单台只有单核处理器的机器上,互联网还处于早期发展阶段,智能手机也还属于遥远的未来,没有人听说过虚拟化或云计算。Brooks 写的主要是技术复杂性,现在我们更加意识到软件开发中所涉及的社会、心理和商业过程的复杂性。

在古老的传说里。狼人是不死的。想要杀死狼人有几种方法:

  1. 像杀死吸血鬼那样用木桩钉权住狼人的心脏。
  2. 将月光遮住
  3. 用银子做的子弹射穿狼人的心脏或头

当然现实中是没有狼人的。但现实中确实有银弹这个东西。而其意义也类似于能杀死狼人的最好办法。现实中的狼人可以是一个棘手的项目,或者一件不可能的事。而“银弹”就是指能解决这些事的方法,或者技术手段。

《没有银弹》主张并断言在未来的十年之内(从1986年文章发表后开始计算),不会有任何单一的软件工程上的突破,能够让程序设计的生产力得到一个数量级的提升。不过,作者认为这个假设现在已不再成立。

假设软件开发的总工作量为 10,其中,本质性工作占掉 1,附属性工作占掉 9,那么改善附属性工作,将之消除,就可以把软件工作量减轻到 1(因为附属性工作变成 0),此时我们可以说,软件工作开发的轻松程度提升了一个数量级(因为由 10 进步到 1,差 10 倍)。

没有银弹 wiki

古代人认为狼人、吸血鬼怕银器,故有银制十字架,银弹等物件。

关于淘宝

淘宝最初是买来的,采用的 LAMP(Linux+Apache+MySQL+PHP)架构

了解淘宝历史的人都知道淘宝是在2003年5月10日上线的,2003年4月7日到5月10日,这之间只有一个月时间。要是你在这个团队里,你怎么做?不是“抄一个来”,我们的答案是——“买一个来”。

当时我们是从一个美国人那里买来的一个网站系统,这个系统的名字叫做PHPAuction(其官方网站http∶//www.phpauction. net,Auction即是拍卖的意思,这个名字很直白,一眼就可看出这个系统是用什么语言做的、用途是什么),PHPAuction有好几个版本,我们买的是最高版的,功能比较多,而且最重要的是对方提供了源代码。最高的版本比较贵,花了我们差不多2000美元(貌似现在降价了,只要946美元,在他们的网站上有明码标价的信息)。买来之后不是直接就能用的,需要很多本地化的修改,例如,修改一些数据类型,增加后台管理的功能,页面模板改得漂亮一点,页眉和页脚加上自己的站点简介等。其中最有技术含量的是对数据库进行了一个修改,原来是从一个数据库进行所有的读写操作,现在把它拆分成一个主库、两个从库,并且读写分离。

——《淘宝技术这十年》

一般的技术书籍的自序

一般都是以感谢妻子/老婆 的支持结尾的。

所以,出书的前提是结婚[🐶头警告⚠️]。

例如《Netty 实战》《微服务架构设计模式》《Spring Boot 编程思想》《淘宝技术这十年》等等

Elastic、Scala

弹性

Elasticsearch :弹性搜索

Scalable : 可扩展性