Build-Your-Own-X: Sammlung von Ressourcen zur Verbesserung von Programmierkenntnissen
Build-Your-Own-X: Sammlung von Ressourcen zur Verbesserung von ProgrammierkenntnissenEinführung
Was ist build-your-own-x?
Dieses Repository namens build-your-own-x sammelt viele gute, detaillierte und schrittweise Anleitungen, um verschiedene Technologien von Grund auf neu zu erstellen, und hilft dabei, durch das Nachbauen beliebter Technologien zu lernen. Die Idee stammt von Richard Feynman: „Was ich nicht bauen kann, das verstehe ich nicht“ – das bedeutet, dass man etwas selbst machen muss, um wirklich zu verstehen, wie eine Technologie funktioniert. Das tiefe Verständnis durch eigenes Erschaffen zu betonen, ist eine gute Methode, um das Programmieren zu erlernen.

Welche Inhalte bietet Own-X hauptsächlich?
3D-bezogen
3D-Renderer: Es gibt eine Einführung in die 3D-Bilderzeugung mit Raytracing in C++ sowie Anleitungen zum Schreiben einer 3D-Software-Engine in C#, TypeScript oder JS.
Augmented Reality (AR): Es gibt ein AR-Einführungstutorial in C# mit Vuforia und Unity 3D sowie ein ARKit-Tutorial in C# (mit Video).
Netzwerk- und verteilte Systeme
BitTorrent-Client: Es gibt Anleitungen, wie man seinen eigenen BitTorrent-Client erstellt.
Blockchain/Kryptowährung: Zum Beispiel ein Tutorial, um mit TypeScript eine auf Proof-of-Stake basierende Kryptowährung namens NaivecoinStake zu erstellen.
Netzwerkstack: Es gibt Inhalte zum Erstellen eines eigenen Netzwerkstacks.
Roboter-bezogen
Chatbot: Es gibt ein Tutorial zum Erstellen eines einfachen Facebook Messenger AI-Bots mit Node.js (mit API.ai) sowie ein Tutorial, um in 20 Minuten mit Python, der Slack Events API und Django einen Slack-Bot zu erstellen.
Kommandozeilen-Tools: Es gibt Anleitungen zum Erstellen eigener Kommandozeilen-Tools.
Datenbankbezogen
Datenbankerstellung: Zum Beispiel ein Tutorial, um mit Go von Grund auf eine Datenbank zu bauen, das Themen wie Persistenz, Indizierung und Nebenläufigkeit behandelt.
Container: Es gibt Anleitungen, um sein eigenes Docker zu erstellen.
Emulatoren/Virtuelle Maschinen: Es gibt Anleitungen zum Erstellen eigener Emulatoren oder virtueller Maschinen.
Frontend-Frameworks/Bibliotheken
React: Durch den Bau eines schlanken React-DOM lernt man, wie der React Reconciler funktioniert; es gibt auch Tutorials, um von Grund auf ein Frontend-Framework mit Komponenten (Templates, State, VDOM) zu erstellen.
Spielbezogen
Verschiedene Spieleentwicklung: Es gibt ein plattformübergreifendes Tetris-Tutorial in C++ (das sich hauptsächlich auf die Spielmechanik für Anfänger konzentriert), ein Tutorial für Snake mit JS, HTML und CSS sowie ein Tutorial zur Spieleentwicklung mit Python und Pygame.
Versionskontrolle: Es gibt ein Tutorial, um mit Python einen einfachen Git-Client zu erstellen, der Repositories anlegen, Commits durchführen und Code zu GitHub pushen kann.
Netzwerkprotokollstack: Es gibt Inhalte zum Erstellen eines eigenen Netzwerkstacks.
Neuronale Netze
Aufbau neuronaler Netze: Zum Beispiel ein Tutorial, um für JS-Programmierer ein neuronales Netz in JS zu erstellen (beginnend mit Perzeptronen, Teil eins); es gibt auch ein Tutorial zum Erstellen einer Engine für reguläre Ausdrücke in Python (mit verschiedenen Ansätzen wie Backtracking, NFA, DFA) und eines zum Erstellen neuronaler Netze in JS von Grund auf.
Betriebssystembezogen
Betriebssystementwicklung: Es gibt Video-Tutorials, um mit C einen Hardware-Softwarestack für einen einfachen Computer zu erstellen, einschließlich des Schreibens eines Kernels 201 mit Tastatur- und Bildschirmunterstützung, sowie ein Tutorial, um mit dem Linux-Kernel und einem Raspberry Pi ein Betriebssystem zu lernen.
Physik-Engine: Es gibt Anleitungen zum Erstellen eigener Physik-Engines.
Programmiersprachen
Erstellung verschiedener Sprachen: Es gibt Tutorials, um in C ein eigenes Lisp zu schreiben (unter 1000 Zeilen), in C und x86 einen „Let's Build a Compiler", ein Handbuch für Interpreter in Java, einen Compiler vom Quellcode zum Maschinencode in Python und eine eigene Programmiersprache in Racket.
Engine für reguläre Ausdrücke: Es gibt ein Tutorial, um in JS mit funktionalen Methoden (unter Verwendung von Ableitungen) eine Regex-Engine zu erstellen, sowie ein Tutorial für eine eigene Regex-Engine in Python (mit Backtracking, NFA, DFA).
Suchmaschine: Es gibt Anleitungen zum Erstellen einer eigenen Suchmaschine.
Shell: Es gibt Anleitungen zum Erstellen einer eigenen Shell.
Template-Engine: Es gibt Anleitungen zum Erstellen einer eigenen Template-Engine.
Texteditor: Es gibt Anleitungen zum Erstellen eines eigenen Texteditors.
Bilderkennungssysteme
Kennzeichenerkennung: Ein Tutorial zur Kennzeichenerkennung mit Python und Machine Learning.
Gesichtserkennung: Ein Tutorial für einen Gesichtserkennungs-Workflow mit Python und Tensorflow.
Voxel-Engine: Es gibt Anleitungen zum Erstellen einer eigenen Voxel-Engine.
Webbrowser: Es gibt Anleitungen zum Erstellen eines eigenen Browsers.
Webserver: Es gibt Anleitungen zum Erstellen eines eigenen Servers.
Sonstiges
Von NAND bis Tetris: Inhalte zum Aufbau eines modernen Computers ausgehend von den Grundprinzipien.
Vibe-Coding-Stil Anleitungen: Es gibt BYOX-Tutorials im Vibe-Coding-Stil.
C#-Netzwerkbezogen: Einschließlich C#-Netzwerk-Tutorials wie ein TCP-Chat-Server, ein TCP-Spiel, UDP-Ping-Pong usw.
C#-3D-Animation: Ein C#- und GLSL-Tutorial zum Laden und Rendern von 3D-Skelett-Animationen von Grund auf.
JavaScript-bezogen: Zum Beispiel die Implementierung der Methoden call(), apply() und bind() in JS.
Node.js-bezogen: Einschließlich Tutorials zum Erstellen eines einfachen Single-Sign-On-(SSO)-Servers mit Node.js von Grund auf.
Python-bezogen: Zum Beispiel ein einfacher mobiler Dokumentenscanner in Python in 5 Minuten sowie ein Tutorial für ein einfaches Generative Adversarial Network (GAN) mit Tensorflow.
Das Own-X-Repository ist ideal für alle, die die zugrundeliegenden Prinzipien von Technologien durch praktisches Arbeiten erlernen möchten – egal ob Anfänger oder erfahrene Programmierer, jeder findet passende Inhalte.
Drehbuch-Assistent▸
AI Apps
AI Nachrichten