{"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\/hr\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","title":{"rendered":"Ne pristajte na razvoj onoga \u0161to ne razumijete","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Ne pristajte na razvoj onoga \u0161to ne razumijete\" src=\"\/wp-content\/uploads\/2019\/07\/bfd609d9004113a76d59d8763d82c6d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOd po\u010detka 2018. godine obna\u0161am du\u017enost vo\u0111e\/\u0161efa\/vode\u0107eg programera u timu \u2014 kako god \u017eelite to nazvati, bitno je da sam potpuno odgovoran za jedan od modula i za sve programere koji na njemu rade. Ova pozicija mi otvara novi pogled na proces razvoja jer sam uklju\u010d\u0435\u043d u ve\u0107i broj projekata i aktivnije sudjelujem u dono\u0161enju odluka. Nedavno, zahvaljuju\u0107i ova dva okolnosti, iznenada sam shvatio koliko znanje utje\u010de na kod i na aplikaciju.<\/p>\n<p>Misao koju \u017eelim izraziti svodi se na to da je kvaliteta koda (i kona\u010dnog proizvoda) usko povezana s tim koliko ljudi koji se bave dizajnom i pi\u0161u kod, svjesni su onoga \u0161to zapravo rade.<\/p>\n<p>Mo\u017eda sada mislite: \u201eHvala, kapetane. Naravno, bilo bi dobro razumjeti \u0161to uop\u0107e pi\u0161e\u0161. U suprotnom, s istim uspjehom mo\u017eemo unajmiti grupu majmuna da udaraju po nasumi\u010dnim tipkama i time se smiriti.\u201c I potpuno ste u pravu. Stoga prihva\u0107am kao \u010dinjenicu: svjesni ste da imati op\u0107e razumijevanje onoga \u0161to radite, jest neophodno. To mo\u017eemo nazvati nultim nivoom razumijevanja, i njega ne\u0107emo detaljno razra\u0111ivati. Detaljno \u0107emo obraditi \u0161to to\u010dno treba razumjeti i kako to utje\u010de na odluke koje donosite svaki dan. Da sam znao te stvari ranije, to bi me oslobodilo mno\u0161tva izgubljenog vremena i sumnjivog koda.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nIako dolje ne\u0107ete vidjeti ni jednu liniju koda, ipak smatram da sve \u0161to je ovdje re\u010deno ima velik zna\u010daj za pisanje kvalitetnog, izrazitog koda. <\/p>\n<h4>Prvi nivo razumijevanja: Za\u0161to ne radi?<\/h4>\n<p>\nNa ovaj nivo programeri obi\u010dno dolaze u najranijim fazama svoje karijere, ponekad \u010dak i bez i\u010dije pomo\u0107i \u2014 barem prema mojim zapa\u017eanjima. Zamislite da ste dobili bug report: neka funkcija u aplikaciji ne radi, treba je popraviti. Kako \u0107ete postupiti?<\/p>\n<p>Standardna shema izgleda ovako:<\/p>\n<ol>\n<li>Prona\u0107i dio koda koji izaziva problem (kako to u\u010diniti \u2014 posebna je tema koju razra\u0111ujem u svojoj knjizi o zastarjelom kodu)<\/li>\n<li>Unijeti promjene u taj dio koda<\/li>\n<li>Provjeriti je li bug ispravljen i da regresivne pogre\u0161ke nisu nastale<\/li>\n<\/ol>\n<p>\nSada \u0107emo se usredoto\u010diti na drugi dio \u2014 promjenu u kodu. Postoje dva pristupa ovom procesu. Prvi: razumjeti \u0161to se to\u010dno doga\u0111a u trenutnom kodu, otkriti gre\u0161ku i ispraviti je. Drugi: kretati se nasumice \u2014 dodati, recimo, +1 u uvjetni operator ili petlju, vidjeti ho\u0107e li to funkcionirati u potrebnom scenariju, a zatim isprobavati jo\u0161 ne\u0161to i tako unedogled.<\/p>\n<p>Ispravan pristup je prvi. Kao \u0161to u svojoj knjizi Code Complete obja\u0161njava Steve McConnell (ina\u010de, jako je preporu\u010dujem), svaki put kada ne\u0161to mijenjamo u kodu, trebali bismo biti sposobni s povjerenjem predvidjeti kako \u0107e to utjecati na aplikaciju. Citiram iz sje\u0107anja, ali ako popravak gre\u0161ke ne funkcionira kako ste o\u010dekivali, to bi vas trebalo ozbiljno zabrinuti, trebali biste preispitati \u010ditav svoj plan.<\/p>\n<p>Sve u svemu, kako bi se izvr\u0161ilo kvalitetno ispravljanje gre\u0161ke koje ne\u0107e pogor\u0161ati kvalitetu koda, potrebno je razumjeti i cijelu strukturu koda i izvor konkretne problematike.<\/p>\n<h4>Druga razina razumijevanja: Za\u0161to to radi?<\/h4>\n<p>\nOva razina se shva\u0107a mnogo manje intuitivno od prethodne. Kao mladi programer, usvojio sam je zahvaljuju\u0107i svom \u0161efu, a kasnije sam je vi\u0161e puta obja\u0161njavao po\u010detnicima.<\/p>\n<p>Ovaj put zamislite da ste primili dva izvje\u0161taja o gre\u0161ci: prvi se odnosi na scenarij A, a drugi na scenarij B. U oba scenarija ne\u0161to nije u redu. Prema tome, prvo se bavite prvim problemom. Slijede\u0107i principe koje smo odredili za prvu razinu razumijevanja, pa\u017eljivo prou\u010davate kod povezan s problemom, otkrivate za\u0161to aplikacija reagira na odre\u0111eni na\u010din u scenariju A i unosite razumne ispravke koje daju to\u010dno onaj rezultat kojeg ste o\u010dekivali. Sve ide odli\u010dno.<\/p>\n<p>Nakon toga prelazite na scenarij B. Ponovno provodite scenarij u poku\u0161aju da izazovete gre\u0161ku, ali \u2014 iznena\u0111enje! \u2014 sada sve funkcionira kako treba. Da biste potvrdili svoju pretpostavku, poni\u0161tavate promjene napravljene tijekom rada na gre\u0161ci A, a gre\u0161ka B se ponovno pojavljuje. Va\u0161e ispravljanje gre\u0161ke rije\u0161ilo je oba problema. Imate sre\u0107e!<\/p>\n<p>Niste se nadali da \u0107e to tako ispasti. Smislili ste na\u010din da ispravite gre\u0161ku u scenariju A i nemate pojma za\u0161to je to uspelo u scenariju B. U ovoj fazi postoji velika isku\u0161enja da se zaklju\u010di da su oba zadatka uspe\u0161no zavr\u0161ena. To ima smisla: kona\u010dno, svrha je bila ispraviti gre\u0161ke, zar ne? Ali rad jo\u0161 nije gotov: morate se jo\u0161 pozabaviti pitanjem za\u0161to su va\u0161e radnje ispravile gre\u0161ku u scenariju B. Za\u0161to? Zato \u0161to mo\u017eda koristi pogre\u0161ne principe, i tada \u0107ete morati da potra\u017eite drugo re\u0161enje. Evo nekoliko primera takvih slu\u010dajeva:<\/p>\n<ul>\n<li>po\u0161to re\u0161enje nije odabrano ciljano za gre\u0161ku B uzimaju\u0107i u obzir sve faktore, mo\u017eda ste nesvesno pokvarili funkciju C. <\/li>\n<li>Nije isklju\u010deno da se negde krije jo\u0161 jedna gre\u0161ka, povezana sa istom funkcijom, i va\u0161a ispravka gre\u0161ke ru\u0161i pravilno funkcionisanje sistema u scenariju B na njoj. Trenutno sve izgleda dobro, ali jednog dana \u0107e ta tre\u0107a gre\u0161ka biti prime\u0107ena i ispravljena. Tada \u0107e se u scenariju B opet javiti gre\u0161ka, i dobro je ako samo tamo.<\/li>\n<\/ul>\n<p>\nSve to unosi haos u kod i jednog dana \u0107e vam se obiti o glavu \u2014 verovatno u najneprikladnijem trenutku. Mora\u0107ete da saberete misli i naterate se da odvojite vreme da shvatite za\u0161to sve na prvi pogled funkcioni\u0161e, ali se isplati. <\/p>\n<h4>Tre\u0107i nivo razumevanja: Za\u0161to to radi?<\/h4>\n<p>\nMoje nedavno otkrovenje se odnosi upravo na ovaj nivo, i verovatno bi mi on davao najvi\u0161e prednosti da sam do ove misli do\u0161ao ranije.<\/p>\n<p>Da bude jasnije, razmotrimo primer: va\u0161 modul treba da bude kompatibilan sa funkcijom X. Niste posebno bliski sa funkcijom X, ali vam je re\u010deno da za kompatibilnost sa njom treba koristiti okvir F. Drugi moduli koji se integri\u0161u sa X funkcioni\u0161u upravo s njim.<\/p>\n<p>Va\u0161 kod od prvog dana svog postojanja nije imao nikakve veze s frameworkom F, pa \u0107e njegovo implementiranje biti pravo isku\u0161enje. To \u0107e donijeti ozbiljne posljedice za neke aspekte modula. Ipak, potpuno se posve\u0107ujete razvoju: tjednima pi\u0161ete kod, testirate, izdavate pilot verzije, dobivate povratne informacije, ispravljate regresijske gre\u0161ke, otkrivate nepredvi\u0111ene komplikacije, ne uspijevate se uklopiti u prvotno dogovorene rokove, pi\u0161ete jo\u0161 koda, testirate, dobijate povratne informacije, ispravljate regresijske gre\u0161ke \u2014 sve to s ciljem da implementirate framework F.<\/p>\n<p>I u jednom trenutku odjednom shvatite \u2014 ili mo\u017eda \u010dujete od nekoga \u2014 da vam framework F mo\u017eda ne\u0107e omogu\u0107iti kompatibilnost s funkcijom X. Mo\u017eda su svi ti trud i vrijeme bili usmjereni pogre\u0161no.<\/p>\n<p>Ne\u0161to sli\u010dno dogodilo se jednog dana tijekom rada na projektu za koji sam bio zadu\u017een. Za\u0161to se to dogodilo? Zato \u0161to nisam dobro razumio \u0161to je su\u0161tina funkcije X i kako je povezana s frameworkom F. \u0160to sam trebao u\u010diniti? Zamoliti osobu koja postavlja zadatak za razvoj da mi jasno objasni kako planirani postupak vodi do \u017eeljenog ishoda, umjesto da jednostavno ponavljam ono \u0161to je ra\u0111eno za druge module ili da vjerujem na rije\u010d da je to potrebno za rad funkcije X.<\/p>\n<p>Iskustvo ovog projekta nau\u010dilo me je da odbijem zapo\u010deti proces razvoja dok nemamo jasno razumijevanje za\u0161to nas tra\u017ee da izvr\u0161imo odre\u0111ene radnje. Odbiti izravno. Kada dobijete zadatak, prvi instinkt je hitno se njime uhvatiti u ko\u0161tac, kako ne biste gubili vrijeme. No, politika \"smrzavanja projekta dok ne u\u0111emo u sve detalje\" mo\u017ee zna\u010dajno smanjiti bespotrebno izgubljeno vrijeme. <\/p>\n<p>\u010cak i kada vas poku\u0161avaju natjerati da zapo\u010dnete rad, iako ne razumijete razloge \u2014 odupirite se. Prvo istra\u017eite s kojim ciljem vam postavljaju takav zadatak, i odlu\u010dite je li to pravi put do cilja. Sve sam ovo morao nau\u010diti na gorkom iskustvu \u2014 nadam se da \u0107e moj primjer olak\u0161ati \u017eivot onima koji ovo \u010ditaju.<\/p>\n<h4>\u010cetvrta razina razumijevanja: ???<\/h4>\n<p>\nU programiranju uvijek ima\u0161 \u010demu u\u010diti, i vjerujem da sam se samo dotaknuo najosnovnijih slojeva razumijevanja. Koje ste jo\u0161 razine razumijevanja otkrili tijekom godina rada s kodom? Koje ste odluke donijeli koje su pozitivno utjecale na kvalitetu koda i aplikacija? Koje su odluke bile pogre\u0161ne i pru\u017eile vam dragocjenu lekciju? Podijelite svoje iskustvo u komentarima.<br \/>\n<br \/>Izvor: <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.4 - 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\/hr\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/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\udd47Ne pristajte na razvoj onoga \u0161to ne razumijete | ProHoster","description":"Od po\u010detka 2018. godine obavljam tu funkciju.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/36115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=36115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/36115\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/27008"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=36115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=36115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=36115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}