Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1811
Help us understand the problem. What is going on with this article?
@baby-degu

すべての開発者へ。すごいGitHubリポジトリ10選

本記事は、Simon Holdorf氏による「10 Extraordinary GitHub Repos for All Developers」(2021年4月4日公開)の和訳を、著者の許可を得て掲載しているものです。

すべての開発者へ。すごいGitHubリポジトリ10選

面接のリソース、build your own X、優れたパブリックAPIのリストなど

Image for post
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でもご意見を受け付けております。
皆様のメッセージをお待ちしております。

1811
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
baby-degu
We introduce high quality articles in Japanese.
babydegu
Maximizing the Goodness in everyone

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1811
Help us understand the problem. What is going on with this article?