Skip to content
SP StackPractices

Recetas

Soluciones prácticas listas para copiar a problemas reales de desarrollo en varios lenguajes.

129 resultados

advanced

Construir Agentes de IA Autónomos con Uso de Herramientas y Razonamiento

Cómo diseñar agentes de IA que autónomamente planifiquen, ejecuten herramientas e iteren hacia objetivos usando ReAct, function calling y arquitecturas de memoria.

intermediate

Aplicar Mejores Prácticas de Prompt Engineering

Cómo escribir prompts efectivos para LLMs usando asignación de roles, few-shot examples, razonamiento chain-of-thought y formato de salida estructurada.

intermediate

Generar Imágenes Programáticamente con Modelos de IA

Cómo crear, editar y optimizar imágenes usando las APIs de DALL-E, Stable Diffusion y Midjourney con prompt engineering, procesamiento por lotes y moderación de contenido.

beginner

Crear un chatbot con la OpenAI Assistants API

Cómo crear un chatbot de IA usando la OpenAI Assistants API con function calling y recuperación de archivos

advanced

Fine-tuning de un modelo de lenguaje para generación de código

Cómo hacer fine-tuning de un modelo de lenguaje grande para generación de código específico de dominio usando LoRA, QLoRA y datasets personalizados

intermediate

Construir un pipeline RAG con LangChain y bases de datos vectoriales

Cómo construir un pipeline de Retrieval-Augmented Generation (RAG) usando LangChain y bases de datos vectoriales para búsqueda potenciada por IA

intermediate

Implementar búsqueda semántica con embeddings

Cómo implementar búsqueda semántica usando embeddings de texto y búsqueda por similitud vectorial para recuperación inteligente de documentos

beginner

Crear documentación de API con OpenAPI

Genera documentación de API interactiva a partir de specs OpenAPI usando Swagger UI, Redoc y herramientas nativas en Python, JavaScript y Java.

intermediate

Implementar logging y audit trails de API

Configura logging completo de petición/respuesta y audit trails para APIs con salida estructurada, correlation IDs y consideraciones de compliance.

intermediate

Versionado de APIs

Cómo versionar APIs REST y GraphQL para mantener compatibilidad hacia atrás mientras evolucionas tu interfaz.

beginner

Llamar a una API REST

Cómo hacer peticiones HTTP a una API REST y manejar la respuesta JSON en varios lenguajes.

intermediate

Implementar una API GraphQL

Construye una API GraphQL lista para producción con schemas tipados, resolvers y optimización de queries en Python, JavaScript y Java.

intermediate

Implementar una API gRPC con Protocol Buffers

Cómo implementar una API gRPC usando Protocol Buffers para comunicación de alto rendimiento entre servicios

intermediate

Manejo Correcto de CORS

Cómo configurar headers de Cross-Origin Resource Sharing (CORS) correctamente para APIs, SPAs y funciones serverless sin abrir agujeros de seguridad.

intermediate

Manejar Errores en APIs

Patrones para un manejo de errores de API consistente y predecible en varios lenguajes y frameworks.

beginner

Validación de Input

Cómo validar input de usuarios de forma segura usando schemas, type checking y sanitización en Python, JavaScript y Java.

intermediate

Endpoints de API Idempotentes

Cómo diseñar e implementar endpoints de API idempotentes que manejen retries, requests duplicados y fallas de red sin efectos secundarios.

beginner

Logging

Cómo implementar logging estructurado basado en niveles en Python, JavaScript y Java con mejores prácticas para observabilidad en producción.

intermediate

Middleware

Cómo implementar middleware de request/response para logging, auth y manejo de errores en Python, JavaScript y Java.

intermediate

Paginación

Cómo implementar paginación basada en cursor y offset en APIs y bases de datos en Python, JavaScript y SQL.

intermediate

Rate Limiting

Cómo implementar rate limiting en APIs usando token bucket, sliding window y fixed window en Python, JavaScript y Java.

intermediate

Construir notificaciones en tiempo real con WebSockets

Implementa un sistema de notificaciones en tiempo real usando WebSockets y Redis pub/sub para difundir mensajes entre clientes.

intermediate

Enviar Emails con SMTP

Cómo enviar emails transaccionales y masivos de forma segura usando SMTP con soporte de plantillas.

intermediate

Server-Sent Events (SSE)

Cómo implementar streaming en tiempo real unidireccional del servidor al navegador usando Server-Sent Events, con reconexión, tipos de eventos y broadcasting a múltiples clientes.

intermediate

Webhooks

Cómo crear y consumir endpoints de webhook para integraciones event-driven en tiempo real.

intermediate

Servidor WebSocket

Cómo construir un servidor WebSocket para comunicación en tiempo real bidireccional, con gestión de conexiones, broadcasting de mensajes y heartbeat keepalive.

intermediate

Diseñar Sistemas Event-Driven con Event Buses y Brokers

Cómo construir sistemas débilmente acoplados usando eventos, event buses, message brokers y event sourcing para comunicación asíncrona escalable entre servicios.

intermediate

Diseñar un API Gateway Escalable para Microservicios

Cómo construir un gateway de API que enrute requests, maneje autenticación, rate limiting, caching y traducción de protocolos entre clientes y microservicios backend.

intermediate

Construir Sistemas Resilientes con el Circuit Breaker Pattern

Cómo prevenir fallas en cascada en sistemas distribuidos usando circuit breakers con estados open, closed y half-open en Java, TypeScript y Python.

advanced

Diseñar Microservicios Resilientes con Circuit Breakers, Retries y Timeouts

Cómo construir sistemas distribuidos tolerantes a fallos usando patrones de microservicios incluyendo circuit breakers, bulkheads, retries con backoff y sagas para gestión de transacciones.

advanced

Gestionar Transacciones Distribuidas con el Saga Pattern

Cómo implementar orquestación y coreografía de sagas para mantener consistencia de datos entre microservicios sin transacciones distribuidas ni two-phase commit.

intermediate

Autenticación Segura con API Keys para Servicios y Clientes

Cómo generar, distribuir, validar y rotar API keys para autenticación machine-to-machine usando firmas HMAC, scopes y políticas de rate limiting.

advanced

Asegurar y Observar Microservicios con un Service Mesh

Cómo desplegar Istio o Linkerd para agregar mTLS, gestión de tráfico, observabilidad y enforcement de políticas a microservicios sin cambiar código de aplicación.

intermediate

Distribuir Tráfico con Algoritmos de Load Balancing

Cómo distribuir requests entrantes entre múltiples servidores usando round-robin, least-connections, weighted y consistent hashing con health checks y failover.

intermediate

Autenticación JWT

Cómo generar, validar y refrescar JSON Web Tokens para autenticación de APIs sin estado.

intermediate

Implementar Login Sin Contraseña con Magic Links

Cómo construir autenticación passwordless segura usando links mágicos de tiempo limitado enviados por email, con generación de tokens, validación y prevención de ataques replay.

intermediate

Inicio de Sesión OAuth 2.0

Cómo implementar autenticación OAuth 2.0 con Google, GitHub y otros proveedores.

intermediate

Hashing de Contraseñas

Cómo hashear y verificar contraseñas de forma segura usando algoritmos modernos en Python, JavaScript y Java.

intermediate

Implementar Gestión de Sesiones Segura

Cómo crear, validar y expirar sesiones de usuario de forma segura en aplicaciones web usando cookies, tokens y almacenamiento server-side.

intermediate

Autenticación de Dos Factores (2FA / TOTP)

Cómo implementar autenticación de dos factores con contraseñas de un solo uso basadas en tiempo (TOTP) para login seguro.

intermediate

Dominar Patrones Async con Promises, Futures y Coroutines

Cómo escribir código concurrente eficiente usando async/await, promises, futures y coroutines en JavaScript, Python y Java para I/O no bloqueante y procesamiento paralelo.

intermediate

Usar Estructuras de Datos Concurrentes para Colecciones Thread-Safe

Cómo compartir colecciones entre threads de forma segura usando blocking queues, concurrent maps, copy-on-write lists y atomic counters en Java, Python y C++.

intermediate

Coordinar Tareas Concurrentes con Communicating Sequential Processes (CSP)

Cómo estructurar programas concurrentes usando channels, select statements y goroutines para comunicación segura sin estado mutable compartido en Go, Rust y JavaScript.

intermediate

Caching y Memoización

Cómo cachear computaciones costosas y respuestas de API usando caches en memoria, LRU y distribuidos en Python, JavaScript y Java.

beginner

Validar y Sanitizar Datos de Input de Usuario

Cómo validar, sanitizar y restringir datos de input de usuario en el boundary de aplicación usando schemas, type checking y librerías de validación.

beginner

Formateo de Fechas

Cómo parsear, formatear y manipular fechas a través de timezones usando Python, JavaScript y Java.

intermediate

Deep Clone de Objetos en JavaScript

Cómo crear copias profundas de objetos y arrays en JavaScript correctamente, manejando referencias circulares, Dates, Maps, Sets y clases custom.

intermediate

Gestionar Trabajo Concurrente con Thread Pools y Executors

Cómo gestionar worker threads eficientemente usando thread pools, executors y políticas de rechazo en Java, Python y C# para cargas CPU-bound e I/O-bound.

intermediate

Aplanar y Reconstruir Objetos Anidados

Cómo convertir objetos anidados en pares clave-valor planos y reconstruirlos, con soporte de notación por puntos, corchetes y separadores custom.

intermediate

Coordinar Acceso Compartido con Locks, Mutexes y Semáforos

Cómo prevenir condiciones de carrera en programas concurrentes usando mutexes, read-write locks, semáforos y operaciones atómicas en Java, Python y C++.

intermediate

Manejo de Dinero y Moneda

Cómo representar, analizar, formatear y calcular valores monetarios con precisión entre monedas.

beginner

Parsear JSON

Cómo parsear cadenas JSON a estructuras de datos nativas en varios lenguajes de programación.

beginner

Expresiones Regulares

Cómo usar expresiones regulares para matching de patrones, validación y extracción de texto en Python, JavaScript y Java.

beginner

Ordenar un Array

Cómo ordenar arrays y listas en orden ascendente, descendente y personalizado en varios lenguajes.

beginner

URL Encoding

Cómo codificar y decodificar URLs, parámetros de query y segmentos de path de forma segura en Python, JavaScript y Java.

beginner

Generación de UUID

Cómo generar identificadores únicos universales (UUIDs) para claves de base de datos, tokens de sesión y nombrado de recursos en Python, JavaScript y Java.

intermediate

Caching con Redis

Cómo implementar caching de aplicaciones usando Redis para rendimiento y escalabilidad.

intermediate

Manejar deadlocks y reintentos en bases de datos

Detecta, previene y recupera deadlocks de base de datos con lógica de reintento automático, niveles de aislamiento y estrategias de ordenamiento de queries.

intermediate

Migraciones de Base de Datos de Forma Segura

Cómo ejecutar migraciones de esquema de base de datos sin downtime ni pérdida de datos.

intermediate

Gestionar Migraciones de Base de Datos de Forma Segura

Cómo versionar, aplicar y hacer rollback de cambios de schema de base de datos usando herramientas como Flyway, Alembic y Liquibase en entornos de producción.

intermediate

Configurar read replicas de base de datos para escalado

Escala workloads intensivos en lectura con read replicas de base de datos, monitoreo de replication lag y split de lectura/escritura entre instancias primarias y réplicas.

intermediate

Transacciones de Base de Datos

Cómo usar transacciones ACID para garantizar integridad de datos en Python, JavaScript y Java con ejemplos SQL.

intermediate

Crear y usar vistas de base de datos y vistas materializadas

Cómo crear y usar vistas de base de datos y vistas materializadas para simplificar consultas y mejorar rendimiento de lectura

advanced

Implementar event sourcing en una base de datos relacional

Construye sistemas de event sourcing usando bases de datos relacionales con event stores, proyecciones y snapshotting para auditoría y consultas temporales.

intermediate

Búsqueda de Texto Completo

Cómo implementar búsqueda de texto completo con Elasticsearch, Meilisearch y PostgreSQL.

intermediate

Implementar optimistic locking con versionado

Cómo implementar optimistic locking con versionado para prevenir actualizaciones perdidas en acceso concurrente a base de datos

beginner

Eliminación Suave (Soft Deletes)

Cómo implementar soft deletes para preservar datos mientras se ocultan registros de consultas normales.

beginner

Joins en SQL

Ejemplos prácticos de INNER, LEFT, RIGHT y FULL OUTER JOIN con patrones de consultas del mundo real.

beginner

Puente entre Interfaces Incompatibles con el Adapter Pattern

Cómo integrar APIs legacy, librerías de terceros e interfaces incompatibles usando object adapters, class adapters y facade adapters en Java, TypeScript y Python.

advanced

Escalar Cargas de Lectura y Escritura con CQRS

Cómo separar modelos de lectura y escritura usando Command Query Responsibility Segregation para queries optimizadas, event sourcing, y escalado independiente de rutas de lectura y escritura.

advanced

Modelar Dominios de Negocio Complejos con Domain-Driven Design

Cómo estructurar código alrededor de conceptos de negocio usando bounded contexts, aggregates, entities, value objects y domain events para gestionar complejidad en aplicaciones grandes.

beginner

Crear Objetos Flexiblemente con el Factory Pattern

Cómo usar factory methods, abstract factories y containers de inyección de dependencias para desacoplar creación de objetos de su uso y mejorar testeabilidad.

intermediate

Construir Aplicaciones Mantenibles con Arquitectura Hexagonal

Cómo estructurar aplicaciones usando ports y adapters para aislar lógica de negocio de frameworks, bases de datos y servicios externos para testabilidad y flexibilidad.

beginner

Implementar Sistemas Reactivos con el Observer Pattern

Cómo construir sistemas event-driven y reactivos usando el observer pattern con pub/sub, event emitters y reactive streams en JavaScript, Java y Python.

beginner

Asegurar una Única Instancia con el Singleton Pattern

Cómo garantizar exactamente una instancia de una clase en una aplicación usando inicialización perezosa, creación thread-safe y singletons basados en registro.

beginner

Intercambiar Algoritmos en Runtime con el Strategy Pattern

Cómo encapsular algoritmos y comportamientos intercambiables usando el strategy pattern con inyección de dependencias, function pointers y lambda strategies en Java, TypeScript y Python.

intermediate

Tareas en Segundo Plano (Background Jobs)

Cómo programar y ejecutar tareas en segundo plano usando cron, colas de trabajo y workers.

intermediate

Herramienta CLI con Parseo de Argumentos

Cómo construir una interfaz de línea de comandos profesional con parseo de argumentos, flags y subcomandos.

beginner

Cron Jobs

Cómo programar y gestionar tareas recurrentes usando sintaxis cron en Linux, Python y Node.js.

beginner

Fundamentos de Docker

Cómo containerizar una aplicación, escribir un Dockerfile y ejecutar contenedores con Docker Compose.

beginner

Variables de Entorno

Cómo leer, establecer y gestionar variables de entorno de forma segura en Python, JavaScript y Java.

intermediate

Feature Flags (Banderas de Funcionalidad)

Cómo implementar feature toggles para desplegar, probar y revertir funcionalidad de forma segura sin desplegar código.

intermediate

Generar Sitemaps Dinámicamente

Cómo construir y servir sitemaps XML dinámicamente desde los datos de tu aplicación, con soporte multi-idioma, paginación y fechas lastmod automáticas.

beginner

Flujo de Trabajo Git

Una estrategia de branching práctica para equipos: ramas de feature, pull requests e historial limpio de commits.

intermediate

GitHub Actions CI/CD

Cómo construir y desplegar con GitHub Actions usando workflows, matrices, caching y secrets.

intermediate

Implementar graceful shutdown y reinicios sin downtime

Cómo implementar graceful shutdown y reinicios sin downtime para servidores web, workers y contenedores

beginner

Endpoint de Health Check

Cómo implementar un endpoint de health check listo para producción para monitoreo y load balancers.

beginner

Analizar y Validar Configuración YAML/JSON

Cómo analizar y validar archivos de configuración de aplicaciones usando esquemas YAML y JSON.

beginner

Configurar pre-commit hooks

Cómo configurar pre-commit hooks con husky, lint-staged y pre-commit para forzar calidad de código antes de commits

intermediate

Retry con Backoff Exponencial

Cómo implementar lógica de retry resiliente con backoff exponencial y jitter para fallos transitorios en llamadas de red y APIs.

intermediate

Gestionar Secretos de Aplicaciones de Forma Segura

Cómo almacenar, rotar e inyectar API keys, contraseñas de base de datos y certificados sin hardcodearlos en código fuente o archivos de entorno.

beginner

Comprimir y Descomprimir Archivos con Gzip y Brotli

Cómo reducir tamaños de archivos para APIs, assets estáticos y logs usando Gzip, Brotli y zlib con compresión streaming, negociación de contenido y mejores prácticas.

beginner

Exportar Datos a CSV/Excel

Cómo exportar datos estructurados a archivos CSV y Excel de forma eficiente.

intermediate

Validación de Subida de Archivos

Cómo manejar subidas de archivos de forma segura con validación de tamaño, tipo y contenido.

intermediate

Generar PDFs

Cómo generar documentos PDF programáticamente desde HTML, plantillas o datos crudos.

beginner

Optimización de Imágenes

Cómo redimensionar, comprimir y optimizar imágenes para rendimiento web.

beginner

Importar Datos desde CSV/Excel

Cómo parsear e importar datos desde archivos CSV y Excel con validación.

beginner

Leer y Escribir Archivos

Cómo leer y escribir archivos de forma segura en varios lenguajes de programación.

intermediate

Procesar Archivos Grandes con Streams

Cómo leer, transformar y escribir archivos grandes eficientemente usando streams sin cargar archivos completos en memoria en Python, Node.js y Java.

intermediate

Implementar Estrategias de Invalidación de Caché

Cómo mantener la caché consistente con las bases de datos usando TTL, write-through, write-behind y patrones de invalidación event-driven.

intermediate

Implementar CDN edge caching

Configura redes de entrega de contenido con reglas de edge caching, invalidación de caché y optimización geográfica para contenido estático y dinámico.

intermediate

Configurar connection pooling para bases de datos y clientes HTTP

Cómo configurar connection pooling para bases de datos y clientes HTTP para mejorar rendimiento y confiabilidad

intermediate

Optimizar Queries con Indexación de Bases de Datos

Cómo crear, analizar y mantener índices para acelerar queries de base de datos y evitar errores comunes de indexación.

intermediate

Debounce y Throttle

Cómo implementar patrones de debounce y throttle para controlar la frecuencia de ejecución de funciones en búsquedas, scroll y llamadas a APIs.

intermediate

Optimizar Queries Lentas de Base de Datos

Cómo identificar, analizar y corregir queries SQL lentos usando EXPLAIN, refactoring de queries y técnicas de optimización específicas por base de datos.

beginner

Asegurar APIs con HTTP Security Headers

Cómo configurar headers de seguridad esenciales como HSTS, CSP y X-Frame-Options para proteger APIs y aplicaciones web de ataques comunes.

beginner

Proteger Formularios Web Contra Ataques CSRF

Cómo prevenir ataques de Cross-Site Request Forgery usando tokens de sincronización, cookies SameSite y patrones de double-submit cookie.

intermediate

Implementar Encripción en Reposo para Bases de Datos y Almacenamiento de Archivos

Cómo encriptar datos sensibles antes de almacenarlos en bases de datos, object storage y backups usando AES-256-GCM, encripción de sobre y servicios de gestión de keys.

beginner

Implementar Lazy Loading para Imágenes, Componentes y Datos

Cómo diferir la carga de recursos no críticos hasta que sean necesarios, mejorando el tiempo de carga inicial de página, reduciendo el ancho de banda y optimizando Core Web Vitals.

intermediate

Implementar Rate Limiting para APIs y Aplicaciones Web

Cómo proteger APIs y endpoints web del abuso usando estrategias de rate limiting token bucket, sliding window y fixed window con implementaciones en Redis y memoria.

advanced

Implementar firma de peticiones con HMAC

Asegura peticiones de API con firmas HMAC y autenticación AWS Signature v4 para integridad de mensajes a prueba de manipulaciones.

intermediate

Prevenir Ataques de Inyección SQL

Cómo escribir queries parametrizadas y usar ORMs para eliminar vulnerabilidades de inyección SQL en Python, JavaScript y Java.

intermediate

Testear Contratos de API con Consumer-Driven Contracts

Cómo prevenir cambios breaking entre microservicios usando contract testing consumer-driven con Pact y validadores de OpenAPI.

intermediate

Prevenir Cross-Site Scripting (XSS)

Cómo sanitizar input de usuario, escapar output y usar Content Security Policy para prevenir ataques XSS en aplicaciones web.

intermediate

Escribir Tests End-to-End que Realmente Atrapen Bugs

Cómo diseñar tests end-to-end confiables usando Playwright y Cypress que simulen viajes de usuario reales, eviten flakiness e integren pipelines CI/CD.

intermediate

Diseñar Tests de Integración Efectivos para Sistemas Confiables

Cómo escribir tests de integración que verifiquen interacciones de componentes usando test containers, contratos de API, consumer-driven contracts y contract testing en Java, TypeScript y Python.

intermediate

Escribir Tests de Integración

Cómo testear múltiples componentes trabajando juntos usando bases de datos reales, clientes HTTP y colas de mensajes en Python, JavaScript y Java.

intermediate

Realizar Load Testing en APIs

Cómo simular tráfico realista, medir tiempos de respuesta e identificar cuellos de botella usando k6 y JMeter para APIs y servicios web.

beginner

Escribir Unit Tests con Mocks y Stubs

Cómo aislar código bajo test usando objetos mock, stubs y spies para reemplazar dependencias externas como bases de datos, APIs y sistemas de archivos.

beginner

Pruebas Unitarias

Cómo escribir pruebas unitarias rápidas y deterministas con mocks y assertions en Python, JavaScript y Java.

intermediate

Detectar Regresiones Visuales Automáticamente con Visual Testing

Cómo detectar cambios visuales no intencionales en aplicaciones web usando comparación de screenshots, gestión de baselines y herramientas como Chromatic, Percy y Playwright.

intermediate

Minimizar la Latencia de Cold Start en Funciones Serverless

Cómo reducir tiempos de cold start en AWS Lambda, Azure Functions y Cloud Run usando concurrencia provisionada, lazy loading, tuning de runtime y optimización de dependencias.

intermediate

Construir Arquitecturas Serverless Event-Driven

Cómo diseñar sistemas débilmente acoplados usando funciones serverless disparadas por eventos de colas de mensajes, bases de datos y webhooks.

advanced

Implementar Event Sourcing en Arquitecturas Serverless

Cómo capturar todos los cambios como eventos inmutables usando event sourcing con AWS Lambda, DynamoDB streams y event stores para audit trails y consultas temporales.

advanced

Construir APIs en Tiempo Real con WebSockets en Serverless

Cómo implementar comunicación bidireccional en tiempo real usando WebSockets con AWS API Gateway, Lambda, DynamoDB y mejores prácticas de gestión de conexiones.

beginner

Ejecutar Jobs Programados con Funciones Serverless

Cómo reemplazar cron jobs con funciones serverless programadas para backups, reportes, limpieza y tareas de mantenimiento periódico.

intermediate

Construir APIs Serverless con API Gateway

Cómo diseñar, desplegar y gestionar APIs HTTP serverless usando AWS API Gateway, Lambda y patrones de function-as-a-service.

intermediate

Construir funciones serverless

Crea y despliega funciones serverless con AWS Lambda, Google Cloud Functions y Azure Functions para computación event-driven y pago por uso.

intermediate

Orquestar Workflows Serverless con Step Functions y Máquinas de Estados

Cómo coordinar procesos serverless complejos usando AWS Step Functions, Temporal y Durable Functions para gestionar estado, reintentos y manejo de errores entre funciones distribuidas.