すべてのWebプログラマがブックマークするべきGitHubリポジトリ 20選 2024年版
はじめに
今回の記事ではWeb開発を主戦場とするプログラマーを対象に、私の独断と偏見で2024年で必ず確認するべきGitHubリポジトリを30個紹介する。
GitHubは私たちエンジニアにとって、普段の学習や開発を進めるうえで最も重要な情報源の一つだ。今回の記事ではWeb開発(フロントエンド・バックエンド)に限定して、最低限確認するべきリポジトリを中心に紹介する。
freeCodeCamp
世界最大規模のプログラミングメディア「freeCodeCamp」のGitHubリポジトリである。扱う内容はWeb開発、モバイルアプリ開発やデータサイエンスなど多岐に渡る。
最大の強みは完全無料でこれらの情報を学べる点にある。初心者から上級者まで毎日確認しておこう。
developer-roadmap
分野ごとに最低限学ぶべき基礎知識やマスターするべきテクニックや専門用語等を図解で解説している。勉強方法がわからないなら絶対に確認しよう。
free-programming-books
ネット上にあるすべての無料のプログラミング・エンジニアリング関連の書籍を網羅している。こちらのリポジトリに掲載されている書籍はすべて無料で読める。多言語対応な点も見逃せない。
無料の電子書籍だけではなく、オンライン動画等の情報もある。freeCodeCampとセットで確認しよう。
design-resources-for-developers
デザインやUIに関する情報を一つに掲載している。Webデザインで使えるフォント、画像やライブラリ等が網羅されている。これからWebデザインを学ぶなら絶対に確認しよう。
free-for-dev
無料で使えるSaaS、PaaSやIaaSなどのソフトウェアをまとめられている。無料で使えるCloud関連のソフトウェアを探すなら絶対に確認しよう。
github-cheat-sheet
学習や開発でGitHubを使う上で必ず確認すべきコマンドがまとめられている。
Web-Dev-For-Beginners
Microsoftが提供している、Web開発の基本的な知識を学べるリポジトリである。Web開発を学ぶうえで役立つ動画やネット記事が豊富だ。
これからWeb開発を学ぶ初心者に共有しておこう。
front-end-interview-handbook
フロントエンド向けの技術面接の対策を網羅している。このリポジトリでは、面接の準備に必要な知識や質問、その回答例が網羅されている。
これから就職や転職等で技術面接が要求されるなら必ず目を通そう。
public-apis
世界中で扱えるAPIが網羅されている。ゲームやアニメ等のエンタメから、ビジネスまで幅広い分野を取り扱っている。APIを使ったWebアプリを作りたいなら必ず確認しよう。
json-server
簡単なダミーデータを取り扱うAPIのプログラムである。自分が作ったアプリでテストを行う上で重宝する。
API-Security-Checklist
セキュリティの高いAPIを作るうえで最低限満たしておくべき要件を丁寧にまとめられている。これからAPI設計・開発で生計をたてるプログラマーは必ず確認すべき。
TheAlgorithms
アルゴリズムに関するオープンソースのコードが網羅されている。以下のプログラミング言語に対応しており、ソートや暗号化アルゴリズム等、基本から応用まで多種多様なアルゴリズムが掲載されている。
- C++
- Python
- Java
- JavaScript
- Ruby
- PHP
- Go言語
これからAtCoderを始める人、就活や転職でコーディング試験を求められているなら必ず確認しておこう。
awesome
プログラマの学習や開発に重宝する情報源やライブラリ、フレームワーク等の技術が網羅されている。
awesome-chatgpt-prompts
上述のawesomeリポジトリだけを紹介しても、「どのリポジトリを優先的に確認すべきなの?」と困惑する読者が少ないと思うので優先して確認すべきリポジトリを紹介する。
ChatGPTで使う汎用的なプロンプトが網羅されている。例えば、文章生成や質疑応答など様々なプロンプトが用意されている。プロンプトはCSVで整理されていて、簡単に検索・利用できる。
GitHubDaily
学習・開発で重宝するGitHubリポジトリを言語や分野別にまとめられている。ただし、中国語で書かれているので使うにはDeepLが必須だ。
realworld
「RealWorld Example Apps」というプロジェクトで、実際のWebアプリをを多種多様な技術で実装する例を解説している。
本リポジトリの最大の強みは、フロントエンドとバックエンドのそれぞれのフレームワークで同じアプリの機能を実装している点にある。この特徴は技術を比較するうえで貴重な情報になり、技術選定で大いに重宝する。
これからWebアプリの作り方を学ぶ、あるいは技術選定での理由を模索しているプログラマーに共有しよう。
project-guidelines
プロジェクトの開始から終了までのそれぞれのフェーズでのベストプラクティスが網羅されている。ベストプラクティスには主に以下のことに言及されているものがある。
- ブランチ管理
- コミットメッセージの書き方
- テスト
- デプロイメント
JavaScriptに限定されて解説されているが、他の言語や技術でも応用できるだろう。
gitignore
多種多様な技術やプログラミング言語に対応した.gitginore
のテンプレートを網羅している。
every-programmer-should-know
これからプログラマーとして働くうえで知っておくべき知識やリソースが網羅されている。「プログラミングを学びたいけど、これからどうすればいいのかわからない」と悩んでいるなら必見である。
内容は初心者向けの学習教材や新人研修に類似しているものの、中上級者でも知識の穴を確認するうえでも重宝する。
Clone-Wars
YouTubeやSpotify等の、世界的に有名なアプリのクローンのリポジトリを網羅している。クローンアプリを学ぶうえでのメリットは以下のようなものが考えられる。
- 実際のアプリの開発の流れやコーディングのテクニックを学べる。
- もともとのプロジェクトの機能を再現するために多種多様な問題に直面するので、デバッグのスキルを向上できる。
- 他人が書いたコードを読むことで、異なるコーディングスタイルやアーキテクチャに触れられる。
- クローンを作るときにコードをリファクタリングすることで、良質なコードの書き方や設計原則を学べる。
参考サイト
Discussion