Build-Your-Own-X:プログラミングスキルの習得に役立つ多数のリソースを集めたコレクション
Build-Your-Own-X:プログラミングスキルの習得に役立つ多数のリソースを集めたコレクション紹介
build-your-own-xとは?
build-your-own-xというリポジトリは、さまざまな技術をゼロから再構築するための詳細でステップバイステップのガイドチュートリアルを多数集めたもので、人気のある技術を実際にゼロから作りながら学ぶのに役立ちます。このアイデアはリチャード・ファインマンの言葉「私が作れないものは、私が理解できないもの」に基づいており、技術が実際にどのように動作するかを本当に理解するには、自分で作ってみる必要があるということを意味します。作成を通じて技術を深く理解することは、プログラミングを学ぶための優れた方法です。

Own-Xの主な内容
3D関連
3Dレンダラー:C++でレイトレーシングを使って3D画像を描画する入門編や、C#、TypeScript、JSで3Dソフトウェアエンジンを作成するチュートリアルがあります。
拡張現実(AR):VuforiaとUnity 3Dを使ったC#のAR入門チュートリアルや、ARKitのC#チュートリアル(動画付き)があります。
ネットワークと分散システム関連
BitTorrentクライアント:自分でBitTorrentクライアントを作る方法を教えるチュートリアルがあります。
ブロックチェーン/暗号通貨:例えば、TypeScriptを使ってプルーフ・オブ・ステークベースの暗号通貨NaivecoinStakeを作るチュートリアルがあります。
ネットワークスタック:独自のネットワークスタックの作成方法を教えるコンテンツがあります。
ロボット関連
チャットボット:Node.jsでシンプルなFacebook Messenger AIボットを作るチュートリアル(API.aiを使用)や、PythonとSlack Events API、Djangoを使って20分でSlackボットを作るチュートリアルがあります。
コマンドラインツール関連:独自のコマンドラインツールの作り方を教えるチュートリアルがあります。
データベース関連
データベース構築:例えば、Goでゼロからデータベースを作り、永続化、インデックス、並行処理などの側面を解説するチュートリアルがあります。
コンテナ関連:独自のDockerの作り方を教えるチュートリアルがあります。
エミュレーター/仮想マシン関連:独自のエミュレーターや仮想マシンの作り方を教えるチュートリアルがあります。
フロントエンドフレームワーク/ライブラリ関連
React関連:軽量なReact DOMを作成することでReact Reconcilerの仕組みを学ぶチュートリアルや、コンポーネント(テンプレート、状態、VDOM)付きのフロントエンドフレームワークをゼロから作るチュートリアルがあります。
ゲーム関連
多様なゲーム開発:C++でクロスプラットフォームのテトリスを作るチュートリアル(主に初心者向けのゲームロジックを解説)、JS、HTML、CSSでスネークゲームを作るチュートリアル、PythonとPygameでゲームを作るチュートリアルがあります。
バージョン管理関連:PythonでシンプルなGitクライアントを作り、リポジトリの作成、コミット、GitHubへのコードのプッシュができるチュートリアルがあります。
ネットワークプロトコルスタック関連:独自のネットワークスタックの作り方を教えるコンテンツがあります。
ニューラルネットワーク関連
ニューラルネットワーク構築:例えば、JSプログラマー向けにJSでニューラルネットワークを作るチュートリアル(パーセプトロンから始まる、パート1)、Pythonで正規表現エンジンを作るチュートリアル(バックトラッキング、NFA、DFAなどの異なるアプローチ)、JSでゼロからニューラルネットワークを作るチュートリアルがあります。
オペレーティングシステム関連
オペレーティングシステム開発:Cでシンプルなコンピュータのハードウェアとソフトウェアスタックを作る動画チュートリアルがあり、キーボードと画面サポート付きのKernel 201の作成を含みます。また、LinuxカーネルとRaspberry Piでオペレーティングシステムの作り方を学ぶチュートリアルもあります。
物理エンジン関連:独自の物理エンジンの作り方を教えるチュートリアルがあります。
プログラミング言語関連
多様な言語構築:Cで独自のLispを作る(1000行以内)、Cとx86で「Let's Build a Compiler」、Javaでインタプリタを作成するためのハンドブック、Pythonでソースコードからマシンコードまでコンパイラを作る、Racketで独自のプログラミング言語を作るなどのチュートリアルがあります。
正規表現エンジン関連:JSで関数型アプローチを使って正規表現を作る(導関数を使用)チュートリアルや、Pythonで独自の正規表現エンジンを作る(バックトラッキング、NFA、DFAなど)チュートリアルがあります。
検索エンジン関連:独自の検索エンジンの作り方を教えるチュートリアルがあります。
シェル関連:独自のシェルの作り方を教えるチュートリアルがあります。
テンプレートエンジン関連:独自のテンプレートエンジンの作り方を教えるチュートリアルがあります。
テキストエディタ関連:独自のテキストエディタの作り方を教えるチュートリアルがあります。
視覚認識システム関連
ナンバープレート認識:Pythonと機械学習でナンバープレート認識を行うチュートリアルがあります。
顔認識:PythonとTensorflowで顔認識パイプラインを作るチュートリアルがあります。
ボクセルエンジン関連:独自のボクセルエンジンの作り方を教えるチュートリアルがあります。
Webブラウザ関連:独自のブラウザの作り方を教えるチュートリアルがあります。
Webサーバー関連:独自のサーバーの作り方を教えるチュートリアルがあります。
その他
NANDからTetrisまで:基本原理から現代のコンピュータを作るコンテンツがあります。
vibe codingスタイルチュートリアル:vibe codingスタイルで作成されたBYOXチュートリアルがあります。
C#ネットワーク関連:TCPチャットサーバー、TCPゲーム、UDPピンポンなどのC#ネットワークチュートリアルがあります。
C# 3Dアニメーション関連:3DスケルタルアニメーションをゼロからロードしてレンダリングするC#とGLSLのチュートリアルがあります。
JavaScript関連:例えば、JSのcall()、apply()、bind()メソッドの実装など。
Node.js関連:Node.jsでシンプルなシングルサインオン(SSO)サーバーとソリューションをゼロから作るチュートリアルなどがあります。
Python関連:例えば、Pythonで5分でシンプルなモバイルドキュメントスキャナーを作るチュートリアルや、Tensorflowでシンプルな生成的敵対ネットワーク(GAN)を作るチュートリアルがあります。
Own-Xリポジトリは、技術の基礎原理を実際に手を動かして学びたい人に適しており、初心者から経験豊富な開発者まで、誰でも適したものを見つけることができます。
脚本プランナー▸
AIアプリ
AIニュース