All Coder Things
Artículos, referencias y series de proyectos prácticos sobre desarrollo de software.
Guías
Artículos Destacados
Operaciones con DateTime y TimeSpan en C#
Aprende a usar DateTime y TimeSpan en C# para realizar operaciones de fecha y hora como comparación, cálculo y formateo.
Arreglos (Arrays) en C#
Aprende arreglos en C#: declaración, índices, recorridos con bucles y operaciones básicas con ejemplos prácticos.
Bucles en C++: for, while, do-while
Aprende bucles en C++ con for, while y do-while para repetir tareas y controlar el flujo del programa.
Estructura de sintaxis de C#
Aprende los fundamentos de la sintaxis de C#, incluyendo bloques de código, comentarios y reglas de nombrado de variables.
Comandos de consola en C#
Aprende a trabajar con aplicaciones de consola en C#, mostrando mensajes, leyendo entradas del usuario y formateando la salida.
Primer proyecto en C#
Primera aplicación de consola en C# con Visual Studio 2022: uso de WriteLine, ReadKey y ReadLine.
Manejo de excepciones en C# (try, catch, finally)
Aprende a manejar excepciones en C# usando bloques try, catch y finally para gestionar errores de forma segura con ejemplos.
Networking en C# (TcpClient, HttpClient, llamadas REST API)
Aprende networking en C# con TcpClient, HttpClient y llamadas REST API para gestionar comunicación y datos externos.
Introducción a C# y al ecosistema .NET
C# es un lenguaje moderno, seguro y orientado a objetos. Con el ecosistema .NET es posible desarrollar aplicaciones web, móviles, de escritorio y juegos.
Configurar compilador e IDE de C++ (Visual Studio, GCC, Clang)
Aprende a configurar un entorno de desarrollo C++ con Visual Studio, GCC y Clang paso a paso.
Clases, Objetos, Propiedades y Métodos en C#
Aprende cómo las clases, objetos, propiedades y métodos en C# forman la base de la programación orientada a objetos.
Namespaces y ensamblados en C#
Aprende los conceptos de namespaces y ensamblados en C# para organizar el código y gestionar dependencias correctamente.
Operadores y expresiones en C#
Operadores y expresiones en C#: uso de operadores aritméticos, de comparación, lógicos, de incremento/decremento, ternario y null-coalescing.
Tipos de datos básicos en C#
Tipos de datos básicos en C#: numéricos, de texto, lógicos, orientados a objetos y anulables.
Biblioteca Math en C#
Aprende a usar la biblioteca Math en C#, incluyendo Pow, Sqrt, Round, Abs y otros métodos matemáticos con ejemplos prácticos.
Conversiones de tipos en C#
Aprende las conversiones de tipos en C#, incluyendo casting implícito y explícito, Parse, TryParse y métodos Convert con ejemplos.
Arreglos multidimensionales y punteros en C++
Aprende arreglos multidimensionales y punteros en C++, incluyendo organización de memoria, indexación y ejemplos prácticos.
Gestión de procesos y subprocesos en C#
Aprende gestión de procesos y subprocesos en C# para controlar la ejecución y los recursos del sistema.
Uso de constantes y enumeraciones en C#
Aprende a usar constantes y enumeraciones en C# para escribir código más limpio, seguro y fácil de mantener con ejemplos prácticos.
Conceptos de direcciones y memoria en C++
Aprende los conceptos básicos de direcciones y memoria en C++, incluyendo almacenamiento de datos y direcciones de variables.
¿Qué es el puntero this en C++?
Aprende cómo funciona el puntero this en C++, incluyendo autorreferencia de objetos y encadenamiento de métodos.
Genéricos en C# (List, Dictionary)
Aprende genéricos en C# (List
Métodos y uso de parámetros en C#
Aprende a definir métodos y usar parámetros en C#, incluyendo parámetros por valor y referencia, parámetros opcionales y ejemplos.
Arquitectura en capas y Clean Architecture en C#
Aprende arquitectura en capas y Clean Architecture en C# para crear aplicaciones mantenibles y bien estructuradas.
Introducción a Entity Framework Core en C#
Aprende los fundamentos de Entity Framework Core en C#, incluyendo DbContext y operaciones básicas con bases de datos.
Últimos ejemplos
Caché con ETag en ASP.NET Core: If-None-Match y 304 Not Modified
Implementa GET condicional con ETag en ASP.NET Core: genera una huella de la respuesta, procesa If-None-Match y devuelve 304 cuando el recurso no ha cambiado.
Escritura atómica de archivos en .NET: evitar archivos incompletos
Escribe primero en un archivo temporal, vacía los buffers y después reemplázalo o muévelo para evitar archivos parciales o dañados.
Idempotency Key en ASP.NET Core (.NET 8): evitar POST duplicados
Haz que POST sea seguro ante reintentos: usa Idempotency-Key, guarda la primera respuesta y reprodúcela en duplicados para evitar inserciones dobles.
Ordenar y filtrar de forma segura en ASP.NET Core: Query Builder con whitelist
Analiza ?sort=name,-createdAt&filter=country:TR,status:active de forma segura usando whitelist y mapeo a expresiones/columnas SQL, evitando inyección por campos dinámicos.
Errores de validación en ASP.NET Core: normalizar ModelState a { field, message }[]
Normaliza los errores de ModelState con InvalidModelStateResponseFactory al formato { field, message }[] para que el cliente muestre validaciones de forma consistente.
Crear un ZIP de una carpeta con progreso en .NET (ejemplo WPF)
Genera un ZIP desde una carpeta en .NET y actualiza una ProgressBar en WPF usando ZipArchive e IProgress para una UI fluida.
Ejemplos destacados
Rate Limiting por IP en ASP.NET Core (.NET 8): 429 Too Many Requests
Limita solicitudes por IP con el rate limiting integrado de .NET 8 y devuelve 429 con Retry-After para proteger tu API del abuso.
ProblemDetails en ASP.NET Core: errores limpios con TraceId
Mapea excepciones a ProblemDetails (RFC 7807) y devuelve un traceId para errores consistentes y para localizar la petición exacta en los logs.
Caché con ETag en ASP.NET Core: If-None-Match y 304 Not Modified
Implementa GET condicional con ETag en ASP.NET Core: genera una huella de la respuesta, procesa If-None-Match y devuelve 304 cuando el recurso no ha cambiado.