Build-Your-Own-X : collection de ressources pour maîtriser la programmation
Build-Your-Own-X : collection de ressources pour maîtriser la programmationIntroduction
Qu'est-ce que build-your-own-x ?
Ce dépôt, nommé build-your-own-x, rassemble de nombreux tutoriels détaillés, étape par étape, sur la façon de recréer à partir de zéro diverses technologies. Il aide à apprendre en construisant soi-même des technologies populaires. L'idée vient d'une phrase de Richard Feynman : « Ce que je ne peux pas créer, je ne peux pas le comprendre », ce qui signifie qu'en réalisant soi-même un projet, on comprend vraiment comment la technologie fonctionne. Mettre l'accent sur la compréhension approfondie de la technologie en la créant est une excellente façon d'apprendre la programmation.

Contenu principal d'Own-X
Liée à la 3D
Moteur de rendu 3D : il y a une introduction au ray tracing en C++ pour dessiner des images 3D, ainsi que des tutoriels pour écrire des moteurs logiciels 3D en C#, TypeScript ou JS.
Réalité augmentée (AR) : il y a un tutoriel d'introduction à la RA en C# avec Vuforia et Unity 3D, ainsi qu'un tutoriel C# pour ARKit (avec vidéo).
Réseau et systèmes distribués
Client BitTorrent : il existe des tutoriels expliquant comment créer son propre client BitTorrent.
Blockchain / crypto-monnaie : par exemple, un tutoriel pour créer une crypto-monnaie basée sur la preuve d'enjeu nommée NaivecoinStake en TypeScript.
Pile réseau : il y a du contenu pour créer sa propre pile réseau.
Liée aux robots
Chatbots : il y a un tutoriel pour créer un robot IA simple Facebook Messenger en Node.js (avec API.ai), ainsi qu'un tutoriel pour créer un robot Slack en 20 minutes avec Python, l'API Slack Events et Django.
Outils en ligne de commande : il existe des tutoriels pour créer ses propres outils en ligne de commande.
Liée aux bases de données
Construction de bases de données : par exemple, un tutoriel pour créer une base de données à partir de zéro en Go, couvrant la persistance, les index et la concurrence.
Conteneurs : il y a un tutoriel pour créer son propre Docker.
Émulateurs / machines virtuelles : il y a des tutoriels pour créer son propre émulateur ou sa propre machine virtuelle.
Liée aux frameworks/bibliothèques front-end
React : apprenez comment fonctionne le React Reconciler en créant un React DOM léger, ainsi que des tutoriels pour créer à partir de zéro un framework front-end avec composants (templates, état, VDOM).
Liée aux jeux vidéo
Développement de divers jeux : il y a un tutoriel pour créer un Tetris multiplateforme en C++ (axé principalement sur la logique de jeu pour débutant), un tutoriel pour créer un Snake en JS, HTML, CSS, et un tutoriel pour créer des jeux en Python avec Pygame.
Contrôle de version : il y a un tutoriel pour créer un client Git simple en Python, capable de créer un dépôt, de faire des commits et de pousser le code vers GitHub.
Pile de protocoles réseau : il y a du contenu pour créer sa propre pile réseau.
Liée aux réseaux de neurones
Construction de réseaux de neurones : par exemple, un tutoriel pour créer un réseau de neurones pour programmeurs JS en JS (à partir du perceptron, première partie), un tutoriel pour créer un moteur d'expressions régulières en Python (avec différentes approches : backtracking, NFA, DFA), et un tutoriel pour créer un réseau de neurones à partir de zéro en JS.
Liée aux systèmes d'exploitation
Développement de systèmes d'exploitation : il y a un tutoriel vidéo en C pour créer une pile logicielle et matérielle pour un ordinateur simple, incluant l'écriture d'un Kernel 201 avec prise en charge du clavier et de l'écran, ainsi qu'un tutoriel pour apprendre à créer un système d'exploitation avec le noyau Linux et un Raspberry Pi.
Moteur physique : il y a des tutoriels pour créer son propre moteur physique.
Liée aux langages de programmation
Construction de divers langages : il y a des tutoriels pour créer son propre Lisp en C (en moins de 1000 lignes), « Let's Build a Compiler » en C et x86, un manuel pour créer un interpréteur en Java, un compilateur de la source au code machine en Python, et son propre langage de programmation en Racket.
Moteur d'expressions régulières : il y a un tutoriel pour créer des expressions régulières en JS avec une approche fonctionnelle (en utilisant les dérivées), et un tutoriel pour créer son propre moteur d'expressions régulières en Python (avec backtracking, NFA, DFA, etc.).
Moteur de recherche : il y a des tutoriels pour créer son propre moteur de recherche.
Shell : il y a des tutoriels pour créer son propre Shell.
Moteur de templates : il y a des tutoriels pour créer son propre moteur de templates.
Éditeur de texte : il y a des tutoriels pour créer son propre éditeur de texte.
Liée aux systèmes de reconnaissance visuelle
Reconnaissance de plaques d'immatriculation : un tutoriel pour la reconnaissance de plaques d'immatriculation en Python avec machine learning.
Reconnaissance faciale : un tutoriel pour un pipeline de reconnaissance faciale en Python avec Tensorflow.
Moteur voxel : il y a des tutoriels pour créer son propre moteur voxel.
Navigateur web : il y a des tutoriels pour créer son propre navigateur.
Serveur web : il y a des tutoriels pour créer son propre serveur.
Autres
De NAND à Tetris : contenu pour construire un ordinateur moderne à partir des principes de base.
Tutoriels de style vibe coding : tutoriels BYOX réalisés dans un style vibe coding.
Réseau en C# : inclut des tutoriels réseau en C# pour créer un serveur de chat TCP, un jeu TCP, un pong en UDP, etc.
Animation 3D en C# : un tutoriel en C# et GLSL pour charger et rendre des animations squelettiques 3D à partir de zéro.
JavaScript : par exemple, implémenter les méthodes call(), apply() et bind() en JS.
Node.js : inclut un tutoriel pour créer à partir de zéro un serveur et une solution SSO (Single Sign-On) simple en Node.js.
Python : par exemple, créer un scanner de documents mobile simple en 5 minutes avec Python, et un tutoriel pour créer un réseau antagoniste génératif (GAN) simple avec Tensorflow.
Le dépôt Own-X est adapté à toute personne souhaitant apprendre concrètement les principes fondamentaux de la technologie. Que l'on soit débutant ou programmeur expérimenté, chacun peut y trouver du contenu adapté à son niveau.
Assistant scénario▸
Apps AI
Actualités AI