{"id":36115,"date":"2019-10-31T22:09:42","date_gmt":"2019-10-31T19:09:42","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\/"},"modified":"2019-10-31T22:09:42","modified_gmt":"2019-10-31T19:09:42","slug":"ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","title":{"rendered":"\u00c4rge n\u00f5ustuge arendama seda, mida te ei m\u00f5ista.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"\u00c4rge n\u00f5ustuge arendama seda, mida te ei m\u00f5ista.\" src=\"\/wp-content\/uploads\/2019\/07\/bfd609d9004113a76d59d8763d82c6d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAlates 2018. aastast olen olnud liider\/esimene\/silmapaistev arendaja meeskonnas \u2013 nimetage seda kuidas soovite, kuid p\u00f5hjus on see, et vastutan t\u00e4ielikult \u00fche mooduli ja k\u00f5igi arendajate eest, kes sellega t\u00f6\u00f6tavad. See positsioon avab mulle uue vaate arendusprotsessile, kuna olen kaasatud suuremasse hulka projekte ja osalen aktiivsemalt otsuste tegemises. Hiljuti, nende kahe asjaolu t\u00f5ttu, taipasin ootamatult, kui palju arusaam m\u00f5jutab koodi ja rakendust.<\/p>\n<p>M\u00f5te, mida tahan edastada, on, et koodi (ja l\u00f5ppproduktide) kvaliteet on tihedalt seotud sellega, kuiv\u00f5rd inimesed, kes projekteerivad ja koodi kirjutavad, m\u00f5istavad, mida nad tegelikult teevad.<\/p>\n<p>V\u00f5ib-olla m\u00f5tlete n\u00fc\u00fcd: \"Ait\u00e4h, kapten. Loomulikult on parem m\u00f5ista, mida kirjutad. Muul juhul v\u00f5iks sama h\u00e4sti palgata r\u00fchma ahve, et nad hakkaksid suvalistele klahvidele vajutama ja sellega leppida.\" Ja teil on t\u00e4iesti \u00f5igus. Seega, ma aktsepteerin, et te m\u00f5istate, et \u00fcldine arusaam sellest, mida teete, on vajalik. Seda v\u00f5ib nimetada nullitaseme arusaamiseks ja seda me ei hakka pikalt lahkama. R\u00e4\u00e4gime kindlasti, mida t\u00e4pselt on vaja m\u00f5ista ja kuidas see m\u00f5jutab igap\u00e4evaseid otsuseid, mida teete. Kui oleksin need asjad varem teadnud, oleksin v\u00e4ltinud tohutult raisatud aega ja kahtlast koodi.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nKuigi allpool te koodijuppe ei n\u00e4e, pean siiski vajalikuks r\u00f5hutada, et k\u00f5ik, mida siinkohal \u00f6eldakse, on \u00e4\u00e4rmiselt oluline kvaliteetse ja v\u00e4ljendusrikka koodi kirjutamise jaoks. <\/p>\n<h4>Esmataseme arusaam: Miks see ei t\u00f6\u00f6ta?<\/h4>\n<p>\nSelle tasemeni j\u00f5uavad arendajad tavaliselt oma karj\u00e4\u00e4ri varases etapis, vahel isegi ilma teiste abita \u2013 v\u00e4hemalt minu t\u00e4helepanekute kohaselt. Kujutage ette, et olete saanud viga teatava funktsiooni kohta: m\u00f5ni rakenduse funktsioon ei t\u00f6\u00f6ta, seda tuleb parandada. Kuidas te k\u00e4itute?<\/p>\n<p>Tavallinen skeem n\u00e4eb v\u00e4lja j\u00e4rgnev:<\/p>\n<ol>\n<li>Leida koodijupp, mis p\u00f5hjustab probleemi (kuidas seda teha, on eraldi teema, mida k\u00e4sitlen oma raamatus vananenud koodist)<\/li>\n<li>Teha muudatused sellele koodijupile<\/li>\n<li>Veenduda, et viga on parandatud ja tagasivisioonivigu ei esine<\/li>\n<\/ol>\n<p>\nN\u00fc\u00fcd keskendume teisele punktile - muudatuste tegemisele koodis. Selleks on kaks l\u00e4henemist. Esimene: s\u00fcveneda sellesse, mis praeguses koodis toimub, tuvastada viga ja see parandada. Teine: edasi liikuda pimesi - lisada n\u00e4iteks +1 tingimuslikul operaatoril v\u00f5i ts\u00fcklis, vaadata, kas see funktsioon t\u00f6\u00f6tab soovitud stsenaariumis, siis proovida midagi veel ja nii edasi l\u00f5putult.<\/p>\n<p>\u00d5ige l\u00e4henemine on esimene. Kuidas selgitab oma raamatus Code Complete Steve McConnell (soovitan seda raamatut v\u00e4ga), iga kord, kui me teeme koodis muudatusi, peaksime olema v\u00f5imelised kindlalt ennustama, kuidas see m\u00f5jutab rakendust. Tsiteerin m\u00e4lu j\u00e4rgi, kuid kui vigade parandus ei t\u00f6\u00f6ta nii nagu ootasite, peaks see teid tugevalt hoiatama, peaksite kahtlema kogu oma tegevuskavas.<\/p>\n<p>Kokkuv\u00f5ttes, et teostada kvaliteetset vigade parandust, mis ei halvendaks koodi kvaliteeti, on vajalik m\u00f5ista nii koodi struktuuri kui ka konkreetse probleemi allikat.<\/p>\n<h4>Teine m\u00f5istmise tase: Miks see toimib?<\/h4>\n<p>\nSee tasand saavutatakse oluliselt v\u00e4hem intuitiivselt kui eelmine. Mina, olles veel algaja arendaja, omandasin selle oma juhilt, ja hiljem olen korduvalt sama asja algajatele selgitanud.<\/p>\n<p>Seekord kujutame ette, et olete saanud kohe kaks veateadet: esimeses on juttu stsenaariumist A, teises - stsenaariumist B. M\u00f5lemas stsenaariumis toimub midagi valesti. Vastavalt sellele hakkate k\u00f5igepealt esimese vea kallale. J\u00e4rgides esimesest arusaamist l\u00e4htuvaid p\u00f5him\u00f5tteid, s\u00fcvenete korralikult probleemiga seotud koodisse, uurite, miks see paneb rakenduse stsenaariumis A k\u00e4ituma just nii, ja teete m\u00f5istlikud parandused, mis toovad soovitud tulemuse. K\u00f5ik l\u00e4heb suurep\u00e4raselt.<\/p>\n<p>Seej\u00e4rel liigute stsenaariumisse B. Kordate stsenaariumi, et p\u00fc\u00fcda viga provotseerida, kuid - \u00fcllatus! - n\u00fc\u00fcd k\u00f5ik t\u00f6\u00f6tab nagu peab. Oma oletuse kinnitamiseks t\u00fchistate A veaga t\u00f6\u00f6tamise k\u00e4igus tehtud muudatused ja B viga naaseb. Teie vigade parandamine lahendas m\u00f5lemad probleemid. Vedas!<\/p>\n<p>Te ei oodanud seda \u00fcldse. Olete v\u00e4lja m\u00f5elnud viisi, kuidas parandada A-stsenaariumi viga ja ei tea, miks see t\u00f6\u00f6tas ka B-stsenaariumi puhul. K\u00e4es on aeg, kus on suur kiusatus otsustada, et m\u00f5lemad \u00fclesanded on edukalt t\u00e4idetud. See on t\u00e4iesti loogiline: eesm\u00e4rk oli ju vigade k\u00f5rvaldamine, eks? Kuid t\u00f6\u00f6 ei ole veel l\u00f5ppenud: teil on veel oluline v\u00e4lja selgitada, miks teie tegevus parandas B-stsenaariumi viga. Miks? Sest see v\u00f5ib t\u00f6\u00f6tada vale p\u00f5him\u00f5tete alusel ja siis peate leidma teise v\u00e4ljundi. Siin on paar sellist juhtumit:<\/p>\n<ul>\n<li>Kuna lahendust ei valitud h\u00e4davajalikult B vea j\u00e4rgi k\u00f5iki tegureid arvestades, v\u00f5ib olla, et olete ise teadmata rikkunud funktsiooni C. <\/li>\n<li>Pole v\u00e4listatud, et kuskil peitub ka kolmas bug, mis on seotud sama funktsiooniga, ja teie bugifiks seob B stsenaariumi s\u00fcsteemi \u00f5ige toimimise sellele. Praegu n\u00e4eb k\u00f5ik hea v\u00e4lja, kuid \u00fchel p\u00e4eval m\u00e4rgatakse seda kolmandat bugi ja parandatakse. Siis tekib B stsenaariumis j\u00e4lle viga, ja olgu see ainult seal.<\/li>\n<\/ul>\n<p>\nK\u00f5ik see lisab koodi kaootilisust ja kukub teile kunagi kaela \u2013 t\u00f5en\u00e4oliselt k\u00f5ige sobimatumal hetkel. Peate kokku koguma endas j\u00f5u, et sundida ennast kulutama aega selle v\u00e4lja selgitamiseks, miks k\u00f5ik v\u00e4liselt t\u00f6\u00f6tab, kuid see on seda v\u00e4\u00e4rt. <\/p>\n<h4>Kolmas arusaamise tase: Miks see t\u00f6\u00f6tab?<\/h4>\n<p>\nMinu hiljutine arusaam on just selle tasemega seotud ja t\u00f5en\u00e4oliselt annaks see mulle k\u00f5ige rohkem eeliseid, kui oleksin selle m\u00f5tte peale varem tulnud.<\/p>\n<p>Et asi selgem oleks, v\u00f5tame n\u00e4iteks: teie moodul peab olema \u00fchilduv funktsiooniga X. Te ei tunne funktsiooni X eriti h\u00e4sti, kuid teile on \u00f6eldud, et selle \u00fchilduvuse tagamiseks peate kasutama raamistikku F. Teised moodulid, mis integreeruvad X-iga, t\u00f6\u00f6tavad just selle raamistikuga.<\/p>\n<p>Teie kood ei ole oma elu esimesest p\u00e4evast alates kokku puutunud raamistiku F-ga, seega ei ole selle rakendamine sugugi lihtne. See toob kaasa t\u00f5siseid tagaj\u00e4rgi m\u00f5nede mooduli osade jaoks. Sellegipoolest sukeldute te arendusse: n\u00e4dalate viisi kirjutate koodi, testite, v\u00e4ljastate esialgseid versioone, saate tagasisidet, parandate regressioonivigu, avastate etten\u00e4gematuid probleeme, ei mahu algselt kokkulepitud t\u00e4htaegadesse, kirjutate veel m\u00f5ne koodi, testite, saate tagasisidet, parandate regressioonivigu \u2014 k\u00f5ik selleks, et rakendada raamistiku F-d.<\/p>\n<p>Ja mingil hetkel te \u00e4kki taipate \u2014 v\u00f5i v\u00f5ib-olla kuulete kelleltki \u2014 et raamistiku F kasutamine ei pruugi teile anda \u00fchildatavust funktsiooniga X. V\u00f5ib-olla olid k\u00f5ik need aeg ja j\u00f5ud suunatud t\u00e4iesti valele teele.<\/p>\n<p>Midagi sarnast juhtus kunagi projekti k\u00e4igus, mille eest ma vastutasin. Miks see juhtus? Sest ma ei m\u00f5istnud h\u00e4sti, mis on funktsiooni X olemus ja kuidas see on seotud raamistiku F-ga. Mida oleksin pidanud tegema? Paluma inimesel, kes \u00fclesande s\u00f5nastab, selgelt selgitada, kuidas kavandatud tegevusplaan viib soovitud tulemuseni, selle asemel, et lihtsalt korrata seda, mida on tehtud teiste moodulite jaoks, v\u00f5i uskuda, et nii on vajalik funktsiooni X t\u00f6\u00f6tamiseks.<\/p>\n<p>Selle projekti kogemus \u00f5petas mind keelduma arendustegevuse alustamisest, kui meil ei ole selget arusaama, miks meilt palutakse teatud tegevusi teha. Keelduma otse. Kui saad \u00fclesande, on esimene impulss \u2014 haarata selle kallale kohe, et mitte aega raisata. Kuid poliitika \u201eprojekti peatamine, kuni saame k\u00f5igest arusaamise\u201c v\u00f5ib hoida raisatud aega t\u00fchja kulumise eest. <\/p>\n<p>Isegi kui teid p\u00fc\u00fcavad survestada, sundides teid t\u00f6\u00f6le asumiseks, kuigi te ei m\u00f5ista, miks see on vajalik \u2014 vastanduge. Esiteks uurige, millise eesm\u00e4rgiga teile selline \u00fclesanne antakse, ja otsustage, kas see on \u00f5ige tee eesm\u00e4rgi saavutamiseks. Ma pidin selle k\u00f5ik valusalt \u00f5ppima \u2014 loodetavasti aitab minu kogemus neid, kes seda loevad.<\/p>\n<h4>Neljas arusaamistasandi tase: ???<\/h4>\n<p>\nProgrammeerimises on alati midagi uut \u00f5ppida, ja ma arvan, et olen vaid teema pinnale t\u00f5mmanud. Milliseid teisi arusaamade tasandeid olete aastate jooksul koodiga t\u00f6\u00f6tades avastanud? Milliseid otsuseid olete teinud, mis on h\u00e4sti m\u00f5junud koodi ja rakenduse kvaliteedile? Millised otsused on osutunud valevalikuks ja \u00f5petanud teile v\u00e4\u00e4rtuslikku \u00f5petust? Jagage oma kogemusi kommentaarides.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/digital-ecosystems\/blog\/459588\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421 \u043d\u0430\u0447\u0430\u043b\u0430 2018 \u0433\u043e\u0434\u0430 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c \u043b\u0438\u0434\u0430\/\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0438\u043a\u0430\/\u0432\u0435\u0434\u0443\u0449\u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u2014 \u043d\u0430\u0437\u044b\u0432\u0430\u0439\u0442\u0435 \u044d\u0442\u043e \u043a\u0430\u043a \u0445\u043e\u0442\u0438\u0442\u0435, \u043d\u043e \u0441\u0443\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044f \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u043e\u0442\u0432\u0435\u0447\u0430\u044e \u0437\u0430 \u043e\u0434\u0438\u043d \u0438\u0437 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0437\u0430 \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0434 \u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442. \u042d\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043c\u043d\u0435 \u043d\u043e\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u044f \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d \u0432 \u0431\u043e\u043b\u044c\u0448\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u0435\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27008,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-36115","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421 \u043d\u0430\u0447\u0430\u043b\u0430 2018 \u0433\u043e\u0434\u0430 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041d\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0439\u0442\u0435\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u043e, \u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421 \u043d\u0430\u0447\u0430\u043b\u0430 2018 \u0433\u043e\u0434\u0430 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:09:42+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:09:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u00c4rge n\u00f5ustuge arendama seda, mida te ei m\u00f5ista | ProHoster","description":"Alates 2018. aasta algusest olen t\u00f6\u00f6tanud ametis.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041d\u0435 \u0441\u043e\u0433\u043b\u0430\u0448\u0430\u0439\u0442\u0435\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u043e, \u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435 | ProHoster","og:description":"\u0421 \u043d\u0430\u0447\u0430\u043b\u0430 2018 \u0433\u043e\u0434\u0430 \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e \u0434\u043e\u043b\u0436\u043d\u043e\u0441\u0442\u044c.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:09:42+00:00","article:modified_time":"2019-10-31T19:09:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36115","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 02:04:38","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:50:24","updated":"2026-01-22 02:04:38","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/36115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=36115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/36115\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/27008"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=36115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=36115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=36115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}