Clone or download
Latest commit 258033d Aug 12, 2018
Permalink
Failed to load latest commit information.
10-things-you-didnt-know-about-java update toc Jun 22, 2018
a-java-fork-join-framework fix typo #52 summited by @wangruifei Jun 26, 2018
a-week-with-elixir improve wording Aug 12, 2018
api-design-principles-from-qt format cleanup Jul 19, 2018
bash-3-man fix link after move repo Nov 21, 2014
generic-io-api-in-java-and-api-design format cleanup Jul 19, 2018
git-workflows-and-tutorials fix arrow direction in git-workflows-gitflow.png #53 Jul 17, 2018
gui-and-cli-principles format cleanup Jul 19, 2018
how-to-ask-questions-the-smart-way format cleanup Jul 19, 2018
how-to-work-with-network-from-linux-terminal add original article publish date Jan 3, 2018
log-what-every-software-engineer-should-know-about-real-time-datas-unifying update toc Jun 22, 2018
overlapping-experiment-infrastructure-more-better-faster-experimentation format cleanup Jul 19, 2018
paxos-made-simple add original article publish date Jan 3, 2018
paxoslease add original article publish date Jan 3, 2018
pragmatic-functional-programming improve wording Mar 21, 2018
python-philosophy format cleanup Jul 19, 2018
reactive-manifesto remove redundant parenthesis Jan 25, 2018
recommend-lisp-books emojify Jun 22, 2018
stubs-vs-mocks update format for github incompatible upgrade Feb 20, 2018
whats-new-git-2-1 emojify Jun 22, 2018
why-android-phones-slow-down-over-time-and-how-to-speed-them-up update format for github incompatible upgrade Feb 20, 2018
CONTRIBUTING.md emojify Jun 22, 2018
LICENSE add license Nov 1, 2015
LICENSE.png add license Nov 1, 2015
README.md emojify Jun 22, 2018
icon.png add title image for index README Sep 11, 2017

README.md

translations 知识共享协议(CC协议) Attribution-NonCommercial-ShareAlike CC BY-NC-SA

Join the chat at https://gitter.im/oldratlee/translations GitHub stars GitHub forks GitHub watchers

一些不错英文资料的中文翻译。
Chinese translations for classic IT resources.

自己想到去做些翻译,一是促进自己的深入学习,二是能为大家带来便利,三是兴趣。

遵循原则:『信』为本、力求『达』、不妄追『雅』。
# 信:译文忠实表达作者思想;达:让读者轻松地阅读;雅:让读者愉悦地阅读。详见信达雅 - 百度百科。

文章分类

思考/思维

  1. 提问的智慧
    说明了作者所认为一位发问者事前应该要做好什么,而什么又是不该做的。作者认为这样能让问题容易令人理解,而且发问者自己也能学到较多东西。此文在网络上受到欢迎,被广泛转载而广为人知甚至奉为经典。著名的两个缩写STFW(Search the fxxking web)以及RTFM(Read the fxxking manual)就是出自本文。

设计原则

  1. Python Philosophy(Python哲学)翻译及简析
    既有指明大是大非的理念,又有指导细节操作的准则;既有谆谆教导的推荐,也有声色俱厉的禁止。
  2. Java的通用I/O API设计
    给出了一个通用Java IO API设计,更重要的是给出了这个API设计本身的步骤和过程,这让API设计有些条理。文中示范了从 普通简单实现 整理成 正交分解、可复用、可扩展、高性能、无错误的API设计 的过程,这个过程是很值得理解和学习!设计偏向是艺术,一个赏心悦目的设计,尤其是API设计,旁人看来多是妙手偶得的感觉,如果能有些章可循真是一件美事。给出 减少艺术的艺术工作量 的方法的人是 大师。
  3. API设计原则 - Qt官网的设计实践总结
    Qt的设计水准在业界很有口碑,一致、易于掌握和强大的API是Qt最著名的优点之一。此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结。虽然Qt用的是C++,但其中设计原则和思考是具有普适性的(如果你对C++还不精通,可以忽略与C++强相关或是过于细节的部分,仍然可以学习或梳理关于API设计最有价值的内容)。整个篇幅中有很多示例,是关于API设计一篇难得的好文章。
  4. GUI & CLI原则
    文中列出的GUI和CLI的原则:说明了两种Interface适合的场景和优劣;进而引导你去思考,面向用户或作为程序员的你,交互/操作 如何才能是高效的。

系统设计实例

  1. 重叠实验设施:更多、更好、更快地实验
    Google这篇8年前2010年的关于『实验基础设施』设计的论文,现在看来仍然是关于这个领域最有深度和体系的资源。不单说明了,实验设施的系统设计,还包含实验的进阶的主题如:实验可信度、敏感度、围绕实验数据驱动的整体流程。对于了解Growth Hacking/ABTest的同学,可以有效的学习实验设施的系统设计,尤其是重叠实验设施要考虑多方面的需求、维度,如何建模是很复杂的;对于不了解Growth Hacking/ABTest这个领域知识的同学,可以通过这篇文章,学习一个复杂系统整体的思考和设计的模式,包含需求、场景、模型设计、产品流程、落地关键。

分布式系统/大数据

  1. 日志:每个软件工程师都应该知道的有关实时数据的统一抽象
    这篇文章是LinkedIn的Kreps发表的一篇博文,被称为 程序员史诗般必读 文章。可以作为大数据/分布式系统领域一份导论式的资料。作者对整个领域的理解和实战精深广博,抓出并梳理了这个领域的核心:日志。
  2. Paxos Made Simple
    该论文给出描述一致性问题的概念、术语、算法,从复杂中抓取出了核心,给出了如此简单的描述。另言简意赅地说明了多实例Paxos(Multi-Paxos),这是真正实践中使用的Paxos。可以说不读这篇论文你就不知道你还不知道如何有效地描述和交流一致性算法。
  3. PaxosLease:实现租约的无盘Paxos算法
    可以说是最简单且可以实际使用的Paxos算法变种。

并发

  1. Java Fork/Join框架
    Doug Lea 大神关于Java 7引入的他写的Fork/Join框架的论文。反应式编程(Reactive Programming/RP)作为一种范式在整个业界正在逐步受到认可和落地,是对过往系统的业务需求理解梳理之后对系统技术设计/架构模式的提升总结。Java作为一个成熟平台,对于趋势一向有些稳健的接纳和跟进能力,有着令人惊叹的生命活力:Java 7提供了ForkJoinPool,支持了Java 8提供的Stream,另外Java 8还提供了Lamda(有效地表达和使用RP需要FP的语言构件和理念);有了前面的这些稳健但不失时机的准备,在Java 9中提供了面向RP的官方Flow API,实际上是直接把Reactive Streams的接口加在Java标准库中,即Reactive Streams规范转正了,Reactive Streams是RP的基础核心组件。Flow API标志着RP由集市式的自由探索阶段 向 教堂式的统一使用的转变。通过上面这些说明,可以看到ForkJoinPool的基础重要性。

Git

  1. Git工作流指南
    关于Git工作流主题,也许这是目前最全面最深入的说明。这篇指南以大家在SVN中已经广为熟悉使用的集中式工作流作为起点,循序渐进地演进到其它高效的分布式工作流,还介绍了如何配合使用便利的Pull Request功能,体系地讲解了各种工作流的应用。行文中实践原则和操作示例并重,对于Git的资深玩家可以梳理思考提升,而新接触的同学,也可以跟着step-by-step操练学习并在实际工作中上手使用。
  2. Git 2.1有哪些新特性?

Erlang/Elixir

  1. Erlang之父学习Elixir语言的一周
    作为Erlang之父 Joe Armstrong,对Erlang VM上的新语言Elixir做了很精彩的评论和思考。『特定领域专家的专业直觉』、『编程语言设计的三定律』、『管道操作符避免恶心代码』、『Elixir的sigil引出的程序语言如何定义/解释字符串』等等问题的讨论,个性鲜明又幽默诙谐的行文风格,都能强烈感受到 Joe Armstrong 深入广博的老黑客风范。

Lisp

  1. Successful Lisp 中的Lisp书籍推荐

Java

  1. 关于Java你可能不知道的10件事
    作者是个Java老鸟,行文风趣幽默,娓娓道出Java的诡异和难点时不忘着给出用心良苦的提点。

软件测试

  1. Stubs和Mocks的区别
    翻译自《Programming Groovy》,讲得言简意赅。

其它

  1. 如何用Linux命令行管理网络:11个你必须知道的命令
  2. 为什么Android手机会越用越慢,如何提速?