Apprentissage basé sur le projet
Une liste de didacticiels de programmation dans lesquels les apprenants créent une application à partir de zéro. Ces tutoriels sont divisés en différents langages de programmation principaux. Certains ont des technologies et des langues mélangées.
Pour commencer, alignez simplement ce dépôt. Veuillez vous référer à contribution.md pour les directives de contribution.
Table des matières:
- C #
- C / C ++
- Se cacher
- Élixir
- Erlang
- F #
- Aller
- Haskell
- HTML / CSS
- Java
- Javascrip
- Kotlin
- Lua
- Ocaml
- Php
- Python
- R
- Rubis
- Rouiller
- Scala
- Rapide
- Ressources supplémentaires
C / C ++:
- Construire un interprète (le chapitre 14 sur est écrit en c)
- Allocateurs de mémoire 101 - Écrivez un allocateur de mémoire simple
- Écrivez une coquille en C
- Écrire un système de fichiers de fusibles
- Créez votre propre éditeur de texte
- Construisez votre propre Lisp
- Comment programmer un jeu NES en C
- Écrivez un système d'exploitation à partir de zéro
- Comment créer un système d'exploitation à partir de zéro
- Construire un émulateur ChIP-8
- Programmation de jeu débutant avec C ++ et SDL
- Implémentation d'un magasin de valeurs clés
- Minuscules projets graphiques 3D
- Tiny Renderer ou Comment fonctionne OpenGL: Rendu logiciel en 500 lignes de code
- Raytracing compréhensible dans 256 lignes de nu C ++
- Kaboom! en 180 lignes de nu C ++
- 486 lignes de C ++: FPS old-school en un week-end
- Écriture d'un compilateur JIT minimal x86-64 en C ++
- Construisez une bibliothèque de téléchargeur de code en direct pour C ++
- Écrivez une table de hachage en C
- Créons une base de données simple
- Écrivons un noyau
- Écrivez un chargeur de démarrage en C
- Conteneur Linux en 500 lignes de code
- Écrivez votre propre machine virtuelle
- Apprentissage KVM - Implémentez votre propre noyau Linux
- Écrivez un compilateur C
- Partie 1: entiers, lexing et génération de code
- Partie 2: Opérateurs unaires
- Partie 3: Opérateurs binaires
- Partie 4: encore plus d'opérateurs binaires
- Partie 5: Variables locales
- Partie 6: Conditionnels
- Partie 7: Énoncés composés
- Partie 8: Loops
- Partie 9: fonctions
- Partie 10: Variables globales
- Implémentation d'une langue avec LLVM
- Meta Crush Saga: un jeu de compilation C ++ 17
- Multiplication de matrice haute performance
- Envahisseurs d'espace à partir de zéro
- Partie 1
- Partie 2
- Partie 3
- Partie 4
- Partie 5
- Tutoriel tetris dans la plate-forme C ++ indépendante
- Écrire un débogueur Linux
- Partie 1: Configuration
- Partie 2: points d'arrêt
- Partie 3: Registres et mémoire
- Partie 4: Elfes et nains
- Partie 5: Source et signaux
- Partie 6: Stepping au niveau de la source
- Partie 7: Points d'arrêt au niveau de la source
- Partie 8: Stack Farning
- Partie 9: Traiter les variables
- Partie 10: Sujets avancés
Programmation réseau
Codesons une pile TCP / IP
- Partie 1: Ethernet et ARP
- Partie 2: IPv4 et ICMPV4
- Partie 3: Bases TCP et poignée de main
- Partie 4: API TCP Data Flow & Socket
- Partie 5: retransmission TCP
Programmation des serveurs simultanés
- Partie 1 - Introduction
- Partie 2 - Fil
- Partie 3 -
- Partie 4 - Libuv
- Partie 5 - Étude de cas Redis
- Partie 6 - Rappels, promesses et asynchrones / attendre
Courtier MQTT à partir de zéro
- Partie 1 - Le protocole
- Partie 2 - Réseautage
- Partie 3 - serveur
- Partie 4 - Structures de données
- Partie 5 - Abstraction du sujet
- Partie 6 - Handleurs
- Bonus - multithreading
OpenGL:
- Création du clone de jeu en petits groupes en C ++ avec OpenGL
- Éclater
- Mise en place
- Rendu sprites
- Niveaux
- Collisions
- Balle
- Détection de collision
- Résolution de collision
- Particules
- Post-traitement
- Mises sous tension
- Audio
- Rendre le texte
- Réflexions finales
- Héros fait à la main
- Comment faire Minecraft dans C ++ / OpenGL (vidéo)
C #:
- Apprenez C # en construisant un jeu RPG simple
- Créez un jeu voyou en C #
- Créez une application vierge avec C # et Xamarin (travail en cours)
- Créez l'application iOS Photo Library avec Xamarin et Visual Studio
- Construire le Corewiki Il s'agit d'un système de gestion de contenu de style Wiki-de style Wiki qui a été complètement écrit en C # avec les pages Core et Razor ASP.NET. Vous pouvez trouver le code source ici.
Clojure:
- Construire un bot Twitter avec Clojure
- Construire un vérificateur de sorts
- Construire une intégration Jira avec Clojure & Atlassian Connect
- Prototypage avec Clojure
Élixir
- Construire une application de chat simple avec Elixir et Phoenix
- Comment rédiger un raccourcisseur de liens super rapide avec Elixir, Phoenix et Mnesia
Erlang
- Chatbus: créez votre première application de salle de chat multi-utilisateurs avec Erlang / OTP
- Faire une application de chat avec Erlang, Rebar, Cowboy et Bullet
F #:
- Écrivez votre propre Excel en 100 lignes de F #
Java:
- Construire un interprète (le chapitre 4-13 est écrit en Java)
- Créez un serveur HTTP simple avec Java
- Créer une application de lampe de poche Android (vidéo)
- Créer une application Spring Boot avec l'authentification des utilisateurs
Javascript:
- Construire 30 choses en 30 jours avec 30 tutoriels
- Créez une application dans Pure JS
- Construisez une extension de cahier Jupyter
HTML et CSS:
- Créer un écran de chargement
- Construisez une calculatrice HTML avec JS
Application mobile:
- Construisez une application React Native TODO
- Construisez une application native React avec Redux Thunk
Applications Web:
Réagir:
- Créer des applications React.js sans serveur
- Créer un clone Trello
- Créez une application de vote de personnage avec React, Node, MongoDB et Socketio
- REACT Tutorial: Cloning Yelp
- Construisez une application de vote de film complète avec un développement de test-premier à l'aide de moka, react, redux et immuable
- Construisez un flux Twitter avec React et Node
- Créez une application Mern Story sans serveur avec webtask.io
- Construisez un clone moyen simple en utilisant react.js et node.js
- Intégrer MailChimp dans JS
- Construisez une extension chromée avec React + Parcel
- Créez une application TODO avec React Native
- Faire une application de chat
- Créer une application d'actualités avec React Native
- Apprendre webpack pour réagir
- Tester l'application React avec Pupepeteer et plaisanterie
- Construisez votre propre réactionnaire réactif
- Codez le jeu de la vie avec React
- Un tutoriel d'introduction de base React + Redux
- Construisez un planificateur de rendez-vous
- Créer une application de chat avec l'analyse des sentiments
- Créer une configuration d'application Web complète
- Créer un clone tooist avec React et Firebase
- Construire une machine de devis aléatoire
- Partie 1
- Partie 2
- Partie 3
- Partie 4
- Partie 5
- Partie 6
- Partie 7
Angulaire:
Construisez un clone Instagram avec Angular 1.x
Construisez un client d'information de piratage compatible hors ligne avec Angular 2+
Construisez un clone Google+ avec Django et AngularJS (Angular 1.x)
Construisez une belle application du monde réel avec Angular 8:
Construire une disposition réactive avec bootstrap 4 et Angular 6
Application TODO avec Angular 5
- Introduction à Angular
- Partie 1
Nœud:
- Créez un site Web simple avec Node, Express et MongoDB
- Construisez un éditeur de Markdown en temps réel avec Nodejs
- Développement axé sur les tests avec le nœud, les postgres et le knix
- Écrivez un bot Twitter dans Node.js
- Créer une application Web simple RESTful
- Construisez un simple bot de recherche en 30 minutes
- Créer une application Web de grattage de travail
Vue
- Vue 2 + Firebase: Comment construire une application Vue avec le système d'authentification Firebase en 15 minutes
- Tutoriel d'application Vue.js - Création d'une application de budgétisation simple avec Vue
- Créez un blog avec Vue, GraphQL et Apollo
- Créez une application Web complète à l'aide de la pile Mevn (MongoDB, Express, Vue, Node)
- Vue.js Tutorial de liste de tâches (vidéo)
D'autres (hapi, express ...):
- Créer une application Web progressive (PWA)
- Partie 1
- Partie 2
- Partie 3
- Créez une demande de ticket d'assistance avec Adonisjs
- Créez une application de bureau native avec JS
- Construisez une API puissante avec Nodejs, GraphQL et HAPI
D3.js
- Apprenez D3 en utilisant des exemples
- Apprenez à faire un tableau de ligne
Développement du jeu:
- Faire un jeu de rupture 2D à l'aide de Phaser
- Faire Flappy Bird dans HTML5 et Javascript avec Phaser
Application de bureau:
- Construisez un lecteur de musique avec React & Electron
- Partie 1
- Partie 2
- Partie 3
- Créez une application de chat de bureau avec React et Electron
Divers:
- Comment créer un framework Web en moins de 20 lignes de code
- Construisez-vous un redux
- Comment écrire votre propre Dom virtuel
- Créez une API GraphQL sans serveur en temps réel avec WebSockets sur AWS
Kotlin:
- Keddit - Apprenez Kotlin tout en développant une application Android
Lua:
AMOUR:
- Bytepath: Création d'un jeu complet avec Lua et Löve
- Partie 0: Introduction
- Partie 1: boucle de jeu
- Partie 2: Bibliothèques
- Partie 3: chambres et zones
- Partie 4: Exercices
- Partie 5: Bases du jeu
- Partie 6: Bases des joueurs
- Partie 7: Statistiques et attaques des joueurs
- Partie 8: ennemis
- Partie 9: Réalisateur et boucle de gameplay
- Partie 10: Pratiques de codage
- Partie 11: passifs
- Partie 12: Plus de passifs
- Partie 13: Arbre de compétences
- Partie 14: Console
- Partie 15: Final
Python:
Stracage sur le Web:
- Miner les données Twitter avec Python
- Gratter un site Web avec Scrapy et MongoDB
- Comment gratter avec Python et Selenium WebDriver
- Quel film dois-je regarder en utilisant BeautifulSoup
Applications Web:
- Construisez un microblog avec Flask
- Créer une application Web de blog à Django
- Partie I: Introduction
- Partie II: Extension pour ajouter plus de fonctionnalités
- Choisissez vos propres présentations d'aventure
- Construisez une liste de TODO avec Flask et RethinkDB
- Construisez une liste de TODO avec Django et le développement axé sur les tests
- Construisez un microservice reposant à Python
- Microservices avec Docker, Flask et réagir
- Créez une application Web simple avec Flask
- Construisez une API RESTful avec Flask - la manière TDD
- Créez une API Django en moins de 20 minutes
Bots:
- Construisez un bot Reddit
- Comment faire un bot Reddit - YouTube (vidéo)
- Construire un bot Facebook Messenger
- Making a Reddit + Facebook Messenger Bot
- Comment créer un bot télégramme à l'aide de Python
- Créer un bot Twitter dans Python
Science des données:
- Apprenez Python pour la science des données en réalisant plusieurs projets (vidéo):
- Partie 1: Introduction
- Partie 2: Analyse du sentiment Twitter
- Partie 3: Systèmes de recommandation
- Partie 4: Prédire les cours des actions
- Partie 5: Rêve profond dans Tensorflow
- Partie 6: Algorithmes génétiques
Apprentissage automatique:
- Écrivez la régression linéaire à partir de zéro dans Python (vidéo)
- Apprentissage automatique étape par étape à Python
- Prédire la qualité du vin
- Résoudre un problème de classification des fruits
- Apprenez l'apprentissage non surveillé avec Python
- Construisez votre propre filet de neurones à partir de zéro à Python
- Régression linéaire en python sans sklearn
- Régression linéaire multivariée sans sklearn
- Recommandeur de musique utilisant KNN
- Trouvez des questions Quora similaires
- Utilisation de Bow, TFIDF et XGBOost
- Utilisation de Word2Vec et XgBoost
OpenCV:
- Créer un scanner de documents
- Construire un détecteur de visage à l'aide d'OpenCV et d'apprentissage en profondeur
- Construisez un système de reconnaissance faciale à l'aide d'OpenCV, de Python et d'apprentissage en profondeur
- Détecter les caractéristiques saillantes d'une image
- Construisez un scanner de code-barres
- Apprenez le clustering de visage avec Python
- Suivi des objets avec camshift
- Segmentation sémantique avec OpenCV et apprentissage en profondeur
- Détection de texte en images et vidéos
- Les gens comptaient en utilisant OpenCV
- Suivi de plusieurs objets avec OpenCV
- Transfert de style neuronal avec OpenCV
- OpenCV OCR et reconnaissance de texte
- Tutoriel de correction de l'inclinaison du texte
- Tutoriel de détection de point de repère facial
- Détection d'objet utilisant Mask-R-CNN
- Tutoriel automatique de détection cible
- Eigenfaces à l'aide d'OpenCV
- Tutoriel de détection de repère du visage plus rapide (5 points)
- Détection de point de clés de main
- Suivi des objets de corrélation DLIB -
- Tracker d'objet unique
- Tracker d'objets mutile
- Coux d'image avec OpenCV et Python
- Segmentation des instances avec OpenCV
- Détecteur de masque facial
Apprentissage en profondeur:
- Utilisation de réseaux neuronaux convolutionnels pour détecter les points clés du visage
- Générer un visage moyen en utilisant Python et OpenCV
- Brisez un système CAPTCHA à l'aide de CNNS
- Utilisez le modèle de création pré-formé pour fournir des prédictions d'image
- Créez votre premier CNN
- Construisez un pipeline de reconnaissance faciale
- Construire un générateur de légende d'image
- Faites votre propre système de reconnaissance faciale
- Entraîner une détection de langue AI en 20 minutes
- Détection d'objets avec réseaux de neurones
- Apprenez l'analyse du sentiment Twitter -
- Partie I - Nettoyage des données
- Partie II - EDA, visualisation des données
- Partie III - Loi de Zipf, visualisation des données
- Partie IV - Extraction de caractéristiques (Count Vectoriser)
- Partie V - Extraction des fonctionnalités (TFIDF Vectoriser)
- Partie VI - DOC2VEC
- Partie VII - Modélisation de phrases + DOC2VEC
- Partie VIII - Réduction de la dimensionnalité
- Partie IX - NEURS NEURAL avec des vecteurs TFDIF
- Partie X - NEURS NEURAL avec Word2Vec / Doc2Vec
- Partie XI - CNN avec word2vec
- Utiliser l'apprentissage du transfert pour la classification des images personnalisées
- Apprenez à coder un simple réseau neuronal en 11 lignes de Python
- Construire un réseau neuronal en utilisant une approche de descente de gradient
- Entraîner un modèle Keras pour générer des couleurs
- Commencez avec Keras sur un ensemble de données personnalisé
- Utilisez des espaces propres et des pêcheurs sur FACES94 DataSet
- Tutoriel de reconnaissance de chiffres de kaggle mnist
- Tutoriel de mode MNIST avec tf.keras
- CNN utilisant des keras pour classer automatiquement la santé des racines
- Keras vs tensorflow
- Apprentissage en profondeur et analyse d'image médicale pour la détection du paludisme
- Transférer l'apprentissage pour la classification d'images à l'aide de keras
- Code un classificateur de sourire à l'aide de CNNS dans Python
- Traitement du langage naturel à l'aide de Scikit-Learn
- Code a Taylor Swift Lyrics Generator
Divers:
- Construire un interprète simple
- Construisez une blockchain simple à Python
- Écrivez une base de données NoSQL dans Python
- Construire un scanner de pompe à gaz avec OpenCV / Python / iOS
- Construisez un système de streaming distribué avec Python et Kafka
- Écriture d'un compilateur JIT x86-64 de base à partir de zéro dans Stock Python
- Faire un débogueur de bas niveau (Linux)
- Implémentation d'un moteur de recherche
- Partie 1
- Partie 2
- Partie 3
- Construisez le jeu de la vie
- Créer un art terminal ASCII
- Écrivez un tic-tac-toe ai
- Créer de l'art photomosaïque
- Construisez le jeu "Snake" dans le terminal
- Écrivez-vous un git
- Une implémentation Python d'un python bytecode Runner
Aller:
- Créez une application de chat en temps réel avec Golang, Angular 2 et WebSocket
- Construire des applications Web GO et des microservices à l'aide d'un gin
- Comment utiliser Godog pour le développement axé sur le comportement dans Go et a commencé avec Godog
- Blocage de construction en Go
- Partie 1: Prototype de base
- Partie 2: Preuve de travail
- Partie 3: Persistance et CLI
- Partie 4: Transactions 1
- Partie 5: Adresse
- Partie 6: Transactions 2
- Partie 7: réseau
- Créer une application Web avec Golang
- Construire un conteneur à partir de zéro dans Go - Liz Rice (systèmes de microscalitation)
PHP:
- Comment construire un blog avec Laravel (vidéo)
- Faites votre propre blog (en pure PHP)
- Construisez un exemple de site Web immobilier avec Silverstripe
- Construire l'application de chat en temps réel avec Laravel 5.4 et Vuejs (vidéo)
- Construire un réseau social: Laravel 5 - YouTube (vidéo)
- Construisez une application multi-locataire complète avec Laravel
- Partie 0: Introduction
- Partie 1: Configuration
- Partie 2: Rôles et Permissinos
- Partie 3: Invitation
- Partie 4: Authentification
- Partie 5: Test
- Partie 6: Profil utilisateur
- Partie 7: Déploiement
OCAML:
- Implémentez une langue avec LLVM dans OCAML
Rubis:
- Construisez une pile de réseau avec Ruby
- Construisez votre propre redis
- Partie 0: Introduction
- Partie 1: serveur TCP Barebones
- Partie 2: ping <-> pong
- Partie 3: clients simultanés
- Partie 4: Echo
Ruby sur les rails:
- Le tutoriel Ruby on Rails
- Construisez Instagram à partir de zéro avec Ruby sur Rails
- Construire un réseau social à l'aide de rails
- Comment construire une application Ruby on Rails
Haskell:
- Écrivez-vous un Haskell - Créez un compilateur fonctionnel moderne
- Écrivez-vous un schéma en 48 heures
- Vous écrire un schéma, version 2
- Roulez votre propre bot IRC
- Créons un compilateur de base dans Haskell
- Faire du film Monad
- Faire un site Web avec Haskell (obsolète)
R:
- Créer des applications Web avec Shiny
- Construire un bot de crypto-monnaie
- Apprenez l'exploitation des règles associées dans R
Rouiller:
- Une application Web simple à Rust
- Partie 1
- Partie 2A
- Partie 2B
- Écrivez un système d'exploitation en rouille pure
- Construisez un moteur de navigateur en rouille
- Écrivez un microservice en rouille
- Apprendre la rouille avec trop de listes liées
- Rust In Detail: Écriture du service de chat évolutif à partir de zéro
- Partie 1: Implémentation de WebSocket. Introduction.
- Partie 2: Envoi et réception de messages
- Écrire un roguelike rouille pour le bureau et le web
Scala:
- Blockchain simple acteur
- Pas de magie: expressions régulières
Rapide:
- Piratage avec Swift - Apprenez Swift en faisant 39 projets
Ressources supplémentaires
- REACT Redux Liens
- Python complet
- École de nœud
- Scotchio
- Exercice
- Egghead.io
- Le blog de Michael Herman
- Thinkster.io
- C Tutoriels basés sur le projet
- Éclairer
- Ateliers de piratage du club