Gebruiker:St70044

in Wikipedia, die vrye ensiklopedie

YAML[wysig | wysig bron]

YAML ( /ˈjæməl/ en YAH-ml ) is 'n mens-leesbare data-serialiseringstaal . Dit word algemeen gebruik vir konfigurasielêers en in toepassings waar data gestoor of versend word. YAML teiken baie van dieselfde kommunikasietoepassings as Extensible Markup Language (XML), maar het 'n minimale sintaksis wat doelbewus verskil van Standard Generalized Markup Language (SGML). [1] Dit gebruik beide Python -styl inkeping om nes aan te dui, en 'n meer kompakte formaat wat [...] gebruik vir lyste en {...} vir kaarte [2] dus is JSON- lêers geldig YAML 1.2.[3] YAML-lêers kan omskep word in sjablone vir data-invoer sagteware (EDC) en programmatiese koppelvlakke (JSON, RDF) om die deel van genomiese data in navorsing en gesondheidsorg te vergemaklik.[4]

Geskiedenis en naam[wysig | wysig bron]

YAML ( /ˈjæməl/, rym met kameel [5] ) is die eerste keer voorgestel deur Clark Evans in 2001, [6] wat dit saam met Ingy döt Net [7] en Oren Ben-Kiki ontwerp het. [7] Daar is oorspronklik gesê dat YAML Yet Another Markup Language beteken [8] omdat dit vrygestel is in 'n era wat 'n verspreiding van opmerktale vir aanbieding en konnektiwiteit (HTML, XML, SGML, ens.) gesien het. Die aanvanklike naam daarvan was bedoel as 'n tong-in-die-kies verwysing [9] na die tegnologielandskap, met verwysing na die doel daarvan as 'n opmerktaal met die nog 'n ander konstruk, maar dit is toe hergebruik as YAML Ain't Markup Language, 'n rekursiewe akroniem, om die doel daarvan te onderskei as data-georiënteerd, eerder as dokumentopmerk.

Weergawes[wysig | wysig bron]

weergawe vrystelling datum
YAML 1.0 29 Januarie 2004
YAML 1.1 18 Januarie 2005
YAML 1.2.0 21 Julie 2009
YAML 1.2.1 1 Oktober 2009
YAML 1.2.2 1 Oktober 2021

Nie-hiërargiese datamodelle[wysig | wysig bron]

Anders as JSON, wat slegs data in 'n hiërargiese model kan verteenwoordig met elke kindernodus wat 'n enkelouer het, bied YAML ook 'n eenvoudige relasionele skema wat toelaat dat herhalings van identiese data vanaf twee of meer punte in die boom verwys word eerder as om oortollig in te voer by daardie punte. Dit is soortgelyk aan die fasiliteit IDREF wat in XML ingebou is. [10] Die YAML-ontleder brei dan hierdie verwysings uit na die volledig bevolkte datastrukture wat hulle impliseer wanneer dit ingelees word, so watter program ook al die ontleder gebruik, hoef nie bewus te wees van 'n relasionele enkoderingsmodel nie, anders as XML-verwerkers, wat nie verwysings uitbrei nie. Hierdie uitbreiding kan leesbaarheid verbeter terwyl data-invoerfoute in konfigurasielêers of verwerkingsprotokolle verminder word waar baie parameters dieselfde bly in 'n opeenvolgende reeks rekords terwyl slegs 'n paar verskil. 'n Voorbeeld is dat "verskeep-na"- en "rekening-na"-rekords in 'n faktuur byna altyd dieselfde data is.

Sekuriteit[wysig | wysig bron]

YAML is suiwer 'n data-voorstellingstaal en het dus geen uitvoerbare opdragte nie. Alhoewel validering en veilige ontleding inherent moontlik is in enige datataal, is implementering so 'n berugte slaggat dat YAML se gebrek aan 'n gepaardgaande opdragtaal 'n relatiewe sekuriteitsvoordeel kan wees.YAML laat egter taalspesifieke etikette toe sodat arbitrêre plaaslike voorwerpe geskep kan word deur 'n ontleder wat daardie etikette ondersteun. Enige YAML-ontleder wat toelaat dat gesofistikeerde voorwerp-instansiasie uitgevoer word, maak die potensiaal oop vir 'n inspuitaanval. Perl-ontleders wat die laai van voorwerpe van arbitrêre klasse toelaat, skep sogenaamde "geseënde" waardes. Die gebruik van hierdie waardes kan onverwagte gedrag veroorsaak, bv. as die klas oorlaaide operateurs gebruik. Dit kan lei tot die uitvoering van arbitrêre Perl-kode. [11]

Verwysings[wysig | wysig bron]

  1. "Yet Another Markup Language (YAML) 1.0 / Working Draft". 10 Desember 2001.
  2. "Yet Another Markup Language (YAML) 1.0 / Working Draft". 10 Desember 2001.
  3. "YAML Ain't Markup Language (YAML) Version 1.2". YAML.org. Besoek op 29 Mei 2019.
  4. van der Velde, K. J., Singh, G., Kaliyaperumal, R., Liao, X. F., de Ridder, S., Rebers, S., . . . Swertz, M. A. (2022). FAIR genomes metadata schema promoting next generation sequencing data reuse in dutch healthcare and research. Scientific Data, 9(1) doi:10.1038/s41597-022-01265-x
  5. "YAML Ain't Markup Language (YAML) Version 1.2". YAML.org. Besoek op 29 Mei 2019.
  6. Evans, Clark (11 Mei 2001). "YAML Draft 0.1". Yahoo! Tech groups: sml-dev. Geargiveer vanaf die oorspronklike op 3 Junie 2001. Besoek op 21 Maart 2019.
  7. 7,0 7,1 "YAML Ain't Markup Language: About". YAML.org. Besoek op 29 Mei 2019.
  8. "Yet Another Markup Language (YAML) 1.0". YAML.org. Besoek op 29 Mei 2019.
  9. "Yet Another Markup Language (YAML) 1.0". stackoverflow.com. Besoek op 24 Maart 2021.
  10. "Extensible Markup Language (XML) 1.0 (Second Edition)". W3.org. Besoek op 27 Mei 2015.
  11. "YAML". Teknik Informatika. 4 Augustus 2022. Besoek op 4 Augustus 2022.