本記事は、Simon Holdorf氏による「10 Extraordinary GitHub Repos for All Developers」(2021年4月4日公開)の和訳を、著者の許可を得て掲載しているものです。
こちらもどうぞ
すべてのウェブ開発者へ。人気GitHubリポジトリ9選
#すべての開発者へ。すごいGitHubリポジトリ10選
面接のリソース、build your own X、優れたパブリックAPIのリストなど
Photo by Vishnu R Nair on Unsplash
##はじめに
GitHubは、あらゆる種類の技術、フレームワーク、ライブラリ、コレクションなどを共有するためのNo.1プラットフォームです。しかし、その巨大さゆえに、最も有用なリポジトリを探すのが難しいという問題もあります。そこで私は、すべてのソフトウェアエンジニアに大きな価値のある、素晴らしいリポジトリ10選を作ることにしました。すべてに多くのGitHubスターが付いていて、その重要性、人気、有用性は明らかです。
新しいことを学ぶのに役立つものもあれば、クールなものを作るのに役立つものもありますが、どれも、あなたがより良いソフトウェアエンジニアになるのを助けてくれるでしょう。
##1. Build Your Own X
GitHubスター:89,300
この素晴らしいリポジトリは、基本的に、独自技術の構築方法のチュートリアル集です。コマンドラインツール、オペレーティングシステム、検索エンジン、3Dレンダラーなどなど、多くの構築方法が紹介されています。
独自のプログラミング言語や、自分だけのDockerやGitを作りたいと思ったことはありませんか?もしそうなら、このリポジトリがぴったりです。
##2. Free Programming Books
GitHubスター:168,000
このリポジトリの名前はFree Programming Booksですが、それだけではありません。さまざまな言語に対応していて(訳注:日本語あり)、無料オンラインコース、インタラクティブプログラミングのリソース、問題集や競技プログラミング、ポッドキャストやプログラミングプレイグラウンドなどのセクションがあります。
しかし、大半はプログラミング本で、本当に素晴らしいコレクションです。
##3. Oh My Zsh
GitHubスター:121,000
Oh My Zshは、Zshの設定を管理するための、コミュニティ主導のオープンソースフレームワークです。Zshはインタラクティブシェルで、多くの開発者が使用する強力なスクリプト言語でもあります。
Oh My Zshには、Zshの設定をカスタマイズするための、強力なプラグインと美しいテーマが付属しています。使い始めるには少し手間がかかりますが、ウェブ上には素晴らしいチュートリアルや他の開発者の例があるので、自分に合った設定が見つかるでしょう。
##4. Coding Interview University
GitHubスター:146,000
このリポジトリは、Amazon、Google、Facebookなど大企業のソフトウェアエンジニアになるための、数ヶ月の学習プランです。CSの知識が必要なソフトウェアエンジニアリングの初心者向けで、信頼性エンジニアやオペレーションエンジニアになるための学習方法についてもアドバイスしています。
作者はもともと、自分の学習プロセスを記録するため、個人的なToDoリストとしてこのリポジトリを作りました。数ヶ月間、1日8-12時間の学習の後、ついにAmazonでソフトウェア開発エンジニアとして、仕事に就くことができました。
Coding Interview Universityでは、Google、Microsoft、Facebookなどの企業における技術面接の準備を支援します。最大限に活用してください。
##5. Gitignore(.gitignoreテンプレート集)
GitHubスター:111,000
このリポジトリはその名の通り、便利な.gitignore
テンプレートを集めたものです。新しいプロジェクトをGitHubリポジトリにするたびに、アップロードするものをフィルタリングする.gitignore
ファイルが必須となります。このファイルの内容は、プロジェクトごと、言語ごとに異なります。このリポジトリには、Rails、Python、Perl、Laravel、Javaなど、ほぼすべての言語やフレームワークのテンプレートがあります。Fortran用のテンプレートまであります!
##6. System Design Primer
GitHubスター:115,000
これは、大規模システムの設計方法を学べる、素晴らしいソフトウェアエンジニア用リポジトリです。より良いエンジニアになる助けとなるでしょう。このリポジトリは、この幅広いトピックに関するリソースを整理して提供しています。
多くの企業の技術面接では、システム設計が必須となることが多いため、このリポジトリは、学習ガイド、面接への取り組み方のアドバイス、面接の問題と解答、インタラクティブラーニングのためのAnkiフラッシュカードセット、インタラクティブコーディングチャレンジなど、面接の準備にも役立ちます。
##7. Public APIs
GitHubスター:104,000
Public APIsは、プロジェクトやアプリケーションに使用できる、無料APIの素晴らしいリストです。ビジネス、アニメ、動物、ニュース、金融、ゲームなど、さまざまなトピックを網羅しています。
Cats APIやDogs APIのように、猫や犬の写真を提供するAPIもあります。
しかし、Gmail APIやGoogle Analytics APIなど、もっと便利なものもあります。
これは本当に豊富なコレクションなので、ぜひチェックしてみてください。
##8. The Art of Command Line
GitHubスター:81,100
コマンドラインの操作方法を知ることは、開発者に軽視されがちですが、エンジニアとしての生産性や柔軟性の向上に役立ちます。このリポジトリには、Linuxでの作業時に役立つメモやコツがあります。WindowsやmacOSに特化したセクションもありますし、一般的なコツであれば、他のUNIX系OSにも適用できます。初心者にも経験者にも役立つ内容です。
リポジトリはもう積極的にメンテナンスされていないようですが、なおコマンドラインの操作に役立つとても優れたコツです。また、いつでもリポジトリを自分でメンテナンスできます。
##9. JavaScript Algorithms and Data Structures
GitHubスター:89,600
このリポジトリには、JavaScriptでよく使われるアルゴリズムやデータ構造の例があります。それぞれに、難易度を示す初級または上級のマークが付いています。ハッシュテーブル、ヒープ、キュー、スタック、数学、文字列、セットなどの例があります。
##10. Developer Roadmap
GitHubスター:139,000
最後のリポジトリには、2020年にフロントエンド、バックエンド、DevOpsのエンジニアになるために、取るべきさまざまな道や採用すべき技術を示す、一連のチャートがあります。最初は少し圧倒されるかもしれませんが、変化の激しいこの業界で、何が可能で何が必要なのかを知る上で有用なガイドです。
このリポジトリは毎年更新され、エコシステムの変化を反映しています。
##おわりに
皆さんがこれらのリポジトリを私と同じように役立て、より良いソフトウェアエンジニアになるために利用してくれることを願っています。お読みいただきありがとうございました!
##翻訳協力
この記事は以下の方々のご協力により公開する事ができました。改めて感謝致します。
Original Author: Simon Holdorf (@simonholdorf)
Original Article: 10 Extraordinary GitHub Repos for All Developers
Thank you for letting us share your knowledge!
選定担当: @gracen
翻訳担当: @gracen
監査担当: -
公開担当: @gracen
##ご意見・ご感想をお待ちしております
今回の記事はいかがでしたか?
・こういう記事が読みたい
・こういうところが良かった
・こうした方が良いのではないか
などなど、率直なご意見を募集しております。
頂いたお声は、今後の記事の質向上に役立たせて頂きますので、お気軽に
コメント欄にてご投稿ください。Twitterでもご意見を受け付けております。
皆様のメッセージをお待ちしております。