一个程序员的阅读列表:100 篇我喜欢的文章(1-50)

这是一份“程序员阅读清单”的第一部分,包含 50 篇技术文章的介绍:

  • 学习相关:如“10 Things Software Developers Should Learn about Learning”探讨了人类记忆等学习关键概念,挑战了一些常见观念。
  • 自我激励:“Managing My Motivation, as a Solo Dev”分享了独立开发者管理自我激励的实用技巧。
  • 语言性能调优:“One Billion Row Challenge in Golang - From 95s to 1.96s”涵盖 Go 语言性能调优的多个主题,过程标准化且文章写得好。
  • 软件质量成本:“Is High Quality Software Worth the Cost?”将软件质量分为内外两类,说明投资内部质量可降低成本。
  • 抽象与复用:“The Wrong Abstraction”探讨了复用与抽象的关系,指出错误抽象会导致项目质量下降。
  • 技术写作:“Google technical writing courses: Writing Helpful Error Messages”提供了写错误消息的建议。
  • Python 内部原理:“Inside python dict — an explorable explanation”通过模拟代码和可视化动画介绍 Python 字典内部原理。
  • 敢于看起来愚蠢:“Willingness to look stupid”分享了看似愚蠢的行为可能带来的好处。
  • 选择语言框架:“Why we're sticking with Ruby on Rails”解释了 GitLab 选择 Ruby on Rails 而不是微服务架构的原因。
  • 大语言模型看法:“ChatGPT Is a Blurry JPEG of the Web”对大语言模型的态度既有否定也有赞赏。
  • 产品设计总结:“Lessons learned reinventing the Python notebook”总结了 marimo 软件的产品设计经验。
  • 调试方法反思:“Breakpoint Tracking is an Inefficient Debugging Method(Chinese)”从独特角度分享了编程调试的智慧。
  • 其他工作内容:“Being Glue”强调了软件工程师日常“胶水工作”的重要性及相关问题。
  • 拥抱枯燥技术:“Choose Boring Technology”认为选择“无聊”技术有时更明智。
  • Python 特性:“Structural pattern matching in Python 3.10”介绍了 Python 3.10 中的结构模式匹配语法。
  • 模块与微服务对比:“You Want Modules, Not Microservices”对比了模块和微服务,探讨微服务架构试图解决的问题。
  • Go 语言 HTTP 处理:“I Don’t Like Go’s Default HTTP Handlers”指出 Go 语言默认 HTTP 处理的设计缺陷及解决方案。
  • 超时配置人性化:“Timeouts and cancellation for humans”分析了常见超时 API 设计并介绍了 trio 库的相关特性。
  • 软件工程师经验:“20 Things I’ve Learned in my 20 Years as a Software Engineer”总结了 20 年软件工程师生涯的经验教训。
  • Mock 模块问题:“Why your mock doesn’t work”解释了 Python 中 Mock 模块使用时的常见问题。
  • Go 代码可读性:“Practical Go: Real world advice for writing maintainable Go programs”提供了提高 Go 代码可维护性的建议和示例。
  • Redis 代码注释:“Writing system software: code comments.”按类型分类了 Redis 项目中的代码注释,强调解释“为什么”的重要性。
  • 代码设计思考:“Write code that is easy to delete, not easy to extend.”从不同角度思考代码的可维护性,提出“易删除”的观点。
  • 提问技巧:“How to ask good questions”分享了在人际沟通中提问的技巧和经验。
  • 日常编码习惯:“Write Code Every Day”介绍了程序员 John Resig 每天写代码的经历和成果。
  • 抽象泄漏定律:“The Law of Leaky Abstractions”指出软件世界中抽象最终会泄漏的现象。
  • API 设计指导:“How to Design a Good API and Why it Matters”系统地介绍了 API 设计的各个方面,提供了设计指导。
  • 软件设计原则:“My Principles for Building Software”和“Applying 'Make Invalid States Unrepresentable'”强调了数据对软件设计的影响和相关原则。
  • 编译器错误认知:“No, it is not a compiler error. It is never a compiler error.”讨论了程序员对编译器错误的认知和实际遇到的情况。
  • 生活与编程关联:“The one of changing a washing machine the day before New Year's Eve(Chinese)”从生活中的洗衣机更换事件联想到软件开发中的问题。
  • 异步编程思考:“What Color is Your Function?”以独特的“函数颜色”概念探讨异步编程风格。
  • 文档重要性:“Healthy Documentation”强调了文档在软件开发中的重要性及程序员对文档的矛盾态度。
  • 代码评审技巧:“How to Do Code Reviews Like a Human (Part One)”介绍了代码评审的多个经验和注意事项。
  • Python 3.13 变化:“Everything you need to know about Python 3.13 – JIT and GIL went up the hill”介绍了 Python 3.13 的 JIT 编译和 GIL 移除等变化。
  • 编程难度感悟:“After 14 years in the industry, I still find programming difficult”分享了作者 14 年编程生涯后对编程难度的感悟。
阅读 7
0 条评论