什么?这十个开源项目都没看过,你也敢说你玩GitHub?

原文:任玉刚

大家好,我是小 G。
前不久我在逛 Medium 的时候,偶然看到一篇文章《10 Extraordinary GitHub Repos for All Developers》,作者在里面介绍了他在 GitHub 上见到的最为惊艳的 10 个 GitHub 项目,我大致看了下,发现里面大部分项目技术覆盖面都比较广,质量也颇高,适合开发者们把玩研究。
今天的分享,也算是一次简单的复盘,我们花了点时间梳理了一下,以便诸位在周六日的空余时间可以研究学习。

下面开始进入正题:

1. Build Your Own X

该库收集了诸多优质资源,教你如何构建一些属于自己的东西,内容主要分为增强现实、区块链、机器人、编辑器、命令行工具、神经网络、操作系统等几大类别。

2. Free Programming Books

从名字中可以看出,这个仓库主要是为开发者推荐一些免费编程书籍,但除此同时,上面也会推荐一些免费的编程课程、播客、网站等学习资源。

3. Oh My Zsh

我们都知道,Linux 默认终端配置的是 bash,但是,自从 Oh My Zsh 横空出世后,不少开发者都将 bash 换成 Oh My Zsh 了,小 G 便是其中一员。
究其原因,主要是因为 Oh My Zsh 上面提供了非常强大的插件系统,不少插件用上之后,能够大幅提升生产力。

当然,最主要的原因,还是因为 Oh My Zsh 的界面太酷炫了,装上之后简直逼格满满。
如果用这款终端的水友比较多,我们会考虑后面在公众号出一期专题文章,专门讲讲上面都有哪些比较好用的插件。

4. Coding Interview University

这个项目此前我们也在 GitHubDaily 公众号上分享过,该项目作者 John 为了希望获得进入 Google 工作的机会,投入了大量精力去学习。

学习过程中,他接触到了大量与编程相关的知识与教学资源,秉着前人栽树后人乘凉的精神,John 在 GitHub 上开源了这份学习指南。

最后,虽然 John 没去成 Google,去了 Amazon,但他开源的这份资源让无数开发者受益匪浅。
John 的个人成长与学习经历也颇为精彩,感兴趣的同学,可看我们之前的分享过的这篇文章:

GitHub 标星 8w!学完这份指南后,你就可以去 Google 面试了!

5. Gitignore

相信大部分初用 Git 的工程师,都有着一个苦恼,每次都得针对不同项目、不同语言类型来重复写 .gitignore,以忽略一些无需纳入 Git 管理的文件。

这个项目诞生的意义,就是帮工程师解决这个问题的。每次你需要为项目创建 .gitignore 文件时,只需要打开这个项目,针对你当前所用编程语言或框架,去寻找对应 .gitignore 模板替换即可。

如果你觉得挨个模板查阅很费劲,这里再跟大家推荐一个网站:gitignore.io。

https://www.gitignore.io/
支持一键搜索你所需的 gitignore 模板。

6. System Design Primer

学习如何设计可扩展的系统将会有助于你成为一个更好的工程师。

系统设计是一个很宽泛的话题。在互联网上,关于系统设计原则的资源也是多如牛毛。

这个仓库就是这些资源的组织收集,它可以帮助你学习如何构建可扩展的系统。

7. Public API

这个项目收集了一些可用在 Web 或软件开发的开放 API 接口。

其中包含动画、音乐、书籍、新闻、游戏等多个不同领域的开放 API。

如果你觉得文档看起来不够直观,没关系,小 G 再给你推荐个网站,让你可以直接一键搜索查询开放的 API。
https://public-apis.xyz

8. The Art of Command Line

对于工程师来说,用好命令行能剩下我们不少开发时间,大大解放生产力。

如果你想学好命令行,除了看《鸟哥的私房菜》,还可以看看这个项目。

该项目主要总结一些命令行使用的技巧,内容覆盖面广包括基础、日常使用、文件及数据处理等等,且还给出了具体最常用的例子,无论你是新手还是具有经验的人都值得学习下。

目前该项目已提供多国翻译版本,即使你看英文比较吃力,也不用过于担心。

9. JavaScript 算法和数据结构

算法与数据结构一直是另工程师颇为头疼的问题。因此,不少工程师在 GitHub 上开放了不少诸如 x-algorithms 的算法与数据结构仓库,目的就是为了帮助大家更好的学习与攻克这些问题的。
下面推荐的这个仓库,从名称上你也可以看出,其实现代码主要还是以 JavaScript 为主。

如果你用的是其它编程语言,可以配合以下关键词进行搜索:

「语言」+「algorithms」+「GitHub」

如:
Python algorithms GitHub

便能很快搜索到适合自己的仓库进行学习。

10. Developer Roadmap

GitHub 之前爆发过一波热潮:技术路线图。

工程师们将自己当前所在技术领域的各项知识点、工具、框架等汇总成一份技术路线图,以便为后辈提供更好的学习参考。
Developer Roadmap 便是其中一个,从覆盖面来看,这个仓库应该是最广的。

好了,以上便是今天的分享,希望为各位 GitHubDaily 水友后续的学习提供方便。觉得内容不错,也欢迎多多转发分享给身边的朋友哈。

参考链接:

https://medium.com/better-programming/10-extraordinary-github-repos-for-all-developers-939cdeb28ad0