Artículos

  • Otros lenguajes 0

    Flux.jl: machine learning en Julia con diferenciación automática nativa

    Flux.jl es un framework de machine learning escrito en Julia puro, con Zygote.jl para diferenciación automática en modo reverse. Redes densas, CNN, entrenamiento, GPU y capas personalizadas con código real.

  • Javascript 0

    Source maps y debugging de TypeScript: configurar VS Code, Node.js y tests con breakpoints

    Aprende a configurar source maps en TypeScript para depurar con breakpoints directamente en tus archivos .ts, sin ver el JS compilado. Configuración de tsconfig.json, VS Code launch.json, tests de Jest con --runInBand y tsx con --inspect-brk.

  • Lua 0

    Lua en videojuegos: LÖVE 2D y Defold, los frameworks que usan Lua como lenguaje de scripting

    LÖVE 2D y Defold son dos frameworks para videojuegos que usan Lua como lenguaje de scripting. Aprende las diferencias entre ambos, sus APIs principales y cómo estructurar un proyecto de juego en Lua desde cero.

  • Erlang 0

    Gleam compilado a JavaScript: usando Gleam en el frontend y con Node.js

    Gleam puede compilar a JavaScript además de a Erlang. Genera módulos ESM compatibles con Node.js, Deno y el navegador. Con @external puedes llamar a código JS desde Gleam, y Lustre ofrece UI reactiva en el navegador con tipos seguros.

  • Generales 0

    Kafka en Go con confluent-kafka-go: producer, consumer, grupos de consumo y offsets

    Aprende a usar Apache Kafka en Go con confluent-kafka-go: cómo crear un producer, manejar el canal de eventos para confirmaciones de entrega, configurar consumers con grupos de consumo y gestionar offsets con commit manual para garantizar que no pierdes mensajes.

  • Javascript 0

    Seguridad JavaScript: XSS, Content Security Policy, sanitización y DOMPurify

    Aprende a proteger tu código JavaScript del lado del cliente contra XSS (reflected, stored y DOM-based), cómo usar DOMPurify para sanitizar HTML de usuario, Content Security Policy con nonces, Trusted Types en Chrome y por qué innerHTML mal usado es una puerta de entrada para atacantes.

  • Generales 0

    Const generics en Rust: parámetros de tipo que son valores constantes

    Los const generics, estables desde Rust 1.51, permiten usar valores constantes como parámetros genéricos. Aprende a crear structs con tamaño fijo, implementar traits para arrays de cualquier longitud y cuáles son los tipos válidos como const params.

  • Generales 0

    URLSession con async/await en Swift: descargas, uploads, WebSocket y streaming

    Aprende a usar URLSession con async/await en Swift: peticiones con data(from:), streaming con AsyncBytes, descargas a fichero, subidas, WebSocket con webSocketTask y sesiones ephemeral. Con el antipatrón más habitual y cómo cancelar tareas correctamente.

  • Python 0

    subprocess en Python: run, Popen, communicate, pipes y ejecución de comandos del sistema

    Aprende a usar el módulo subprocess de Python para ejecutar comandos del sistema: subprocess.run() con capture_output, check y timeout; subprocess.Popen con communicate() y poll(); shlex.split() y los peligros de shell=True con datos del usuario.

  • Javascript 0

    Leer errores de TypeScript: entender mensajes complejos, pretty-ts-errors y técnicas de depuración

    Cómo leer y entender los errores complejos de TypeScript: estrategia de lectura de abajo a arriba, @ts-expect-error para aislar, reveal_type, AssertEqual, la extensión pretty-ts-errors, el tipo Simplify para expandir tipos opacos y cómo resolver errores de tipos circulares.