Skip to content

四火的唠叨

一个纯正程序员的啰嗦

Menu
  • 所有文章
  • About Me
  • 关于四火
  • 旅行映像
  • 独立游戏
  • 资源链接
Menu

资源链接

  • 1 书籍推荐
  • 2 零散资源
    • 2.1 系统
    • 2.2 平台、框架和库
    • 2.3 设计
    • 2.4 前端
    • 2.5 编程语言
    • 2.6 算法
    • 2.7 综合
    • 2.8 其它

书籍推荐

这个书单我在不断更新。有一些书名头响亮,有一些书写得精彩,但未必值得推荐。我只推荐觉得特别精彩、很有帮助且颇有推荐价值的书。

  • 《Thinking C++》:由浅入深,其他不解释,虽然工作以后一直不写 C++代码,不过这本书的影响一直存在。
  • 几本 “effective” 的书:《Effective C++》《Effective STL》《Effective Java》。从原理上面入手,这些书对于赋予一个良好的代码习惯颇有助益。
  • 《JSP2.0 技术手册》和 《Spring 2.0 技术手册》:前者是我在大学时期刚开始学 JavaEE 的时候看的书,用来入门最好了。后者也是我学习 Spring 没多久后看的书,二者都包含很多例子,适合在系统阅读以后按需翻阅查询参考。
  • 《jQuery 实战》:对于当时的我来说,JavaScript 入门不久,而 jQuery 也是初涉疆场,它作为描述详尽的一本书,很适合阅读学习,之后可以放在手边查阅。
  • 《Grails 权威指南》:拿这本书学习 Grails 是最好的了,这也是国内最早的一批 GoG 的图书。当时我也是 Groovy 中国论坛的总斑竹,书的译者之一在它的学习上面给了我不少帮助。
  • 《Head First 设计模式》:学习设计模式看这本书入手比那本 Gang of 4 的经典图书要实用得多,行文极其浅显易懂,例子很有趣和幽默。至今我都认为,许多艰深的经典书籍,空有名声而已,即便能把道理阐述,但是如果不清不楚、无法消化,实在是弊大于利的。
  • 《从一到无穷大》:科学中的事实和臆测:科学,特别是数学方面,开阔眼界和理性思维的启蒙读物。
  • 《Unix 编程艺术》:了解 Unix 的发展史,了解一些至今影响着软件设计的 Unix 设计思想。从中我可以看到,当今的软件设计,处处透露着 Unix 的影子。
  • 《计算机网络》:是谢希仁的书,很多大学都拿来做教材了。我的网络基础就是从这本书开始打下的。作为软件工程师,网络基础务必打扎实。在毕业以后几年,我还经常翻出来温故知新。
  • 《算法导论》:书是挺厚的,但是对于想系统了解算法的人来说再合适不过了,问题的描述和解析都非常详尽。对于已经有一定算法基础的人来说,确实不需要每个章节都阅读,但是依然需要耐心。不过正如书名,这本书阅读之后,再去阅读算法的进阶书籍。
  • 《浪潮之巅》:了解 IT 产业进化史,了解 IT 各大公司潮起潮落的好书,很大气,我很喜欢。
  • 《白帽子讲 web 安全》:系统了解互联网安全,实战的好书。
  • 《七周七语言:理解多种编程范型》:了解几种编程范型的好书,有介绍,也有实践。我也是因为看了这本书才去接触 Io 语言的。
  • 《Rework》:整本书都在宣扬 37Signals 的价值观,我很喜欢。你可以看看我总结的这个摘录。后来有一本类似风格的书,叫做《Remote》,我看的是电子版。
  • 《数学之美》:适合我这种数学基础不很优秀的程序员。如果你觉得数学乏味,那多半是教材和老师的问题,不是你的问题。有些遗憾的是这个道理直到我工作几年后才懂得。
  • 《深入理解 Java 虚拟机》:很实战,中文的 JVM 介绍的书本来也没几本,还有一本是 《深入 Java 虚拟机》,出了好几个版本,我看的是第二版,现在好像都没得卖了。
  • 《大败局》:目前有 I 和 II。了解中国的经济和企业,这本书非常值得推荐。故事很精彩,有句话说得好,成功的人总是不一样的,但是失败的人你总能总结出一些共性。相比于各种成功学和心灵鸡汤,看这些失败的企业案例很有触动。
  • 《Hadoop In Action》:学习 Hadoop 正儿八经看的第一本书,我当时看的是电子版。另外,这本书已经出过若干个版本了,看的时候记得找最新的,因为 Hadoop 的版本也在升级。
  • 《Java 并发编程实战》:原著是《Java Concurrency in Practice》,基本是最好的系统介绍 Java 并发的书了。
  • 《代码的未来》:松本行弘的大作,书名有点标题党,但是 Go/Dart/CoffeeScript/Lua……对于了解各种各样的程序语言和编程范式大有裨益。他还有一本出得更早的书,我也看了,叫做《松本行弘的程序世界》,讲的内容比较杂,但是对我来说,最大收获是介绍的一些编程范型。
  • 《思考的乐趣》:非常喜欢的一本介绍数学的书,都是很有乐趣的问题,有许多问题的证明简直让人拍案叫绝。有一些过往的疑惑得到了解答和串联。国庆期间看完了这本书,再次感慨,数学真的太有意思了。另,作者的网站在这里。
  • 《Don’t Make Me Think》:产品设计的必读图书,也有中文版卖。这本书的最大好处在于篇章短小而且图文并茂,每看一小点都会有思考,很适合零散时间阅读和思考。
  • 《大型网站技术架构:核心原理与案例分析》:这本书其实对如今的我来说其实没有太多新东西,但是很系统,帮我回顾和整理了这些知识。
  • 《大数据时代:生活、工作与思维的大变革》:科普大数据用,视野宽阔。非程序员也可以看得懂。
  • 加来道雄的两本物理学科普书籍:《超越时空:通过平行宇宙、时间卷曲和第十维度的科学之旅》和《物理学的未来》,加来道雄是最好的物理学科普作家。对物理的了解是兴趣使然,读书的时候就很喜欢。
  • 《J2EE Development without EJB》:这本书看得比较早了,但是里面有很多观点我还记忆犹新。对于刚接触 JavaEE 的程序员来说,这本可以说是必读书。
  • 《时间简史》和 《果壳中的宇宙》,这两本书都是史蒂芬·霍金的大作,也都是吴忠超翻译的版本,倘若你和我一样对天体物理和宇宙论之类的东西感兴趣,你一定读过它们。虽说图文并茂,但是很多内容理解起来都很不容易。
  • 《大规模分布式存储系统: 原理解析与架构实战》:这本书是我了解和学习分布式存储的正儿八经的第一本书,作者是阿里巴巴的工程师。有的部分看了几遍,因为并不好懂,但是整本书尤其是前半部分还是非常具有知识普及价值的,对于学习分布式没多久的同学可以买下来阅读,碰到行文简略的部分自己再上网去找资料。
  • 《全世界人民都知道》,李承鹏(大眼)的杂文集,在中国我不喜欢谈论那些敏感话题,但是也有例外。最近这几年,我想我们比任何时候都更想看清人和尊严,看清这个国家和民族。
  • 《Learning Spark: Lightning-Fast Big Data Analysis》,详细的 Spark 入门读物,我学 Spark 的第一本书。
  • 《上帝掷骰子吗——量子物理史话》,最好的量子物理历史科普书籍,关于科学历史的书其实不多。当然,主要是讲历史,其次才是科普。
  • 《Java 性能优化权威指南》,比较系统地介绍 Java 性能优化的各个方面,而且很务实。
  • 《腾讯传》,吴晓波写的经济书籍总是让我这样的外行很有兴趣阅读。这本书里面最精彩的部分,是了解腾讯怎样在这个互联网野蛮生长的国度,和各种各样的对手,用怎样的手腕和技巧,斗争、革命,并生存下来,发展壮大。要读懂中国互联网,不读腾讯是不行的。
  • 《JavaScript 异步编程:设计快速响应的网络应用》,整本书只有一百页多一点,但是是对 JavaScript 异步编程很好的指导性书籍。好书不一定厚,边查资料边阅读,这本我看了两遍。
  • 《那些古怪又让人忧心的问题》,这本书讲的是那些奇思妙想的问题,用 “正儿八经” 的幽默和科学的方式解读。就像机器猫里面的 “假如” 电话亭,涉及面很广,其中总有一些内容让你感觉眼前一亮 。
  • 《芯片战争》,作为一个芯片爱好者,这本书是不能错过的,尤其是在如今这个不断听到 “卡脖子” 说法的时代,世界的芯片战场打起了这场没有硝烟的战争。
  • 《AI·未来》,这本书作为对于 AI 浅显的普及还不错,泛泛而谈居多,深度略差一点。
  • 《置身事内》,讲中国经济,在中国大地生活了几十年,但是读了书我才知道,我对中国经济了解甚少,这本书给我普及了不少知识。
  • 《人口战略》,携程创始人梁建章的大作,他在几年前写过《人口创新力 : 大国崛起的机会与陷阱》,其中的数个 “预言” 都得到了实现。中国的人口问题形势极其严峻,这本书是很好的拨开迷雾解释其中状况的书。

零散资源

系统

  • GitHub project: system-design-interview; How to answer a system design question: link
  • In-Process Caching vs. Distributed Caching
  • Visual Guide to NoSQL Systems
  • Distributed systems: for fun and profit
  • NoSQL 数据库笔谈
  • select / poll / epoll: practical difference for system architects
  • Layers vs. Tiers
  • Papers, more are here:
    • Dynamo: Amazon’s Highly Available Key-value Store
    • The Google File System
    • MapReduce: Simplified Data Processing on Large Clusters
    • Bigtable: A Distributed Storage System for Structured Data
    • Brewer’s CAP Theorem
  • TCP State Machine,另一个版本:TCP connection status
  • 分布式系统的事务处理
  • Top 5 Mistakes to Avoid When Writing Apache Spark Applications
  • Turning the Tables on Disk I/O, Oracle SQL tuning – Tune individual SQL statements
  • A Distributed Systems Reading List
  • The Availability Digest Article Archive
  • 缓存更新的套路
  • Difference between binary semaphore and mutex
  • What is the difference between a process and a thread?
  • Scalability Availability Stability Patterns
  • Scalable Web Architecture and Distributed Systems
  • System Design Study Group
  • 分布式系统领域经典论文翻译集
  • High Scalability – All Time Favorites
  • Optimizing web servers for high throughput and low latency
  • System Design Interview:YouTube 的频道,里面有针对多个典型系统类型的系统设计
  • 微信 “揭秘” 文章:微信朋友圈技术之道:三个人的后台团队与每日十亿的发布量,从无到有:微信后台系统的演进之路
  • 如何打造千万级 Feed 流系统
  • 微博平台分布式存储系列–Sharding With Mysql(上)
  • GFS — 取舍的艺术
  • 分布式系统学习资料

平台、框架和库

  • Tuning Spark
  • Cassandra partition key, composite key 和 clustering key 的区别
  • Spring annotations cheat sheet
  • Alexey Grishchenko: Spark Architecture, Spark Architecture: Shuffle, Spark Memory Management
  • Comparison between 4 actor frameworks
  • WSL vs Cygwin
  • Hyper-V vs WSL2
  • Understanding Docker Storage Drivers: Choosing the Right Option for Your Needs
  • 【译】从零开始编写一个时序数据库(原文找不到了)
  • Terraform vs Ansible: Key Differences and Comparison of Tools

设计

  • 101 Design Patterns & Tips for Developers
  • Anti Patterns

前端

  • Angular: “Thinking in AngularJS” if I have a jQuery background?, Angular-Design-Patterns-Best-Practices, Anti Patterns
  • slides comparing ngRoute to ui-router
  • Best Practices for Speeding Up Your Web Site
  • Browser compatibility: ECMAScript compatability table, Can I use…
  • jQuery Cheatsheet
  • Text Escaping and Unescaping in JavaScript
  • Graphism.fr: interesting games for designers
  • jQuery 中的 bind(), live(), on(), delegate()
  • A comparison of the two-way binding in AngularJS, EmberJS and KnockoutJS by Marius Gundersen
  • Is Angular.js or Ember.js the better choice for JavaScript frameworks?
  • Flux Comparison by Example
  • React/Flux/Redux Pros, Cons, and Discussion
  • React Examples
  • ECMAScript 6 Features
  • ECMAScript 6,让我们启程吧
  • Getting Started with Redux
  • Awesome Redux

编程语言

  • Haskell 趣学指南,Haskell 之难,难于上青天,相较而言,我觉得它是化繁为简,最好的 Haskell 上手读物
  • adit.io,有不少关于 Haskell 的漫画
  • 悟透 JavaScript,对于要修行 JavaScript 的初级程序员来说,强烈推荐
  • 论面向组合子程序设计方法,里面对 log 对象面向组合子的设计这个例子,写得太好了
  • The principal programming paradigms,编程范型一览
  • Programming languages,Git Hub 上各种编程语言的 show case
  • A Scala Tutorial for Java Programmers,像我这种多年 Java 经验的上手 Scala,看这个就好了,一边比较,一边熟悉。配套还有这个,Scala for Java programmers – Joakim Ohlrogge & Enno Runne,Youtube 上的视频,很直观
  • Scala Functions vs Methods, Difference between method and function in Scala
  • Coroutine vs Continuation vs Generator
  • regular expressions cheat sheet
  • java8 best practices cheat sheet
  • java8 streams cheat sheet
  • Python Anti-Patterns
  • Kotlin: let, run, with, apply, and also (another link)

算法

  • Cracking the coding interview– 问题与解答
  • KHAN ACADEMY
  • 背包问题九讲
  • 几个图的基本算法:
    • 最小生成树:Prim、Kruskal;
    • 最短路径:Dijkstra、Bellman-Ford、Floyd–Warshall、A*;
  • Big-O Cheat Sheet
  • 数据结构 – 哈夫曼树
  • Data Structure Visualizations:一些常见的算法都有动态的动画效果,这个很厉害。
  • Tarjan 算法:Tarjan 算法:求解图的割点与桥(割边)

综合

  • free-programming-books
  • Awesome:各种 “awesome” 的项目、技巧、教程,有名的无名的,都有
  • Xah Code:各种颇有价值的教程
  • Oh My Zsh
  • GIT CHEAT SHEET
  • YUM COMMAND CHEAT SHEET
  • SQL cheat sheet
  • Most Important Penetration Testing commands Cheat Sheet for Linux Machine
  • other cheat sheets
  • vi Editor “Cheat Sheet”
  • Vim Cheat Sheet for Programmers
  • Eclipse Shortcuts
  • Bourne shell idioms
  • The Art of SLOs (Participate Handbook)

其它

  • 果壳小组:死理性派
  • 科学松鼠会:what-if
  • Dango 自驾游
  • 记忆钢琴键位和五线谱
  • 足球道中道
  • 英超观詹·精华、英超观詹·风云
  • MFN、MOTD 等电视节目也常在互联网上找到字幕组的贡献,GoalHi 字幕组,FTR 字幕组,新浪英超视频,曼联官方电视台
  • ESPN FC

10 thoughts on “资源链接”

  1. https://umlcn.com says:
    11/20/2024 at 1:21 AM

    这个资源链接太全了

    Reply
  2. Anonymous says:
    12/12/2018 at 4:25 PM

    看到记忆钢琴键位和五线谱会心一笑

    Reply
  3. Jesse says:
    09/03/2018 at 8:29 AM

    发现火哥的大火山,以后得多来看看

    Reply
  4. Starwave Lin says:
    08/21/2017 at 1:00 AM

    博主地方内容丰富。报告个错别字 Hadoop in Action 这段中 “这本书已经出国若干个版本了” 应做 这本书已经出过若干个版本了

    Reply
  5. 找自己 says:
    08/12/2015 at 3:56 PM

    居然看了这么多书,膜拜中。。。差距不是一天两天形成的啊

    Reply
  6. EricSun says:
    01/15/2015 at 10:04 AM

    有理想 有抱负 , 火哥好

    Reply
  7. 郑州seo says:
    04/19/2014 at 5:51 PM

    贵站做的也是站群?小站群啊。学习了。不过我编程有点弱。

    Reply
  8. 阿J小虫 says:
    06/13/2013 at 8:18 PM

    惭愧,我是平庸的工作多年的码农,虽然也装模作样弄了个自己的博客,但技术水平很不值得一提,看到你的博客,订阅了,坚持学习

    Reply
  9. JackyChen says:
    04/15/2013 at 11:30 PM

    您好,看了您几篇文章,非常的受教!非常感谢!

    Reply
  10. 爱软E says:
    12/05/2012 at 11:46 AM

    可以和贵站叫唤个友情链接吗

    Reply

Leave a Reply to Anonymous Cancel reply

Your email address will not be published. Required fields are marked *

订阅·联系

四火,啰嗦的程序员一枚,现居西雅图

Amazon Google Groovy Hadoop Haskell Java JavaScript LeetCode Oracle Python Spark 互联网 前端 华为 历史 同步 团队 图解笔记 基础设施 工作 工作流 工具 工程师 应用系统 异步 微博 思考 技术 数据库 曼联 测试 生活 程序员 管理 系统设计 缓存 编码 编程范型 英语 西雅图 设计 评审 问题 面试 项目

分类

  • Algorithm and Data Structure (30)
  • Concurrency and Asynchronization (6)
  • System Architecture and Design (43)
  • Distributed System (18)
  • Tools Frameworks and Libs (13)
  • Storage and Data Access (8)
  • Front-end Development (33)
  • Programming Languages and Paradigms (55)
  • Testing and Quality Assurance (4)
  • Network and Communication (6)
  • Authentication and Authorization (6)
  • Automation and Operation Excellence (13)
  • Big Data and Machine Learning (5)
  • Product Design (7)
  • Hiring and Interviews (14)
  • Project and Team Management (14)
  • Engineering Culture (17)
  • Critical Thinking (25)
  • Career Growth (57)
  • Life Experience and Thoughts (45)

推荐文章

  • 谈谈分布式锁
  • 常见分布式系统设计图解(汇总)
  • 系统设计中的快速估算技巧
  • 从链表存在环的问题说起
  • 技术面试中,什么样的问题才是好问题?
  • 从物理时钟到逻辑时钟
  • 近期面试观摩的一些思考
  • RSA 背后的算法
  • 谈谈 Ops(汇总 + 最终篇):工具和实践
  • 不要让业务牵着鼻子走
  • 倔强的程序员
  • 谈谈微信的信息流
  • 评审的艺术——谈谈现实中的代码评审
  • Blog 安全问题小记
  • 求第 K 个数的问题
  • 一些前端框架的比较(下)——Ember.js 和 React
  • 一些前端框架的比较(上)——GWT、AngularJS 和 Backbone.js
  • 工作流系统的设计
  • Spark 的性能调优
  • “残酷” 的事实
  • 七年工作,几个故事
  • 从 Java 和 JavaScript 来学习 Haskell 和 Groovy(汇总)
  • 一道随机数题目的求解
  • 层次
  • Dynamo 的实现技术和去中心化
  • 也谈谈全栈工程师
  • 多重继承的演变
  • 编程范型:工具的选择
  • GWT 初体验
  • java.util.concurrent 并发包诸类概览
  • 从 DCL 的对象安全发布谈起
  • 不同团队的困惑
  • 不适合 Hadoop 解决的问题
  • 留心那些潜在的系统设计问题
  • 再谈大楼扔鸡蛋的问题
  • 几种华丽无比的开发方式
  • 我眼中的工程师文化
  • 观点的碰撞
  • 谈谈盗版软件问题
  • 对几个软件开发传统观点的质疑和反驳
  • MVC 框架的映射和解耦
  • 编程的未来
  • DAO 的演进
  • 致那些自嘲码农的苦逼程序员
  • Java 多线程发展简史
  • 珍爱生命,远离微博
  • 网站性能优化的三重境界
  • OSCache 框架源码解析
  • “ 你不适合做程序员”
  • 画圆画方的故事

近期评论

  • + 1.943624 BTC.NEXT - https://graph.org/Ticket--58146-05-02?hs=9a9c6f8dfe3cdbe0074006e3e640b19b& on 所有文章
  • Anonymous on 闲聊投资:亲自体验和护城河
  • 四火 on 关于近期求职的近况和思考
  • YC on 关于近期求职的近况和思考
  • mafulong on 常见分布式基础设施系统设计图解(四):分布式工作流系统
  • 四火 on 常见分布式基础设施系统设计图解(八):分布式键值存储系统
  • Anonymous on 我裸辞了
  • https://umlcn.com on 资源链接
  • Anonymous on 我裸辞了
  • Dylan on 我裸辞了
© 2025 四火的唠叨 | Powered by Minimalist Blog WordPress Theme
Menu
  • 所有文章
  • About Me
  • 关于四火
  • 旅行映像
  • 独立游戏
  • 资源链接