Skip to content

Latest commit

 

History

History
1026 lines (882 loc) · 69.2 KB

README.md

File metadata and controls

1026 lines (882 loc) · 69.2 KB

awesome-programming-resources

awesome programming resources.| 令人惊叹的编程资源。

Math

novel

数学女孩 year year year year 梦开始的地方。其实是披着小说外衣的数学证明题集,但有着一种独特的浪漫。可能这就是轻小说的魅力吧。
数学女孩 2 year year year year 第二季。守关 BOSS 是费马大定理。
数学女孩 3 year year year year 第三季。守关 BOSS 是哥德尔不完备定理。
数学女孩 4 year year year year 第四季。主要讲随机算法。

academics

数学分析八讲(修订版) year year year year 一份简洁的数学分析介绍。
简单微积分 year year year year 好奇心能在正规教育中幸存下来,是一种奇迹。这本书没有苏联式教科书那种刻板的教学描述,而是拆解到具体的例子,揭示平易近人的微积分本质。

Version Control System

精通 Git(第 2 版) year year year year Git 版本控制的入门书,由浅入深,可以酌情阅读。
Git团队协作 (豆瓣) year year year year 各个章节之间的质量良莠不齐、语言不够简洁精炼、内容重复度较高。比较有价值的是第6、7章,推荐重点关注,其他章节内容一般。

Open Source

开源软件指南 year year year year 开源指南是一个资源集合,供想要学习如何运行开源项目并为开源项目做出贡献的个人、社区和公司使用。

App Development

Desktop App

Electron in Action year year year year 关于 Electron 实战的一本务实落地的书籍。配套代码基本可运行。
Create GUI Applications with Python & Qt6 (PySide6 Edition) year year year year 【缺点】:1.全书800多页,篇幅冗长,知识点杂碎,重点不够突出;2.有些关键代码直接带过,缺乏必要的解释和说明。 【优点】:1.知识点比较全面,基本上很多关于UI开发的点都列举了;2.有配套的开源代码,代码基本上可以在 PySide6 版本下运行,方便读者随书实践。 整体上而言,这本书依旧是一本关于PySide6界面开发的好书,值得一读。最后一章的扫雷小游戏是一个很好却稍微复杂的demo,值得研究理解。

Mobile App

DevOps

DevOps 实践指南 year year year year 运维相关经验之谈。

System Design

数据密集型应用系统设计 year year year year 总体评价,圣经。第一:中文翻译不是很理想,句子不通顺,句法有时含有语病,例如缺少介词或者介词不对。 第二:前面几个章节内容惊为天人,满分屠龙术。 第三:书中内容不是实际可以实践的代码,而是高屋建瓴的insight,是经验的总结和理论的归纳。 第四:书中的插图很有亮点。每章的开头第一张路线图代表着曾经走过的路和坑,其余的时间流程图也是清晰易懂。 第五:每章后面的参考文献有些有100多篇,广度很大。学有余力可以选读部分。 第六:这应该是一本需要多刷几次的书籍,一次阅读明显吸收的不够,可能是自身能力还不足以与某些章节的内容共情。
架构整洁之道 year year year year 4星。印象最深的是第34章的【组织形式与封装的区别】,对比了按层封装(水平切分)、按功能切分(垂直切分)、端口与适配器模式(domain聚合)、“组件”封装(组件思维)四种方式的区别。另外的感悟就是,尽量抽象,脱离实现细节,因为细节往往意味着系统边界模糊不清。

Algorithm

算法图解 year year year year 算法入门书籍,有大量图解,拆解算法过程。
算法精粹 year year year year 篇幅短小,深入浅出,思路清晰,代码优秀。是一本很好的算法书籍。不足之处是神经网络这章讲的不够好,反向传播的偏导数的求解过程没说明。神经网络的入门,鱼书明显讲的更加透彻。

Functional Programming

消除函数副作用,支持可重入,这就是函数式编程。

Functional-Light JavaScript year year year year JavaScript 中平衡、实用的 FP。

Design Pattern

设计模式,是为了写出更加简洁高效的代码。

设计模式解析 year year year year 优秀的设计模式入门书籍。

Computer Vision

计算机视觉(CV)。

Creative Coding

创意编程。

代码本色:用编程模拟自然系统 year year year year 一份浪漫的代码艺术,使用 p5.js 模拟自然系统。

UI Design

设计相关,Web 设计、平面设计。

写给大家看的设计书(第4版) year year year year 4大基本原则: 亲密性、对齐、重复、对比。

JavaScript

basic

Web 前端三大语言中的逻辑。TypeScript 是它的强类型编译语言。

JavaScript 高级程序设计(第 4 版) year year year year JavaScript 基础入门书籍,涵盖面很广,可以作为提纲。
JavaScript忍者秘籍(第2版) year year year year 此书中文翻译一定是机器翻译,非常差。原书内容值得五星。非常好的JS进阶书籍。推荐个别章节阅读英文原版。
JavaScript 语言精粹 year year year year 时代的眼泪。它是 ES6 语法之前的 JS 精髓书籍,即使过时但其中一些思路依旧闪烁光芒。
你不知道的 JavaScript(上卷) year year year year js 作用域和闭包,this 和对象原型。
你不知道的 JavaScript(中卷) year year year year 类型和语法,异步和性能。

Testing

The Art of Unit Testing, Third Edition year year year year 1-6章观感很好,代码也很细致。后面的章节开始,就很空泛,因此扣一分。总体而言,还是一本JS描述的讲解单元测试的好书。

framework

JQuery 退位之后,MVC 、MVVM 模式开始交替。现在是 Angular、React、Vue、Svelte、Web Component 时代。

深入浅出 Vue.js year year year year 关于 Vue 2.x 源码设计原理的说明。语言稍微欠缺流畅,部分章节讲解不够透彻。总体而言可以阅读。
Vue.js设计与实现 year year year year 主要内容:响应式(effect收集与触发)、渲染(主要是diff这块,LIS最长递增子序列)、组件化、编译器(AST、上下文无关文法)、同构渲染(hydration)。虽然配套代码也有很大的瑕疵,有些书中的代码也没给出,但整体来看依旧是一本难得的Vue入门书籍。行文风格不错,但偶尔会显得不够简洁,有时一个很简单的事情,文字描述了一大段一大段。还好没有出现狂列表格的国产技术书通病,值得好评。
The Road to learn React year year year year 很好的 React 入门书籍之一。代码规范,语言简洁。描述了版本特性演化、技术选型方案对比。
Learning React 2nd ed. year year year year 入门级别。chapter 6-9,10-11为重点内容,赶时间的可以直接读这几个章节。【优点】:代码例子接地气,大多使用github api,亲切感很足。语言朴素直白,没有废话。【缺点】:配套代码仓库很多章节就是一个readme.md,代码示例全在codesandbox,需要一个一个导出到本地运行调试。部分代码存在bug,需要自行修复才能运行。总体而言,是一本很好的React入门书籍。

CSS

Web 前端三大语言中的样式。此外,还有各种衍生的预处理器。

web-design-in-4-minutes year year year year 一个非常简洁的 CSS 入门启发例子。也许并不需要 4 分钟。
CSS 设计指南 year year year year 很好的 CSS 入门书籍。语言简洁扼要,思路清晰,涵盖响应式设计。
CSS in Depth year year year year CSS 进阶书籍。娓娓道来的 CSS 发展历史,与各个时代下的局限性。
CSS 揭秘 year year year year CSS 特效作品集。内容实用,融数学、艺术、审美于一身。

Java

一个小心翼翼的语言,格式规范,发展比较缓慢。

Java 并发编程实战 year year year year Java 并发编程入门神书,篇幅简洁,代码规范。
Spring 实战(第 4 版) year year year year Spring 4.x 版本,内容涵盖面很广。
Spring in Action (5th edition) year year year year 较好的 Spring 5.0+ 入门书籍。
码出高效:Java 开发手册 year year year year 提纲挈领的 Java 开发好书。
Java 8 实战 year year year year 对 Java8 新特性的细致讲解。
Java攻略 year year year year 本书讲解内容和质量,给三星。配套代码的质量给4星。这本书聚焦于Java 8&9 的日常开发使用,整体上算得上一本合格的入门书籍。跟这本书定位类似的书籍是《Java 实战》,那本书似乎讲解的更加全面。
阿里巴巴 Java 开发手册 year year year year 超级简洁的 Java 开发实践规约,偏实践,可以参考。
Effective Java 中文版(第 3 版) year year year year Java 编程的 90 个经验总结,内容较深。

Go

一门年轻有活力的后端语言。

Go 语言实战 year year year year 优秀的 Go 入门书,涵盖了入门基础、并发模式、标准库介绍、测试。第 2 版在 2023 年出版。
Effective Go:Elegant, efficient, and testable code year year year year 4 星。偏实战,中阶级别。语言有些冗余和跳跃,配套代码只有最终版本。论述主题主要为可测试性、可维护性、协程并发。
Go Web 编程 year year year year 使用 Go 原生内置库进行讲解,配套代码简单易懂。第二章论坛demo模型很有趣。缺点是现在看来有点过时,部分语言不够精炼,部分代码过于随意。
100 Go Mistakes and How to Avoid Them year year year year Not having this book will be your 101st mistake if you are a Gopher. 这本书绝不是一本能轻易吸收消化的书籍,虽然本意是Go语言描述,列举了Go开发时常见的100个误区,但是书中论述的这些经验,同样适用于其他编程领域。这本书,可以被视为Effective XXX系列。

Python

人生苦短,我用 python。

python basic

流畅的Python(第2版) year year year year 本书英文版相关网站:https://www.fluentpython.com/about/ 原书内容很好,但是中文翻译版本语句语法错误较为明显,疑似机翻。推荐未入坑的新人尽量看英文原版,不懂的单词就使用工具翻译来阅读。
Python 工匠 year year year year 优秀的 python 入门书籍之一。
Python Testing with pytest, 2nd Edition year year year year 测试。pytest 的全方位讲解,配套代码循循渐进。
Python Concurrency with asyncio year year year year 神作。并发,并行,多线程,多进程,协程,事件轮询,异步等,尽在此书。
Effective Python year year year year 实用简洁的Python 开发经验总结。不负Effective系列的名称。
Python Cookbook(第3版)中文版 year year year year 中文翻译不够优秀+此书内容少部分过时扣一分。这本书应该出第4版了。中文翻译参考:https://python3-cookbook.readthedocs.io/zh_CN/latest/preface.html 。 8.23“要提领(dereference)一个弱引用,可以像函数一样来调用它。” 这里翻译不够准确,dereference应该翻译为解引用。本书的内容深度还是有的,部分小节的代码特别长,而且偏底层,需要好好啃。它是一本关于python经验总结的进阶书籍。
Python Object-Oriented Programming year year year year . 1-10章都是讲述python基础的,这部分写的很不错,以一个KNN的例子贯穿了全程,非常接地气。 11 & 12 章一共描述了12种设计模式,值得参考。13和14章分别是测试和并发,这两个主题不是一章的篇幅就能讲明白的,我认为是这本书的败笔,可以直接删掉。

python spider

Python3网络爬虫开发实战 第2版 year year year year 这本书总分5星的话,我只给3星。部分章节讲解空泛-1分;全书篇幅过长,语言不够精炼-1分。然而市面上目前将爬虫这个主题写的好的书本少之又少,而此书对于学习爬虫来说,它的大纲指明了一个较为全面的学习目标。因此,将此书列入推荐阅读。

python framework

The Well-Grounded Python Developer year year year year 3星评价。非常偏入门。flask 入门使用?《基于flask的blog系统设计》?看完这本书后,将ch_11的源码标注一下,是一个不错的参考。比较值得留意的一点是,帖子和评论关系的设计,本书推荐了自引用+CTE来处理层级嵌套关系,我觉得反而变复杂了,但是,不可否认,这的确也是一种可行的实践。
Flask Web开发 year year year year flask入门的极佳选择。篇幅简短,内容充实,逐步介绍了一个blog系统的构建。此外,末尾的部署这一个章节也非常不错。

python package

Publishing Python Packages year year year year 开发 python package 的入门参考指南。

deep learning

深度学习入门 year year year year 手把手教你如何从 0 开始搭建一个神经网络。

Web Server

nginx year year year year 简洁的 nginx 入门配置菜谱书。

DataBase

软件世界的基石。

SQL

SQL 基础教程(第 2 版) year year year year SQL 入门书籍。语言严谨,内容充实。
SQL 进阶教程 year year year year SQL 进阶书籍。在这个世界上,无论看起来多么普通的事物,背后总是隐藏着深刻的原理。

key-value

Redis 设计与实现 year year year year Redis 3.x 版本功能说明,含有源码设计原理讲解。

relation

MySQL 必知必会 year year year year 短小精悍的入门导读。
高性能 MySQL( 第 3 版) year year year year 讲解 MySQL 性能优化:字段、查询、索引、配置等。

document based

Container and Cloud

Docker——容器与容器云(第 2 版) year year year year 容器原理解读,深挖源代码和底层设计,内容很有深度。
Kubernetes in Action 中文版 year year year year k8s 入门神书,非常推荐。行文流畅简洁,讲解深入浅出,清晰的架构流程图,知识点覆盖面广,实践性极强。

Code Quality

"Looks Good to Me" year year year year 一本不错的代码评审的指导书。
代码整洁之道 year year year year 本书副标题:程序员的职业素养。
编写可读代码的艺术 year year year year 论述代码可读性的时候会加上小例子,行文简洁流畅。
大话重构 year year year year 语言接地气,Java 语言描述来讲解重构。

IT Culture

来,喝了这碗心灵的 毒鸡汤。一般而言,都不喜欢推荐这类书籍,除非它的确有可取之处。

黑客与画家 year year year year 编程是一门艺术创作,自我驱动,以兴趣为导向的创作往往具有惊人的效果。
只是为了好玩 year year year year 生活是为了追求快乐。
奔跑吧,程序员 year year year year 关于程序重构的这部分讲的非常经典,给我留下了很深的印象,讲解得行云流水。其余部分也还可以。是一本不错的IT杂谈书籍。
我编程,我快乐 year year year year 4星。作者以两种身份:音乐人和程序员的身份论述了对编程职业的思考和探索。每一小章节都给出了一个实际可实施的小练习作为行动指南。但是,缺点也很明显,很多理论并不是那么接地气,水土不服。整体而言,部分观点值得参考,有一定启发。
软件开发者路线图 year year year year 当之无愧的神作。软件开发,学徒到师傅,漫漫长路。在工作需求和自我兴趣驱动之间摇摆抉择,这是一本既看到现实的无奈,依旧像阳光一样给你希望的指导书。不要被速成主义的塞壬歌声诱惑,要坚守阵地。 “只求最差”——寻找一个可以让你成长的团队;“质脆玩具”——跨出技能边界来独立构建完整的软件项目。「学徒是那些愿意接受初级职位从而使学习机会最大化的人,而不是那些往经济收入最大化的职位上拼命攀爬,慢一分钟都不行的人。」空杯心态,漫漫长路,自我评估,持久学习,坚持阅读。附录A的列表整理的很好,非常简要,方便查阅。

API Design

鲜有人认真研究的 API Design 领域。

The Design of Web APIs year year year year 关于 Web API 设计细致的演化讲解。

Game Development

游戏开发。暂时将这部分推荐放于此仓库,后续如果膨胀,应该迁移到game-dev-center。

游戏的设计与开发 year year year year 4星。这本书极具前瞻性(它是03年的),而且内容涵盖面很广,涉及了游戏开发的各个方面。语言描述点到即止,不拖泥带水,因此篇幅仅300多页。它是一本很好的游戏开发理论指导书。最后,引用书中这段话作为结束——"我们的少年时代都做过很多梦,很多温馨的梦。在梦里梦见所爱但现实中得不到的东西,和所爱但现实中怯于亲近的人。但每次从梦中醒来时,又要忍受那种得到后又失去的怅惘和失落。但少年的希望总是有,少年总是坚信他的梦将来可以成为现实。于是虽然生活本身并不如意,少年的梦还是做下去,不断地做下去。直到随着年龄的增长,少年明白梦已经不太可能成为现实了。他的梦也就逐渐减少,乃至消亡了。而游戏是少年的梦的延续,它保持我们梦想的能力,短暂延缓它的消亡"。
百万在线 year year year year 最多给3星评价。3,4,8,9,10,11这几章还算言之有物。缺点:水图和字数太多,知识密度过低。内容深度也比较浅。但是,国内写这个方向的书籍似乎不是很多,作为游戏开发科普入门而言,此书也还算可以。最后,书名“百万在线”名不副实,还是务实一点吧。
游戏编程模式 year year year year 此书基于游戏开发情境,对传统GoF的设计模式进行了独特的阐述。每一个设计模式都是以固定的行文结构进行说明:动机、设计模式概述、使用情境、使用须知、示例代码(C++描述)、设计决策、参考。虽然并没有进入更深入的探讨,但是对于扩展对设计模式的认识和理解,应当是有益的。值得一读。

Writing

写作相关。

英语写作手册:风格的要素 year year year year 4星。篇幅简短实用。

Thinking

思考人生与生活。

心流——最优体验心理学 year year year year 行动式生活、内心的秩序。这本书其实讲的是如何自得其乐,或者发现人生的快乐。
People Powered year year year year 社区应该是人们有共同需求或兴趣的中心。社区有共同的利益追求。此书电子版仅190页,很薄,因此语言简洁,没有废话。书中有些主题的分点论述很好,得到了启发。总之,这是一本关于互联网社区构建的好书。