{"id":39071,"date":"2019-10-31T22:27:41","date_gmt":"2019-10-31T19:27:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/pochemu-polezno-izobretat-kolyosa\/"},"modified":"2019-10-31T22:27:41","modified_gmt":"2019-10-31T19:27:41","slug":"pochemu-polezno-izobretat-kolyosa","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/pochemu-polezno-izobretat-kolyosa","title":{"rendered":"Pre\u010do je u\u017eito\u010dn\u00e9 vymyslie\u0165 koles\u00e1","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Pre\u010do je u\u017eito\u010dn\u00e9 vymyslie\u0165 koles\u00e1\" src=\"\/wp-content\/uploads\/2019\/10\/1067abfe7a3cdf764c49bbb0d5dd6d1b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNed\u00e1vno som mal pohovor s JavaScript v\u00fdvoj\u00e1rom, ktor\u00fd sa uch\u00e1dzal o poz\u00edciu seniora. Kolega, ktor\u00fd bol tie\u017e pr\u00edtomn\u00fd na pohovore, po\u017eiadal kandid\u00e1ta, aby nap\u00edsal funkciu, ktor\u00e1 vykon\u00e1va HTTP po\u017eiadavku a v pr\u00edpade zlyhania ju zopakuje nieko\u013ekokr\u00e1t.<\/p>\n<p>P\u00edsal k\u00f3d priamo na tabuli, tak\u017ee sta\u010dilo zobrazi\u0165 nie\u010do pribli\u017en\u00e9. Keby aspo\u0148 uk\u00e1zal, \u017ee dobre rozumie podstate probl\u00e9mu, boli by sme \u00faplne spokojn\u00ed. Ale, \u017eia\u013e, nena\u0161iel \u00faspe\u0161n\u00e9 rie\u0161enie. Potom sme sa, odv\u00e1dzaj\u00fac to na nervozitu, rozhodli tro\u0161ku u\u013eah\u010di\u0165 \u00falohu a po\u017eiadali sme ho, aby premenil funkciu s n\u00e1vratov\u00fdmi u\u017e\u00edvate\u013esk\u00fdmi funkciami na funkciu postaven\u00fa na promisoch.<\/p>\n<p>Ale \u017eia\u013e. Bolo zjavn\u00e9, \u017ee sa s tak\u00fdmto k\u00f3dom u\u017e predt\u00fdm stretol. V\u0161eobecne vedel, ako to funguje. Sta\u010dil by n\u00e1m n\u00e1kres rie\u0161enia, ktor\u00fd by demon\u0161troval pochopenie konceptu. Av\u0161ak k\u00f3d, ktor\u00fd kandid\u00e1t nap\u00edsal na tabuli, bol \u00faplne nezmyseln\u00fd. Mal ve\u013emi neur\u010dit\u00fa predstavu o tom, \u010do s\u00fa promisy v JavaScripte a nedok\u00e1zal poriadne vysvetli\u0165, pre\u010do s\u00fa potrebn\u00e9. Pre juniora by to bolo e\u0161te ospravedlnite\u013en\u00e9, ale na poz\u00edciu seniora to rozhodne nesta\u010dilo. Ako by tento v\u00fdvoj\u00e1r dok\u00e1zal odstr\u00e1ni\u0165 chyby v komplikovanom re\u0165azci s promisiami a vysvetli\u0165 ostatn\u00fdm, \u010do presne urobil?<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>V\u00fdvoj\u00e1ri pova\u017euj\u00fa hotov\u00fd k\u00f3d za samozrejm\u00fd.<\/h4>\n<p>\nPo\u010das v\u00fdvoja sa neust\u00e1le stret\u00e1vame s opakovate\u013en\u00fdmi materi\u00e1lmi. Pren\u00e1\u0161ame \u00fatr\u017eky k\u00f3du, aby sme sa nemuseli zaka\u017ed\u00fdm znova zaobera\u0165 ich p\u00edsan\u00edm. S\u00fastred\u00edme sa teda na k\u013e\u00fa\u010dov\u00e9 \u010dasti a na hotov\u00fd k\u00f3d sa pozer\u00e1me ako na nie\u010do samozrejm\u00e9 \u2013 jednoducho predpoklad\u00e1me, \u017ee v \u0148om v\u0161etko funguje tak, ako m\u00e1.<\/p>\n<p>A zvy\u010dajne to naozaj funguje, ale ke\u010f nastan\u00fa \u0165a\u017ekosti, pochopenie jeho mechaniky sa viac ne\u017e vyplat\u00ed.<\/p>\n<p>Tak\u017ee n\u00e1\u0161 kandid\u00e1t na poz\u00edciu senior v\u00fdvoj\u00e1ra pova\u017eoval objekty promise za samozrejm\u00e9. Ur\u010dite mal predstavu, ako s nimi zaobch\u00e1dza\u0165, ke\u010f sa objavuj\u00fa niekde v cudzom k\u00f3de, ale celkov\u00fd princ\u00edp nech\u00e1pal a nedok\u00e1zal ho s\u00e1m zopakova\u0165 na pohovore. Mo\u017eno si zapam\u00e4tal \u00fatr\u017eok naspam\u00e4\u0165 \u2013 nie je to a\u017e tak\u00e9 \u0165a\u017ek\u00e9:<\/p>\n<pre><code class=\"javascript\">return new Promise((resolve, reject) =&gt; {\n  functionWithCallback((err, result) =&gt; {\n   return err ? reject(err) : resolve(result);\n  });\n});<\/code><\/pre>\n<p>\nAj ja som to robil \u2013 pravdepodobne sme to v\u0161etci niekedy robili. Jednoducho sme sa nau\u010dili k\u00fasok k\u00f3du, aby sme ho nesk\u00f4r mohli pou\u017ei\u0165 v praxi, pri\u010dom sme mali len ve\u013emi v\u0161eobecn\u00fa predstavu o tom, ako to v\u0161etko funguje. Ale keby v\u00fdvoj\u00e1r skuto\u010dne ch\u00e1pal koncept, nemusel by si ni\u010d zapam\u00e4ta\u0165 \u2013 jednoducho by vedel, ako to urobi\u0165, a bez n\u00e1mahy by reprodukoval v\u0161etko potrebn\u00e9 v k\u00f3de.<\/p>\n<h4>Obr\u00e1\u0165te sa na zdroje<\/h4>\n<p>\nV roku 2012, ke\u010f e\u0161te nepanovalo dominovanie frontendov\u00fdch r\u00e1mcov, svet ovl\u00e1dal jQuery a ja som \u010d\u00edtal knihu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.manning.com\/books\/secrets-of-the-javascript-ninja\">Secrets of the JavaScript Ninja<\/a><\/noindex>, jej autorom bol John Resig, tvorca jQuery.<\/p>\n<p>Kniha u\u010d\u00ed \u010ditate\u013ea, ako vytvori\u0165 vlastn\u00e9 jQuery od z\u00e1kladov a poskytuje jedine\u010dn\u00fa pr\u00edle\u017eitos\u0165 pribl\u00ed\u017ei\u0165 sa k my\u0161lienkov\u00e9mu procesu, ktor\u00fd viedol k vytvoreniu kni\u017enice. V posledn\u00fdch rokoch jQuery stratilo svoju b\u00fdval\u00fa popularitu, ale knihu aj tak ve\u013emi odpor\u00fa\u010dam. Najviac ma na nej prekvapilo pretrv\u00e1vaj\u00face pocity, \u017ee som to v\u0161etko mohol vymyslie\u0165 aj s\u00e1m. Kroky, ktor\u00e9 autor popisoval, sa zdali tak logick\u00e9, tak zrozumite\u013en\u00e9, \u017ee som si v\u00e1\u017ene za\u010dal myslie\u0165, \u017ee by som mohol bez probl\u00e9mov vytvori\u0165 jQuery, ak by som sa len odhodlal.<\/p>\n<p>Samozrejme, v skuto\u010dnosti by som ni\u010d podobn\u00e9 nedok\u00e1zal \u2013 rozhodol by som sa, \u017ee je to nezvl\u00e1dnute\u013ene \u0165a\u017ek\u00e9. Vlastn\u00e9 rie\u0161enia by sa mi zdali pr\u00edli\u0161 jednoduch\u00e9 a naivn\u00e9 na to, aby fungovali, a vzdal by som to. jQuery by som pova\u017eoval za nie\u010do samozrejm\u00e9, v spr\u00e1vnu funkciu ktor\u00e9ho by som musel jednoducho slepo veri\u0165. Nesk\u00f4r by som pravdepodobne nestr\u00e1cal \u010das t\u00fdm, aby som prenikal do mechanizmu tejto kni\u017enice, a jednoducho by som ju pou\u017e\u00edval ako nejak\u00fa \u010diernu skrinku.<\/p>\n<p>Ale zozn\u00e1menie s touto knihou ma zmenilo. Za\u010dal som sa zaobera\u0165 zdrojov\u00fdm k\u00f3dom a zistil som, \u017ee implement\u00e1cia mnoh\u00fdch rie\u0161en\u00ed je v skuto\u010dnosti ve\u013emi prieh\u013eadn\u00e1, ba dokonca o\u010dividn\u00e1. Nie, samozrejme, vymyslie\u0165 si nie\u010do podobn\u00e9 \u2013 to je u\u017e in\u00fd pr\u00edbeh. Ale pr\u00e1ve \u0161t\u00fadium cudz\u00edch k\u00f3dov a reprodukcia u\u017e existuj\u00facich rie\u0161en\u00ed n\u00e1m pom\u00e1ha pr\u00eds\u0165 na nie\u010do vlastn\u00e9. <\/p>\n<p>In\u0161pir\u00e1cia, ktor\u00fa na\u010derp\u00e1te, a vzory, ktor\u00e9 za\u010dnete zachyt\u00e1va\u0165, v\u00e1s zmenia ako v\u00fdvoj\u00e1ra. Zist\u00edte, \u017ee t\u00e1 \u00fa\u017easn\u00e1 kni\u017enica, ktor\u00fa neust\u00e1le pou\u017e\u00edvate a o ktorej ste si zvykli myslie\u0165, \u017ee je magick\u00fdm artefaktom, nefunguje len na z\u00e1klade magie, ale jednoducho efekt\u00edvne rie\u0161i probl\u00e9m.<\/p>\n<p>Niekedy sa budete musie\u0165 s k\u00f3dom tr\u00e1pi\u0165, rozobera\u0165 ho krok za krokom, ale pr\u00e1ve takto, postupne po mal\u00fdch krokoch, budete m\u00f4c\u0165 zopakova\u0165 cestu autora k rie\u0161eniu. To v\u00e1m umo\u017en\u00ed hlb\u0161ie sa ponori\u0165 do procesu p\u00edsania k\u00f3du a dod\u00e1 v\u00e1m viac sebavedomia pri h\u013eadan\u00ed vlastn\u00fdch rie\u0161en\u00ed.<\/p>\n<p>Ke\u010f som za\u010dal pracova\u0165 s pr\u00eds\u013eubmi, zdalo sa mi to ako \u010d\u00edra m\u00e1gia. Potom som sa dozvedel, \u017ee na ich z\u00e1klade s\u00fa rovnak\u00e9 sp\u00e4tn\u00e9 volania, a m\u00f4j program\u00e1torsk\u00fd svet sa prevr\u00e1til. Teda vzor, ktor\u00e9ho cie\u013eom je zbavi\u0165 n\u00e1s sp\u00e4tn\u00fdch volan\u00ed, sa s\u00e1m realizuje pomocou sp\u00e4tn\u00fdch volan\u00ed?!<\/p>\n<p>To mi pomohlo nazera\u0165 na veci in\u00fdmi o\u010dami a uvedomi\u0165 si, \u017ee predo mnou nie s\u00fa \u017eiadne \u0165a\u017ek\u00e9 \u00faseky k\u00f3du, ktor\u00fdch zlo\u017eitostiam sa nikdy nebudem schopn\u00fd prisp\u00f4sobi\u0165. S\u00fa to len vzory, s ktor\u00fdmi sa d\u00e1 bez probl\u00e9mov vyrovna\u0165, ak m\u00e1te dostato\u010dn\u00fa zvedavos\u0165 a h\u013abku ponorenia. Takto sa \u013eudia u\u010dia programova\u0165 a rast\u00fa ako v\u00fdvoj\u00e1ri.<\/p>\n<h4>Znovu vyn\u00e1lezte toto koleso<\/h4>\n<p>\nTak sa nebojte vyn\u00e1js\u0165 koles\u00e1: sami nap\u00ed\u0161te k\u00f3d na prepojenie \u00fadajov, vytvorte dom\u00e1ci pr\u00eds\u013eub alebo si dokonca vyrobte rie\u0161enie na spr\u00e1vu stavov. <br \/>\nNez\u00e1le\u017e\u00ed na tom, \u017ee to nikto nikdy nebude pou\u017e\u00edva\u0165 \u2013 teraz to u\u017e viete. A ak nesk\u00f4r dostanete mo\u017enos\u0165 pou\u017ei\u0165 tak\u00e9to v\u00fdstupy vo vlastn\u00fdch projektoch, bude to \u00faplne skvel\u00e9. M\u00f4\u017eete ich rozv\u00edja\u0165 a nau\u010d\u00edte sa nie\u010do nov\u00e9.<\/p>\n<p>Zmysel spo\u010d\u00edva v tom, \u017ee neide o to, aby ste poslali svoj k\u00f3d do produkcie, ale o to, aby ste sa nau\u010dili nie\u010do nov\u00e9. Samostatne p\u00edsa\u0165 implement\u00e1ciu u\u017e existuj\u00faceho rie\u0161enia je skvel\u00fd sp\u00f4sob, ako sa u\u010di\u0165 od najlep\u0161\u00edch program\u00e1torov a t\u00fdm zdokona\u013eova\u0165 svoje zru\u010dnosti.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/digital-ecosystems\/blog\/472006\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430 \u0434\u043d\u044f\u0445 \u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u043d\u0430 JavaScript, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u043e\u0432\u0430\u043b \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0441\u0435\u043d\u0438\u043e\u0440\u0430. \u041a\u043e\u043b\u043b\u0435\u0433\u0430, \u0442\u043e\u0436\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0432\u0448\u0438\u0439 \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438, \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043b \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0430 HTTP \u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u043b\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u041e\u043d \u043f\u0438\u0441\u0430\u043b \u043a\u043e\u0434 \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0434\u043e\u0441\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b \u0431\u044b\u043b\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u043d\u0435\u0447\u0442\u043e \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435. \u0415\u0441\u043b\u0438 \u0431\u044b \u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29315,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-39071","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.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430 \u0434\u043d\u044f\u0445 \u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u043d\u0430.\" \/>\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\/sk\/blog\/news\/pochemu-polezno-izobretat-kolyosa\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u043a\u043e\u043b\u0451\u0441\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430 \u0434\u043d\u044f\u0445 \u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u043d\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/pochemu-polezno-izobretat-kolyosa\" \/>\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:27:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:27:41+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\udd47Pre\u010do je u\u017eito\u010dn\u00e9 vynaliezat kola | ProHoster","description":"Ned\u00e1vno som viedol pohovor s v\u00fdvoj\u00e1rom na.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/pochemu-polezno-izobretat-kolyosa","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\u041f\u043e\u0447\u0435\u043c\u0443 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u043a\u043e\u043b\u0451\u0441\u0430 | ProHoster","og:description":"\u041d\u0430 \u0434\u043d\u044f\u0445 \u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c \u043d\u0430.","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/pochemu-polezno-izobretat-kolyosa","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:27:41+00:00","article:modified_time":"2019-10-31T19:27:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39071","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-24 00:37:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 23:16:10","updated":"2026-01-24 00:37:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/39071","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=39071"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/39071\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/29315"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=39071"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=39071"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=39071"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}