Repositorio para aprender programación CREANDO proyectos reales

Este repositorio es una recopilación de guías bien redactadas y detalladas para recrear nuestras tecnologías favoritas desde cero.

Build Your Own X es un proyecto en GitHub que recopila multitud de tutoriales paso a paso para recrear tecnologías populares desde cero. La idea es simple: entender lo que hay detrás de las herramientas construyéndolas tú mismo.

Cada enlace te lleva a tutoriales creados por la comunidad. Puedes ver todos los enlaces en https://github.com/codecrafters-io/build-your-own-x.

¿Por qué es tan valioso para aprender?

Aprender haciendo es una de las formas más efectivas de dominar conceptos complejos. En lugar de simplemente leer teoría o copiar código, aquí tú:

  • Entiendes los fundamentos reales de cómo funcionan tecnologías complejas.
  • Mejoras tu pensamiento crítico y tus habilidades de debugging.
  • Construyes proyectos impresionantes para tu portafolio.
  • Practicas resolución de problemas de verdad desde cero.

Esto te lleva mucho más allá de copiar y pegar código: te fuerza a pensar como un ingeniero.

Build Your Own X es una herramienta fantástica para quienes quieren realmente entender cómo funcionan las tecnologías modernas, desde motores 3D hasta bases de datos o blockchains, todo mediante proyectos prácticos que puedes construir tú mismo.

Diseña tus propios circuitos Arduino sin gastar un euro gracias a Tinkercad

Si siempre has querido aprender Arduino, montar tus primeros circuitos o probar ideas sin necesidad de comprar cables, sensores o placas, hoy te traigo una herramienta que te va a encantar: Tinkercad.

Tinkercad es una plataforma online gratuita donde puedes crear y simular circuitos electrónicos con Arduino directamente en tu navegador. No necesitas instalar nada: solo registrarte y empezar a construir.

¿Qué puedes hacer con Tinkercad Circuits?

  • Montar circuitos electrónicos de forma visual
  • Programar Arduino con bloques o con código C/C++
  • Ver cómo funcionan tus componentes antes de comprarlos
  • Probar sensores, motores, LEDs, displays y más
  • Aprender electrónica sin miedo a “romper” nada

Tanto si estás empezando en Arduino como si ya tienes experiencia y quieres simular un proyecto antes de hacerlo realidad, Tinkercad es una herramienta imprescindible.

Entra aquí y empieza a crear: https://www.tinkercad.com/

Aprende a programar como si fuera un JUEGO

Aprender a programar no tiene por qué ser aburrido. Hoy existen plataformas que transforman la práctica de código en auténticas aventuras, retos y competencias. Si alguna vez soñaste con aprender mientras juegas, estas webs son justo lo que necesitas.

A continuación, te presento algunas de las mejores opciones para diferentes lenguajes.

C++ — Codewars

https://www.codewars.com/

En Codewars, los retos se llaman katas, y cada uno te ayuda a mejorar tus habilidades en C++ (y muchos otros lenguajes).
Empiezas resolviendo problemas sencillos y subes de nivel conforme tus soluciones se vuelven más elegantes y eficientes.
Además, puedes ver cómo otros programadores resolvieron el mismo reto, lo que convierte cada ejercicio en una lección colectiva.

Ideal para: mejorar lógica, algoritmos y optimización de código.

SQL — SQL Island

https://sql-island.informatik.uni-kl.de/

SQL Island es una forma genial (y divertida) de aprender consultas SQL.
Te sitúa en una isla desierta donde tienes que usar comandos SQL para obtener información, avanzar en la historia y completar misiones.
Cada consulta correcta te acerca a escapar de la isla.

Ideal para: aprender SELECT, JOIN y condiciones en un entorno interactivo.

C# — CodinGame

https://www.codingame.com/

CodinGame lleva la programación al siguiente nivel: conviertes tus líneas de código en acciones dentro de un videojuego.
Puedes escribir en C# (y muchos otros lenguajes), y ver cómo tus algoritmos controlan naves, personajes o estrategias en tiempo real.
Además, puedes competir contra otros jugadores o colaborar en misiones multijugador.

Ideal para: programadores visuales o gamers que quieren aprender jugando.

Python — CheckiO

https://checkio.org/

CheckiO transforma el aprendizaje de Python en un juego de estrategia y resolución de puzzles.
Cada misión es un desafío lógico que debes resolver con código.
Cuanto más creativa y eficiente sea tu solución, más recompensas obtienes y más niveles desbloqueas.

Ideal para: principiantes que quieren aprender sintaxis, funciones y estructuras de control de manera divertida.

Codédex: cuando aprender a programar se siente como jugar una aventura

¿Alguna vez te ha pasado que abres un curso de programación y sientes que estás frente a un manual de instrucciones de la lavadora? Sí, la información está ahí, pero la emoción… se quedó en otro lado. Pues bien, hoy quiero hablarte de una página que rompe con ese molde y convierte el aprendizaje en una especie de misión épica: Codédex.

¿Qué es Codédex?

En pocas palabras, Codédex es una plataforma online para aprender a programar, pero con un toque distinto: en lugar de ser una lista interminable de ejercicios y teoría, lo plantea como un viaje. Imagina que cada lenguaje, cada concepto y cada línea de código que aprendes se convierte en una misión dentro de un universo fantástico.

  • Aprendes Python, JavaScript o HTML mientras exploras como si estuvieras en un videojuego.
  • Ganas puntos y logros, lo que le da ese gustito competitivo y divertido.
  • La comunidad es activa, y puedes sentir que no estás solo en este camino (porque seamos sinceros: programar a veces puede ser solitario).

Lo mejor es que no necesitas experiencia previa. Si nunca has tocado una línea de código, puedes empezar desde cero, y si ya tienes experiencia, puedes retarte con proyectos más avanzados.

Conclusión

Codédex no pretende reemplazar a un curso universitario ni a la documentación oficial de un lenguaje, pero sí consigue algo mucho más difícil: mantenerte motivado mientras aprendes. Es como si mezclaras Stack Overflow con Pokémon: terminas enganchado y aprendiendo casi sin darte cuenta.

Minientrada

Aprender a programar con proyectos reales orientados al mundo laboral

Aprender a programar con videotutoriales o cursos online o creando tus propios proyectos, son formas completamente válidas para practicar y mejorar en el mundo de la programación. No obstante en el mundo laboral es raro que partas de 0 creando un proyecto, por lo que te voy a enseñar una forma de preparar esto.

Lo primero que tienes que hacer es entrar en GITHUB y buscar good-first-issue. Esto te llevará a todos los repositorios que tienen esta etiqueta integrada dentro de su repositorio. Todos estos proyectos de código abierto buscan gente que les pueda ayudar y colaboren con su código.

Una vez encontremos un proyecto que nos encaja y en el que nos gustaría colaborar, entramos y vamos a la pestaña de issues. Buscamos nuevamente la etiqueta «good first issue» y la seleccionamos. Así podremos ver las incidencias en las que podemos participar.

Una vez sepamos que issue queremos realizar, debemos preguntar si nos la podemos asignar. En cuanto nos den el visto bueno para realizarla, creamos un fork del repositorio y comenzamos a trabajar en la incidencia.

Cuando la tengamos resuelta, procedemos a hacer una pull request y habremos completado nuestra primera participación.

Google lanza una serie de videos sobre IA Generativa para principiantes

La inteligencia artificial generativa está transformando la forma en que trabajamos, creamos contenido y desarrollamos soluciones innovadoras. Consciente de ello, Google ha lanzado una serie de videos educativos gratuitos dentro de la plataforma Microsoft Learn, diseñados para que cualquier persona pueda iniciarse en este fascinante mundo.

Puedes acceder directamente a la serie aquí: Generative AI for Beginners.

¿Qué encontrarás en esta serie?

La colección está pensada para quienes están dando sus primeros pasos en el área y abarca desde conceptos básicos hasta aplicaciones prácticas:

  • Fundamentos de la IA generativa: qué es, cómo funciona y en qué se diferencia de otros enfoques de IA.
  • Modelos de lenguaje grandes (LLMs): cómo entrenan, qué tipo de tareas pueden resolver y ejemplos de uso.
  • Aplicaciones prácticas: generación de texto, imágenes, audio y video.
  • Buenas prácticas y ética en IA: el impacto social, sesgos y uso responsable de estas tecnologías.
  • Herramientas y frameworks: introducción a librerías y entornos que facilitan la implementación de proyectos.

Conclusión

Si quieres iniciarte en la IA generativa sin necesidad de conocimientos técnicos avanzados, esta iniciativa de Google es una gran oportunidad. Con recursos claros y ejemplos prácticos, podrás aprender los conceptos clave y dar tus primeros pasos en este campo en constante evolución.

Template Engines: Crea Vistas Dinámicas como un Pro

Cuando hablamos de desarrollo web moderno, como por ejemplo con frameworks como Express en Node.js, hay un componente clave que no puede faltar: los template engines. Estas herramientas son esenciales para separar la lógica de negocio del diseño, y generar contenido HTML dinámico de forma eficiente y segura.

¿Qué es un Template Engine?

Un template engine (motor de plantillas) es una biblioteca que permite generar HTML dinámico a partir de datos. En lugar de mezclar directamente código JavaScript con HTML, defines una plantilla con marcadores (como {{nombre}}) que luego se reemplazan por datos reales en el servidor antes de enviar la página al cliente.

Esto mejora la organización del código, la reutilización y la legibilidad, especialmente en proyectos que siguen el patrón MVC (Modelo-Vista-Controlador).

¿Cómo se usa un Template Engine?

En aplicaciones construidas con Express, el template engine se encarga de manejar las vistas, es decir, la parte visual que el usuario ve e interactúa. Estas vistas, que tradicionalmente serían archivos HTML, se transforman en plantillas que pueden incluir bucles, condicionales y variables dinámicas.

Por ejemplo:

<h1>Hola, <%= nombre %>!</h1>

Aquí, nombre será reemplazado por el valor que el servidor le pase a la vista.

Motores de Plantillas Populares

Existen diversos motores de plantillas disponibles para diferentes lenguajes y frameworks, como:

  • Para JavaScript: Pug (anteriormente Jade), EJS, Handlebars, Mustache.
  • Para Python: Jinja2.
  • Para Java: jte.
  • Para otros lenguajes/ecosistemas: Twig (PHP).

Cada uno tiene su estilo, ventajas y casos de uso ideales.

¿Por qué deberías aprender Flutter en 2025?

¿Qué es Flutter?

Flutter es un framework de UI open-source creado por Google que permite desarrollar aplicaciones nativas para iOS, Android, web, desktop y más, con un solo código base y en un lenguaje: Dart. Sí, lo leíste bien: una sola base de código, múltiples plataformas.

Ventajas clave

  1. Hot Reload: Podrás ver los cambios en tu app al instante sin reiniciarla. Ideal para desarrollo ágil y pruebas rápidas.
  2. Interfaz de usuario de primera: Gracias a su motor gráfico propio, puedes diseñar interfaces ricas, fluidas y personalizadas que se ven y funcionan igual en todas las plataformas.
  3. Ecosistema maduro: Con miles de paquetes disponibles (Firebase, Google Maps, Auth, etc.) y una comunidad activa, desarrollar con Flutter es cada vez más fácil y productivo.
  4. Código nativo: Flutter compila a código ARM para móviles y binarios nativos para desktop. El rendimiento es casi idéntico al nativo.
  5. Productividad real: Olvídate de mantener dos (o más) equipos de desarrollo. Con Flutter, un solo equipo puede construir para todo.

Curso para crear tu primera APP

Actualmente Google ofrece de forma gratuíta un curso para que aprendas lo básico de flutter de una forma sencilla y en un par de horas.

Enlace al curso: https://codelabs.developers.google.com/codelabs/flutter-codelab-first

Otros recursos recomendados:

  • flutter.dev
  • Curso oficial en YouTube de Google
  • Comunidad Flutter en Reddit, Discord y Dev.to
  • YouTubers como @TheNetNinja y @JohannesMilke

Automatiza tu trabajo con N8N de forma GRATUITA

Una forma de probar e investigar como funciona este sistema es hacerlo de forma gratuita en render.com.

Os voy a explicar los pasos a seguir para conseguirlo:

  1. Crear una cuenta en Render y en Github
  2. Crea un repositorio en GitHub que contenga (en la raíz) un fichero llamado «Dockerfile» y que contenga lo siguiente
    FROM n8nio/n8n:latest

    ENV N8N_BASIC_AUTH_ACTIVE=true
    ENV N8N_BASIC_AUTH_USER=TU_USUARIO
    ENV N8N_BASIC_AUTH_PASSWORD=TU_CONTRASEÑA
    ENV N8N_HOST=0.0.0.0
    ENV N8N_PORT=5678

    *El Repositorio de GitHub puede ser público o privado (Mejor privado ya que en el fichero aparece una contraseña)

  3.  Accedemos al DashBoard de Render.
  4. En la parte superior derecha pulsamos sobre «New» y después sobre «Web Service»
  5. Ahí pegamos nuestra URL de GitHub si está público o conectamos con git y seleccionamos nuestro repositorio.
  6. Seguimos los pasos que nos indica y utilizamos el plan GRATUITO(se puede mejorar después).
  7. Después de esto, tardará un tiempo pero nos generará un dominio (predefinido por render). Accedemos a ese dominio y ya tenemos nuestro servicio N8N gratuito.