Blog Archive
2025
- Jun 09, 2025 - Explorando la serie de vistas basadas en clases (CBV) ⑥ - Uso de TemplateView y RedirectView
- Jun 08, 2025 - Explorando la serie de vistas basadas en clases (CBV) ⑤ - Implementación de CRUD con CreateView, UpdateView y DeleteView
- Jun 07, 2025 - Explorando la serie de vistas basadas en clases (CBV) ④ - Cómo usar ListView y DetailView
- May 30, 2025 - Serie de exploración de vistas basadas en clases (CBV)③ - Simplificando el procesamiento de formularios con FormView
- May 26, 2025 - Serie de Exploración de Vistas Basadas en Clases (CBV) ② - Entendiendo la Clase de Vista Básica de Django
- May 23, 2025 - Exploración de las vistas basadas en clases (CBV) Parte 1: Razones para pasar de FBV a CBV y la actitud del desarrollador
- May 21, 2025 - Cómo administrar eficazmente Fail2Ban: Estrategia de seguridad práctica para evitar bloqueos excesivos de IP
- May 18, 2025 - La razón por la que Django vuelve a ser relevante en la era de la IA
- May 16, 2025 - La forma más Pythonica de extraer valores: next()
- May 15, 2025 - Estrategias de try except para principiantes en Python – ¡Facilita la depuración con el manejo de excepciones!
- May 13, 2025 - Comparación de herramientas de automatización de trabajo: Guía para seleccionar el modelo óptimo desde GPT-4o hasta o1-pro
- May 13, 2025 - Guerra de Reconocimiento de Voz AI: Whisper vs Parakeet – ¿Quién es el ganador en la transcripción en tiempo real?
- May 12, 2025 - DGX Spark vs RTX 4090 – Elección realista para la optimización de infraestructura AI en local
- May 12, 2025 - NVIDIA DGX Spark - Un nuevo estándar para la infraestructura de IA en las instalaciones
- May 09, 2025 - Análisis de Mistral Small 3.1 – Estándar de alto rendimiento para LLM compactos
- May 08, 2025 - Conquista de la biblioteca estándar de Python 3 - pathlib
- May 08, 2025 - Conquista de la biblioteca estándar de Python ② - collections.defaultdict
- May 07, 2025 - Conquista de la biblioteca estándar de Python① - collections.Counter
- May 06, 2025 - Cómo escribir condiciones más limpias en Python
- May 06, 2025 - ¿Qué hacer si las aplicaciones instaladas con APT no aparecen en el menú? Cómo resolverlo con Alacarte
- May 06, 2025 - APT vs Snap: Comparación del sistema de paquetes de Linux y criterios de selección
- May 02, 2025 - Un viejo PC en el almacén, renace – Guía de instalación de dual boot con Linux
- May 02, 2025 - ¿Qué es la hibernación? Luz y sombra de la función de gestión de energía de Windows
- May 01, 2025 - Automatización de blogs con IA: la nueva innovación en escritura de Mikihands
- Apr 29, 2025 - Análisis de casos de error en la inferencia del MIME-type al subir imágenes desde la app X en iOS
- Apr 29, 2025 - ¡Mameshiba no Taigun, evolucionando con Reload!
- Apr 28, 2025 - La brillante presencia de Leona Empire en Mameshiba no Taigun
- Apr 28, 2025 - Hoja de trucos de comandos de Conda
- Apr 28, 2025 - Experiencia al integrar Nextcloud, Obsidian y iPhone de manera segura
- Apr 27, 2025 - El guardián de los servidores Linux, Fail2Ban
- Apr 27, 2025 - Encendido remoto del escritorio usando Raspberry Pi (automatización Wake-on-LAN)
- Apr 26, 2025 - Problemas y soluciones al usar gettext_lazy con claves JSON
- Apr 25, 2025 - Introducción al mundo de Anaconda, Miniconda y Conda
- Apr 23, 2025 - Comprender la estructura del resolutor DNS en Ubuntu
- Apr 21, 2025 - Django on_commit + Celery, solución de problemas en un entorno de réplica
- Apr 20, 2025 - Análisis de problemas de latencia en entornos de réplica con on_commit + Celery + ManyToMany
- Apr 20, 2025 - Django transacciones y los peligros de los hilos: problema de ejecución prematura de on_commit()
- Apr 20, 2025 - Guía completa para entender transaction.on_commit()
- Apr 20, 2025 - Construcción del entorno CUDA para el desarrollo de IA
- Apr 20, 2025 - Implementación sencilla de procesamiento asíncrono con threading.Thread en Python
- Apr 20, 2025 - ¿Qué es CUDA? El inicio de la computación paralela con GPU
- Apr 15, 2025 - Actualización de PostgreSQL y migración segura de datos
- Apr 15, 2025 - Guía completa para construir un entorno de desarrollo C++ utilizando VSCode en Ubuntu
- Apr 15, 2025 - Evolución de la definición de opciones de modelo: sobre la clase TextChoices
- Apr 10, 2025 - Comandos de Docker: Hoja de trucos más utilizados
- Apr 07, 2025 - Personalización de la página de error 404 en Django
- Apr 07, 2025 - Cómo utilizar fuentes OTF en la web con sistemas Ubuntu
- Apr 07, 2025 - TTF vs WOFF2: Comparativa de formatos de fuentes web
- Apr 07, 2025 - Aplicación estable de las fuentes Poppins y sans-serif en proyectos web de Django
- Apr 01, 2025 - La Noche en Jiufen, Taiwán
- Apr 01, 2025 - Fundamentos de Python #1 — `None` y `""`, parece el mismo pero es diferente
- Mar 31, 2025 - La verdad y las limitaciones del dongle CSR 4.0, y las alternativas en Linux
- Mar 20, 2025 - Cómo determinar el ancho del navegador en JavaScript y una extraña experiencia con el navegador Samsung
- Feb 19, 2025 - Redis Último AOF-RDB Híbrido vs Método AOF Tradicional: ¿Cuál deberías elegir?
- Feb 18, 2025 - ¿Es irrelevante la configuración de RDB si se utiliza AOF?
- Feb 17, 2025 - Redis AOF Rewrite: Optimización de Rendimiento y Conservación de Datos
- Feb 06, 2025 - JSON vs YAML: La historia de la guerra de formatos de datos
- Feb 06, 2025 - Construcción de un servidor de correo en Linux: una página de descanso
- Feb 06, 2025 - Configurando un servidor de correo en Linux #7: Estructura del archivo de configuración de Postfix y conexión a la base de datos
- Feb 06, 2025 - Configuración de auth-sql.conf.ext de Dovecot y hash de contraseñas en la construcción de un servidor de correo en Linux #6
- Feb 06, 2025 - Construcción de un servidor de correo en Linux #5: Concepto de usuarios virtuales de Dovecot y diseño de tablas de PostgreSQL
- Feb 06, 2025 - Construyendo un servidor de correo en Linux #4: Análisis de los archivos de configuración esenciales de Dovecot
- Feb 05, 2025 - Construcción de un servidor de correo en Linux #3: Estructura del archivo de configuración de Dovecot y métodos de aplicación
- Feb 05, 2025 - Construcción de un servidor de correo en Linux #2: Paquetes esenciales para un entorno de usuario virtual
- Feb 05, 2025 - Construcción de un servidor de correo en Linux #1: Entendiendo los conceptos de Postfix y Dovecot
- Feb 03, 2025 - Django-Celery-Beat: Configuración de tareas programadas utilizando Crontab y Clocked
- Feb 03, 2025 - Django-Celery-Beat: Ejemplo práctico de tareas programadas utilizando PeriodicTask
- Feb 03, 2025 - Django-Celery-Beat: Cómo crear tareas programadas
- Feb 03, 2025 - ¿Cuándo se destruye el objeto request de Django?
- Feb 03, 2025 - ¿El request.session.get() de Django genera consultas a la base de datos?
- Feb 01, 2025 - ¿Qué es la 'Evaluación Diferida (Lazy Evaluation)' en Django?
- Feb 01, 2025 - Diferencias y uso de `.only()` vs `.values()` en Django QuerySet
- Feb 01, 2025 - ¿Qué es el método `.values()` de Django QuerySet?
- Feb 01, 2025 - Resolviendo el problema N+1 en Django ORM: Guía completa sobre select_related y prefetch_related
- Feb 01, 2025 - ¿Qué es el problema N+1 en Django ORM? ¿Por qué ocurre?
- Jan 29, 2025 - Configuración de seguridad de la red de Redis: Crear un entorno seguro para Redis
- Jan 29, 2025 - Configuración de módulos de Redis: expansión de funcionalidades y métodos de uso
- Jan 27, 2025 - ¿Por qué deberíamos usar include en el archivo de configuración de Redis?
- Jan 27, 2025 - Simplificando el desarrollo web dinámico con Django y HTMX (Parte 7): Método de retorno JSON
- Jan 27, 2025 - Simplificando el desarrollo web dinámico con Django y HTMX (Parte 6): Método de respuesta HTML
- Jan 27, 2025 - Simplificando el desarrollo web dinámico con Django y HTMX (Parte 5)
- Jan 27, 2025 - Simplificando el desarrollo web dinámico con Django y HTMX (Parte 4)
- Jan 27, 2025 - Simplificando el desarrollo web dinámico con Django y HTMX (Parte 3)
- Jan 27, 2025 - Simplificando el desarrollo web dinámico con Django y HTMX (Parte 2)
- Jan 27, 2025 - Simplificando el desarrollo web dinámico con Django y HTMX (Parte 1)
- Jan 27, 2025 - El objeto Request de Django: su identidad y principios de funcionamiento
- Jan 24, 2025 - Decoradores de Django inspirados en las matemáticas: La belleza de la composición de funciones y el espacio de funciones
- Jan 24, 2025 - Principios y Cómo Escribir Decoradores Personalizados de Django
- Jan 23, 2025 - El principio por el cual localhost se convierte en 127.0.0.1 y cómo utilizar `/etc/hosts`
- Jan 18, 2025 - El regreso de Hanae: el nuevo comienzo del Mameshiba no Taigun
- Jan 18, 2025 - Django Forms 6: Uso Avanzado de Formularios
- Jan 18, 2025 - Django Forms 5: Estilizando con CSS
- Jan 18, 2025 - Django Forms Parte 4: Validación y Personalización
- Jan 18, 2025 - Django Forms 3: Campos y Widgets
- Jan 18, 2025 - Diferencias entre Django Forms y ModelForms
- Jan 18, 2025 - ¿Qué son los Django Forms? Conceptos y principios básicos
- Jan 17, 2025 - ‘ろけっとすたーと (Rocket Start)’ de Mameshiba no Taigun (豆柴の大群)
- Jan 16, 2025 - Hanae Monster, el regreso de Mameshiba no Taigun
- Jan 14, 2025 - ¿Qué es la duplicación en Django ORM? Necesidad y uso del método distinct()
- Jan 14, 2025 - "Mameshiba no Taigun (豆柴の大群)", apoyando su nuevo comienzo
- Jan 14, 2025 - Diferencias y usos de get_language() y request.LANGUAGE_CODE en Django
- Jan 10, 2025 - Clase Q en Django: Cómo manejar condiciones complejas fácilmente
- Jan 10, 2025 - Configurando caché en el desarrollo de Django: Optimización del rendimiento con Redis
- Jan 09, 2025 - Análisis exhaustivo de render_to_string para enviar correos electrónicos HTML en Django
- Jan 07, 2025 - QueryDict de Django: un objeto similar a un diccionario, pero más que un diccionario
- Jan 07, 2025 - JavaScript, Diccionario de Python y std::map de C++
- Jan 03, 2025 - Pequeños errores, grandes lecciones
- Jan 02, 2025 - Relación entre one-off y enabled en Celery Beat: comprensión y uso correcto
2024
- Dec 15, 2024 - Comparación de métodos para eliminar sesiones en Django: flush(), pop(), del
- Dec 15, 2024 - Opciones de @shared_task de Celery: guía completa sobre bind, autoretry_for, retry_backoff y max_retries
- Dec 15, 2024 - Cómo extraer claves y valores de un diccionario de Python a listas
- Dec 15, 2024 - Guía Completa de Python @staticmethod
- Dec 15, 2024 - Diversas maneras de manejar el Diccionario de Python
- Dec 15, 2024 - Entendiendo la diferencia entre el formato JSON y el Diccionario de Python
- Dec 05, 2024 - Configuración de un servidor de autenticación OAuth2 utilizando Django OAuth Toolkit (DOT)
- Dec 04, 2024 - OAuth 2.0: Un protocolo de autenticación fácil de entender para todos
- Nov 16, 2024 - Consulta de datos con QuerySet en Django ORM
- Nov 15, 2024 - ¿Qué es el administrador <code>objects</code> de Django ORM? - Análisis en profundidad
- Nov 15, 2024 - ¿Qué es Django ORM? Introducción al concepto de ORM para principiantes
- Nov 14, 2024 - Escritura de código flexible: Comprobar la existencia de atributos de objeto con Python `hasattr`
- Nov 14, 2024 - Opciones de tareas programadas en Django-celery-beat para administrar
- Nov 14, 2024 - Configuración de la expiración de resultados de tareas de Celery y limpieza periódica: ¿qué configuración es la adecuada?
- Nov 14, 2024 - Gestión avanzada de memoria de Django-celery-beat y diversos backends de resultados
- Nov 13, 2024 - Django-celery-beat y gestión de memoria en el backend (Parte 1)
- Nov 09, 2024 - Redis 3: Gestión de memoria y optimización del rendimiento de Redis
- Nov 09, 2024 - Redis Parte 2: Opciones de conservación de datos de Redis - RDB vs AOF
- Nov 09, 2024 - Redis Parte 1: Comprendiendo los conceptos básicos de Redis y el archivo de configuración
- Nov 07, 2024 - Conectando el boxeo con la moda: Presentación de 312Toglory
- Nov 07, 2024 - 3 Consejos Prácticos para Mantener la Sesión SSH Activa en un Servidor Django
- Nov 06, 2024 - Reflexiones sobre la coexistencia con los gatos callejeros en nuestro vecindario
- Nov 04, 2024 - Comparación entre JsonResponse de Django y Response de Django REST Framework
- Nov 04, 2024 - Reflexiones sobre Deep Learning y TensorFlow
- Nov 03, 2024 - Primer paso en Deep Learning con Python TensorFlow - Nota de desarrollo
- Nov 03, 2024 - Conceptos de IA, Aprendizaje Automático y Aprendizaje Profundo, e Introducción a los Frameworks de Aprendizaje Profundo
- Nov 03, 2024 - Viaje de invierno a las aguas termales en Oita
- Nov 03, 2024 - Conceptos y diferencias entre Daemon de Linux y unidades de systemd
- Nov 03, 2024 - Comprendiendo correctamente el `crontab` de Linux: Consejos de programación automática que los desarrolladores adoran
- Nov 02, 2024 - Introducción a los conceptos básicos de Python 2. Programación segura con manejo de errores (Try-Except)
- Nov 02, 2024 - Introducción a conceptos básicos de Python: La potencia de Python al manejar variables de cadena (String)
- Nov 02, 2024 - Comandos principales de PostgreSQL
- Nov 02, 2024 - Profundizando en la estructura de modelos de Django: Enfoque para un mejor diseño de bases de datos
- Nov 01, 2024 - Comprensión Completa de Django Signals: Cómo Utilizar pre_save y post_save en la Práctica
- Nov 01, 2024 - Opción related_name de Django: ¿por qué es necesaria?
- Nov 01, 2024 - Opciones de campo de Django: Diferencias y usos de blank=True vs null=True
- Oct 29, 2024 - Estructura de modelos de Django: models.Model, AbstractUser, CustomUser y clases de administrador
- Oct 28, 2024 - Uso de __(doble guion bajo) en Django ORM: Campos relacionales y consultas