sintesis

yaml

Códigos disponibles en git

¿Por qué?

contextoXML

¿Qué?

  • YAML es un lenguaje de serialización de datos basado en Unicode, amigable para los humanos, diseñado en torno a los tipos de datos nativos comunes de los lenguajes de programación dinámicos

title: Object-Oriented Software Construction
author: Bertrand Meyer
editions:
  - editorial: Prentice Hall
    date: 1988
  - editorial: Prentice Hall
    date: 1997

¿Para qué?

YAML debería ser:
  • ser fácilmente legible por humanos

  • con datos portables entre lenguajes de programación

  • correspondiente con las estructuras de datos nativas de los lenguajes dinámicos

  • tener un modelo consistente para el soporte de herramientas genéricas

  • soportar un procesamiento de una pasada

  • ser expresivo y extensible

  • ser fácil de implementar y usar

  • Persistencia en ficheros de configuración

  • Intercambio de datos en Internet

swagger
googleTrends

¿Cómo?

Sintaxis

property:

elementoVacioV1

elementoVacioV1
property1: informacion
property2: 0
property3:
  property31: informacion
  property32: informacion
  property33: informacion
propertyN: true

objectObject

objectObject
property1: informacion
property2: 0
properties:
- informacion
- informacion
- informacion
propertyN: true

elementoEstructurado

elementoEstructurado
- informacion
- 0
- - informacion
  - informacion
  - informacion
- true

arrayArray

elementoEstructurado
- informacion
- property: informacion
- informacion
- property: informacion
- informacion

elementoMixto

elementoEstructurado

Antipatrones

  • Error: Confunde metainformación e información, impidiendo consultas de información futuras.

    • Los identificadores de los elementos deben coincidir con los campos de una estructura, registro, atributos de clase, entidad, …​

    • No sus valores particulares, imposibles de adivinar por parte del procesador, validador, formateador, …​

  • Error: Formatea la información con saltos de linea, subrayados, …​ perjudicando el tratamiento de información para un formato no previsto en un nuevo dispositivo

error

  • Posible error: Inadecuada estructuración, estructurando en exceso o defecto la información suministrada, inadecuada para el procesamiento necesario

error
  • Correcto o incorrecto si el sistema de información necesita tratar la calle y/o la ciudad por separado y/o …​

    • Obligando al programador a analizar la información

addressee: MIT
street: 77 Massachusetts Avenue. Cambridge
country: Massachusetts 02139. United States of America

incorrecto

incorrecto
addressee: MIT
street: 77 Massachusetts Avenue
village: Cambridge
county: Massachusetts
country: United States of America
postcode: '02139'

correctoV1

correctoV1
addressee: MIT
number: 77
street: Massachusetts Avenue
village: Cambridge
county: Massachusetts
country: United States of America
postcode: '02139'

correctoV2

correctoV2

Patrones

Colección heterogénea

  • Los nombres de los elementos coinciden con los nombres de los campos o atributos de las entidades,registros, estructuras, …​, clases, …​ de los lenguajes de programación

    • No se permiten nombres de propiedad repetidos

name: Edsger Wybe
surname: Dijkstra
birthday:
  day: 11
  month: 5
  year: 1930
turingAward: 1972

author

field_A: data_A
field_B: data_B
field_Z: data_Z

src

Colección homogénea

  • Los items coinciden con los elementos de los arrays, vectores, listas, …​ de los lenguajes de programación

- item_A
- item_B
- item_C

src2

- 877
- 743
- 33
- 7980
- 343
- 234
- 55
- 689

keys

- name: Ingeniería del Software
  courses:
  - Programación
  - Diseño
  - Pruebas
  - Análisis
  - Requisitos
  - Gestión
- name: Ingeniería Web
  courses:
  - Visión General
  - Front-End Web
  - Front-End Móvil
  - Back-End de Código Abierto
  - Back-End de Código Libre
  - Back-End de Código Privativo

studies

- name: Sr. Francisco Ansó García
  street: Calle Lucas Rey Kalea, 15, 5ºB
  postalCode: '01468 Amurrio'
  province: Álava
- name: Dña. Antonia Fernandez García
  street: Av. de las Delicias, 14, 1º Dcha.
  postalCode: 15810  Arzúa
  province: La Coruña
- name: Sr. Raúl Peña Peña
  street: Calle Murcia, 22, Bajo C
  postalCode: 28020 Madrid
  province: Madrid

addresses

Aplicación

Árboles

src3

node: Elemento_1
trees:
- node: Elemento_11
  trees:
  - node: Elemento_111
    trees: []
  - node: Elemento_112
    trees: []
  - node: Elemento_113
    trees:
    - node: Elemento_1131
      trees: []
- node: Elemento_12
  trees: []
title: Chrome
options:
- Nueva pestaña
- Nueva ventana
- Nueva ventana de incógnito
- title: Ayuda
  options:
  - Información de Google Chrome
  - Centro de Ayuda
  - Notificar un error
- Salir

menu

Grafos

nodes:
- kA
- kB
- kZ
edges:
- from: kB
  to: kA
- from: kZ
  to: kA
- from: kZ
  to: kB

src4

- node: kA
  edges: []
- node: kB
  edges:
  - kA
- node: kZ
  edges:
  - kA
  - kB

src5

bibliography0

books:
- id: 1
  author: Frederick P. Brooks
  title: The Mythical Man Month. Essays on Software Engineering
  year: 1995
  publisher: Prentice Hall
  referemces: []
- id: 2
  author: Grady Booch
  title: Object Oriented Analysis and Design with Applications
  year: 2011
  publisher: Addison-Wesley
  referemces:
  - 1
- id: 1
  author: Robert C. Martin
  title: Clean Code. A Handbook of Agile Software Craftsmanship
  year: 2008
  publisher: Prentice Hall
  referemces:
  - 1
  - 2
references:
- from: 2
  to: 1
- from: 3
  to: 2
- from: 3
  to: 1
- id: 1
  author: Frederick P. Brooks
  title: The Mythical Man Month. Essays on Software Engineering
  year: 1995
  publisher: Prentice Hall
  referemces: []
- id: 2
  author: Grady Booch
  title: Object Oriented Analysis and Design with Applications
  year: 2011
  publisher: Addison-Wesley
  referemces:
  - 1
- id: 1
  author: Robert C. Martin
  title: Clean Code. A Handbook of Agile Software Craftsmanship
  year: 2008
  publisher: Prentice Hall
  referemces:
  - 1
  - 2

bibliography1

Aplicación

Síntesis

sintesis

Bibliografía

Obra, Autor y Edición Portada Obra, Autor y Edición Portada

image:[]

Ponente

  • Luis Fernández Muñoz

setillo

  • Doctor en Inteligencia Artificial por la UPM

  • Ingeniero en Informática por la UMA

  • Diplomado en Informática por la UPM

  • Profesor Titular de ETSISI de la UPM