Skip to content

Latest commit

 

History

History
599 lines (281 loc) · 24.6 KB

README_SOURCE.md

File metadata and controls

599 lines (281 loc) · 24.6 KB

awesome-programming-resources

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

Math

novel

数学女孩

梦开始的地方。其实是披着小说外衣的数学证明题集,但有着一种独特的浪漫。可能这就是轻小说的魅力吧。y2016 p327 LL topic: 数学


数学女孩 2

第二季。守关 BOSS 是费马大定理。y2015 p368 LH topic: 费马大定理


数学女孩 3

第三季。守关 BOSS 是哥德尔不完备定理。y2017 p406 LH topic: 哥德尔不完备定理


数学女孩 4

第四季。主要讲随机算法。y2019 p504 LL topic: 随机算法

academics

数学分析八讲(修订版)

一份简洁的数学分析介绍。Y2015 P175 LM topic: 数学分析


简单微积分

好奇心能在正规教育中幸存下来,是一种奇迹。这本书没有苏联式教科书那种刻板的教学描述,而是拆解到具体的例子,揭示平易近人的微积分本质。Y2018 P213 LL topic: 微积分

Version Control System

精通 Git(第 2 版)

Git 版本控制的入门书,由浅入深,可以酌情阅读。y2017 p420 LL topic: Git 版本控制


Git团队协作 (豆瓣)

各个章节之间的质量良莠不齐、语言不够简洁精炼、内容重复度较高。比较有价值的是第6、7章,推荐重点关注,其他章节内容一般。y2017 p268 LL topic: Git 工作流

Open Source

开源软件指南

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

App Development

Desktop App

Electron in Action

关于 Electron 实战的一本务实落地的书籍。配套代码基本可运行。y2018 p376 LL topic:Electron


Create GUI Applications with Python & Qt6 (PySide6 Edition)

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

Mobile App

DevOps

DevOps 实践指南

运维相关经验之谈。y2018 p328 LL topic:DevOps

System Design

数据密集型应用系统设计

总体评价,圣经。第一:中文翻译不是很理想,句子不通顺,句法有时含有语病,例如缺少介词或者介词不对。 第二:前面几个章节内容惊为天人,满分屠龙术。 第三:书中内容不是实际可以实践的代码,而是高屋建瓴的insight,是经验的总结和理论的归纳。 第四:书中的插图很有亮点。每章的开头第一张路线图代表着曾经走过的路和坑,其余的时间流程图也是清晰易懂。 第五:每章后面的参考文献有些有100多篇,广度很大。学有余力可以选读部分。 第六:这应该是一本需要多刷几次的书籍,一次阅读明显吸收的不够,可能是自身能力还不足以与某些章节的内容共情。Y2018 P519 LH topic: 系统设计


架构整洁之道

4星。印象最深的是第34章的【组织形式与封装的区别】,对比了按层封装(水平切分)、按功能切分(垂直切分)、端口与适配器模式(domain聚合)、“组件”封装(组件思维)四种方式的区别。另外的感悟就是,尽量抽象,脱离实现细节,因为细节往往意味着系统边界模糊不清。Y2018 P348 LM topic: 软件架构

Algorithm

算法图解

算法入门书籍,有大量图解,拆解算法过程。Y2017 P196 LL topic: 算法基础


算法精粹

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

Functional Programming

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

Functional-Light JavaScript

JavaScript 中平衡、实用的 FP。Y2017 P388 LM topic: 函数式编程

Design Pattern

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

设计模式解析

优秀的设计模式入门书籍。Y2006 P296 LL topic: 设计模式

Computer Vision

计算机视觉(CV)。

Creative Coding

创意编程。

代码本色:用编程模拟自然系统

一份浪漫的代码艺术,使用 p5.js 模拟自然系统。Y2014 P401 LL topic: 自然模拟

UI Design

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

写给大家看的设计书(第4版)

4大基本原则: 亲密性、对齐、重复、对比。Y2016 P252 LL topic:平面设计

JavaScript

basic

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

JavaScript 高级程序设计(第 4 版)

JavaScript 基础入门书籍,涵盖面很广,可以作为提纲。Y2020 P888 LL topic:JavaScript 基础


JavaScript忍者秘籍(第2版)

此书中文翻译一定是机器翻译,非常差。原书内容值得五星。非常好的JS进阶书籍。推荐个别章节阅读英文原版。Y2018 P448 LM topic: JavaScript 基础


JavaScript 语言精粹

时代的眼泪。它是 ES6 语法之前的 JS 精髓书籍,即使过时但其中一些思路依旧闪烁光芒。y2012 p155 LL topic:JavaScript 基础


你不知道的 JavaScript(上卷)

js 作用域和闭包,this 和对象原型。y2015 p195 LH topic:JavaScript 原型链


你不知道的 JavaScript(中卷)

类型和语法,异步和性能。y2016 p358 LH topic:JavaScript 异步

Testing

The Art of Unit Testing, Third Edition

1-6章观感很好,代码也很细致。后面的章节开始,就很空泛,因此扣一分。总体而言,还是一本JS描述的讲解单元测试的好书。Y2021 P325 LL topic: JavaScript 测试

framework

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

深入浅出 Vue.js

关于 Vue 2.x 源码设计原理的说明。语言稍微欠缺流畅,部分章节讲解不够透彻。总体而言可以阅读。y2019 p282 LM topic:Vue 2.x 原理


Vue.js设计与实现

主要内容:响应式(effect收集与触发)、渲染(主要是diff这块,LIS最长递增子序列)、组件化、编译器(AST、上下文无关文法)、同构渲染(hydration)。虽然配套代码也有很大的瑕疵,有些书中的代码也没给出,但整体来看依旧是一本难得的Vue入门书籍。行文风格不错,但偶尔会显得不够简洁,有时一个很简单的事情,文字描述了一大段一大段。还好没有出现狂列表格的国产技术书通病,值得好评。Y2022 P501 LM topic: Vue 3.x 原理


The Road to learn React

很好的 React 入门书籍之一。代码规范,语言简洁。描述了版本特性演化、技术选型方案对比。y2017 p197 LL topic:React 入门


Learning React 2nd ed.

入门级别。chapter 6-9,10-11为重点内容,赶时间的可以直接读这几个章节。【优点】:代码例子接地气,大多使用github api,亲切感很足。语言朴素直白,没有废话。【缺点】:配套代码仓库很多章节就是一个readme.md,代码示例全在codesandbox,需要一个一个导出到本地运行调试。部分代码存在bug,需要自行修复才能运行。总体而言,是一本很好的React入门书籍。Y2020 P300 LL topic: React 入门

CSS

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


web-design-in-4-minutes

一个非常简洁的 CSS 入门启发例子。也许并不需要 4 分钟。y2018 p8 LL topic:CSS 演示


CSS 设计指南

很好的 CSS 入门书籍。语言简洁扼要,思路清晰,涵盖响应式设计。y2013 p288 LL topic:CSS 基础


CSS in Depth

CSS 进阶书籍。娓娓道来的 CSS 发展历史,与各个时代下的局限性。Y2017 P500 LL topic:CSS 修炼


CSS 揭秘

CSS 特效作品集。内容实用,融数学、艺术、审美于一身。 y2016 p260 LL topic:CSS 特效集

Java

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


Java 并发编程实战

Java 并发编程入门神书,篇幅简洁,代码规范。Y2020 P293 LM topic:Java并发


Spring 实战(第 4 版)

Spring 4.x 版本,内容涵盖面很广。y2016 p577 LL topic:Spring 4.x


Spring in Action (5th edition)

较好的 Spring 5.0+ 入门书籍。Y2018 P520 LL topic:Spring 5.x


码出高效:Java 开发手册

提纲挈领的 Java 开发好书。Y2018 P304 LL topic:Java 经验


Java 8 实战

对 Java8 新特性的细致讲解。Y2016 P349 LL topic:Java 8 基础


Java攻略

本书讲解内容和质量,给三星。配套代码的质量给4星。这本书聚焦于Java 8&9 的日常开发使用,整体上算得上一本合格的入门书籍。跟这本书定位类似的书籍是《Java 实战》,那本书似乎讲解的更加全面。Y2018 P248 LL topic: Java 8&9 基础


阿里巴巴 Java 开发手册

超级简洁的 Java 开发实践规约,偏实践,可以参考。Y2018 P112 LL topic:Java 经验


Effective Java 中文版(第 3 版)

Java 编程的 90 个经验总结,内容较深。y2018 p311 LH topic:Java 经验

Go

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


Go 语言实战

优秀的 Go 入门书,涵盖了入门基础、并发模式、标准库介绍、测试。第 2 版在 2023 年出版。Y2017 P224 LL topic:Go 基础


Effective Go:Elegant, efficient, and testable code

4 星。偏实战,中阶级别。语言有些冗余和跳跃,配套代码只有最终版本。论述主题主要为可测试性、可维护性、协程并发。Y2023 P300+ LM topic:Go 修炼


Go Web 编程

使用 Go 原生内置库进行讲解,配套代码简单易懂。第二章论坛demo模型很有趣。缺点是现在看来有点过时,部分语言不够精炼,部分代码过于随意。Y2017 P304 LL topic:Go Web


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系列。Y2022 P384 LM topic:Go 修炼

Python

人生苦短,我用 python。

python basic

流畅的Python(第2版)

本书英文版相关网站:https://www.fluentpython.com/about/ 原书内容很好,但是中文翻译版本语句语法错误较为明显,疑似机翻。推荐未入坑的新人尽量看英文原版,不懂的单词就使用工具翻译来阅读。Y2023 P736 LM topic: Python 基础


Python 工匠

优秀的 python 入门书籍之一。Y2022 P382 LL topic:Python 基础


Python Testing with pytest, 2nd Edition

测试。pytest 的全方位讲解,配套代码循循渐进。Y2022 P274 LL topic:Python 测试


Python Concurrency with asyncio

神作。并发,并行,多线程,多进程,协程,事件轮询,异步等,尽在此书。Y2021 P325 LM topic:Python 并发


Effective Python

实用简洁的Python 开发经验总结。不负Effective系列的名称。Y2021 P388 LM topic:Python 修炼


Python Cookbook(第3版)中文版

中文翻译不够优秀+此书内容少部分过时扣一分。这本书应该出第4版了。中文翻译参考:https://python3-cookbook.readthedocs.io/zh_CN/latest/preface.html 。 8.23“要提领(dereference)一个弱引用,可以像函数一样来调用它。” 这里翻译不够准确,dereference应该翻译为解引用。本书的内容深度还是有的,部分小节的代码特别长,而且偏底层,需要好好啃。它是一本关于python经验总结的进阶书籍。y2015 p684 LM topic: Python 修炼


Python Object-Oriented Programming

配套代码的 github 地址. 1-10章都是讲述python基础的,这部分写的很不错,以一个KNN的例子贯穿了全程,非常接地气。 11 & 12 章一共描述了12种设计模式,值得参考。13和14章分别是测试和并发,这两个主题不是一章的篇幅就能讲明白的,我认为是这本书的败笔,可以直接删掉。y2021 p714 LM topic: Python OOP

python spider

Python3网络爬虫开发实战 第2版

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

python framework

The Well-Grounded Python Developer

3星评价。非常偏入门。flask 入门使用?《基于flask的blog系统设计》?看完这本书后,将ch_11的源码标注一下,是一个不错的参考。比较值得留意的一点是,帖子和评论关系的设计,本书推荐了自引用+CTE来处理层级嵌套关系,我觉得反而变复杂了,但是,不可否认,这的确也是一种可行的实践。y2023 P375 LL topic: flask 应用


Flask Web开发

flask入门的极佳选择。篇幅简短,内容充实,逐步介绍了一个blog系统的构建。此外,末尾的部署这一个章节也非常不错。y2018 p228 LL topic: flask 应用

python package


Publishing Python Packages

开发 python package 的入门参考指南。Y2022 P275 LL topic:Python Package开发


deep learning


深度学习入门

手把手教你如何从 0 开始搭建一个神经网络。Y2018 P285 LL topic:深度学习:基础

Web Server

nginx

简洁的 nginx 入门配置菜谱书。Y2016 P250 LL topic:Nginx 基础

DataBase

软件世界的基石。

SQL

SQL 基础教程(第 2 版)

SQL 入门书籍。语言严谨,内容充实。y2017 p336 LL topic:SQL 基础


SQL 进阶教程

SQL 进阶书籍。在这个世界上,无论看起来多么普通的事物,背后总是隐藏着深刻的原理。Y2017 P316 LM topic:SQL 修炼


key-value

Redis 设计与实现

Redis 3.x 版本功能说明,含有源码设计原理讲解。y2014 p388 LH topic:Redis 基础

relation

MySQL 必知必会

短小精悍的入门导读。y2009 p241 LL topic:MySQL 基础


高性能 MySQL( 第 3 版)

讲解 MySQL 性能优化:字段、查询、索引、配置等。Y2013 P764 LM topic:MySQL 性能

document based

Container and Cloud

Docker——容器与容器云(第 2 版)

容器原理解读,深挖源代码和底层设计,内容很有深度。y2016 p472 LH topic:Docker 源码


Kubernetes in Action 中文版

k8s 入门神书,非常推荐。行文流畅简洁,讲解深入浅出,清晰的架构流程图,知识点覆盖面广,实践性极强。Y2019 P592 LL topic:K8s 基础

Code Quality

"Looks Good to Me"

一本不错的代码评审的指导书。Y2024 P265 LL topic: 代码评审


代码整洁之道

本书副标题:程序员的职业素养。y2016 p170 LL topic:代码质量


编写可读代码的艺术

论述代码可读性的时候会加上小例子,行文简洁流畅。 y2012 p240 LL topic:代码质量


大话重构

语言接地气,Java 语言描述来讲解重构。y2014 p268 LL topic:代码重构

IT Culture

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

黑客与画家

编程是一门艺术创作,自我驱动,以兴趣为导向的创作往往具有惊人的效果。Y2011 P264 LL topic:IT 人文杂谈


只是为了好玩

生活是为了追求快乐。y2014 p255 LL topic:IT 人文杂谈


奔跑吧,程序员

关于程序重构的这部分讲的非常经典,给我留下了很深的印象,讲解得行云流水。其余部分也还可以。是一本不错的IT杂谈书籍。y2018 p376 LL topic: IT 人文杂谈


我编程,我快乐

4星。作者以两种身份:音乐人和程序员的身份论述了对编程职业的思考和探索。每一小章节都给出了一个实际可实施的小练习作为行动指南。但是,缺点也很明显,很多理论并不是那么接地气,水土不服。整体而言,部分观点值得参考,有一定启发。y2010 p202 LL topic:IT 人文杂谈


软件开发者路线图

当之无愧的神作。软件开发,学徒到师傅,漫漫长路。在工作需求和自我兴趣驱动之间摇摆抉择,这是一本既看到现实的无奈,依旧像阳光一样给你希望的指导书。不要被速成主义的塞壬歌声诱惑,要坚守阵地。 “只求最差”——寻找一个可以让你成长的团队;“质脆玩具”——跨出技能边界来独立构建完整的软件项目。「学徒是那些愿意接受初级职位从而使学习机会最大化的人,而不是那些往经济收入最大化的职位上拼命攀爬,慢一分钟都不行的人。」空杯心态,漫漫长路,自我评估,持久学习,坚持阅读。附录A的列表整理的很好,非常简要,方便查阅。y2010 P185 LL topic: 软件开发职业规划

API Design

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

The Design of Web APIs

关于 Web API 设计细致的演化讲解。Y2019 P392 LL topic:API设计

Game Development

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

游戏的设计与开发

4星。这本书极具前瞻性(它是03年的),而且内容涵盖面很广,涉及了游戏开发的各个方面。语言描述点到即止,不拖泥带水,因此篇幅仅300多页。它是一本很好的游戏开发理论指导书。最后,引用书中这段话作为结束——"我们的少年时代都做过很多梦,很多温馨的梦。在梦里梦见所爱但现实中得不到的东西,和所爱但现实中怯于亲近的人。但每次从梦中醒来时,又要忍受那种得到后又失去的怅惘和失落。但少年的希望总是有,少年总是坚信他的梦将来可以成为现实。于是虽然生活本身并不如意,少年的梦还是做下去,不断地做下去。直到随着年龄的增长,少年明白梦已经不太可能成为现实了。他的梦也就逐渐减少,乃至消亡了。而游戏是少年的梦的延续,它保持我们梦想的能力,短暂延缓它的消亡"。y2003 P476 LL topic: 游戏开发科普


百万在线

最多给3星评价。3,4,8,9,10,11这几章还算言之有物。缺点:水图和字数太多,知识密度过低。内容深度也比较浅。但是,国内写这个方向的书籍似乎不是很多,作为游戏开发科普入门而言,此书也还算可以。最后,书名“百万在线”名不副实,还是务实一点吧。y2021 P339 LL topic: 游戏开发经验


游戏编程模式

此书基于游戏开发情境,对传统GoF的设计模式进行了独特的阐述。每一个设计模式都是以固定的行文结构进行说明:动机、设计模式概述、使用情境、使用须知、示例代码(C++描述)、设计决策、参考。虽然并没有进入更深入的探讨,但是对于扩展对设计模式的认识和理解,应当是有益的。值得一读。y2016 p306 LM topic: 游戏开发模式

Writing

写作相关。

英语写作手册:风格的要素

4星。篇幅简短实用。Y2016 P125 LL topic: 英文写作风格

Thinking

思考人生与生活。

心流——最优体验心理学

行动式生活、内心的秩序。这本书其实讲的是如何自得其乐,或者发现人生的快乐。Y2017 P381 LL topic: 心理学


People Powered

社区应该是人们有共同需求或兴趣的中心。社区有共同的利益追求。此书电子版仅190页,很薄,因此语言简洁,没有废话。书中有些主题的分点论述很好,得到了启发。总之,这是一本关于互联网社区构建的好书。y2019 P320 LL topic: 社区建设