Gbígbé dátà láàrin CSV, JSON, YAML, àti XML
Dátà kì í sábà dúró jẹ́ẹ́ ní irú kan. Ìjábọ̀ kan máa ń dé gẹ́gẹ́ bí spreadsheet, API kan fẹ́ JSON, ọ̀nà ìtẹ̀síwájú kan retí YAML, ibìkan nínú ilé ìsàlẹ̀ sì ṣì ni ìsìn àtijọ́ tí ó ń sọ XML. Ọ̀pọ̀lọpọ̀ ìṣòro ojoojúmọ́ ní ṣíṣiṣẹ́ pẹ̀lú dátà kì í ṣe dátà náà fúnra rẹ̀, ó jẹ́ gbígbé e láti ìrísí tí o ní sí ìrísí tí ohun mìíràn ń béèrè. Ìyẹn ni gbogbo iṣẹ́ olùyípadà dátà: mú ọ̀rọ̀ tí ó ní ìlànà nínú irú kan, kí ó sì tún fi jáde nínú irú mìíràn, láìsọ̀nù ìtumọ̀ náà ní ọ̀nà.
Àwọn olùyípadà Speedor ń ṣiṣẹ́ ní kíkún nínú aṣàwákiri rẹ. O dà kọ́, o tẹ̀, o dàkọ àbájáde náà. Kò sí ohun tí a gbé sórí, kò sí ohun tí a kọ, kò sí ohun tí ó kúrò lórí ẹ̀rọ rẹ. Fún ẹnikẹ́ni tí ó ti ṣíyèméjì kí ó tó fi àkọsílẹ̀ oníbàárà sọ̀kalẹ̀ sí ojú-òpó ìdálẹ́kọ̀ọ́, ìlànà ládùúgbò-nìkan yẹn ni kókó ọ̀rọ̀ náà.
Ohun tí irú kọ̀ọ̀kan dára fún ní tòótọ́
Ó ṣèrànwọ́ láti mọ ìdí tí àwọn irú wọ̀nyí fi wà kí o tó bẹ̀rẹ̀ sí í yí padà láàrin wọn, nítorí pé ọ̀kọ̀ọ̀kan ni a kọ́ fún iṣẹ́ ọ̀tọ̀ọ̀tọ̀.
CSV ni ìlànà pẹrẹsẹ, tí a fi kọ́mà pín, tí spreadsheet fẹ́ràn. Ó jẹ́ tábìlì ní ìṣẹ̀dá: ìlà àti ọ̀wọ́n, kò sí nǹkan tí ó fi sí inú ara rẹ̀. Ṣí i nínú Excel, Google Sheets, tàbí Numbers, ó sì ń ṣiṣẹ́. Ìdẹ̀kùn ni pé CSV kò ní èrò irú. Iye 007 lè jẹ́ ọ̀rọ̀, nọ́mbà, tàbí kóòdù ẹ̀kùn, CSV kì í sì sọ ìyẹn fún ọ.
JSON ni èdè-àdéhùn ti wẹ́ẹ́bù òde òní. Fẹ́rẹ̀ẹ́ jẹ́ pé gbogbo API tí o máa pè rí ń sọ̀rọ̀ rẹ̀. JSON máa ń mú ìdásí, àkọsílẹ̀, àti irú diẹ̀ tí ó jẹ́ gidi (ọ̀rọ̀, nọ́mbà, boolean, null), èyí tí ó jẹ́ kí ó lágbára ju tábìlì pẹrẹsẹ lọ. Ó rẹ̀wẹ̀sì, ó dára fún ẹ̀rọ, a sì ń ṣètìlẹ́yìn fún un níbi gbogbo.
YAML ni ẹ̀gbọ́n JSON tí ó rọrùn jù láti kà. Ó ń lo indentation dípò àmì ẹ̀wọ̀n, ó ń ṣètìlẹ́yìn fún àsọyé, ó sì sábà máa ń jẹ́ irú tí a máa ń yàn fún fáìlì ètò, Docker Compose, àwọn manifest Kubernetes, àti ìlànà CI. Nígbà tí ènìyàn bá gbọ́dọ̀ ṣàtúnṣe ohun kan pẹ̀lú ọwọ́, YAML sábà máa ń rọrùn sí ojú.
XML ni ẹ̀gbọ́n àgbà. Ó pọ̀, ó ní àmì púpọ̀, ó sì ṣì wà jinlẹ̀ nínú àwọn ìlànà oníṣòwò ńlá, ìsìn SOAP, ìránṣẹ́ owó, àti ìlànà dókíyùmẹ́ǹtì bí RSS. O kò ní pàdé rẹ̀ nígbà gbogbo nínú àwọn iṣẹ́ tuntun, ṣùgbọ́n nígbà tí o bá nílò rẹ̀, o nílò rẹ̀ ní tòótọ́.

Ibi tí ìyípadà máa ń ṣẹlẹ̀ ní tòótọ́
Àwọn ipò náà kedere gan-an ní kété tí o bá bẹ̀rẹ̀ sí í wò wọ́n. Sọ pé ẹ̀ka ìpolówó ọjà fún ọ ní spreadsheet ti oníbàárà 4,000, API ìforúkọsílẹ̀ sì ń gba àkọsílẹ̀ JSON kan ṣoṣo. O gbé tábìlì náà jáde sí CSV, o fi ránṣẹ́ nípasẹ̀ CSV sí JSON, o sì ti ní ẹrù tí ó ti ṣetán láti fi POST ránṣẹ́. Kò sí àpèjúwe kíkọ, kò sí pandas, kò sí dídúró de ẹlẹ́rọ̀.
Tàbí o fa apá kan JSON padà láti API kan náà, o sì fẹ́ fi sínú fáìlì ètò tí ìsìn rẹ ń kà nígbà tí ó bá bẹ̀rẹ̀. Yí i padà pẹ̀lú JSON sí YAML, o sì ní ohun tí ó mọ́ tí ó sì lè ní àsọyé tí ó bá repo rẹ mu dáradára. Lílọ ní ìhà mìíràn ń ṣiṣẹ́ pẹ̀lú nígbà tí irinṣẹ́ kan bá gba JSON nìkan ṣùgbọ́n ètò rẹ ń gbé nínú YAML.
Lẹ́yìn náà ni ìdàpọ̀ tí ẹnikẹ́ni kò gbádùn: ìsìn alábàáṣepọ̀ tí ó ń gba XML nìkan. O kọ́ ẹrù rẹ nínú JSON nítorí pé bẹ́ẹ̀ ni app rẹ ronú, lẹ́yìn náà o yí padà sí XML ní ààlà náà. Ìrísí náà dúró bákan náà, ọ̀nà kíkọ nìkan ni ó yí padà.
Àwọn ìdẹ̀kùn tí ó tọ́ láti mọ̀
Ìyípadà irú kì í sábà ṣàìsọ̀nù, kíkàn gbàgbọ́ pé bẹ́ẹ̀ ni ó máa ń fa àṣìṣe. Àwọn nǹkan díẹ̀ tí ó tọ́ láti mọ̀:
CSV kì í rántí irú. Nítorí pé sẹ́ẹ̀lì kọ̀ọ̀kan jẹ́ ọ̀rọ̀ lásán, nọ́mbà, boolean, àti ọjọ́ gbogbo wọn máa ń jáde gẹ́gẹ́ bí ọ̀rọ̀ àyàfi bí olùyípadà bá rò ó fún ọ. Bí true bá nílò láti jẹ́ boolean tí kì í ṣe ọ̀rọ̀ "true," ṣàyẹ̀wò àbájáde náà kí o tó fi ránṣẹ́.
YAML ń bìkítà nípa àyè òfo. Indentation kì í ṣe ọ̀ṣọ́ nínú YAML, ó jẹ́ ìlànà. Àyè kan tí ó ṣáko lè yí kọ́kọ́rọ́ tí iye kan jẹ́ ti rẹ̀ padà, tab sì jẹ́ èèwọ̀ pátápátá. Lẹ́yìn ìyípadà JSON sí YAML kankan, ó tọ́ láti wò ó ní ojú, tàbí kí o fi àbájáde náà padà kọjá ètò JSON láti ṣàyẹ̀wò pé ìlànà náà kù mọ́.
XML àti JSON kì í bá ara wọn mu ní kedere. JSON ní àkọsílẹ̀; XML ní ẹ̀ka tí a tún ṣe. JSON kò ní ohun-ìní níbikíbi; XML ní wọn níbi gbogbo. Ọ̀pọ̀lọpọ̀ olùyípadà máa ń yan ìlànà tí ó bá mu, ṣùgbọ́n bí XML rẹ bá lo ohun-ìní púpọ̀, JSON tí ó ń mú jáde á rí díẹ̀ yàtọ̀ sí JSON tí a fi ọwọ́ kọ. Ìyẹn ni a retí, kì í ṣe àṣìṣe.
Ijìnlẹ̀ ìdásí ṣe pàtàkì. CSV pẹrẹsẹ ni, nítorí náà JSON tí ó jinlẹ̀ tó ní ìdásí kì í sábà lè wó sínú ọ̀wọ́n láìṣe pẹrẹsẹ kọ́kọ́rọ́ (bíi address.city). Lílọ ní ìhà mìíràn, CSV pẹrẹsẹ á di àkọsílẹ̀ pẹrẹsẹ, kì í ṣe igi rí.

Kí ló dé tí ládùúgbò-nìkan fi ṣe pàtàkì níhìn-ín
Ọ̀pọ̀lọpọ̀ dátà tí o máa fẹ́ yí padà kì í ṣe tirẹ̀ láti pín. Àkọsílẹ̀ oníbàárà, ètò inú, kọ́kọ́rọ́ API tí a fi sínú ìdáhùn kan, ìlà owó. Ọ̀pọ̀lọpọ̀ olùyípadà lórí ayélujára máa ń fi ìdámọ̀ rẹ ránṣẹ́ sí olùpín kan láìsọ̀rọ̀ láti ṣe iṣẹ́ náà. Speedor kì í ṣe bẹ́ẹ̀. Ìlànà ìyípadà ń ṣiṣẹ́ nínú taabu aṣàwákiri rẹ, dátà náà kì í kọjá lórí nẹ́tíwọ̀ọ̀kì láéláé, pípa taabu náà sì ni gbogbo ìmọ́tótó tí ó wà. Ó yára pẹ̀lú, nítorí pé kò sí ìrìn àjò gbígbé sórí, ó sì ń ṣiṣẹ́ láìsí ìsopọ̀ ní kété tí ojú-ìwé bá ti ṣí. Ọ̀fẹ́, kò sí ìforúkọsílẹ̀, kò sí ààlà.
Àwọn ìbéèrè tí wọ́n sábà máa ń béèrè
Ṣé dátà mi ń kúrò lórí ẹ̀rọ nígbà tí mo bá ń yí i padà?
Rárá. Ìyípadà kọ̀ọ̀kan ń ṣiṣẹ́ ládùúgbò nínú aṣàwákiri rẹ pẹ̀lú JavaScript. Dátà rẹ kì í kúrò lórí ẹ̀rọ rẹ láéláé, kì í sì fi ránṣẹ́ sí olùpín kan rí, ìyẹn ni ìdí tí àwọn irinṣẹ́ wọ̀nyí fi ń ṣiṣẹ́ àní bí o kò bá ní ìsopọ̀.
Ṣé mo lè yí CSV padà sí JSON láìsí kíkọ kóòdù kankan?
Bẹ́ẹ̀ ni. Dà kọ́ CSV rẹ sínú olùyípadà, tẹ̀ láti yí padà, kí o sì dàkọ àkọsílẹ̀ JSON tí ó jáde. A ó mú ìlà àkọ́kọ́ gẹ́gẹ́ bí orí ọ̀wọ́n, tí ó máa di kọ́kọ́rọ́ fún ohun kọ̀ọ̀kan.
Kí ló dé tí JSON tí mo yí padà fi ń fi nọ́mbà hàn gẹ́gẹ́ bí ọ̀rọ̀?
CSV kò ní èrò irú dátà, nítorí náà iye kọ̀ọ̀kan máa ń bẹ̀rẹ̀ gẹ́gẹ́ bí ọ̀rọ̀. Àwọn olùyípadà kan máa ń gbìyànjú láti ṣàwárí nọ́mbà àti boolean fúnra wọn, ṣùgbọ́n nígbà tí wọ́n bá ṣiyèméjì, wọ́n máa ń pa iye náà mọ́ gẹ́gẹ́ bí ọ̀rọ̀ láti dé bàbà mímú kóòdù ẹ̀kùn tàbí ìdámọ̀ tí ó ní odo níwájú bàjẹ́.
Kí ni ìyàtọ̀ láàrin JSON àti YAML?
Wọ́n ń fi irú dátà kan náà hàn, ṣùgbọ́n YAML ń lo indentation dípò àmì ẹ̀wọ̀n àti àyọ̀kọ, ó ń gba àsọyé láyè, ó sì sábà máa ń rọrùn fún ènìyàn láti kà àti ṣàtúnṣe. JSON rẹ̀wẹ̀sì ju, ó sì ni ààyò àkọ́kọ́ fún ọ̀pọ̀lọpọ̀ API wẹ́ẹ́bù.
Ṣé ìyípadà láàrin àwọn irú wọ̀nyí kì í sọ̀nù rí?
Ní ọ̀pọ̀ ìgbà bẹ́ẹ̀ ni, ṣùgbọ́n kì í ṣe nígbà gbogbo. JSON, YAML, àti XML máa ń bá ara wọn mu dáradára ní ọ̀pọ̀ ìgbà. Àwọn tí ó le jù ni CSV, tí ó pẹrẹsẹ tí kò sì ní irú, àti XML, tí ó ń mú ohun-ìní àti ẹ̀ka tí a tún ṣe yàtọ̀ sí àkọsílẹ̀ JSON. Ṣàyẹ̀wò àbájáde náà nígbà gbogbo fún dátà tí ó ṣe pàtàkì.
Ṣé àwọn olùyípadà wọ̀nyí ń ṣiṣẹ́ lórí fáìlì ńlá?
Wọ́n máa ń mú ọ̀pọ̀lọpọ̀ fáìlì ojoojúmọ́ dáradára nítorí pé iṣẹ́ náà ń ṣẹlẹ̀ lórí ẹ̀rọ tirẹ. Iṣẹ́-ṣíṣe dá lórí ẹ̀rọ rẹ dípò olùpín, nítorí náà fáìlì ńlá gan-an ni ààlà rẹ̀ dá lórí ìrántí aṣàwákiri rẹ.
