Aprendizaje basado en proyectos
Una lista de tutoriales de programación en los que los aspirantes a desarrolladores de software aprenden a crear una aplicación desde cero. Estos tutoriales se dividen en diferentes lenguajes de programación principales. Los tutoriales pueden involucrar múltiples tecnologías e idiomas.
Para comenzar, simplemente bifurque este repositorio. Consulte CONTRIBUTING.md para conocer las pautas de contribución.
Tabla de contenido:
- DO#
- C/C++
- Clojure
- Dardo
- Elixir
- erlang
- F#
- Ir
- Haskell
- HTML/CSS
- Java
- javascript
- Kotlin
- lua
- OCaml
- PHP
- Pitón
- R
- Rubí
- Óxido
- escala
- Rápido
- Recursos adicionales
C/C++:
- Construya un intérprete (el capítulo 14 está escrito en C)
- Asignadores de memoria 101: escriba un asignador de memoria simple
- Escribir un Shell en C
- Escribir un sistema de archivos FUSE
- Crea tu propio editor de texto
- Construye tu propio ceceo
- Cómo programar un juego de NES en C
- Escribir un sistema operativo desde cero
- Cómo crear un sistema operativo desde cero
- Construyendo un emulador CHIP-8
- Comenzando a programar juegos con C++ y SDL
- Implementación de una tienda de valor clave
- Pequeños proyectos de gráficos 3D
- Tiny Renderer o cómo funciona OpenGL: renderizado por software en 500 líneas de código
- RayTracing comprensible en 256 líneas de C++ básico
- ¡KABOOM! en 180 líneas de C++ desnudo
- 486 líneas de C++: FPS de la vieja escuela en un fin de semana
- Escribir un compilador JIT x86-64 mínimo en C++
- Cree una biblioteca Live Code-reloader para C++
- Escribir una tabla hash en C
- Construyamos una base de datos simple
- Escribamos un núcleo
- Escribir un gestor de arranque en C
- Contenedor de Linux en 500 líneas de código
- Escribe tu propia máquina virtual
- Aprendizaje de KVM: implemente su propio kernel de Linux
- Construya su propio Redis con C/C++
- Escribir un compilador de C
- Parte 1: Enteros, Lexing y Generación de Código
- Parte 2: Operadores unarios
- Parte 3: Operadores binarios
- Parte 4: Aún más operadores binarios
- Parte 5: Variables locales
- Parte 6: Condicionales
- Parte 7: Declaraciones compuestas
- Parte 8: Bucles
- Parte 9: Funciones
- Parte 10: Variables globales
- Implementación de un lenguaje con LLVM
- Meta Crush Saga: un juego en tiempo de compilación C++17
- Multiplicación de matrices de alto rendimiento
- Invasores espaciales desde cero
- Parte 1
- parte 2
- parte 3
- parte 4
- parte 5
- Tutorial de Tetris en plataforma C++ independiente
- Escribir un depurador de Linux
- Parte 1: Configuración
- Parte 2: Puntos de interrupción
- Parte 3: Registros y memoria
- Parte 4: Elfos y enanos
- Parte 5: Fuente y señales
- Parte 6: Paso a nivel de fuente
- Parte 7: puntos de interrupción a nivel de fuente
- Parte 8: Desenrollado de la pila
- Parte 9: Manejo de variables
- Parte 10: Temas avanzados
- Escribamos un compilador.
- Parte 1: Introducción, selección de un idioma y planificación
- Parte 2: Un léxer
- Parte 3: un analizador
- Parte 4: Pruebas
- Parte 5: Un generador de código
- Parte 6: Entrada y salida
- Parte 7: matrices
- Parte 8: Cadenas, referencias directas y conclusión
Programación de red
AbiertoGL:
- Creando un clon del juego 2D Breakout en C++ con OpenGL
- Fugarse
- Configurando
- Representación de sprites
- Niveles
- Colisiones
- Pelota
- Detección de colisiones
- Resolución de colisiones
- Partículas
- Postprocesamiento
- Potenciadores
- Audio
- Representar texto
- Pensamientos finales
- Héroe hecho a mano
- Cómo hacer Minecraft en C++/OpenGL (vídeo)
DO#:
- Aprenda C# creando un juego de rol sencillo
- Crea un juego tipo Rogue en C#
- Cree una aplicación en blanco con C# y Xamarin (trabajo en progreso)
- Cree una aplicación de biblioteca de fotos para iOS con Xamarin y Visual Studio
- Creación de CoreWiki Este es un sistema de gestión de contenidos estilo Wiki que ha sido completamente escrito en C# con ASP.NET Core y Razor Pages. Puedes encontrar el código fuente aquí.
Clojure:
- Construya un bot de Twitter con Clojure
- Construyendo un corrector ortográfico
- Creación de una integración JIRA con Clojure y Atlassian Connect
- Creación de prototipos con Clojure
- Tetris en ClojureScript
Dardo:
Aleteo:
- Clon de Amazon con panel de administración
- Aplicación de entrega de comida
- Clon de documentos de Google
- Clon de Instagram
- Juego TicTacToe multijugador
- Clon de TikTok
- Aplicación de reserva de entradas
- Aplicación de viajes
- Clon de contracción
- Clonar WhatsApp
- Clon de Wordle
- Clon de zoom
- Clon de Netflix
Elixir
- Creación de una aplicación de chat sencilla con Elixir y Phoenix
- Cómo escribir un acortador de enlaces súper rápido con Elixir, Phoenix y Mnesia
erlang
- ChatBus: cree su primera aplicación de sala de chat multiusuario con Erlang/OTP
- Crear una aplicación de chat con Erlang, Rebar, Cowboy y Bullet
F#:
- Escribe tu propio Excel en 100 líneas de F#
Java:
- Construya un intérprete (el Capítulo 4-13 está escrito en Java)
- Construya un servidor HTTP simple con Java
- Cree una aplicación de linterna para Android (vídeo)
- Cree una aplicación Spring Boot con autenticación de usuario
JavaScript:
- Construye 30 cosas en 30 días con 30 tutoriales
- Cree una aplicación en Pure JS
- Cree una extensión de Jupyter Notebook
- Crea un juego TicTacToe con JavaScript
- Cree una aplicación meteorológica sencilla con JavaScript básico
- Cree una aplicación de lista de tareas pendientes en JavaScript
HTML y CSS:
- Construye una pantalla de carga
- Construya una calculadora HTML con JS
- Construya Snake usando solo JavaScript, HTML y CSS
Aplicación móvil:
- Cree una aplicación React Native Todo
- Cree una aplicación nativa de React con Redux Thunk
Aplicaciones web:
Reaccionar:
- Cree aplicaciones React.js sin servidor
- Crear un clon de Trello
- Cree una aplicación de votación de personajes con React, Node, MongoDB y SocketIO
- Tutorial de reacción: clonación de Yelp
- Cree una aplicación completa de votación de películas con desarrollo de prueba primero utilizando Mocha, React, Redux e Immutable
- Cree una transmisión de Twitter con React y Node
- Cree un clon mediano simple usando React.js y Node.js
- Integrar MailChimp en JS
- Cree una extensión de Chrome con React + Parcel
- Cree una aplicación de tareas pendientes con React Native
- Hacer una aplicación de chat
- Crea una aplicación de noticias con React Native
- Aprenda Webpack para reaccionar
- Prueba de la aplicación React con Puppeteer y Jest
- Construya su propio modelo de React
- Codifica el juego de la vida con React
- Un tutorial introductorio básico de React+Redux
- Crear un programador de citas
- Cree una aplicación de chat con análisis de sentimiento
- Cree una configuración de aplicación web de pila completa
- Crea un clon de Todoist con React y Firebase
- Construya una máquina de cotizaciones aleatorias
- Parte 1
- parte 2
- parte 3
- parte 4
- parte 5
- parte 6
- parte 7
- Proyecto de comercio electrónico React Phone (vídeo)
Angular:
Cree un clon de Instagram con Angular 1.x
Cree un cliente Hacker News sin conexión con Angular 2+
Cree un clon de Google+ con Django y AngularJS (Angular 1.x)
Cree una hermosa aplicación del mundo real con Angular 8:
Cree un diseño responsivo con BootStrap 4 y Angular 6
Aplicación de tareas pendientes con Angular 5
- Introducción a Angular
- Parte 1
Nodo:
- Cree un editor Markdown en tiempo real con NodeJS
- Desarrollo basado en pruebas con Node, Postgres y Knex
- Escribe un bot de Twitter en Node.js
- Cree un robot de búsqueda simple en 30 minutos
- Cree una aplicación web de búsqueda de empleo
- Construyendo una aplicación GitHub
- Cómo crear tu propia aplicación Uber-for-X usando JavaScript, Node.JS, MongoDB y Web Sockets
vista
- Vue 2 + Firebase: Cómo crear una aplicación Vue con el sistema de autenticación Firebase en 15 minutos
- Tutorial de la aplicación Vue.js: creación de una aplicación de presupuesto sencilla con Vue
- Cree un blog con Vue, GraphQL y Apollo
- Cree una aplicación web de pila completa utilizando la pila MEVN (MongoDB, Express, Vue, Node)
- Tutorial de la lista de tareas pendientes de Vue.js (vídeo)
- Vue 2 + Pub/Sub: cree una plataforma multiusuario punto a punto para juegos
Otros (Hapi, Express...):
- Cree una aplicación web progresiva (PWA)
- Cree una aplicación de escritorio nativa con JS
- Cree una API potente con NodeJs, GraphQL y Hapi
D3.js
- Aprenda D3 usando ejemplos
- Aprenda a hacer un gráfico de líneas
Desarrollo de juegos:
- Crea un juego de fuga en 2D con Phaser
- Crea Flappy Bird en HTML5 y JavaScript con Phaser
Aplicación de escritorio:
- Cree una aplicación de chat de escritorio con React y Electron
Misceláneas:
- Cómo construir un marco web en menos de 20 líneas de código
- Construya usted mismo un Redux
- Cómo escribir tu propio DOM virtual
- Cree una API GraphQL sin servidor en tiempo real con WebSockets en AWS
Kotlin:
- Keddit: aprenda Kotlin mientras desarrolla una aplicación para Android
Lúa:
AMAR:
- BYTEPATH: Creación de un juego completo con Lua y LÖVE
- Parte 0: Introducción
- Parte 1: bucle de juego
- Parte 2: Bibliotecas
- Parte 3: Habitaciones y Áreas
- Parte 4: Ejercicios
- Parte 5: Conceptos básicos del juego
- Parte 6: Conceptos básicos del jugador
- Parte 7: Estadísticas y ataques del jugador
- Parte 8: Enemigos
- Parte 9: Director y bucle de juego
- Parte 10: Prácticas de codificación
- Parte 11: Pasivos
- Parte 12: Más Pasivos
- Parte 13: Árbol de habilidades
- Parte 14: Consola
- Parte 15: Final
Pitón:
Raspado web:
- Minería de datos de Twitter con Python
- Raspe un sitio web con Scrapy y MongoDB
- Cómo raspar con Python y Selenium WebDriver
- ¿Qué película debería ver usando BeautifulSoup?
Aplicaciones web:
- Construya un microblog con Flask
- Crear una aplicación web de blog en Django
- Elige tus propias presentaciones de aventuras
- Cree una lista de tareas pendientes con Flask y RethinkDB
- Cree una lista de tareas pendientes con Django y desarrollo basado en pruebas
- Cree un microservicio RESTful en Python
- Microservicios con Docker, Flask y React
- Cree una aplicación web sencilla con Flask
- Cree una API de Django en menos de 20 minutos
- Cree una aplicación de entrega impulsada por la comunidad con Django, Postgres y JavaScript
- Aplicación de chat en tiempo real con Vue, django-notifs, RabbitMQ y uWSGI
- Parte 1
- parte 2
- parte 3
- parte 4
- parte 5
- parte 6
Bots:
- Construye un robot de Reddit
- Cómo hacer un bot de Reddit - YouTube (vídeo)
- Construye un bot de Facebook Messenger
- Hacer un bot de Reddit + Facebook Messenger
- Cómo crear un bot de Telegram usando Python
- Crear un bot de Twitter en Python
Ciencia de datos:
- Aprenda Python para ciencia de datos realizando varios proyectos (video):
- Parte 1: Introducción
- Parte 2: Análisis de sentimiento en Twitter
- Parte 3: Sistemas de recomendación
- Parte 4: Predicción de los precios de las acciones
- Parte 5: Sueño profundo en TensorFlow
- Parte 6: Algoritmos genéticos
Aprendizaje automático:
- Escribir regresión lineal desde cero en Python (vídeo)
- Aprendizaje automático paso a paso en Python
- Predecir la calidad del vino
- Resolver un problema de clasificación de frutas
- Aprenda el aprendizaje no supervisado con Python
- Construya su propia red neuronal desde cero en Python
- Regresión lineal en Python sin sklearn
- Regresión lineal multivariada sin sklearn
- Recomendador de música usando KNN
- Encuentre preguntas similares de Quora
- Usando BOW, TFIDF y Xgboost
- Usando Word2Vec y Xgboost
- Detección de noticias falsas con Python y aprendizaje automático
AbiertoCV:
- Construya un escáner de documentos
- Cree un detector de rostros utilizando OpenCV y aprendizaje profundo
- Cree el sistema de detección de objetos personalizado más rápido utilizando YOLOv3 (lista de reproducción de videos)
- Cree un sistema de reconocimiento facial utilizando OpenCV, Python y aprendizaje profundo
- Detectar las características destacadas de una imagen
- Construya un escáner de código de barras
- Aprenda a agrupar caras con Python
- Seguimiento de objetos con Camshift
- Segmentación Semántica con OpenCV y Deep Learning
- Detección de texto en imágenes y vídeos
- Contador de personas usando OpenCV
- Seguimiento de múltiples objetos con OpenCV
- Transferencia de estilo neuronal con OpenCV
- OpenCV OCR y reconocimiento de texto
- Tutorial de corrección de inclinación del texto
- Tutorial de detección de puntos de referencia faciales
- Detección de objetos usando Mask-R-CNN
- Tutorial de detección automática de objetivos
- Caras propias usando OpenCV
- Tutorial de detección de puntos de referencia faciales más rápido (5 puntos)
- Detección de puntos clave manuales
- Seguimiento de objetos de correlación Dlib -
- Rastreador de objetos individuales
- Rastreador de múltiples objetos
- Unión de imágenes con OpenCV y Python
- Segmentación de instancias con OpenCV
- Detector de mascarilla
Aprendizaje profundo:
- Uso de redes neuronales convolucionales para detectar puntos clave faciales
- Genere una cara promedio usando Python y OpenCV
- Romper un sistema Captcha usando CNN
- Utilice el modelo Inception previamente entrenado para proporcionar predicciones de imágenes
- Crea tu primera CNN
- Construya un canal de reconocimiento facial
- Construya un generador de títulos de imágenes
- Crea tu propio sistema de reconocimiento facial
- Entrene una IA de detección de idiomas en 20 minutos
- Detección de objetos con redes neuronales
- Aprenda el análisis de sentimiento de Twitter -
- Parte I: Limpieza de datos
- Parte II - EDA, visualización de datos
- Parte III - Ley de Zipf, visualización de datos
- Parte IV: Extracción de características (vectorizador de recuento)
- Parte V: Extracción de características (vectorizador Tfidf)
- Parte VI - Doc2Vec
- Parte VII - Modelado de frases + Doc2Vec
- Parte VIII - Reducción de dimensionalidad
- Parte IX - Redes neuronales con vectores Tfdif
- Parte X: Redes neuronales con word2vec/doc2vec
- Parte XI - CNN con Word2Vec
- Utilice Transfer Learning para una clasificación de imágenes personalizada
- Aprenda a codificar una red neuronal simple en 11 líneas de Python
- Construya una red neuronal utilizando el enfoque de descenso de gradiente
- Entrene un modelo de Keras para generar colores
- Comience con Keras en un conjunto de datos personalizado
- Utilice EigenFaces y FisherFaces en el conjunto de datos Faces94
- Tutorial del reconocedor de dígitos Kaggle MNIST
- Tutorial de moda MNIST con tf.keras
- CNN usa Keras para clasificar automáticamente la salud de la raíz
- Keras y Tensorflow
- Aprendizaje profundo y análisis de imágenes médicas para la detección de malaria
- Transferir aprendizaje para la clasificación de imágenes utilizando Keras
- Codifique un clasificador de sonrisas usando CNNS en Python
- Procesamiento del lenguaje natural utilizando scikit-learn
- Codificar un generador de letras de Taylor Swift
- Detección de máscara usando PyTorch Lightning
Misceláneas:
- Construya un intérprete simple
- Construya una cadena de bloques simple en Python
- Escribir una base de datos NoSQL en Python
- Construyendo un escáner de bomba de gas con OpenCV/Python/iOS
- Cree un sistema de transmisión distribuida con Python y Kafka
- Escribir un compilador JIT x86-64 básico desde cero en Python estándar
- Hacer un depurador de bajo nivel (Linux)
- Implementación de un motor de búsqueda
- Construye el juego de la vida
- Crear arte terminal ASCII
- Escribe una IA de tres en raya
- Crea arte fotomosaico
- Construye el juego "Snake" en la terminal.
- Escríbete un Git
- Una implementación de Python de un corredor de código de bytes de Python
- Crea un asistente de voz usando Python
Ir:
- Cree una aplicación de chat en tiempo real con Golang, Angular 2 y WebSocket
- Creación de aplicaciones web y microservicios Go utilizando Gin
- Cómo utilizar Godog para el desarrollo impulsado por el comportamiento en Go
- Construyendo blockchain en Go
- Parte 1: Prototipo básico
- Parte 2: Prueba de trabajo
- Parte 3: Persistencia y CLI
- Parte 4: Transacciones 1
- Parte 5: Dirección
- Parte 6: Transacciones 2
- Parte 7: Red
- Construyendo un contenedor desde cero en Go - Liz Rice (Microscaling Systems)(video)
- Cree una aplicación web con GoLang
- Creación de una aplicación de chat en Go con ReactJS
- Parte 1: Configuración inicial
- Parte 2: Comunicación sencilla
- Parte 3: Diseñando nuestro Frontend
- Parte 4: Manejo de múltiples clientes
- Parte 5: Mejorar la interfaz
- Parte 6: Dockerizar tu backend
- Ir al tutorial de WebAssembly: tutorial sobre cómo crear una calculadora
- Servidores REST en Go
- Parte 1: biblioteca estándar
- Parte 2: uso de un paquete de enrutador
- Parte 3: uso de un marco web
- Parte 4: uso de OpenAPI y Swagger
- Parte 5: software intermedio
- Parte 6 - autenticación
- Parte 7 - GraphQL
- Construyamos un acortador de URL en Go, con Gin & Redis
- Parte 1: configuración del proyecto
- Parte 2: Capa de almacenamiento
- Parte 3: Generador de enlaces cortos
- Parte 4 - Reenvío
- Creación de un chat TCP en Go (vídeo)
- Construyendo un cliente BitTorrent desde cero en Go
- Clase magistral de API REST con Go, PostgreSQL y Docker (lista de reproducción de videos)
in progress
PHP:
- Cómo crear un blog con Laravel (vídeo)
- Crea tu propio blog (en PHP puro)
- Ejemplo de creación de un sitio web inmobiliario con SilverStripe
- Creación de una aplicación de chat en tiempo real con Laravel 5.4 y VueJS (vídeo)
- Construya una red social: Laravel 5 - Youtube (vídeo)
- Cree una aplicación multiinquilino con todas las funciones con Laravel
- Parte 0: Introducción
- Parte 1: Configuración
- Parte 2: Roles y Permissinos
- Parte 3: Invitación
- Parte 4: Autenticación
- Parte 5: Pruebas
- Parte 6: Perfil de usuario
- Parte 7: Implementación
- Cree una aplicación CRUD de Laravel desde cero
OCaml:
- Implementar un lenguaje con LLVM en OCaml
- Escribir un emulador de Game Boy en OCaml
Rubí:
- Construya una pila de red con Ruby
- Construye tu propio Redis
- Parte 0: Introducción
- Parte 1: Servidor TCP básico
- Parte 2: PING <-> PONG
- Parte 3: Clientes concurrentes
- Parte 4: ECO
- Reconstrucción de Git en Ruby
Rubí sobre rieles:
- El tutorial de Ruby on Rails
- Construye Instagram desde cero con Ruby on Rails
- Construya una red social usando Rails
- Cómo construir una aplicación Ruby on Rails
Haskel:
- Write You a Haskell: cree un compilador funcional moderno
- Escriba usted mismo un esquema en 48 horas
- Escribirle un esquema, versión 2
- Crea tu propio robot IRC
- Hacer una mónada de película
- Crear un sitio web con Haskell (obsoleto)
R:
- Cree aplicaciones web con Shiny
- Construya un bot de criptomonedas
- Aprenda la minería de reglas asociadas en R
Óxido:
- Una aplicación web sencilla en Rust
- Parte 1
- Parte 2a
- Parte 2b
- Escribe un sistema operativo en Rust puro
- Construya un motor de navegador en Rust
- Escribir un microservicio en Rust
- Aprender Rust con demasiadas listas enlazadas
- Rust en detalle: creación de un servicio de chat escalable desde cero
- Parte 1: Implementación de WebSocket. Introducción.
- Parte 2: Enviar y recibir mensajes
- Escribir un Rust Roguelike para el escritorio y la Web
- Aplicaciones de una sola página que utilizan Rust
- Escribiendo el emulador de NES en Rust
- Cree una simulación de la evolución utilizando una red neuronal y un algoritmo genético, y compile la aplicación en WebAssembly.
- Parte 1
- parte 2
- parte 3
- parte 4
Escala:
- Blockchain simple basada en actores
- Sin magia: expresiones regulares
Rápido:
- Hackear con Swift: aprende Swift realizando 39 proyectos
- Shooter retro en primera persona desde cero
Recursos adicionales
- Reaccionar enlaces Redux
- Udemy.com
- Python de pila completa
- Escuela Nodo
- ScotchIO
- ejercicio
- Egghead.io
- Blog de Michael Herman
- Pensador.io
- iluminar
- Talleres del club de piratería
- CodeCrafters