awesome programming resources.| 令人惊叹的编程资源。
数学女孩
梦开始的地方。其实是披着小说外衣的数学证明题集,但有着一种独特的浪漫。可能这就是轻小说的魅力吧。数学女孩 2
第二季。守关 BOSS 是费马大定理。数学女孩 3
第三季。守关 BOSS 是哥德尔不完备定理。数学女孩 4
第四季。主要讲随机算法。数学分析八讲(修订版)
一份简洁的数学分析介绍。简单微积分
好奇心能在正规教育中幸存下来,是一种奇迹。这本书没有苏联式教科书那种刻板的教学描述,而是拆解到具体的例子,揭示平易近人的微积分本质。精通 Git(第 2 版)
Git 版本控制的入门书,由浅入深,可以酌情阅读。Git团队协作 (豆瓣)
各个章节之间的质量良莠不齐、语言不够简洁精炼、内容重复度较高。比较有价值的是第6、7章,推荐重点关注,其他章节内容一般。开源软件指南
开源指南是一个资源集合,供想要学习如何运行开源项目并为开源项目做出贡献的个人、社区和公司使用。Electron in Action
关于 Electron 实战的一本务实落地的书籍。配套代码基本可运行。Create GUI Applications with Python & Qt6 (PySide6 Edition)
【缺点】:1.全书800多页,篇幅冗长,知识点杂碎,重点不够突出;2.有些关键代码直接带过,缺乏必要的解释和说明。 【优点】:1.知识点比较全面,基本上很多关于UI开发的点都列举了;2.有配套的开源代码,代码基本上可以在 PySide6 版本下运行,方便读者随书实践。 整体上而言,这本书依旧是一本关于PySide6界面开发的好书,值得一读。最后一章的扫雷小游戏是一个很好却稍微复杂的demo,值得研究理解。DevOps 实践指南
运维相关经验之谈。数据密集型应用系统设计
总体评价,圣经。第一:中文翻译不是很理想,句子不通顺,句法有时含有语病,例如缺少介词或者介词不对。 第二:前面几个章节内容惊为天人,满分屠龙术。 第三:书中内容不是实际可以实践的代码,而是高屋建瓴的insight,是经验的总结和理论的归纳。 第四:书中的插图很有亮点。每章的开头第一张路线图代表着曾经走过的路和坑,其余的时间流程图也是清晰易懂。 第五:每章后面的参考文献有些有100多篇,广度很大。学有余力可以选读部分。 第六:这应该是一本需要多刷几次的书籍,一次阅读明显吸收的不够,可能是自身能力还不足以与某些章节的内容共情。架构整洁之道
4星。印象最深的是第34章的【组织形式与封装的区别】,对比了按层封装(水平切分)、按功能切分(垂直切分)、端口与适配器模式(domain聚合)、“组件”封装(组件思维)四种方式的区别。另外的感悟就是,尽量抽象,脱离实现细节,因为细节往往意味着系统边界模糊不清。算法图解
算法入门书籍,有大量图解,拆解算法过程。算法精粹
篇幅短小,深入浅出,思路清晰,代码优秀。是一本很好的算法书籍。不足之处是神经网络这章讲的不够好,反向传播的偏导数的求解过程没说明。神经网络的入门,鱼书明显讲的更加透彻。消除函数副作用,支持可重入,这就是函数式编程。
Functional-Light JavaScript
JavaScript 中平衡、实用的 FP。设计模式,是为了写出更加简洁高效的代码。
设计模式解析
优秀的设计模式入门书籍。计算机视觉(CV)。
创意编程。
代码本色:用编程模拟自然系统
一份浪漫的代码艺术,使用 p5.js 模拟自然系统。设计相关,Web 设计、平面设计。
写给大家看的设计书(第4版)
4大基本原则: 亲密性、对齐、重复、对比。Web 前端三大语言中的逻辑。TypeScript 是它的强类型编译语言。
JavaScript 高级程序设计(第 4 版)
JavaScript 基础入门书籍,涵盖面很广,可以作为提纲。JavaScript忍者秘籍(第2版)
此书中文翻译一定是机器翻译,非常差。原书内容值得五星。非常好的JS进阶书籍。推荐个别章节阅读英文原版。JavaScript 语言精粹
时代的眼泪。它是 ES6 语法之前的 JS 精髓书籍,即使过时但其中一些思路依旧闪烁光芒。你不知道的 JavaScript(上卷)
js 作用域和闭包,this 和对象原型。你不知道的 JavaScript(中卷)
类型和语法,异步和性能。The Art of Unit Testing, Third Edition
1-6章观感很好,代码也很细致。后面的章节开始,就很空泛,因此扣一分。总体而言,还是一本JS描述的讲解单元测试的好书。JQuery 退位之后,MVC 、MVVM 模式开始交替。现在是 Angular、React、Vue、Svelte、Web Component 时代。
深入浅出 Vue.js
关于 Vue 2.x 源码设计原理的说明。语言稍微欠缺流畅,部分章节讲解不够透彻。总体而言可以阅读。Vue.js设计与实现
主要内容:响应式(effect收集与触发)、渲染(主要是diff这块,LIS最长递增子序列)、组件化、编译器(AST、上下文无关文法)、同构渲染(hydration)。虽然配套代码也有很大的瑕疵,有些书中的代码也没给出,但整体来看依旧是一本难得的Vue入门书籍。行文风格不错,但偶尔会显得不够简洁,有时一个很简单的事情,文字描述了一大段一大段。还好没有出现狂列表格的国产技术书通病,值得好评。The Road to learn React
很好的 React 入门书籍之一。代码规范,语言简洁。描述了版本特性演化、技术选型方案对比。Learning React 2nd ed.
入门级别。chapter 6-9,10-11为重点内容,赶时间的可以直接读这几个章节。【优点】:代码例子接地气,大多使用github api,亲切感很足。语言朴素直白,没有废话。【缺点】:配套代码仓库很多章节就是一个readme.md,代码示例全在codesandbox,需要一个一个导出到本地运行调试。部分代码存在bug,需要自行修复才能运行。总体而言,是一本很好的React入门书籍。Web 前端三大语言中的样式。此外,还有各种衍生的预处理器。
web-design-in-4-minutes
一个非常简洁的 CSS 入门启发例子。也许并不需要 4 分钟。CSS 设计指南
很好的 CSS 入门书籍。语言简洁扼要,思路清晰,涵盖响应式设计。CSS in Depth
CSS 进阶书籍。娓娓道来的 CSS 发展历史,与各个时代下的局限性。CSS 揭秘
CSS 特效作品集。内容实用,融数学、艺术、审美于一身。一个小心翼翼的语言,格式规范,发展比较缓慢。
Java 并发编程实战
Java 并发编程入门神书,篇幅简洁,代码规范。Spring 实战(第 4 版)
Spring 4.x 版本,内容涵盖面很广。Spring in Action (5th edition)
较好的 Spring 5.0+ 入门书籍。码出高效:Java 开发手册
提纲挈领的 Java 开发好书。Java 8 实战
对 Java8 新特性的细致讲解。Java攻略
本书讲解内容和质量,给三星。配套代码的质量给4星。这本书聚焦于Java 8&9 的日常开发使用,整体上算得上一本合格的入门书籍。跟这本书定位类似的书籍是《Java 实战》,那本书似乎讲解的更加全面。阿里巴巴 Java 开发手册
超级简洁的 Java 开发实践规约,偏实践,可以参考。Effective Java 中文版(第 3 版)
Java 编程的 90 个经验总结,内容较深。一门年轻有活力的后端语言。
Go 语言实战
优秀的 Go 入门书,涵盖了入门基础、并发模式、标准库介绍、测试。第 2 版在 2023 年出版。Effective Go:Elegant, efficient, and testable code
4 星。偏实战,中阶级别。语言有些冗余和跳跃,配套代码只有最终版本。论述主题主要为可测试性、可维护性、协程并发。Go Web 编程
使用 Go 原生内置库进行讲解,配套代码简单易懂。第二章论坛demo模型很有趣。缺点是现在看来有点过时,部分语言不够精炼,部分代码过于随意。100 Go Mistakes and How to Avoid Them
Not having this book will be your 101st mistake if you are a Gopher. 这本书绝不是一本能轻易吸收消化的书籍,虽然本意是Go语言描述,列举了Go开发时常见的100个误区,但是书中论述的这些经验,同样适用于其他编程领域。这本书,可以被视为Effective XXX系列。人生苦短,我用 python。
流畅的Python(第2版)
本书英文版相关网站:https://www.fluentpython.com/about/ 原书内容很好,但是中文翻译版本语句语法错误较为明显,疑似机翻。推荐未入坑的新人尽量看英文原版,不懂的单词就使用工具翻译来阅读。Python 工匠
优秀的 python 入门书籍之一。Python Testing with pytest, 2nd Edition
测试。pytest 的全方位讲解,配套代码循循渐进。Python Concurrency with asyncio
神作。并发,并行,多线程,多进程,协程,事件轮询,异步等,尽在此书。Effective Python
实用简洁的Python 开发经验总结。不负Effective系列的名称。Python Cookbook(第3版)中文版
中文翻译不够优秀+此书内容少部分过时扣一分。这本书应该出第4版了。中文翻译参考:https://python3-cookbook.readthedocs.io/zh_CN/latest/preface.html 。 8.23“要提领(dereference)一个弱引用,可以像函数一样来调用它。” 这里翻译不够准确,dereference应该翻译为解引用。本书的内容深度还是有的,部分小节的代码特别长,而且偏底层,需要好好啃。它是一本关于python经验总结的进阶书籍。Python Object-Oriented Programming
. 1-10章都是讲述python基础的,这部分写的很不错,以一个KNN的例子贯穿了全程,非常接地气。 11 & 12 章一共描述了12种设计模式,值得参考。13和14章分别是测试和并发,这两个主题不是一章的篇幅就能讲明白的,我认为是这本书的败笔,可以直接删掉。Python3网络爬虫开发实战 第2版
这本书总分5星的话,我只给3星。部分章节讲解空泛-1分;全书篇幅过长,语言不够精炼-1分。然而市面上目前将爬虫这个主题写的好的书本少之又少,而此书对于学习爬虫来说,它的大纲指明了一个较为全面的学习目标。因此,将此书列入推荐阅读。The Well-Grounded Python Developer
3星评价。非常偏入门。flask 入门使用?《基于flask的blog系统设计》?看完这本书后,将ch_11的源码标注一下,是一个不错的参考。比较值得留意的一点是,帖子和评论关系的设计,本书推荐了自引用+CTE来处理层级嵌套关系,我觉得反而变复杂了,但是,不可否认,这的确也是一种可行的实践。Flask Web开发
flask入门的极佳选择。篇幅简短,内容充实,逐步介绍了一个blog系统的构建。此外,末尾的部署这一个章节也非常不错。Publishing Python Packages
开发 python package 的入门参考指南。深度学习入门
手把手教你如何从 0 开始搭建一个神经网络。nginx
简洁的 nginx 入门配置菜谱书。软件世界的基石。
SQL 基础教程(第 2 版)
SQL 入门书籍。语言严谨,内容充实。SQL 进阶教程
SQL 进阶书籍。在这个世界上,无论看起来多么普通的事物,背后总是隐藏着深刻的原理。Redis 设计与实现
Redis 3.x 版本功能说明,含有源码设计原理讲解。MySQL 必知必会
短小精悍的入门导读。高性能 MySQL( 第 3 版)
讲解 MySQL 性能优化:字段、查询、索引、配置等。Docker——容器与容器云(第 2 版)
容器原理解读,深挖源代码和底层设计,内容很有深度。Kubernetes in Action 中文版
k8s 入门神书,非常推荐。行文流畅简洁,讲解深入浅出,清晰的架构流程图,知识点覆盖面广,实践性极强。"Looks Good to Me"
一本不错的代码评审的指导书。代码整洁之道
本书副标题:程序员的职业素养。编写可读代码的艺术
论述代码可读性的时候会加上小例子,行文简洁流畅。大话重构
语言接地气,Java 语言描述来讲解重构。来,喝了这碗心灵的
毒鸡汤。一般而言,都不喜欢推荐这类书籍,除非它的确有可取之处。
黑客与画家
编程是一门艺术创作,自我驱动,以兴趣为导向的创作往往具有惊人的效果。只是为了好玩
生活是为了追求快乐。奔跑吧,程序员
关于程序重构的这部分讲的非常经典,给我留下了很深的印象,讲解得行云流水。其余部分也还可以。是一本不错的IT杂谈书籍。我编程,我快乐
4星。作者以两种身份:音乐人和程序员的身份论述了对编程职业的思考和探索。每一小章节都给出了一个实际可实施的小练习作为行动指南。但是,缺点也很明显,很多理论并不是那么接地气,水土不服。整体而言,部分观点值得参考,有一定启发。软件开发者路线图
当之无愧的神作。软件开发,学徒到师傅,漫漫长路。在工作需求和自我兴趣驱动之间摇摆抉择,这是一本既看到现实的无奈,依旧像阳光一样给你希望的指导书。不要被速成主义的塞壬歌声诱惑,要坚守阵地。 “只求最差”——寻找一个可以让你成长的团队;“质脆玩具”——跨出技能边界来独立构建完整的软件项目。「学徒是那些愿意接受初级职位从而使学习机会最大化的人,而不是那些往经济收入最大化的职位上拼命攀爬,慢一分钟都不行的人。」空杯心态,漫漫长路,自我评估,持久学习,坚持阅读。附录A的列表整理的很好,非常简要,方便查阅。鲜有人认真研究的 API Design 领域。
The Design of Web APIs
关于 Web API 设计细致的演化讲解。游戏开发。暂时将这部分推荐放于此仓库,后续如果膨胀,应该迁移到game-dev-center。
游戏的设计与开发
4星。这本书极具前瞻性(它是03年的),而且内容涵盖面很广,涉及了游戏开发的各个方面。语言描述点到即止,不拖泥带水,因此篇幅仅300多页。它是一本很好的游戏开发理论指导书。最后,引用书中这段话作为结束——"我们的少年时代都做过很多梦,很多温馨的梦。在梦里梦见所爱但现实中得不到的东西,和所爱但现实中怯于亲近的人。但每次从梦中醒来时,又要忍受那种得到后又失去的怅惘和失落。但少年的希望总是有,少年总是坚信他的梦将来可以成为现实。于是虽然生活本身并不如意,少年的梦还是做下去,不断地做下去。直到随着年龄的增长,少年明白梦已经不太可能成为现实了。他的梦也就逐渐减少,乃至消亡了。而游戏是少年的梦的延续,它保持我们梦想的能力,短暂延缓它的消亡"。百万在线
最多给3星评价。3,4,8,9,10,11这几章还算言之有物。缺点:水图和字数太多,知识密度过低。内容深度也比较浅。但是,国内写这个方向的书籍似乎不是很多,作为游戏开发科普入门而言,此书也还算可以。最后,书名“百万在线”名不副实,还是务实一点吧。游戏编程模式
此书基于游戏开发情境,对传统GoF的设计模式进行了独特的阐述。每一个设计模式都是以固定的行文结构进行说明:动机、设计模式概述、使用情境、使用须知、示例代码(C++描述)、设计决策、参考。虽然并没有进入更深入的探讨,但是对于扩展对设计模式的认识和理解,应当是有益的。值得一读。写作相关。
英语写作手册:风格的要素
4星。篇幅简短实用。思考人生与生活。