Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

JSON — Avanzado

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • JSON

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Curso de nivel avanzado dirigido a desarrolladores y arquitectos de software con experiencia sólida en JSON que necesitan llevar sus competencias al plano de producción y decisiones de diseño a escala. A lo largo de las 8 horas, los participantes aprenderán a modelar dominios complejos mediante JSON Schema modular, a versionar contratos de API con criterios de compatibilidad evolutiva y a integrar la validación automática en pipelines CI/CD. Además, analizarán las dimensiones de rendimiento y seguridad que condicionan el uso de JSON en entornos de alto volumen, contrastándolo con formatos alternativos y aplicando técnicas de optimización de payloads. Al finalizar, cada participante será capaz de tomar y argumentar decisiones de arquitectura fundamentadas en métricas reales, automatizar la generación y verificación de contratos, y diseñar APIs que manejen JSON no confiable con garantías de seguridad y precisión.

  1. Explicar los mecanismos de modularidad en JSON Schema ($defs, $ref) y los principios de compatibilidad evolutiva de contratos, situándolos en el ciclo de vida de una API pública.
  2. Diseñar un JSON Schema modular que cubra un dominio con múltiples entidades relacionadas, sin duplicaciones, y definir una estrategia de versionado que contemple compatibilidad hacia atrás y hacia delante.
  3. Optimizar la estructura y el tamaño de un payload JSON de producción aplicando técnicas documentadas de eliminación de redundancias, compresión y streaming, y comparar el resultado con formatos binarios alternativos mediante métricas objetivas de tamaño y tiempo de (de)serialización.
  4. Evaluar y seleccionar librerías de parsing y validación JSON para entornos con restricciones de rendimiento y seguridad, justificando la elección frente a alternativas concretas.
  5. Automatizar la validación de esquemas JSON en un pipeline CI/CD y la generación de JSON Schema a partir de la fuente de verdad del dominio, de forma que cualquier desviación del contrato bloquee el merge o el despliegue.
  6. Anticipar vulnerabilidades de seguridad y problemas de precisión numérica en APIs que reciben JSON no confiable, y proponer contramedidas implementadas en código.

Bloque 1 — Modelado modular con JSON Schema avanzado. Este bloque aborda la arquitectura de esquemas complejos mediante los mecanismos de referencia y definición ($defs, $ref). Los participantes construirán un esquema que cubra un dominio real de al menos tres entidades relacionadas, identificando patrones de reutilización y comprobando que el esquema resultante está libre de duplicaciones. Se analizarán también las palabras clave que gobiernan la extensibilidad del contrato (additionalProperties, unevaluatedProperties, deprecated) como base para el trabajo del siguiente bloque.

Bloque 2 — Versionado evolutivo y gestión del ciclo de vida del contrato. Se estudian las estrategias para hacer evolucionar un contrato JSON sin romper a los consumidores existentes, distinguiendo los cambios compatibles hacia atrás de los que exigen negociación de versión. Los participantes diseñarán un plan de versionado para una API pública especificando las reglas de compatibilidad y su reflejo explícito en el esquema, y aprenderán a comunicar deprecaciones de forma controlada.

Bloque 3 — Rendimiento, formatos alternativos y optimización de payloads. Este bloque sitúa JSON en el panorama de formatos de serialización: se comparan MessagePack, Protocol Buffers y CBOR con JSON para casos de uso de alto volumen, usando métricas medidas de tamaño de payload y tiempo de (de)serialización. A continuación, los participantes optimizan un payload de producción aplicando técnicas como eliminación de campos redundantes, compresión, streaming y selección informada de librerías de parsing/validación adecuadas a restricciones de rendimiento y seguridad.

Bloque 4 — Seguridad, precisión numérica y JSON no confiable. Se revisan las vulnerabilidades habituales que aparecen al procesar JSON de origen externo —inyección, DoS por payloads malformados, desbordamientos de profundidad, colisiones de claves— junto con los problemas de representación numérica inherentes al estándar IEEE 754. Los participantes identificarán estos riesgos en un diseño de API de ejemplo y propondrán contramedidas implementadas en código.

Bloque 5 — Automatización del contrato: CI/CD y generación desde la fuente de verdad. El bloque final integra todo lo anterior en el flujo de trabajo de ingeniería. Se configura la validación de esquemas JSON dentro de un pipeline CI/CD de modo que los payloads no conformes bloqueen el merge o el despliegue. Después se aborda la generación automática de JSON Schema a partir de la fuente de verdad del dominio (clases de lenguaje, modelos ORM o especificación OpenAPI), eliminando la necesidad de mantener el esquema manualmente y reduciendo la divergencia entre el código y el contrato.

  • Ordenador con acceso a internet y permisos para instalar software.
  • Entorno de ejecución local: Node.js ≥ 18 o Python ≥ 3.10 (según el stack elegido en los ejercicios).
  • Editor de código con soporte para JSON y JSON Schema (p. ej. VS Code con la extensión oficial de JSON Schema).
  • Cuenta en una plataforma CI/CD accesible (GitHub Actions, GitLab CI o equivalente) con permisos para crear o modificar pipelines en un repositorio propio.
  • Herramientas de línea de comandos: git, curl o httpie, y un validador JSON Schema CLI (p. ej. ajv-cli, check-jsonschema o similar).
  • Acceso opcional pero recomendado a un entorno Docker para reproducir los ejercicios de rendimiento de forma aislada.
  • Escritura y lectura fluida de documentos JSON, incluyendo todos los tipos de dato del estándar.
  • Uso práctico de JSON Schema en nivel intermedio: palabras clave de validación (type, properties, required, enum, pattern, format, allOf, anyOf, oneOf).
  • Experiencia consumiendo o exponiendo al menos una API REST que utilice JSON como formato de intercambio.
  • Familiaridad básica con herramientas de línea de comandos y conceptos de integración continua (pipelines, steps, artefactos).
  • Conocimientos de programación suficientes para leer y adaptar fragmentos de código en al menos un lenguaje de uso común (Python, JavaScript/TypeScript, Java o similar).