Artículos

  • Generales 0

    go/ast y go/parser en Go: analizar código fuente, recorrer el AST y construir herramientas

    Aprende a usar go/ast y go/parser para analizar código fuente Go desde Go. Cómo parsear un fichero con parser.ParseFile(), recorrer el árbol de sintaxis con ast.Inspect() y construir herramientas que extraen funciones, detectan llamadas e inspeccionan interfaces.

  • Javascript 0

    Clases avanzadas en JavaScript: campos privados #, métodos privados, static y accessors

    Aprende a usar campos y métodos privados (#campo, #metodo()), campos estáticos privados, static initialization blocks, getters y setters con validación, y herencia en clases JavaScript modernas. Con ejemplos reales y los errores más habituales al empezar.

  • Generales 0

    Rust para WebAssembly: wasm-pack, wasm-bindgen y llamar a Rust desde JavaScript

    Aprende a compilar Rust a WebAssembly con wasm-pack y wasm-bindgen. Exporta funciones Rust a JavaScript, llama a APIs del navegador con web-sys y ejecuta cálculos pesados en el cliente. Cuatro ejemplos prácticos con código real: sumas, CRC32, DOM y arrays JS nativos.

  • Generales 0

    Animaciones avanzadas en SwiftUI: matchedGeometryEffect, PhaseAnimator y KeyframeAnimator

    Aprende a crear animaciones complejas en SwiftUI con matchedGeometryEffect para hero animations, PhaseAnimator para ciclos por fases y KeyframeAnimator para animar múltiples propiedades en paralelo con timings independientes. Ejemplos reales para iOS 17+.

  • Python 0

    NumPy en Python: arrays N-dimensionales, operaciones vectorizadas y broadcasting

    Aprende a usar NumPy en Python: crea arrays N-dimensionales con np.array, np.zeros o np.linspace, aplica operaciones vectorizadas sin bucles for, domina el broadcasting entre arrays de distinto tamaño y usa ufuncs como np.mean o np.sum por eje.

  • C 0

    Compiladores de C en 2026: GCC 15, Clang 20 y TCC — diferencias y cuándo usar cada uno

    Comparativa de compiladores C en 2026: GCC 15 con C23 por defecto, Clang 20 con mejores diagnósticos y sanitizers, y TCC para compilación instantánea. Cuándo usar cada uno.

  • PHP 0

    Excepciones personalizadas en PHP: crear jerarquías de errores propias

    Aprende a crear excepciones personalizadas en PHP extendiendo Exception y RuntimeException. Diseña jerarquías con AppException como base y subclases específicas (ValidationException, DatabaseException, NotFoundException) para capturar errores de forma precisa en tus aplicaciones.

  • Scala 0

    Testing en Scala: ScalaTest, MUnit y ZIO Test en proyectos modernos

    ScalaTest, MUnit y ZIO Test son las tres opciones principales para testing en Scala. Comparativa práctica, property-based testing con ScalaCheck, integración con Cats Effect y ZIO, y guía para elegir según el proyecto.

  • Javascript 0

    TypeScript con Vitest: tests tipados, mocks con vi.fn, cobertura y testing de tipos

    Aprende a usar Vitest con TypeScript desde cero: tipos inferidos en tests, mocks tipados con vi.fn y vi.mocked, testing de tipos con expectTypeOf y cobertura con v8 o Istanbul. Con ejemplos reales y el antipatrón más frecuente al migrar desde Jest.

  • BBDD 0

    pgvector en PostgreSQL: búsqueda vectorial para aplicaciones de IA sin salir de SQL

    pgvector añade el tipo vector(N) a PostgreSQL y operadores de distancia L2, coseno y producto escalar. Los índices HNSW (desde 0.5.0) e IVFFlat permiten búsqueda aproximada de vecinos más cercanos. Ideal para RAG sin montar otra base de datos.