Artículos
-
Generales
GATs en Rust: Generic Associated Types para abstracciones más potentes
Los Generic Associated Types (GATs), estables desde Rust 1.65, permiten que los tipos asociados en un trait lleven lifetimes propios. La clave para expresar iteradores de streaming, colecciones que prestan sus elementos y parsers sin copias.
-
Generales
Core Data en Swift: NSManagedObject, NSFetchRequest, NSPersistentContainer y migraciones
Aprende a usar Core Data en Swift con NSPersistentContainer, NSManagedObject y NSFetchRequest. Ejemplos CRUD completos, trabajo en segundo plano con performBackgroundTask, migraciones ligeras y @FetchRequest para SwiftUI.
-
Generales
Profiling en Rust: cargo-flamegraph, perf y benchmarks con Criterion
Guía práctica de profiling en Rust: benchmarks estadísticos con Criterion.rs y BenchmarkId, flamegraphs de CPU con cargo-flamegraph, profiling de memoria heap con DHAT y verificación del assembly generado con cargo-asm. Con 4 ejemplos reales y antipatrones habituales.
-
Generales
Combine avanzado en Swift: publishers propios, Scheduler, share(), multicast y error handling
Aprende a crear publishers propios conformando el protocolo Publisher, a controlar el hilo de ejecución con Scheduler, a compartir suscripciones con share() y multicast(), y a manejar errores con mapError(), catch() y retry(). Con ejemplos reales de Swift.
-
Generales
Configuración en Rust con config y figment: múltiples fuentes, entornos y validación
Gestiona la configuración de tus aplicaciones Rust con los crates config y figment. Aprende a cargar valores desde ficheros TOML y variables de entorno, deserializar con serde a structs tipadas, organizar por entornos y validar con el crate validator.
-
Generales
Combine en Swift: Publishers, Subscribers, operadores y sink/assign
Aprende a usar Combine en Swift: publishers como Just, PassthroughSubject y CurrentValueSubject, suscripciones con sink y assign, operadores como map, filter y debounce, y un ejemplo real de buscador con debounce y URLSession.DataTaskPublisher.
-
Generales
tracing en Rust: logging estructurado y async-aware con spans y eventos
El crate tracing es la solución estándar en Rust para instrumentación async. A diferencia de log, los spans de tracing mantienen el contexto entre puntos .await. Aprende a usar #[instrument], campos estructurados y tracing_subscriber para producción.
-
Generales
Interoperabilidad en Swift: C, Objective-C, bridging headers y Swift C++ interop
Cómo usar código C y Objective-C desde Swift con el bridging header, @objc y @objcMembers. Módulos C con module.modulemap, punteros C con UnsafePointer y withUnsafeBytes, y la interoperabilidad C++ directa disponible desde Swift 5.9.
-
Generales
Generics en Go en producción: Optional, Result, Set, filter/map/reduce y patrones reales
Patrones reales con generics en Go: Optional y Result en lugar de punteros y type assertions, Set genérico con Union e Intersection, Filter/Map/Reduce sin boxing con benchmarks, qué no puedes hacer con type switch sobre T y cuándo elegir generics frente a interfaces.
-
Generales
nom en Rust: parsing combinatorio para protocolos, formatos y lenguajes
nom es la librería de parser combinators para Rust. Aprende a manejar IResult, construir parsers con tag(), digit1(), many1() y alt(), componer un parser de CSV con separated_list0() y leer protocolos binarios con le_u32() y be_u16(). Cuatro ejemplos progresivos desde cero.









