JaneGwaww

Share it. Celebrate it. Build it.

View the Project on GitHub

分享最近阅读的书籍清单(七)

这些都是在人生中的好书藉或好内容,我想把这些优秀的东西分享出来,并赋上自己的一些主观想法,能让更多人知道并从中受益。这里只是做一个引荐,精彩需要你自己亲自拜读从中感受。

Table of Contents

  1. 分享最近阅读的书籍清单(七)
    1. 罗织经
    2. From Mathematics to Generic Programming
    3. Google generative AI learning path
    4. The Chrysanthemum and the Sword
    5. 毓老师说论语
    6. Structure and Interpretation of Computer Programs — Comparison Edition
    7. Haskell Programming from first principles
    8. Continuous Integration (CI) and Continuous Delivery (CD)-A Practical Guide to Designing and Developing Pipelines
    9. Podman in Action
    10. The Kubernetes Book
  2. 相关阅读
  3. 我想评论
  4. 写在后面

子曰:学而时习之,不亦悦乎,有朋自远方来,不亦乐乎,人不知而不愠,不亦君子乎。

–论语学而第一

罗织经1

人之情多矫,世之俗多伪,岂可信乎?

–摘要

如何做一个好人从来都不是一件简单的事,如果无法分辨善恶就有可能助纣为虐。生活中这样的例子数不胜数,职场中的话术(PUA)而有人欢欣鼓舞、有人自责不够努力; 社交网络中的随波逐流没有自己的观点等等。不是说我们不能帮助他人,而是要懂得其中的人情事故。这本书赤裸裸的将人性中的恶淋漓尽致的展现出来,让我们知道坏人是怎么做的,读他的目地不在于怎么去做一个坏人,而是如何成为一个好人。25年9月份,翟欣欣案宣判之后当事人已经跳楼8年了,如果苏某能坚守本心,知道坏人的计俩并做出相应的对策,他还会绝望到跳楼么?

什么是人情,太史公说夫人情莫不贪生恶死,人情很简单就四个字:贪生恶死,就这么简单。物欲横流、贪图美色、取妻生子,追逐名利这是贪生。荣华富贵、锦衣玉食、功名利禄、逍遥自在这是恶死。我不相信有人能拒绝夸奖,我也不相信有人会喜欢恶语相向。历史上有很多看似很反常的事,其实考虑下人情就能看懂了,太史公以记传体写史记也是以人为本。我相信太史公是一个伟大的史学家,但是绝对不是一个好的政治家,在为李陵游说这个事情上,他在《报任少卿书》中是这么说的:仆怀欲陈之,而未有路,适召会问,即以此言陵功。我们很好奇,武帝早不问晚不问,为什么偏偏会在这个时候问他意见,古代的朝堂之上不是人人都有机会发言的。我想武帝做为一个精明的政治家应该是看到了司马迁那蠢蠢欲动的表情,然后当时也没有任何人敢说话,所以武帝就让他发言了,武帝当时可能也是希望他能说些场面话好有台阶下,但是司马迁他看不到这些,他只想一心为李陵说好话保住这个千古名将,也没有观察到武帝表情的变化,侃侃而谈最终酿成惨剧。而精明的武帝想的不是李陵多么多么的好,而是你在指桑骂槐,在嘲讽他用人不善。又或者战国非常有名的一场战争长平之战,当时秦国的强大是人人都知道的,但是为什么当时的赵孝成王还敢临阵换将,把廉颇给换下来了,这在一场战争中是非常忌讳的事情,打战打到一半把将军给换下来了除非有非常大的把握,但是显然赵国不是。我们不分析战争,只分析赵孝成王这个人,赵孝成王他很有雄才大略接受了大臣的意见接收了上党郡,而不是固守国土做一方霸主,而这就是关键,这就是我们常说的年轻人不气盛还叫年轻人吗。赵孝成王当时很年轻,想有一方作为,而在强大的秦国阴影之下很难有作为,当时他可能也从政不久对很多事情都要听老人的意见,所以也让他过的很憋屈,而赵括也是年轻人,两个年轻人想要在这些老人中有所作为,但是这些老人是知道秦国的可怕的,两个年轻人可能还意识不到,这个代价是很大的,大到赵国从此再也起不来了。想想我们自己年轻的时候是不是也放纵过,只是代价没这么大。

我想太史公作史记,写了很多事件,也把自己的亲身经历一五一十的写出来,也是想告诉后来的读书人不要犯同样的错误。罗织经以论语公冶长第五中的:“巧言、令色、足恭,左丘明耻之,丘亦耻之。”开头,并以此伸展开共讲述了阅人、事上、治下、控权、制敌、固荣、保身、察奸、谋划、问罪、刑罚、瓜蔓十二卷。而这本书也是总结了酷吏整人的结大成之作,给后面的坏人作参考,而它之所以叫经是因为只要人性不变这些整人的手段就一直有效,而天底下的坏人也逃不出这个框架,不会再有什么新意了。

From Mathematics to Generic Programming2

从数学到泛型编程

如果你不懂数学你就很难了解这个世界的全貌。

–Roger Bacon, Opus Majus

泛型编程是一种编程方法,它主要聚焦于设计算法和数据结构,因此不管是任何语言任何工具他都能高效的完成工作。它体现在C++中就是templates, java中就是type paramters, js中就是typescript, haskell中就是type classes..。它并不体现在某一种语言或某一个工具中,它是一种编程泛式,以一种通用的方法来达成目标,是更接近于数学的编程方法,或者说更接近于数学的abstract algebra。而编程本身又是更多的从数学中演化而来的,例如欧几里德的几何原本求最大值,演化为编程中max方法等。而我相信泛式编程是所有工程师都应必配的技巧,是使你构建的软件更加强大和坚固的设计模式。

这本书先简单的介绍了一些数学方法的知识,然后再一步一步讲解如何用编程语言去实现它,主要使用的是C++,它对于数学方面比较匮乏的程序员来说是一本不错的入门数学编程方面的好书。就像这本书所说的:要成为一名优秀的程序员,您需要了解通用编程的原理。要了解通用编程的原理,您需要了解抽象。要了解抽象,您需要了解它的基础:数学。

Google generative AI learning path3

Google生成式AI学习路径

人工智能有时会“产生幻觉”。如果我们想有效地利用它,就必须意识到它的局限性,并做好应对的准备。

–Emmanuel Maggiori

主要是因为现在AI太流行了,似乎有替换掉搜索引擎的趋势,但是作为技术从业者,缺的从来都不是更优秀的技术,因为我们很清楚,技术一直都会叠代下去,总会有更好的技术出现,我们缺的都是人文关怀。人在工作方面是不可能超越技术的,但是在人文关怀方面永远也是技术做不到的,我们需要做的不是去排挤它,而是去利用他为我们做事,技术说到底就是工具,人作为演化了几亿年的生物,技术暂时还是做不到的像人一样的。而人文就像指南针,指导着未来的技术将走向何方。

Google生成式AI学习路径更像是一本说明书,教你如何使用google的AI技术。如果AI对你来说还是比较新鲜的事物,那这个的全方位教学,视频加大纲加练习是一个不错的入门AI的免费课程。

The Chrysanthemum and the Sword4

菊与刀

日本人生性极其好斗而又非常的温和; 黩武而又爱美; 倨傲自尊而又彬彬有礼; 顽梗不化而又柔弱善变; 驯服而又不愿受人摆布; 忠贞而又易于叛变; 勇敢而又懦怯; 保守而又十分欢迎新的生活方式。

–摘要

每个国家和民族都有其独特性,日本也是东亚的一个国家,肯定也有受到儒家文化的影响,所以他们保留了一些中国传统思想,例如忠、孝、家庭观念或舍生取义、恭让谦卑等,而且这些传统精神似乎保留的比中国还要完整,毕竟涯山之后无中国,中国近代文化断层太严重了,而日本则没有遭受如此大的文化毁灭。《菊与刀》与其说是美国人对日本的研究,并且基于此研究的观点决定对战后日本的重建工作,倒不如说这本书也是我们了解西方世界如何看待儒家文化的东亚国家。不是说我们不了解自己,更关键的是他们是如何了解我们的,而这本书在二战后的美国非常流行,并且影响其对日本战败后的善后工作,所以也很能反应出西方世界对东亚普遍的认知。我们为什么要去关心他们对我们的态度呢? 因为西方世界现引领着现代文明。

这本书具有时效性,它并不是对一个国家一个民族长期研究长期观察田野调查后的成果,它只是接受委托去调查日本人的一个政策性文件,所以不要去指望它能有什么深入的见解,但是也从科学的角度揭露了一些东亚国家的人性。例如里面有提到日本人的好面子,日本是一个人情社会,日本人的孝顺与感恩以及日本社会的等级制度等。推荐此书的目地是希望人们能通过有限的资源尽量科学的了解一个民族,而不是听信网络上的一些片面之词,或者只是怱怱旅行一次的刻版印象,这些都是很难作为参考的。不管是现在我们这边的黑人陪读,贬低日本,还是台湾人的爱洋肠,都是对这一刻板印象的体现。

毓老师说论语5

牧师都离婚了,受戒的和尚都开了荤,掌教者都不知耻,真不知明年又变成什么样了?

–摘要

现在解读经典的太多了,而可能与经典想要表达的意思大相径庭了,这就违背了经典的初衷。他们的存在是为了答疑解惑,不是让人引经据典。毓老师是一个真正的儒者,他从小熟读四书五经,提出以经解经。这是只有熟读经典的人才能做到,也是非常有说服力的说法。而这些经典,这些四书五经,这本论语,为什么让人念念不忘,因为中国无王无圣久矣。而对于一个理工生来说,太需要这样的人文关怀了。

Structure and Interpretation of Computer Programs — Comparison Edition6

计算机程序的构造和解释-JS版

SICP从来都不是有关编程语言的;它为程序组织提供了强大而通用的思想,这些思想在任何语言中都应该有用。

–摘要

程序的构造与解释这本书在行业中已经是非常有名的了,而JS版又能给出什么新意呢?其实并没有给出什么新意,这么经典的书藉你也很难给出新意,除非你发现了什么新的开发思想,但是在现有的开发框架下,也基本不存在未被发现的开发理念。但是为什么又要写这本书,使用原书不就好了么? 其实JS版本并没有做任何改动,它只是将原有的Lisp代码翻译为了JS代码,也保留了原版的代码做对比,主要的工作量在于使用了不同泛式的编程语言,原本的例子,针对语言的描述,以及各例子、描述的连贯性都要做对应的适配。

虽然说这本书很经典,但是Lisp这门语言也非常古老了,用于学习是非常好的,可是现在很多的软件并不使用这样的语言了,或者说使用了类似的语言但是语法也是偏现代了例如common lisp、clojure、emacs lisp等,所以为了实用性语言的学习也需要做些相应的调整,如果你有更高的追求,你可以继续去学习这些古老的语言。而JS已然成为了目前最流行最简单的语言之一了,用它来讲解这些经典的编程思想,可以说是更容易让现在的人接受,也更易于他们的理解。虽然Lisp有无限的可能,那也是基于你有非富的经验,可是作为教学的目地,关键还是让学生理解这些思想,经验就让他们从后继的工作中学习,在理解了现代语言的局限性之后,有心之人自然会想去探索更多而学习Lisp。

Haskell Programming from first principles7

从第一原理开始学习Haskell编程

即使是最伟大的数学家,或是那些类似于神话中的数学家,也必须做大量的工作才能最终找到解决方案。

–Daniel Tammett

Haskell应该是目前最流行的纯函数式编程语言了,它刚开始写起来总是让人感觉畏首畏尾的,因为它有一个类型检查时时刻刻在提醒着你,你写的函数类型不对或者传值类型弄错都无法编译。刚开始你可能觉得效率慢,思绪被打断等,但是这样的好处也是显而易见的,随着你的代码量越来越多,这种的强制检查不但不会成为负担,而且在你进入心流产生大量代码后也保证了你代码的稳固,不会再回头检查时有大量的bug。这本书尝试让学习Haskell变得更加有趣,并且在学习函数式编程的过程中少走一些弯路,它鼓励人们带着空白的脑子来学习这门语言,以前积累的大量经验还可能成为负担,不管是第一次入门编程还是第一次入门Haskell这本书都很合适。

读技术方面的书籍练习很重要,动手做了之后就能很容易理解书中的知识点了,要不然看过一遍就忘了,或者根本不知道它说的是什么。本书做为一门语言教学书也不例外,每章都会包含一些练习用于巩固这一章的知识点,容易与否不重要,重要的是动手去做,能在实际中运用刚学到的知识何尝不是一种正反馈。并且随着学习的推进,后面的知识密度也会不断的增加,所以每一章的学习最好都做个充分的理解,要不然看到后面因为前面有些知识没理解透,不能举一反三,就会越到后面学习起来越吃力。本书总体看起来还是挺有趣的,每一章的编排都是循序渐近的,而且也尽量贴合函数这一主题。看这一本1200多页的书好比一段有趣的冒险之旅。

Continuous Integration (CI) and Continuous Delivery (CD)-A Practical Guide to Designing and Developing Pipelines8

持续集成 (CI) 和持续交付 (CD):设计和开发管道的实用指南

持续集成和持续交付的优势在于,通过自动化软件供应链,可以更快地将应用程序代码交付到生产环境。这能够生成更安全、更高质量的代码,提供更快的反馈,并最终缩短产品上市时间。

–摘要

代码写完之后,后面应该干嘛,你可以像之前一样手动构建,测试,布署。小型或个人开发可能不在意这短暂的布署过程,但是大型公司有成百上千个项目,还有上万个的容器,上千个的本地服务器和云,上百个的k8s集群,如果每个项目都手动去操作那花费的时间是指数级的增长的,所以ci/cd刻不容缓,但是大型公司的ci/cd又是比较复杂的,所以有专门的语言用于ci/cd就顺理成章了。我也是抱着这样的想法想去找找有没有这样的系统性知识文档或书籍,于是就找到了这本书。代码写完了之后不可能就放那里,肯定要分发出去给合适的地方使用,毕竟它是技术不是艺术,没有合适的使用场景那就是一堆字符,所以怎样让它从开发者快速的过渡到使用者手上,这之间肯定有一系列操作,这些操作可能会很复杂,但是也并不是无迹可循,而让这些操作自动化就是CI/CD要做的事情。由于公司规模的不同,或者需求的不同,分发流程也是不一样的,这本书于是先进行了需求分析:是否只是在需要的时候才进行人工测试、是否每个微服务都要建立一条管道、是否分发的每个阶段都需要反馈、是否第三方包都要进行病毒扫描、是否进行代码的质量审查、是否进行法律层面的功能审查等,基于其中的某些功能再去设计一条管道。这本书就这样一步步的深入探讨,其实就类似于大型的软件设计,本书主旨也是这样的,管道开发就是软件设计,从需求到设计蓝图到管道开发再到管道的测试、发布、监控,这一系列的软件开发流程。

Podman in Action9

Podman实战指南

大约在10年前docker的出现,引发了人们在互联网上分发和运行应用程序方式的革命。当我在研究Docker时,我觉得它可以设计得更好。

–摘要

工具的出现是为人们能够轻松的解决问题,你不需要去深究工具背后的原理。docker毫无疑问是一次技术革命,而本书作为其的一本工具使用指南,也做了很好的指导,从简单的使用试范到更多更杂的功能,从容器的建造到启动,再到pod,系统命令,安全性。而podman对于docker的优势就在于他的安全性上,这本书也做了重点说明。

The Kubernetes Book10

Kubernates入门书

教育是启发智慧和创造机会。我希望这本书,和我的讲解视频,能够启发你为你带来更多机会。

–摘要

docker被发明出来之后下一步是什么?这些是许多公司在应用容器技术之后顺便会面临的问题。有些公司有成千上万个容器,管理如此宠大数量的容器就需要新的技术了,而谷歌作为大型公司,全球有超过10亿多个容器,它自己本身就有这样的技术,而k8s就是在谷歌原有的技术上孵化出来的。做为软件开发者我们要有很强的学习能力,也需要学习很多技术,而k8s作为服务部署与管理系统,模糊了开发与运维的角色,已经主导了现在及未来几十年的软件管理,类似于现在代码管理git是标配一样,作为软件开发者,你想要提升效率也需要学习这门技术,而本书算是目前比较成体系介绍k8s的好书了。

相关阅读

我想评论

不管您有任何想法,意见或建议,都可以到这里github issues评论,点击链接新建issues即可。

写在后面

NO. Content
1 分享最近阅读的书籍清单(一)
2 分享最近阅读的书籍清单(二)
3 分享最近阅读的书籍清单(三)
4 如何面对35岁
5 分享最近阅读的书籍清单(四)
6 为什么你应该学习多种语言及哪里可以学到他们
7 作为大龄程序员,你如何持续的保持自己的竞争优势
8 程序员在职场中如何缓解过度焦虑
9 分享最近使用过的记笔记软件
10 分享最近阅读的书籍清单(五)
11 函数编程在JavaScript中的简单应用
12 用最简单的方式实现前端校验,也许你并不需要任何框架
13 分享最近阅读的书籍清单(六)
14 天道是否有报-从三个层次解读『求仁得仁又何怨乎』
15 读报任少卿书-司马迁作史记的心境
16 读伯夷列傳第一-儻所謂天道,是邪非邪?
17 读太史公自序–什么是中国的责任
18 读吴太伯世家–道德与成败
19 讀五帝本紀-好學深思,心知其意
20 分享最近阅读的书籍清单(七)
  如果喜欢该文章欢迎Star我的github
  捐助我的创作
  我的社区更新地址
  Email: tiglapiles@gmail.com
  Home Page

Footnotes

1 https://zh.wikisource.org/zh-hant/%E7%BE%85%E7%B9%94%E7%B6%93

2 https://www.fm2gp.com/

3 https://www.cloudskillsboost.google/paths/118

4 https://book.douban.com/subject/1022238/

5 https://book.douban.com/subject/26770154/

6 https://sicp.sourceacademy.org/

7 https://haskellbook.com/

8 A Practical Guide to Designing and Developing Pipelines

9 https://www.manning.com/books/podman-in-action

10 https://leanpub.com/thekubernetesbook