Zenn
🚜

車輪の再発明のススメ!車輪を1から自作できる教材まとめ

2025/02/01に公開3
135

私は車輪の再発明が大好きです。

人が作った技術について、どういう風に作られているかとか興味ないですか?

エンジニアの世界でよく「車輪の再発明はするな。巨人の肩に乗れ!」と言われます。それは確かに、プロダクトを早く作り上げるには重要な考え方です。既存の技術を活用することで、効率よく目標に到達できます。

しかし、もし車輪の構造をよく知らないまま乗り物を作ったとしたらどうでしょう?いざ車輪にトラブルが発生したときに対処できなかったり、もっと良い車輪を生み出せる可能性を見逃してしまうかもしれません。

実際、データベースの仕組みを深く理解せずに使った場合、パフォーマンスの問題や障害に直面したときに原因を特定できず、対応に苦労することがあります。逆に、基礎から構造を学び、自分で仕組みを構築する経験を積むことで、トラブル解決能力が向上し、独自の最適解を導き出すことができるのです。

車輪の構造を学ぶには、実際に1から自作するのが一番です。それは回り道に見えるかもしれませんが、基礎をしっかり学ぶことで未来の可能性を大きく広げてくれます。

車輪の再発明は、単なる無駄ではなく、自分の手で技術の本質を理解し、進化させるための第一歩なのです。

世の中には数多くの技術があり、それらを1から自作するための教材も多く存在します。本記事では、そうした「車輪の再発明」を体験できる教材をピックアップして紹介します。

コンピュータ自作

コンピュータの仕組みを理解するために、実際に一台のコンピュータを作り上げていく教材です。

https://amzn.to/4hsTJbe

コンパイラ自作

Webページで学ぶ

プログラミング言語のコンパイラをゼロから作るための有名な教材です。
https://www.sigbus.info/compilerbook

本で学ぶ


https://amzn.to/4hkbv0F

CPU自作

本で学ぶ

アキバで手に入る部品で実際にCPUを自作する名著です。

https://amzn.to/40BhB5N

ゲームで学ぶ

NANDを駆使して一からCPUを作るゲームです。楽しみながらCPUについて学べます。

https://store.steampowered.com/app/1444480/Turing_Complete/?l=japanese

OS自作

Webページで学ぶ

たった1000行のコードでOSを作り上げる方法を解説するページです。
https://seiya.me/blog/operating-system-in-1000-lines

動画で学ぶ

OSを45分という短時間で作り上げる様子を見られる動画。
https://www.youtube.com/watch?v=dPEsTeL2F98

本で学ぶ

より本格的にOS開発を学びたい人向けの書籍です。

https://amzn.to/3WuyjlR


https://amzn.to/4hjZdp0


https://amzn.to/4hyTJGz

ブラウザ自作

ブラウザの基本動作を理解しながらRustで自作する教材です。

Webページで学ぶ

https://browserbook.shift-js.info

本で学ぶ


https://amzn.to/4jxxQcv

TCP/IP自作

TCP/IPの仕組みを自作しながら学べる資料です。ネットワークに興味がある方には必見の教材。
https://drive.google.com/drive/folders/1k2vymbC3vUk5CTJbay4LLEdZ9HemIpZe

RDBMS自作

リレーショナルデータベースの仕組みをゼロから作り上げるためのドキュメントです。
https://ryogrid.github.io/dbms-jisaku/

Vue自作

Vue.jsを小規模な形で再現しながら、その内部構造を学べます。
https://ubugeeei.github.io/chibivue/00-introduction/010-about.html

終わりに

本記事では各技術分野ごとに自作体験ができる教材を紹介しました。興味のある分野を見つけたら、ぜひ挑戦してみてください!

135
コラボスタイル Developers

Discussion

直也テック直也テック

CodeCraftersも良いですよ。

https://codecrafters.io/

以下の題材を作る教材があってgit ops連携の自動テストで採点されるので学びやすいです。

  • shell
  • interpereter
  • grep
  • redis
  • http server
  • docker
  • BitTorrent
  • kafka
  • git
  • SQLite
  • DNS server

また多数のプログラミング言語にも対応しています。

CodeCraftersは「build your own x」という車輪の再開発まとめレポジトリも運営してますのでこちらもぜひ。
https://github.com/codecrafters-io/build-your-own-x

NobkzNobkz

テキストエディタ自作
https://www.finseth.com/craft/

検索エンジン自作
検索エンジン自作入門~手を動かしながら見渡す検索の舞台裏

GC自作、Deep Learning自作、物理エンジン自作なども結構楽しいのでぜひ!!!

ログインするとコメントできます