{
  "name": "Guías de Underc0de",
  "url": "./",
  "language": "es-AR",
  "updated": "2026-07-28",
  "license": "Contenido de Underc0de. Ver condiciones y atribución de cada guía.",
  "categories": [
    {
      "name": "Testing y QA",
      "slug": "testing",
      "url": "testing/",
      "published_guides": 22
    },
    {
      "name": "Hacking ético",
      "slug": "hacking",
      "url": "hacking/",
      "published_guides": 14
    },
    {
      "name": "Programación",
      "slug": "programacion",
      "url": "programacion/",
      "published_guides": 6
    },
    {
      "name": "Linux y sistemas",
      "slug": "linux",
      "url": "linux/",
      "published_guides": 7
    },
    {
      "name": "Redes",
      "slug": "redes",
      "url": "redes/",
      "published_guides": 10
    },
    {
      "name": "Inteligencia artificial",
      "slug": "inteligencia-artificial",
      "url": "inteligencia-artificial/",
      "published_guides": 13
    },
    {
      "name": "DevOps y cloud",
      "slug": "devops-cloud",
      "url": "devops-cloud/",
      "published_guides": 5
    },
    {
      "name": "Datos y bases de datos",
      "slug": "bases-de-datos",
      "url": "bases-de-datos/",
      "published_guides": 6
    },
    {
      "name": "Desarrollo web",
      "slug": "desarrollo-web",
      "url": "desarrollo-web/",
      "published_guides": 11
    }
  ],
  "guides": [
    {
      "title": "Testing de software: guía para empezar en QA",
      "description": "Qué es el testing, tipos de pruebas, diseño de casos, reporte de defectos, criterios de automatización y una ruta práctica para empezar en calidad de software.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "introduccion-al-testing",
      "url": "testing/introduccion-al-testing/",
      "markdown_url": "testing/introduccion-al-testing/index.md",
      "level": "Inicial",
      "reading": "12 min",
      "published": "2026-07-26",
      "updated": "2026-07-27",
      "keywords": [
        "testing de software",
        "QA",
        "casos de prueba",
        "automatización de pruebas",
        "reporte de defectos"
      ]
    },
    {
      "title": "Qué es un caso de prueba y cómo se compone",
      "description": "La definición normativa de caso de prueba, sus cinco partes obligatorias, los campos opcionales, la diferencia con condición y procedimiento, y trazabilidad.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "que-es-un-caso-de-prueba",
      "url": "testing/que-es-un-caso-de-prueba/",
      "markdown_url": "testing/que-es-un-caso-de-prueba/index.md",
      "level": "Inicial",
      "reading": "15 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "caso de prueba",
        "test case",
        "condición de prueba",
        "procedimiento de prueba",
        "trazabilidad",
        "ISTQB"
      ]
    },
    {
      "title": "Estrategias para escribir casos de prueba",
      "description": "Las técnicas de diseño que usan los equipos de QA: particiones de equivalencia, valores límite, tablas de decisión, transición de estados, cobertura y experiencia.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "estrategias-para-escribir-casos-de-prueba",
      "url": "testing/estrategias-para-escribir-casos-de-prueba/",
      "markdown_url": "testing/estrategias-para-escribir-casos-de-prueba/index.md",
      "level": "Intermedio",
      "reading": "16 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "técnicas de diseño de pruebas",
        "particiones de equivalencia",
        "valores límite",
        "tablas de decisión",
        "transición de estados",
        "cobertura"
      ]
    },
    {
      "title": "Estrategias de prueba: qué probar, cuánto y por qué",
      "description": "Política, estrategia y plan de prueba; enfoque basado en riesgo; niveles y tipos; criterios de entrada y salida; entornos y datos; métricas que sirven.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "estrategias-de-prueba",
      "url": "testing/estrategias-de-prueba/",
      "markdown_url": "testing/estrategias-de-prueba/index.md",
      "level": "Intermedio",
      "reading": "17 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "estrategia de prueba",
        "plan de pruebas",
        "política de prueba",
        "pruebas basadas en riesgo",
        "criterios de salida",
        "niveles de prueba"
      ]
    },
    {
      "title": "Selenium, Cypress o Playwright: cuál elegir y por qué",
      "description": "Cómo funciona cada herramienta por dentro, en qué se diferencian de verdad, el mismo test escrito en las tres y un criterio para elegir sin arrepentirte.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "selenium-cypress-playwright",
      "url": "testing/selenium-cypress-playwright/",
      "markdown_url": "testing/selenium-cypress-playwright/index.md",
      "level": "Intermedio",
      "reading": "19 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Selenium",
        "Cypress",
        "Playwright",
        "automatización de pruebas",
        "pruebas end to end",
        "W3C WebDriver"
      ]
    },
    {
      "title": "Selenium: qué es, cómo se instala y cómo se usa",
      "description": "Qué es Selenium WebDriver, cómo se instala en Python, Java, C#, Ruby y JavaScript, tu primer script explicado bloque por bloque, localizadores, esperas y CI.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "como-instalar-y-usar-selenium",
      "url": "testing/como-instalar-y-usar-selenium/",
      "markdown_url": "testing/como-instalar-y-usar-selenium/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Selenium",
        "Selenium WebDriver",
        "instalar Selenium",
        "Selenium Python",
        "Selenium Manager",
        "automatización de pruebas"
      ]
    },
    {
      "title": "Cypress: qué es, cómo se instala y cómo se usa",
      "description": "Qué es Cypress, requisitos e instalación con npm, la estructura que crea, tu primer test, el encadenamiento de comandos, reintentos automáticos y ejecución en CI.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "como-instalar-y-usar-cypress",
      "url": "testing/como-instalar-y-usar-cypress/",
      "markdown_url": "testing/como-instalar-y-usar-cypress/index.md",
      "level": "Inicial",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Cypress",
        "instalar Cypress",
        "pruebas end to end",
        "cypress run",
        "retry-ability",
        "automatización de pruebas"
      ]
    },
    {
      "title": "Playwright: qué es, cómo se instala y cómo se usa",
      "description": "Qué es Playwright, instalación en JavaScript y en Python, la estructura que crea, localizadores recomendados, espera automática, Codegen, Trace Viewer y CI.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "como-instalar-y-usar-playwright",
      "url": "testing/como-instalar-y-usar-playwright/",
      "markdown_url": "testing/como-instalar-y-usar-playwright/index.md",
      "level": "Inicial",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Playwright",
        "instalar Playwright",
        "Playwright Python",
        "locators",
        "Trace Viewer",
        "automatización de pruebas"
      ]
    },
    {
      "title": "Automatización de pruebas con los agentes de Playwright",
      "description": "Qué son los agentes planner, generator y healer, cómo se instalan, por qué el test semilla decide el resultado, el flujo completo y qué siguen necesitando de vos.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "automatizacion-con-agentes-de-playwright",
      "url": "testing/automatizacion-con-agentes-de-playwright/",
      "markdown_url": "testing/automatizacion-con-agentes-de-playwright/index.md",
      "level": "Intermedio",
      "reading": "15 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "agentes de Playwright",
        "planner",
        "generator",
        "healer",
        "automatización de pruebas",
        "init-agents"
      ]
    },
    {
      "title": "Testing de aplicaciones con inteligencia artificial",
      "description": "Cómo probar un sistema cuya salida no es determinista: el problema del oráculo, las cuatro formas de evaluar, los casos límite, el sesgo, la seguridad y la regresión.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "testing-de-aplicaciones-con-inteligencia-artificial",
      "url": "testing/testing-de-aplicaciones-con-inteligencia-artificial/",
      "markdown_url": "testing/testing-de-aplicaciones-con-inteligencia-artificial/index.md",
      "level": "Intermedio",
      "reading": "17 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "testing de IA",
        "evaluaciones",
        "no determinismo",
        "problema del oráculo",
        "sesgo",
        "inyección de prompts"
      ]
    },
    {
      "title": "Contract Testing de APIs y microservicios con Pact",
      "description": "Qué problema resuelve el contract testing, el flujo dirigido por el consumidor paso a paso, la verificación del proveedor, el broker, can-i-deploy y qué no cubre.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "contract-testing-de-apis-con-pact",
      "url": "testing/contract-testing-de-apis-con-pact/",
      "markdown_url": "testing/contract-testing-de-apis-con-pact/index.md",
      "level": "Intermedio",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "contract testing",
        "Pact",
        "microservicios",
        "pruebas de API",
        "Pact Broker",
        "can-i-deploy"
      ]
    },
    {
      "title": "Pruebas de rendimiento con k6 y Grafana",
      "description": "Los seis tipos de prueba de carga, tu primer script de k6, escenarios y ejecutores, umbrales que fallan el pipeline, qué métricas mirar y cómo verlas en Grafana.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "pruebas-de-rendimiento-con-k6-y-grafana",
      "url": "testing/pruebas-de-rendimiento-con-k6-y-grafana/",
      "markdown_url": "testing/pruebas-de-rendimiento-con-k6-y-grafana/index.md",
      "level": "Intermedio",
      "reading": "15 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "k6",
        "pruebas de rendimiento",
        "pruebas de carga",
        "umbrales",
        "Grafana",
        "percentiles"
      ]
    },
    {
      "title": "Cómo detectar y solucionar flaky tests",
      "description": "Qué es un test inestable, por qué el costo real es perder la confianza en la suite, las seis causas frecuentes con su arreglo, cómo diagnosticarlos y la cuarentena.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "como-detectar-y-solucionar-flaky-tests",
      "url": "testing/como-detectar-y-solucionar-flaky-tests/",
      "markdown_url": "testing/como-detectar-y-solucionar-flaky-tests/index.md",
      "level": "Intermedio",
      "reading": "15 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "flaky tests",
        "tests inestables",
        "reintentos",
        "aislamiento de tests",
        "cuarentena",
        "depuración de pruebas"
      ]
    },
    {
      "title": "Testing manual desde cero: conceptos, técnicas y ejemplos",
      "description": "Cómo se prueba software a mano de verdad: la mentalidad, las técnicas para encontrar errores, el testing exploratorio, y cómo reportar un defecto para que se pueda arreglar.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "testing-manual-desde-cero",
      "url": "testing/testing-manual-desde-cero/",
      "markdown_url": "testing/testing-manual-desde-cero/index.md",
      "level": "Inicial",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "testing manual",
        "pruebas manuales",
        "testing exploratorio",
        "reporte de defectos",
        "técnicas de prueba",
        "QA"
      ]
    },
    {
      "title": "Cómo diseñar casos de prueba a partir de requisitos",
      "description": "El puente de la especificación a las pruebas: leer un requisito o historia de usuario, derivar los casos que lo cubren, construir una matriz de trazabilidad y decidir cuánta cobertura es suficiente.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "disenar-casos-de-prueba-a-partir-de-requisitos",
      "url": "testing/disenar-casos-de-prueba-a-partir-de-requisitos/",
      "markdown_url": "testing/disenar-casos-de-prueba-a-partir-de-requisitos/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "casos de prueba",
        "requisitos",
        "criterios de aceptación",
        "trazabilidad",
        "cobertura",
        "historias de usuario"
      ]
    },
    {
      "title": "Pruebas de APIs con Postman y Newman",
      "description": "Cómo probar una API sin interfaz: enviar peticiones con Postman, escribir aserciones en las colecciones, parametrizar con entornos, y ejecutarlas en la terminal y en CI con Newman.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "pruebas-de-apis-con-postman-y-newman",
      "url": "testing/pruebas-de-apis-con-postman-y-newman/",
      "markdown_url": "testing/pruebas-de-apis-con-postman-y-newman/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "Postman",
        "Newman",
        "pruebas de API",
        "colecciones",
        "aserciones",
        "integración continua"
      ]
    },
    {
      "title": "Automatización de aplicaciones móviles con Appium",
      "description": "Cómo automatizar pruebas de apps Android e iOS con Appium: su arquitectura de drivers, cómo se localizan los elementos, qué son las capacidades, y por qué probar en móvil es más difícil que en web.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "automatizacion-movil-con-appium",
      "url": "testing/automatizacion-movil-con-appium/",
      "markdown_url": "testing/automatizacion-movil-con-appium/index.md",
      "level": "Intermedio",
      "reading": "10 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "Appium",
        "testing móvil",
        "Android",
        "iOS",
        "WebDriver",
        "automatización de apps"
      ]
    },
    {
      "title": "Testing de accesibilidad web con axe y Playwright",
      "description": "Cómo automatizar comprobaciones de accesibilidad con axe dentro de Playwright, qué detecta y qué no la automatización, y cómo integrarlo sin frenar el equipo con falsos positivos.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "testing-de-accesibilidad-con-axe-y-playwright",
      "url": "testing/testing-de-accesibilidad-con-axe-y-playwright/",
      "markdown_url": "testing/testing-de-accesibilidad-con-axe-y-playwright/index.md",
      "level": "Intermedio",
      "reading": "10 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "accesibilidad web",
        "axe-core",
        "Playwright",
        "WCAG",
        "a11y",
        "testing automatizado"
      ]
    },
    {
      "title": "Pruebas de regresión visual para detectar cambios de interfaz",
      "description": "Cómo detectar cambios inesperados en la interfaz comparando capturas de pantalla: cómo funcionan las líneas base, por qué se generan falsos positivos y cómo mantener las pruebas estables.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "pruebas-de-regresion-visual",
      "url": "testing/pruebas-de-regresion-visual/",
      "markdown_url": "testing/pruebas-de-regresion-visual/index.md",
      "level": "Intermedio",
      "reading": "10 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "regresión visual",
        "capturas de pantalla",
        "línea base",
        "Playwright",
        "testing de interfaz",
        "píxeles"
      ]
    },
    {
      "title": "Cómo ejecutar pruebas automáticas con GitHub Actions",
      "description": "Cómo hacer que tus pruebas corran solas con cada cambio: la anatomía de un flujo de trabajo, cómo se dispara, cómo frena lo que rompe, y cómo publicar los resultados.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "pruebas-automaticas-con-github-actions",
      "url": "testing/pruebas-automaticas-con-github-actions/",
      "markdown_url": "testing/pruebas-automaticas-con-github-actions/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "GitHub Actions",
        "integración continua",
        "pruebas automáticas",
        "CI",
        "workflow",
        "pipeline"
      ]
    },
    {
      "title": "Gestión y generación de datos para pruebas",
      "description": "Por qué los datos deciden si una prueba es confiable: cómo generarlos, cómo mantener el entorno de pruebas en un estado conocido, y por qué usar datos reales es un riesgo legal y de privacidad.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "gestion-y-generacion-de-datos-de-prueba",
      "url": "testing/gestion-y-generacion-de-datos-de-prueba/",
      "markdown_url": "testing/gestion-y-generacion-de-datos-de-prueba/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "datos de prueba",
        "test data",
        "datos sintéticos",
        "fixtures",
        "anonimización",
        "entorno de pruebas"
      ]
    },
    {
      "title": "BDD con Cucumber y Gherkin desde cero",
      "description": "Qué es el desarrollo guiado por comportamiento, cómo se escribe un escenario en Gherkin con Dado/Cuando/Entonces, cómo Cucumber lo conecta con el código, y cuándo conviene de verdad.",
      "category": "Testing y QA",
      "category_slug": "testing",
      "slug": "bdd-con-cucumber-y-gherkin",
      "url": "testing/bdd-con-cucumber-y-gherkin/",
      "markdown_url": "testing/bdd-con-cucumber-y-gherkin/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "BDD",
        "Cucumber",
        "Gherkin",
        "Dado Cuando Entonces",
        "definiciones de paso",
        "criterios de aceptación"
      ]
    },
    {
      "title": "Hacking ético: fundamentos, metodología y laboratorio seguro",
      "description": "Qué distingue al hacking ético: autorización, alcance, marco legal, metodología por fases, laboratorio aislado, priorización con CVSS e informes que sirven.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "fundamentos-hacking-etico",
      "url": "hacking/fundamentos-hacking-etico/",
      "markdown_url": "hacking/fundamentos-hacking-etico/index.md",
      "level": "Inicial",
      "reading": "12 min",
      "published": "2026-07-26",
      "updated": "2026-07-27",
      "keywords": [
        "hacking ético",
        "ciberseguridad",
        "pentesting autorizado",
        "laboratorio de seguridad",
        "CVSS"
      ]
    },
    {
      "title": "Wardriving: qué es y qué revela sobre tu red Wi-Fi",
      "description": "Qué es el wardriving, qué información emite tu red sin que nadie la ataque, dónde está el límite legal y cómo endurecer tu Wi-Fi doméstica.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "wardriving-mapeo-de-redes-wifi",
      "url": "hacking/wardriving-mapeo-de-redes-wifi/",
      "markdown_url": "hacking/wardriving-mapeo-de-redes-wifi/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "wardriving",
        "seguridad Wi-Fi",
        "redes inalámbricas",
        "WiGLE",
        "Kismet",
        "WPA3"
      ]
    },
    {
      "title": "Qué es OWASP y cómo usar sus proyectos",
      "description": "Qué es la fundación, cómo se organiza, y para qué sirve cada uno de sus proyectos principales: el Top 10, el ASVS, la guía de pruebas, las hojas de trucos y las listas para IA.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "que-es-owasp",
      "url": "hacking/que-es-owasp/",
      "markdown_url": "hacking/que-es-owasp/index.md",
      "level": "Inicial",
      "reading": "11 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "OWASP",
        "ASVS",
        "WSTG",
        "cheat sheets",
        "seguridad de aplicaciones",
        "Top 10"
      ]
    },
    {
      "title": "OWASP Top 10 2025 explicado con ejemplos",
      "description": "Las diez categorías de la edición 2025, una por una y con un ejemplo concreto de cada una, qué cambió respecto de 2021 y cómo se metodologizó la lista.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "owasp-top-10-2025-explicado",
      "url": "hacking/owasp-top-10-2025-explicado/",
      "markdown_url": "hacking/owasp-top-10-2025-explicado/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "OWASP Top 10 2025",
        "control de acceso roto",
        "inyección",
        "cadena de suministro",
        "CWE",
        "vulnerabilidades web"
      ]
    },
    {
      "title": "Diez herramientas de auditoría de redes y cuándo usar cada una",
      "description": "Qué hace cada herramienta, en qué etapa de una auditoría entra, qué la reemplaza y por qué el orden importa más que la lista: todo en contextos autorizados.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "herramientas-de-auditoria-de-redes",
      "url": "hacking/herramientas-de-auditoria-de-redes/",
      "markdown_url": "hacking/herramientas-de-auditoria-de-redes/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "auditoría de redes",
        "Nmap",
        "Wireshark",
        "escaneo de puertos",
        "herramientas de seguridad",
        "autorización"
      ]
    },
    {
      "title": "Ataques de cadena de suministro, dependency confusion y typosquatting",
      "description": "Cómo funcionan por dentro la confusión de dependencias, la suplantación de nombres y el secuestro de paquetes, por qué son tan efectivos y cómo se detectan en una auditoría.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "ataques-de-cadena-de-suministro",
      "url": "hacking/ataques-de-cadena-de-suministro/",
      "markdown_url": "hacking/ataques-de-cadena-de-suministro/index.md",
      "level": "Intermedio",
      "reading": "12 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "dependency confusion",
        "typosquatting",
        "cadena de suministro",
        "paquetes maliciosos",
        "slopsquatting",
        "registro privado"
      ]
    },
    {
      "title": "Prompt injection y ataques contra agentes de IA",
      "description": "La diferencia entre inyección directa e indirecta, por qué el filtrado no funciona, los canales de exfiltración, y cómo se prueba todo esto en una evaluación autorizada.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "prompt-injection-y-ataques-contra-agentes-de-ia",
      "url": "hacking/prompt-injection-y-ataques-contra-agentes-de-ia/",
      "markdown_url": "hacking/prompt-injection-y-ataques-contra-agentes-de-ia/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "prompt injection",
        "inyección indirecta",
        "exfiltración",
        "OWASP LLM",
        "agentes de IA",
        "pruebas de seguridad"
      ]
    },
    {
      "title": "Passkeys, autenticación sin contraseña y Zero Trust",
      "description": "Por qué las passkeys resisten el phishing, la diferencia entre sincronizadas y ligadas al dispositivo, qué dice el NIST sobre confianza cero y cómo se relacionan las dos cosas.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "passkeys-autenticacion-sin-contrasena-y-zero-trust",
      "url": "hacking/passkeys-autenticacion-sin-contrasena-y-zero-trust/",
      "markdown_url": "hacking/passkeys-autenticacion-sin-contrasena-y-zero-trust/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "passkeys",
        "FIDO2",
        "WebAuthn",
        "Zero Trust",
        "NIST SP 800-207",
        "autenticación sin contraseña"
      ]
    },
    {
      "title": "Nmap desde cero para analizar redes y servicios",
      "description": "Qué hace Nmap, qué significan de verdad sus seis estados de puerto, cómo se leen los resultados y qué opciones importan, con ejemplos sobre un laboratorio propio.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "nmap-desde-cero",
      "url": "hacking/nmap-desde-cero/",
      "markdown_url": "hacking/nmap-desde-cero/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "Nmap",
        "escaneo de puertos",
        "detección de servicios",
        "estados de puerto",
        "NSE",
        "inventario de red"
      ]
    },
    {
      "title": "Burp Suite para auditorías de aplicaciones web",
      "description": "Qué es un proxy de intercepción, para qué sirve cada herramienta de Burp, qué incluye la edición gratuita y cómo se trabaja con alcance definido en un laboratorio propio.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "burp-suite-para-auditorias-web",
      "url": "hacking/burp-suite-para-auditorias-web/",
      "markdown_url": "hacking/burp-suite-para-auditorias-web/index.md",
      "level": "Intermedio",
      "reading": "12 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "Burp Suite",
        "proxy de intercepción",
        "auditoría web",
        "Repeater",
        "Intruder",
        "alcance"
      ]
    },
    {
      "title": "Escaneo de vulnerabilidades con Nuclei",
      "description": "Cómo funciona un escáner basado en plantillas, cómo se lee y se escribe una plantilla YAML, qué banderas importan y por qué la verificación manual sigue siendo obligatoria.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "escaneo-de-vulnerabilidades-con-nuclei",
      "url": "hacking/escaneo-de-vulnerabilidades-con-nuclei/",
      "markdown_url": "hacking/escaneo-de-vulnerabilidades-con-nuclei/index.md",
      "level": "Intermedio",
      "reading": "12 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "Nuclei",
        "escaneo de vulnerabilidades",
        "plantillas YAML",
        "ProjectDiscovery",
        "falsos positivos",
        "severidad"
      ]
    },
    {
      "title": "Análisis de Active Directory con BloodHound",
      "description": "Por qué los permisos de un directorio se entienden como un grafo, qué son los caminos de ataque, cómo se recolectan los datos y qué se hace con el resultado desde la defensa.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "analisis-de-active-directory-con-bloodhound",
      "url": "hacking/analisis-de-active-directory-con-bloodhound/",
      "markdown_url": "hacking/analisis-de-active-directory-con-bloodhound/index.md",
      "level": "Intermedio",
      "reading": "12 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "BloodHound",
        "Active Directory",
        "caminos de ataque",
        "SharpHound",
        "grafo de permisos",
        "Entra ID"
      ]
    },
    {
      "title": "Introducción a Metasploit Framework",
      "description": "Qué es Metasploit, cómo se organiza en tipos de módulo, cómo se usa msfconsole paso a paso y por qué el marco legal pesa más acá que en cualquier otra herramienta.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "introduccion-a-metasploit-framework",
      "url": "hacking/introduccion-a-metasploit-framework/",
      "markdown_url": "hacking/introduccion-a-metasploit-framework/index.md",
      "level": "Intermedio",
      "reading": "12 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "Metasploit",
        "msfconsole",
        "exploit",
        "payload",
        "módulos auxiliares",
        "post-explotación"
      ]
    },
    {
      "title": "SQLi, XSS y CSRF explicados con su defensa",
      "description": "Las tres vulnerabilidades web más comunes, qué las causa en el fondo, cómo se prueban en un laboratorio propio y —lo más importante— cómo se corrigen según OWASP.",
      "category": "Hacking ético",
      "category_slug": "hacking",
      "slug": "sqli-xss-y-csrf",
      "url": "hacking/sqli-xss-y-csrf/",
      "markdown_url": "hacking/sqli-xss-y-csrf/index.md",
      "level": "Intermedio",
      "reading": "14 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "SQL injection",
        "XSS",
        "CSRF",
        "consultas parametrizadas",
        "codificación por contexto",
        "token anti-CSRF"
      ]
    },
    {
      "title": "Cómo aprender programación desde cero: ruta práctica",
      "description": "Qué conceptos se repiten en todos los lenguajes, cómo elegir el primero, una ruta de seis etapas, proyectos para practicar y cómo depurar sin frustrarte.",
      "category": "Programación",
      "category_slug": "programacion",
      "slug": "aprender-programacion-desde-cero",
      "url": "programacion/aprender-programacion-desde-cero/",
      "markdown_url": "programacion/aprender-programacion-desde-cero/index.md",
      "level": "Inicial",
      "reading": "9 min",
      "published": "2026-07-26",
      "updated": "2026-07-27",
      "keywords": [
        "aprender programación",
        "programación desde cero",
        "primer lenguaje de programación",
        "algoritmos",
        "proyectos para practicar"
      ]
    },
    {
      "title": "Programación asistida por agentes de inteligencia artificial",
      "description": "Cómo cambia el trabajo de programar con agentes: el ciclo de especificar y revisar, las cuatro fallas típicas con su corrección, la escala de permisos y qué no delegar.",
      "category": "Programación",
      "category_slug": "programacion",
      "slug": "programacion-asistida-por-agentes-de-ia",
      "url": "programacion/programacion-asistida-por-agentes-de-ia/",
      "markdown_url": "programacion/programacion-asistida-por-agentes-de-ia/index.md",
      "level": "Intermedio",
      "reading": "15 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "programación con agentes",
        "codificación asistida",
        "revisión de código",
        "permisos",
        "sobreingeniería",
        "contexto de proyecto"
      ]
    },
    {
      "title": "TypeScript desde cero para proyectos profesionales",
      "description": "Qué resuelve TypeScript y qué no, inferencia, uniones y estrechamiento, interface contra type, genéricos, el peligro de any y qué configurar en un proyecto serio.",
      "category": "Programación",
      "category_slug": "programacion",
      "slug": "typescript-desde-cero",
      "url": "programacion/typescript-desde-cero/",
      "markdown_url": "programacion/typescript-desde-cero/index.md",
      "level": "Inicial",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "TypeScript",
        "tipos",
        "strict",
        "tipado estructural",
        "genéricos",
        "tsconfig"
      ]
    },
    {
      "title": "Python para automatización, APIs e inteligencia artificial",
      "description": "Entornos virtuales y dependencias con las herramientas oficiales, automatización de tareas, consumo y construcción de APIs, y el ecosistema de datos e IA.",
      "category": "Programación",
      "category_slug": "programacion",
      "slug": "python-para-automatizacion-apis-e-ia",
      "url": "programacion/python-para-automatizacion-apis-e-ia/",
      "markdown_url": "programacion/python-para-automatizacion-apis-e-ia/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Python",
        "entornos virtuales",
        "venv",
        "pip",
        "automatización",
        "APIs"
      ]
    },
    {
      "title": "Introducción a Rust para crear aplicaciones seguras",
      "description": "Las tres reglas de propiedad y las dos de préstamos, qué familia de errores eliminan, el manejo de errores sin excepciones, cargo, y cuándo conviene Rust.",
      "category": "Programación",
      "category_slug": "programacion",
      "slug": "introduccion-a-rust",
      "url": "programacion/introduccion-a-rust/",
      "markdown_url": "programacion/introduccion-a-rust/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Rust",
        "propiedad",
        "préstamos",
        "seguridad de memoria",
        "carreras de datos",
        "cargo"
      ]
    },
    {
      "title": "Desarrollo de aplicaciones con WebAssembly",
      "description": "Qué es WebAssembly y qué no, su estado como estándar del W3C, cuándo conviene frente a JavaScript, cómo se compila y se usa desde la web, y WASI fuera del navegador.",
      "category": "Programación",
      "category_slug": "programacion",
      "slug": "desarrollo-con-webassembly",
      "url": "programacion/desarrollo-con-webassembly/",
      "markdown_url": "programacion/desarrollo-con-webassembly/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "WebAssembly",
        "Wasm",
        "WASI",
        "rendimiento web",
        "destino de compilación",
        "W3C"
      ]
    },
    {
      "title": "Cómo instalar Claude Code en Windows, Linux y macOS",
      "description": "Requisitos, instalación en los tres sistemas, verificación, inicio de sesión, primera sesión, actualización, desinstalación y errores frecuentes de Claude Code.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "instalar-claude-code-windows-linux-mac",
      "url": "inteligencia-artificial/instalar-claude-code-windows-linux-mac/",
      "markdown_url": "inteligencia-artificial/instalar-claude-code-windows-linux-mac/index.md",
      "level": "Inicial",
      "reading": "19 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "instalar Claude Code",
        "Claude Code Windows",
        "Claude Code Linux",
        "Claude Code macOS",
        "asistente de IA para programar",
        "terminal"
      ]
    },
    {
      "title": "ChatGPT: qué es, cómo usarlo y qué tener en cuenta",
      "description": "Qué es ChatGPT y cómo funciona, planes y diferencias reales, cómo escribir pedidos que sirvan, memoria, privacidad, límites, verificación y riesgos de seguridad.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "que-es-chatgpt-y-como-usarlo",
      "url": "inteligencia-artificial/que-es-chatgpt-y-como-usarlo/",
      "markdown_url": "inteligencia-artificial/que-es-chatgpt-y-como-usarlo/index.md",
      "level": "Inicial",
      "reading": "16 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "ChatGPT",
        "OpenAI",
        "cómo usar ChatGPT",
        "planes de ChatGPT",
        "privacidad ChatGPT",
        "prompts"
      ]
    },
    {
      "title": "Gemini: qué es, cómo usarlo y qué tener en cuenta",
      "description": "Qué es Gemini de Google, dónde se usa, planes y límites reales, Gems, Deep Research y Canvas, qué pasa con tus conversaciones y cómo verificar lo que responde.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "que-es-gemini-y-como-usarlo",
      "url": "inteligencia-artificial/que-es-gemini-y-como-usarlo/",
      "markdown_url": "inteligencia-artificial/que-es-gemini-y-como-usarlo/index.md",
      "level": "Inicial",
      "reading": "16 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Gemini",
        "Google Gemini",
        "cómo usar Gemini",
        "Gems",
        "Deep Research",
        "privacidad Gemini"
      ]
    },
    {
      "title": "¿Qué es la inteligencia artificial y cómo funciona?",
      "description": "La definición legal de sistema de IA, por qué la palabra clave es «inferir», cómo se entrena un modelo, qué pasa dentro de uno de lenguaje y por qué inventa.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "que-es-la-inteligencia-artificial",
      "url": "inteligencia-artificial/que-es-la-inteligencia-artificial/",
      "markdown_url": "inteligencia-artificial/que-es-la-inteligencia-artificial/index.md",
      "level": "Inicial",
      "reading": "15 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "inteligencia artificial",
        "cómo funciona la IA",
        "modelo de lenguaje",
        "tokens",
        "inferencia",
        "alucinación"
      ]
    },
    {
      "title": "Tipos de inteligencia artificial",
      "description": "Los cuatro ejes reales para clasificar la IA: capacidad, técnica, alcance legal y riesgo. Qué significa cada categoría y cuál de ellas tiene consecuencias jurídicas.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "tipos-de-inteligencia-artificial",
      "url": "inteligencia-artificial/tipos-de-inteligencia-artificial/",
      "markdown_url": "inteligencia-artificial/tipos-de-inteligencia-artificial/index.md",
      "level": "Inicial",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "tipos de inteligencia artificial",
        "IA estrecha",
        "IA general",
        "IA generativa",
        "modelo de uso general",
        "niveles de riesgo"
      ]
    },
    {
      "title": "Introducción al machine learning",
      "description": "Aprendizaje supervisado, no supervisado y por refuerzo, el vocabulario mínimo, el flujo de trabajo real, sobreajuste, validación cruzada y por qué la exactitud engaña.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "introduccion-al-machine-learning",
      "url": "inteligencia-artificial/introduccion-al-machine-learning/",
      "markdown_url": "inteligencia-artificial/introduccion-al-machine-learning/index.md",
      "level": "Intermedio",
      "reading": "16 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "machine learning",
        "aprendizaje automático",
        "aprendizaje supervisado",
        "sobreajuste",
        "validación cruzada",
        "scikit-learn"
      ]
    },
    {
      "title": "Cómo escribir buenos prompts para herramientas de IA",
      "description": "Las técnicas que de verdad cambian el resultado: ejemplos, delimitadores, razonamiento paso a paso, encadenado, temperatura, iteración y los antipatrones a evitar.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "como-escribir-buenos-prompts",
      "url": "inteligencia-artificial/como-escribir-buenos-prompts/",
      "markdown_url": "inteligencia-artificial/como-escribir-buenos-prompts/index.md",
      "level": "Inicial",
      "reading": "16 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "prompts",
        "prompt engineering",
        "few-shot",
        "cadena de pensamiento",
        "temperatura",
        "inyección de prompts"
      ]
    },
    {
      "title": "Riesgos, ética y uso responsable de la inteligencia artificial",
      "description": "Las seis familias de riesgo con casos documentados, el Top 10 de OWASP para aplicaciones con LLM, los marcos del NIST, la UE y la UNESCO, y prácticas concretas.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "riesgos-etica-y-uso-responsable-de-la-ia",
      "url": "inteligencia-artificial/riesgos-etica-y-uso-responsable-de-la-ia/",
      "markdown_url": "inteligencia-artificial/riesgos-etica-y-uso-responsable-de-la-ia/index.md",
      "level": "Intermedio",
      "reading": "18 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "riesgos de la IA",
        "ética de la inteligencia artificial",
        "inyección de prompts",
        "OWASP LLM",
        "NIST AI RMF",
        "uso responsable"
      ]
    },
    {
      "title": "Agentes de inteligencia artificial y Model Context Protocol",
      "description": "Qué convierte a un modelo en agente, qué problema resuelve MCP, su arquitectura de host, cliente y servidor, las primitivas que define y los dos transportes.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "agentes-de-ia-y-model-context-protocol",
      "url": "inteligencia-artificial/agentes-de-ia-y-model-context-protocol/",
      "markdown_url": "inteligencia-artificial/agentes-de-ia-y-model-context-protocol/index.md",
      "level": "Intermedio",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "agentes de IA",
        "Model Context Protocol",
        "MCP",
        "herramientas",
        "servidor MCP"
      ]
    },
    {
      "title": "Cómo crear un sistema RAG con documentos propios",
      "description": "Qué es RAG y de dónde viene, cuándo conviene frente a ajustar un modelo, cómo trocear e indexar documentos, búsqueda vectorial e híbrida, y cómo saber si funciona.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "como-crear-un-sistema-rag-con-documentos-propios",
      "url": "inteligencia-artificial/como-crear-un-sistema-rag-con-documentos-propios/",
      "markdown_url": "inteligencia-artificial/como-crear-un-sistema-rag-con-documentos-propios/index.md",
      "level": "Intermedio",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "RAG",
        "recuperación aumentada",
        "embeddings",
        "búsqueda vectorial",
        "fundamentación"
      ]
    },
    {
      "title": "Cómo ejecutar modelos de IA localmente con Ollama",
      "description": "Instalación en los tres sistemas, los comandos que se usan a diario, cómo elegir modelo según tu placa, el parámetro de contexto que casi nadie ajusta y la API local.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "ejecutar-modelos-de-ia-localmente-con-ollama",
      "url": "inteligencia-artificial/ejecutar-modelos-de-ia-localmente-con-ollama/",
      "markdown_url": "inteligencia-artificial/ejecutar-modelos-de-ia-localmente-con-ollama/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Ollama",
        "modelos locales",
        "VRAM",
        "longitud de contexto",
        "Modelfile"
      ]
    },
    {
      "title": "Evaluación de aplicaciones con modelos de lenguaje",
      "description": "Por qué los benchmarks públicos no alcanzan, los tres principios de diseño de una evaluación, los cuatro métodos de calificación, cómo validar un modelo juez y qué medir en producción.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "evaluacion-de-aplicaciones-con-modelos-de-lenguaje",
      "url": "inteligencia-artificial/evaluacion-de-aplicaciones-con-modelos-de-lenguaje/",
      "markdown_url": "inteligencia-artificial/evaluacion-de-aplicaciones-con-modelos-de-lenguaje/index.md",
      "level": "Intermedio",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "evaluación de LLM",
        "evals",
        "modelo juez",
        "benchmarks",
        "métricas"
      ]
    },
    {
      "title": "Seguridad de agentes y aplicaciones de inteligencia artificial",
      "description": "Qué cambia cuando el modelo puede actuar: el Top 10 de aplicaciones agénticas de OWASP, la combinación de tres condiciones que habilita la exfiltración, permisos, aislamiento y auditoría.",
      "category": "Inteligencia artificial",
      "category_slug": "inteligencia-artificial",
      "slug": "seguridad-de-agentes-y-aplicaciones-de-ia",
      "url": "inteligencia-artificial/seguridad-de-agentes-y-aplicaciones-de-ia/",
      "markdown_url": "inteligencia-artificial/seguridad-de-agentes-y-aplicaciones-de-ia/index.md",
      "level": "Intermedio",
      "reading": "15 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "seguridad de agentes",
        "OWASP ASI",
        "inyección de prompts",
        "permisos",
        "auditoría"
      ]
    },
    {
      "title": "Qué es una base de datos y para qué sirve",
      "description": "Qué resuelve una base de datos que una planilla no puede, qué es un motor o DBMS, integridad, concurrencia, transacciones y el panorama de tipos que existen.",
      "category": "Datos y bases de datos",
      "category_slug": "bases-de-datos",
      "slug": "que-es-una-base-de-datos",
      "url": "bases-de-datos/que-es-una-base-de-datos/",
      "markdown_url": "bases-de-datos/que-es-una-base-de-datos/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "base de datos",
        "DBMS",
        "motor de base de datos",
        "integridad de datos",
        "transacciones",
        "ACID"
      ]
    },
    {
      "title": "Bases de datos relacionales y tablas",
      "description": "El modelo relacional explicado: tablas, filas, columnas, tipos de dato, clave primaria y foránea, relaciones uno a muchos y muchos a muchos, y restricciones.",
      "category": "Datos y bases de datos",
      "category_slug": "bases-de-datos",
      "slug": "bases-de-datos-relacionales-y-tablas",
      "url": "bases-de-datos/bases-de-datos-relacionales-y-tablas/",
      "markdown_url": "bases-de-datos/bases-de-datos-relacionales-y-tablas/index.md",
      "level": "Inicial",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "base de datos relacional",
        "tablas",
        "clave primaria",
        "clave foránea",
        "modelo relacional",
        "restricciones"
      ]
    },
    {
      "title": "Introducción a SQL desde cero",
      "description": "Las consultas que resuelven el 90 % del trabajo: SELECT, WHERE, ORDER BY, INSERT, UPDATE, DELETE, JOIN, GROUP BY y agregados, con el orden real de ejecución.",
      "category": "Datos y bases de datos",
      "category_slug": "bases-de-datos",
      "slug": "introduccion-a-sql-desde-cero",
      "url": "bases-de-datos/introduccion-a-sql-desde-cero/",
      "markdown_url": "bases-de-datos/introduccion-a-sql-desde-cero/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "SQL",
        "SELECT",
        "JOIN",
        "GROUP BY",
        "consultas SQL",
        "SQL:2023"
      ]
    },
    {
      "title": "Cómo diseñar una base de datos sencilla",
      "description": "De los requisitos al esquema: identificar entidades y atributos, elegir claves, resolver relaciones y aplicar normalización hasta la tercera forma normal.",
      "category": "Datos y bases de datos",
      "category_slug": "bases-de-datos",
      "slug": "como-disenar-una-base-de-datos-sencilla",
      "url": "bases-de-datos/como-disenar-una-base-de-datos-sencilla/",
      "markdown_url": "bases-de-datos/como-disenar-una-base-de-datos-sencilla/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "diseño de base de datos",
        "normalización",
        "tercera forma normal",
        "entidades y atributos",
        "modelo entidad relación",
        "esquema"
      ]
    },
    {
      "title": "MySQL: instalación y primeros pasos",
      "description": "Cómo elegir entre las series LTS e Innovation, instalar en Windows, Linux y macOS, asegurar la instalación, crear tu primera base y usuario, y hacer respaldos.",
      "category": "Datos y bases de datos",
      "category_slug": "bases-de-datos",
      "slug": "mysql-instalacion-y-primeros-pasos",
      "url": "bases-de-datos/mysql-instalacion-y-primeros-pasos/",
      "markdown_url": "bases-de-datos/mysql-instalacion-y-primeros-pasos/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "MySQL",
        "instalar MySQL",
        "mysql_secure_installation",
        "mysqldump",
        "MySQL LTS",
        "primeros pasos"
      ]
    },
    {
      "title": "Base de datos relacional vs no relacional",
      "description": "Los cuatro tipos de base no relacional, qué significan ACID y BASE, cómo escala cada modelo y un criterio honesto para elegir sin seguir la moda.",
      "category": "Datos y bases de datos",
      "category_slug": "bases-de-datos",
      "slug": "relacional-vs-no-relacional",
      "url": "bases-de-datos/relacional-vs-no-relacional/",
      "markdown_url": "bases-de-datos/relacional-vs-no-relacional/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "relacional vs no relacional",
        "NoSQL",
        "ACID",
        "BASE",
        "consistencia eventual",
        "escalado horizontal"
      ]
    },
    {
      "title": "Platform Engineering e Internal Developer Platforms",
      "description": "Qué es una plataforma interna según la CNCF, sus siete atributos, los golden paths, las interfaces, el modelo de madurez y los antipatrones que la vuelven un cuello de botella.",
      "category": "DevOps y cloud",
      "category_slug": "devops-cloud",
      "slug": "platform-engineering-e-internal-developer-platforms",
      "url": "devops-cloud/platform-engineering-e-internal-developer-platforms/",
      "markdown_url": "devops-cloud/platform-engineering-e-internal-developer-platforms/index.md",
      "level": "Intermedio",
      "reading": "14 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "platform engineering",
        "internal developer platform",
        "IDP",
        "golden path",
        "carga cognitiva"
      ]
    },
    {
      "title": "GitOps con Kubernetes y Argo CD",
      "description": "Los cuatro principios de OpenGitOps, la diferencia entre empujar y reconciliar, la arquitectura de Argo CD, el manifiesto Application, la deriva y el problema de los secretos.",
      "category": "DevOps y cloud",
      "category_slug": "devops-cloud",
      "slug": "gitops-con-kubernetes-y-argo-cd",
      "url": "devops-cloud/gitops-con-kubernetes-y-argo-cd/",
      "markdown_url": "devops-cloud/gitops-con-kubernetes-y-argo-cd/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "GitOps",
        "Argo CD",
        "Kubernetes",
        "deriva de configuración",
        "entrega continua"
      ]
    },
    {
      "title": "Observabilidad con OpenTelemetry, Prometheus y Grafana",
      "description": "Qué papel cumple cada pieza: OpenTelemetry genera la telemetría, Prometheus almacena las métricas y Grafana las consulta. Las tres señales, la cardinalidad y qué alertar.",
      "category": "DevOps y cloud",
      "category_slug": "devops-cloud",
      "slug": "observabilidad-con-opentelemetry-prometheus-y-grafana",
      "url": "devops-cloud/observabilidad-con-opentelemetry-prometheus-y-grafana/",
      "markdown_url": "devops-cloud/observabilidad-con-opentelemetry-prometheus-y-grafana/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "observabilidad",
        "OpenTelemetry",
        "Prometheus",
        "Grafana",
        "cardinalidad"
      ]
    },
    {
      "title": "Seguridad de la cadena de suministro de software",
      "description": "Dónde se rompe la cadena de suministro, los niveles de SLSA, qué es un SBOM y en qué formatos, cómo funciona la firma con Sigstore y el marco de prácticas del NIST.",
      "category": "DevOps y cloud",
      "category_slug": "devops-cloud",
      "slug": "seguridad-de-la-cadena-de-suministro-de-software",
      "url": "devops-cloud/seguridad-de-la-cadena-de-suministro-de-software/",
      "markdown_url": "devops-cloud/seguridad-de-la-cadena-de-suministro-de-software/index.md",
      "level": "Intermedio",
      "reading": "15 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "cadena de suministro de software",
        "SLSA",
        "SBOM",
        "Sigstore",
        "procedencia"
      ]
    },
    {
      "title": "Inteligencia artificial aplicada a pipelines CI/CD",
      "description": "Dónde la IA aporta de verdad en un pipeline, la escala de confianza para conectarla sin romper nada, los riesgos propios de meter un modelo en CI y qué no delegar.",
      "category": "DevOps y cloud",
      "category_slug": "devops-cloud",
      "slug": "inteligencia-artificial-en-pipelines-ci-cd",
      "url": "devops-cloud/inteligencia-artificial-en-pipelines-ci-cd/",
      "markdown_url": "devops-cloud/inteligencia-artificial-en-pipelines-ci-cd/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "IA en CI/CD",
        "pipelines",
        "triaje de fallas",
        "inyección de prompts",
        "DORA"
      ]
    },
    {
      "title": "HTML desde cero: estructura y semántica",
      "description": "La estructura mínima de una página, la diferencia entre etiqueta, elemento y atributo, qué significa que el HTML sea semántico y por qué cambia la accesibilidad y el SEO.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "html-desde-cero-estructura-y-semantica",
      "url": "desarrollo-web/html-desde-cero-estructura-y-semantica/",
      "markdown_url": "desarrollo-web/html-desde-cero-estructura-y-semantica/index.md",
      "level": "Inicial",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "HTML",
        "semántica",
        "accesibilidad",
        "estructura de una página",
        "formularios"
      ]
    },
    {
      "title": "CSS desde cero: estilos y maquetación",
      "description": "La anatomía de una regla, el modelo de caja, la cascada y la especificidad, cuándo usar Flexbox y cuándo Grid, y cómo hacer que un sitio se adapte a cualquier pantalla.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "css-desde-cero-estilos-y-maquetacion",
      "url": "desarrollo-web/css-desde-cero-estilos-y-maquetacion/",
      "markdown_url": "desarrollo-web/css-desde-cero-estilos-y-maquetacion/index.md",
      "level": "Inicial",
      "reading": "12 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "CSS",
        "modelo de caja",
        "especificidad",
        "Flexbox",
        "Grid"
      ]
    },
    {
      "title": "Qué es un dominio y cómo registrarlo",
      "description": "Las partes de un nombre de dominio, quién es quién entre ICANN, registro y registrador, cómo elegirlo y registrarlo, el ciclo de renovación y cómo transferirlo sin perderlo.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "que-es-un-dominio-y-como-registrarlo",
      "url": "desarrollo-web/que-es-un-dominio-y-como-registrarlo/",
      "markdown_url": "desarrollo-web/que-es-un-dominio-y-como-registrarlo/index.md",
      "level": "Inicial",
      "reading": "12 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "dominio",
        "TLD",
        "registrador",
        "ICANN",
        "transferencia de dominio"
      ]
    },
    {
      "title": "Cómo funciona el DNS y sus registros",
      "description": "El recorrido de una consulta desde la raíz hasta el servidor autoritativo, los tipos de registro que vas a usar, qué es realmente el TTL y por qué la «propagación» no existe.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "como-funciona-el-dns",
      "url": "desarrollo-web/como-funciona-el-dns/",
      "markdown_url": "desarrollo-web/como-funciona-el-dns/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "DNS",
        "registro A",
        "CNAME",
        "MX",
        "TTL"
      ]
    },
    {
      "title": "Tipos de hosting web y cómo elegir",
      "description": "Qué hace realmente un servidor web, las cinco formas de alojar un sitio con sus costos reales, qué mirar antes de contratar y qué significan las palabras «ilimitado» y «99,9 %».",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "tipos-de-hosting-web-y-como-elegir",
      "url": "desarrollo-web/tipos-de-hosting-web-y-como-elegir/",
      "markdown_url": "desarrollo-web/tipos-de-hosting-web-y-como-elegir/index.md",
      "level": "Inicial",
      "reading": "12 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "hosting",
        "alojamiento web",
        "VPS",
        "sitio estático",
        "respaldos"
      ]
    },
    {
      "title": "SSL, TLS y certificados: cómo funciona HTTPS",
      "description": "Qué protege HTTPS y qué no, la diferencia entre SSL y TLS, qué prueba realmente un certificado, cómo funciona la emisión automática y por qué la vigencia se está acortando.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "ssl-tls-certificados-y-https",
      "url": "desarrollo-web/ssl-tls-certificados-y-https/",
      "markdown_url": "desarrollo-web/ssl-tls-certificados-y-https/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "HTTPS",
        "TLS",
        "certificado SSL",
        "ACME",
        "HSTS"
      ]
    },
    {
      "title": "Qué es Cloudflare y cómo configurarlo",
      "description": "Qué cambia cuando activás el proxy, los modos de cifrado y cuál conviene evitar, cómo funciona la caché, qué problemas resuelve de verdad y cuáles no resuelve en absoluto.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "que-es-cloudflare-y-como-configurarlo",
      "url": "desarrollo-web/que-es-cloudflare-y-como-configurarlo/",
      "markdown_url": "desarrollo-web/que-es-cloudflare-y-como-configurarlo/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "Cloudflare",
        "CDN",
        "proxy inverso",
        "modos SSL",
        "caché"
      ]
    },
    {
      "title": "WordPress desde cero: instalación, temas y mantenimiento",
      "description": "La diferencia entre .org y .com, los requisitos vigentes, cómo se estructura una instalación, el criterio para elegir complementos y la rutina de mantenimiento que evita perder el sitio.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "wordpress-desde-cero",
      "url": "desarrollo-web/wordpress-desde-cero/",
      "markdown_url": "desarrollo-web/wordpress-desde-cero/index.md",
      "level": "Inicial",
      "reading": "12 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "WordPress",
        "complementos",
        "temas",
        "mantenimiento",
        "respaldos"
      ]
    },
    {
      "title": "SEO: cómo posicionar un sitio web",
      "description": "Las tres etapas de un buscador, las tres áreas de Search Essentials según Google, qué controlás de verdad, cómo se mide y qué prácticas te sacan del índice.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "seo-como-posicionar-un-sitio-web",
      "url": "desarrollo-web/seo-como-posicionar-un-sitio-web/",
      "markdown_url": "desarrollo-web/seo-como-posicionar-un-sitio-web/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "SEO",
        "posicionamiento web",
        "indexación",
        "Search Console",
        "canonical"
      ]
    },
    {
      "title": "AEO: optimización para respuestas",
      "description": "Qué cambia cuando el objetivo no es una posición sino ser la respuesta que se muestra, cómo se escribe contenido extraíble, qué aportan los datos estructurados y el costo de la búsqueda sin clic.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "aeo-optimizacion-para-respuestas",
      "url": "desarrollo-web/aeo-optimizacion-para-respuestas/",
      "markdown_url": "desarrollo-web/aeo-optimizacion-para-respuestas/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "AEO",
        "fragmentos destacados",
        "datos estructurados",
        "JSON-LD",
        "búsqueda sin clic"
      ]
    },
    {
      "title": "GEO: optimización para motores generativos",
      "description": "De dónde sale el término, qué dice el trabajo académico que lo acuñó, qué responde Google al respecto, y qué conviene hacer de verdad cuando quien redacta la respuesta es un sistema generativo.",
      "category": "Desarrollo web",
      "category_slug": "desarrollo-web",
      "slug": "geo-optimizacion-para-motores-generativos",
      "url": "desarrollo-web/geo-optimizacion-para-motores-generativos/",
      "markdown_url": "desarrollo-web/geo-optimizacion-para-motores-generativos/index.md",
      "level": "Intermedio",
      "reading": "13 min",
      "published": "2026-07-27",
      "updated": "2026-07-27",
      "keywords": [
        "GEO",
        "motores generativos",
        "AI Overviews",
        "llms.txt",
        "visibilidad"
      ]
    },
    {
      "title": "Tipos de distribuciones de Linux y cuál elegir",
      "description": "Qué es una distribución, en qué se diferencian de verdad las principales familias, qué es un entorno de escritorio y cómo elegir la primera sin arrepentirse.",
      "category": "Linux y sistemas",
      "category_slug": "linux",
      "slug": "tipos-de-distribuciones-linux",
      "url": "linux/tipos-de-distribuciones-linux/",
      "markdown_url": "linux/tipos-de-distribuciones-linux/index.md",
      "level": "Inicial",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "distribuciones de Linux",
        "Debian",
        "Ubuntu",
        "Fedora",
        "Arch",
        "entorno de escritorio"
      ]
    },
    {
      "title": "Instalar Ubuntu paso a paso sin miedo a romper nada",
      "description": "Cómo preparar el medio de instalación, probar en vivo, elegir entre arranque dual o disco entero, y completar la instalación de Ubuntu 26.04 LTS con las decisiones bien tomadas.",
      "category": "Linux y sistemas",
      "category_slug": "linux",
      "slug": "instalar-ubuntu-paso-a-paso",
      "url": "linux/instalar-ubuntu-paso-a-paso/",
      "markdown_url": "linux/instalar-ubuntu-paso-a-paso/index.md",
      "level": "Inicial",
      "reading": "10 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "instalar Ubuntu",
        "Ubuntu 26.04 LTS",
        "arranque dual",
        "sesión en vivo",
        "particiones"
      ]
    },
    {
      "title": "Comandos útiles de Linux para el día a día",
      "description": "Los comandos que se usan de verdad, agrupados por lo que querés hacer: moverte, mirar archivos, gestionar procesos, permisos, red y buscar ayuda, con ejemplos comentados.",
      "category": "Linux y sistemas",
      "category_slug": "linux",
      "slug": "comandos-utiles-de-linux",
      "url": "linux/comandos-utiles-de-linux/",
      "markdown_url": "linux/comandos-utiles-de-linux/index.md",
      "level": "Inicial",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "comandos de Linux",
        "terminal",
        "permisos",
        "procesos",
        "tuberías",
        "bash"
      ]
    },
    {
      "title": "Administración de servidores Linux desde cero",
      "description": "Qué cambia cuando no hay entorno gráfico, cómo conectarse por SSH con seguridad, qué son los servicios, los usuarios, los paquetes y por qué el endurecimiento básico no es opcional.",
      "category": "Linux y sistemas",
      "category_slug": "linux",
      "slug": "administracion-de-servidores-linux-desde-cero",
      "url": "linux/administracion-de-servidores-linux-desde-cero/",
      "markdown_url": "linux/administracion-de-servidores-linux-desde-cero/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "administración de servidores",
        "SSH",
        "systemd",
        "usuarios y permisos",
        "endurecimiento"
      ]
    },
    {
      "title": "Cómo configurar un servidor web en Linux",
      "description": "Qué hace un servidor web, cómo instalar Nginx o Apache, servir un sitio, entender los bloques de servidor y activar HTTPS gratis con un certificado automático.",
      "category": "Linux y sistemas",
      "category_slug": "linux",
      "slug": "configurar-un-servidor-web-en-linux",
      "url": "linux/configurar-un-servidor-web-en-linux/",
      "markdown_url": "linux/configurar-un-servidor-web-en-linux/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "servidor web",
        "Nginx",
        "Apache",
        "HTTPS",
        "Certbot",
        "Let’s Encrypt"
      ]
    },
    {
      "title": "Cómo actualizar el sistema operativo Linux",
      "description": "La diferencia entre actualizar paquetes y subir de versión, cómo hacerlo bien en cada familia, qué es una versión LTS y cómo evitar que una actualización te deje sin arrancar.",
      "category": "Linux y sistemas",
      "category_slug": "linux",
      "slug": "actualizar-el-sistema-operativo-linux",
      "url": "linux/actualizar-el-sistema-operativo-linux/",
      "markdown_url": "linux/actualizar-el-sistema-operativo-linux/index.md",
      "level": "Inicial",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "actualizar Linux",
        "apt upgrade",
        "dnf",
        "versión LTS",
        "actualizaciones de seguridad"
      ]
    },
    {
      "title": "Diagnóstico de problemas con systemd, journalctl y strace",
      "description": "Cómo pasar de «no anda» a saber exactamente qué falla: leer el estado de un servicio, buscar en los registros con journalctl y, cuando hace falta, ver qué hace un proceso con strace.",
      "category": "Linux y sistemas",
      "category_slug": "linux",
      "slug": "diagnostico-con-systemd-journalctl-y-strace",
      "url": "linux/diagnostico-con-systemd-journalctl-y-strace/",
      "markdown_url": "linux/diagnostico-con-systemd-journalctl-y-strace/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "journalctl",
        "systemd",
        "strace",
        "diagnóstico",
        "registros del sistema"
      ]
    },
    {
      "title": "Redes LAN: qué son y cómo funcionan",
      "description": "Qué es una red local, la diferencia entre LAN, WAN y las demás, qué hace cada equipo —switch, router, punto de acceso—, y cómo viaja un dato de una máquina a otra.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "redes-lan-que-son-y-como-funcionan",
      "url": "redes/redes-lan-que-son-y-como-funcionan/",
      "markdown_url": "redes/redes-lan-que-son-y-como-funcionan/index.md",
      "level": "Inicial",
      "reading": "10 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "red LAN",
        "red local",
        "switch",
        "router",
        "Ethernet",
        "topología de red"
      ]
    },
    {
      "title": "Direcciones IP, máscaras de subred, gateway y DHCP desde cero",
      "description": "Qué es una dirección IP, para qué sirve la máscara de subred, qué hace el gateway, cómo el DHCP reparte direcciones solas, y la diferencia entre IP privada y pública.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "direcciones-ip-mascaras-gateway-y-dhcp",
      "url": "redes/direcciones-ip-mascaras-gateway-y-dhcp/",
      "markdown_url": "redes/direcciones-ip-mascaras-gateway-y-dhcp/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "dirección IP",
        "máscara de subred",
        "gateway",
        "DHCP",
        "IP privada y pública",
        "IPv4 e IPv6"
      ]
    },
    {
      "title": "Redes inalámbricas: cómo funcionan y cómo mejorarlas",
      "description": "Qué son las bandas de 2,4, 5 y 6 GHz, qué son los canales y por qué se pisan, cómo elegir dónde poner el router, y por qué el Wi-Fi va más lento que el cable.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "redes-inalambricas-como-funcionan",
      "url": "redes/redes-inalambricas-como-funcionan/",
      "markdown_url": "redes/redes-inalambricas-como-funcionan/index.md",
      "level": "Inicial",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "Wi-Fi",
        "redes inalámbricas",
        "bandas de frecuencia",
        "canales Wi-Fi",
        "cobertura",
        "interferencia"
      ]
    },
    {
      "title": "Wi-Fi 7 explicado desde cero",
      "description": "Qué agrega Wi-Fi 7 de verdad —MLO, canales de 320 MHz, 4096-QAM—, en qué se nota, qué hace falta para aprovecharlo y cuándo conviene actualizar y cuándo no.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "wifi-7-explicado-desde-cero",
      "url": "redes/wifi-7-explicado-desde-cero/",
      "markdown_url": "redes/wifi-7-explicado-desde-cero/index.md",
      "level": "Inicial",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "Wi-Fi 7",
        "802.11be",
        "MLO",
        "canales de 320 MHz",
        "4096-QAM",
        "banda de 6 GHz"
      ]
    },
    {
      "title": "Armado de cable de red: guía práctica del cable Ethernet",
      "description": "Qué categorías de cable existen, el orden de colores del estándar T568B, cómo se arma y se prueba un cable, y por qué el conector recto sirve casi siempre y el cruzado casi nunca.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "armado-de-cable-de-red",
      "url": "redes/armado-de-cable-de-red/",
      "markdown_url": "redes/armado-de-cable-de-red/index.md",
      "level": "Inicial",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "cable de red",
        "Ethernet",
        "RJ45",
        "T568B",
        "categorías de cable",
        "crimpar"
      ]
    },
    {
      "title": "Cómo configurar una red LAN en casa u oficina",
      "description": "Cómo planificar y montar una red local: qué equipos van dónde, cómo entrar al router, qué configurar de verdad, cómo compartir recursos y cómo dejarla segura.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "configurar-una-red-lan",
      "url": "redes/configurar-una-red-lan/",
      "markdown_url": "redes/configurar-una-red-lan/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "configurar red LAN",
        "router",
        "DHCP",
        "compartir archivos",
        "segmentar red",
        "red de invitados"
      ]
    },
    {
      "title": "Cómo abrir puertos en un router: NAT, port forwarding, TCP y UDP",
      "description": "Qué es un puerto, por qué el NAT esconde tu red, cómo funciona el port forwarding paso a paso, la diferencia entre TCP y UDP, y los riesgos de seguridad de abrir un puerto.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "abrir-puertos-en-el-router-nat-y-port-forwarding",
      "url": "redes/abrir-puertos-en-el-router-nat-y-port-forwarding/",
      "markdown_url": "redes/abrir-puertos-en-el-router-nat-y-port-forwarding/index.md",
      "level": "Intermedio",
      "reading": "12 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "abrir puertos",
        "NAT",
        "port forwarding",
        "TCP y UDP",
        "redirección de puertos",
        "CGNAT"
      ]
    },
    {
      "title": "Qué es el DNS y cómo solucionar errores de resolución de nombres",
      "description": "El DNS desde el lado del cliente: qué pasa cuando escribís una dirección, por qué a veces «no resuelve», cómo diagnosticarlo con nslookup y dig, y cuándo conviene cambiar de servidor DNS.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "que-es-dns-y-errores-de-resolucion",
      "url": "redes/que-es-dns-y-errores-de-resolucion/",
      "markdown_url": "redes/que-es-dns-y-errores-de-resolucion/index.md",
      "level": "Intermedio",
      "reading": "11 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "DNS",
        "resolución de nombres",
        "nslookup",
        "dig",
        "caché DNS",
        "servidor DNS"
      ]
    },
    {
      "title": "Qué es una VPN, cómo configurarla y solucionar problemas",
      "description": "Qué hace realmente una VPN y qué no, la diferencia entre una VPN comercial y una propia, cómo elegir y configurar una, y cómo diagnosticar los problemas de conexión más comunes.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "que-es-una-vpn-como-configurarla",
      "url": "redes/que-es-una-vpn-como-configurarla/",
      "markdown_url": "redes/que-es-una-vpn-como-configurarla/index.md",
      "level": "Intermedio",
      "reading": "12 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "VPN",
        "red privada virtual",
        "túnel cifrado",
        "WireGuard",
        "privacidad",
        "acceso remoto"
      ]
    },
    {
      "title": "Cómo solucionar una conexión a Internet lenta o inestable",
      "description": "Un método por capas para diagnosticar problemas de conexión: aislar dónde está la falla, medir bien la velocidad, separar el Wi-Fi del enlace, y saber cuándo el problema es del proveedor.",
      "category": "Redes",
      "category_slug": "redes",
      "slug": "solucionar-conexion-lenta-o-inestable",
      "url": "redes/solucionar-conexion-lenta-o-inestable/",
      "markdown_url": "redes/solucionar-conexion-lenta-o-inestable/index.md",
      "level": "Inicial",
      "reading": "12 min",
      "published": "2026-07-28",
      "updated": "2026-07-28",
      "keywords": [
        "conexión lenta",
        "diagnóstico de red",
        "ping",
        "latencia",
        "Wi-Fi",
        "test de velocidad"
      ]
    }
  ]
}
