Índice de contenido
Bienvenidos a una nueva actualización. Paso a comentarles todo el contenido que he subido y que ya tienen disponible de manera totalmente gratuita.
Como es costumbre, el blog (desarrollofree.net) es el eje central. Actualmente, estoy trabajando en la actualización de CodeIgniter 4, mejorando aplicaciones existentes y agregando nuevos ejemplos casi a diario.
Además, ya está disponible material exclusivo que aún no llega a YouTube, como la conexión de FastAPI con MongoDB, sacado directamente del curso que estoy actualizando. Recuerden que en el blog pueden acceder a:
- Publicaciones detalladas: Con ejemplos de código.
- Cursos comunitarios: Disponibles mediante el botón "Ver gratis" sin necesidad de registro.
- Libros gratuitos: Basados en el contenido premium, accesibles si se registran en la plataforma de https://academy.desarrollolibre.net/.
Android y Python (Django / FastAPI) en YouTube
En el canal de YouTube seguimos la sintonía de las actualizaciones anteriores:
Android Studio
Ya dejamos atrás la teoría de Kotlin para enfocarnos en el desarrollo directo. Hemos cubierto componentes esenciales (Composables) para aplicaciones modernas:
Snackbars, Logs, Bottom Sheets y Navigation Drawer.
Nota: Este contenido también está disponible en formato libro a un precio muy accesible.
Django
Estamos entrando en la recta final de esta serie con temas fundamentales:
- Migraciones, Django Admin y gestión avanzada de formularios (ModelForms).
- Introducción a Django REST Framework (DRF): Serializers y ViewSets para crear APIs robustas con autenticación.
Introducción a las migraciones en Django 6 - https://youtu.be/6pPV8mLaQAQ
Django Admin - Agrupar los campos de gestión, fields - 58 - https://youtu.be/gcq8OONJPz4
Presentación de los formularios de Django 6, Form y ModelForm - 59 - https://youtu.be/_Bt8OD-Fbwo
Crea tu Primer Formulario en Django 6, Campos de Texto, Textarea y ModelChoiceField - 60 - https://youtu.be/slH1j7lyo9M
Procesamiento del formulario en Django 6 desde la vista - 61 -
https://youtu.be/EgyAD_mdHi8
Representar el contenido dinámico de un Template en Django 6 - 62 - https://youtu.be/9e1ply0d2WU
Elementos Clave del Motor de Templates de Django 6 - 63 - https://youtu.be/2R3oASh2b9k
Generar el template maestro o base en Django 6 - 64 - https://youtu.be/8V5RG6MUbQw
Instalar y Configurar Django Rest Framework - APIs - 65 - https://youtu.be/W_QXOYtoie4
¿Qué es una API REST?, qué es una API, una Rest, ¿Por qué Django REST Framework? - 65 - https://youtu.be/DXYwuORmF-s
Django Rest Framework en la práctica, Serializers y Viewsets - 66 - https://youtu.be/4ciOfc8_b0U
Autenticación: Presentación, Sesión y básica en Django Rest Framework - 67 - https://youtu.be/1GFp3ss0Crw
Autenticación por Tokens usando Django Rest Framework - Método de Login - 68 - https://youtu.be/rRY4U1OOOQU
FastAPI: El "Secreto" de su Grandeza
He subido un video extenso sobre el sistema de Inyección de Dependencias de FastAPI y el patrón Repository. También cubrimos:
- Ciclo de vida de la aplicación con lifespan.
- WebSockets en FastAPI: Una guía completa consumida desde una app en Vue.js.
¿Sigues escribiendo PHP puro? Por esto necesitas un Framework hoy mismo - https://youtu.be/T1cPAIQ78r8
Relaciones Inversas en Django y Problema N+1 - https://youtu.be/cmgFNEHY5ec
Patron Repositorio: interfaces, Dependencias - El Secreto de la Grandeza de FastAPI - https://youtu.be/J-HbHHMjTOM
⚡ Ejecución de Código al Iniciar o finalizar mediante el evento Lifespan en FastAPI - https://youtu.be/a1We_SE9Pg4
Blender
En mi otro canal, recapitulamos sobre modelado 3D (ajedrez) y conceptos de proyección perspectiva vs. ortogonal.
Dia 3: Modelando un tablero de Ajedrez con Blender - 03 - https://youtu.be/6fhLdT_uRcU
Día 4: Modelando un Peón de Ajedrez con Blender - 04 - https://youtu.be/wj8KVzqKhok
Diferencias entre proyección Perspectiva y Ortogonal (Ortográfica) en Blender - 05 - https://youtu.be/kVY8G5MyT-8
Cursos Completos y Recopilatorios
He lanzado varios materiales integrales que no se pueden perder:
- IA Local con Python: Mini curso para crear una aplicación tipo Chatbot conectada a un LLM local (disponible en video y libro).
- Curso cómo construir un chat con LLMs en local y Jan IA o LM Studio y Conecta a Python - https://youtu.be/7pb55CGbm9Q
- Laravel Livewire (Dashboard): Basado en el proyecto de la tienda en línea.
- Curso Laravel 12 Livewire 3 desde cero - Dashboard - https://youtu.be/8psIm49Ft2Y
- Laravel 12 + Inertia 2: Actualización fresca del curso comunitario.
- Curso Laravel 12 Inertia 2 desde cero - https://youtu.be/L2bLHXbyxHA
-
- ⚡ FastAPI WebSockets: Guía Completa con Autenticación, REST API y Vue.js - https://youtu.be/977l8fql-C8
Próximo Lanzamiento: Segunda Edición de FastAPI
Me encuentro en la recta final de la actualización del Curso y Libro de FastAPI. Si ya conoces Flask o Django, te recomiendo enormemente darle una oportunidad a este framework.
Novedades de la 2da Edición:
- Arquitectura Limpia (Clean Code): Implementación de buenas prácticas y organización profesional.
- Base de datos con Alembic: Gestión de migraciones.
- Extensiones Imprescindibles: fastapi-mail, fastapi-users para autenticación, pydantic-settings para variables de entorno, control de tráfico (Rate Limiting), autocrud y fastapi-cache.
Uso y consumo de un Websockets en FastAPI y una app en Vue:
- Seleccionar Habitación
- Presentamos el esquema para seleccionar la habitación.
- Implementación de Filtro para obtener los mensajes por Habitación
- Vamos a implementar un parámetro GET opcional aplicado al endpoint de los mensajes/alertas usando el room_id.
- Actualización de mensajes sin recarga completa
- Adaptamos la app, para el evento recibido del WS, sea el Mensaje/alerta y hacemos un push con ese mensaje en el array de los mensajes en vez de hacer la recarga completa.
- Arquitectura Limpia y Clean Code
- Adaptaremos los principios del Clean Code a una aplicación en FastAPI.
Base de Datos con Alembic:
- Primeros pasos con Alembic
- Vamos a conocer como crear migraciones empleando Alembic de Python.
- Parámetros y configuraciones de Alembic y primera migración
- Vamos a configurar Alembic para poder emplearlo y crear la primera migración.
- Aplicar migraciones
- Vamos a aplicar migraciones de base de datos.
- Revertir cambios
- Veamos los 3 tipos de esquemas que podemos revertir los cambios, con números, por el ID de la migración y de base.
Dependencias:
- Dependencias Anidadas o Subdependencias
- Hablamos sobre como podemos crear Sub-dependencias y su utilidad.
- Patron Repository en el uso CLAVE con las Depends y Annotations
- Vamos a explicar un patrón de diseño y el uso CLAVE de las dependencias en FastAPI en todo esto.
- Dependencias Avanzadas con yield
- Hablamos sobre el uso de las dependencias avanzadas usando los yields.
- El Pool de Conexiones, claves en las dependencias
- Hablamos sobre el uso de los pools que es CRUCIAL para que FastAPI pueda resolver peticiones de manera eficiente.
MongoDB:
- Instalar MongoDB en MacOS con Homebrew o Windows + GUI Compass
- Aprende cómo instalar MongoDB en macOS con Homebrew paso a paso, hablamos sobre las Base de Datos NoSQL e instalar el GUI Compose.
- Motor: El Driver Asíncrono para MongoDB
- Instalamos y hablamos sobre motor para poder realizar conexiones a MongoDB.
- Primera conexión a MongoDB con Motor
- Creamos un método para conectarse a MongoDB y hacer un ping al iniciar el proyecto en FastAPI.
- Ejemplo del Esquema Relacional en MongoDB
- Mostraremos como manejar el esquema relacional en una relación de tipo muchos a muchos no normalizada.
- Relaciones
- Hablemos del resto de las relaciones en MongoDB.
Extensiones para FastAPI:
- FastAPI Mail
- Envío de correos Async
- FastAPI User (En Mantenimiento)
- Para crear un completo backend para Auth con JWT, registro, login, validaciones, esquemas... con 100 líneas de código
- Gestión de Variables de Entorno con Pydantic Settings
- Veamos como podemos crear variables de entorno y leerlas desde un .env, cachearlas y recomendaciones.
- Control de Tráfico en FastAPI: Implementando Rate Limiting
- Vamos a conocer como podemos limitar la cantidad de peticiones a un endpoint.
- Logs con Loguru
- Configuramos y mostramos un ejemplo de como emplear Loguru.
- Creando un AutoCRUD en FastAPI + SQLAlchemy
- Creamos un AutoCRUD en FastAPI para nuestros modelos de Pydantic y con SQLAlchemy.
- FastAPI Cache 2: Optimización con Caché
- Veremos como podemos usar un sistema de cache para guardar caches de las respuestas de los endpoints.
En el curso de Django también actualicé un par de clases:
- WS: Inyectar Mensaje desde el WS y nombrado parámetro al conectarse al WS
- Hagamos un par de optimizaciones, una de ellas es evitar recargar todos los mensajes al momento de enviar un mensaje (inyectamos la respuesta del WS) y damos un parámetro al token al momento de conectarse al WS.
- Rediseño de la app Vue con Google Antigravity
Oferta Especial
El libro ya está en preventa en la academia a $8 USD (precio final $10 USD). La actualización será gratuita para quienes ya lo tengan. El PDF final estará listo en una o dos semanas.
https://academy.desarrollolibre.net/libro/primeros-pasos-con-fastapi/