{"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\/cs\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","title":{"rendered":"Nesouhlas\u00edte s v\u00fdvojem n\u011b\u010deho, \u010demu nerozum\u00edte.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Nesouhlas\u00edte s v\u00fdvojem n\u011b\u010deho, \u010demu nerozum\u00edte.\" src=\"\/wp-content\/uploads\/2019\/07\/bfd609d9004113a76d59d8763d82c6d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOd za\u010d\u00e1tku roku 2018 zast\u00e1v\u00e1m pozici vedouc\u00edho\/\u0161\u00e9fa\/hlavn\u00edho v\u00fdvoj\u00e1\u0159e v t\u00fdmu \u2014 \u0159\u00edkejte tomu, jak chcete, ale podstata je ta, \u017ee jsem pln\u011b zodpov\u011bdn\u00fd za jeden z modul\u016f a za v\u0161echny v\u00fdvoj\u00e1\u0159e, kte\u0159\u00ed na n\u011bm pracuj\u00ed. Tato pozice mi otev\u00edr\u00e1 nov\u00fd pohled na proces v\u00fdvoje, proto\u017ee jsem zapojen do v\u011bt\u0161\u00edho po\u010dtu projekt\u016f a aktivn\u011bji se pod\u00edl\u00edm na rozhodov\u00e1n\u00ed. Ned\u00e1vno jsem d\u00edky t\u011bmto dv\u011bma okolnostem neo\u010dek\u00e1van\u011b pochopil, jak siln\u011b m\u011bra porozum\u011bn\u00ed ovliv\u0148uje k\u00f3d a aplikaci.<\/p>\n<p>My\u0161lenka, kterou chci vyj\u00e1d\u0159it, spo\u010d\u00edv\u00e1 v tom, \u017ee kvalita k\u00f3du (a kone\u010dn\u00e9ho produktu) \u00fazce souvis\u00ed s t\u00edm, jak si lid\u00e9, kte\u0159\u00ed se pod\u00edlej\u00ed na n\u00e1vrhu a p\u00ed\u0161\u00ed k\u00f3d, uv\u011bdomuj\u00ed, co vlastn\u011b d\u011blaj\u00ed.<\/p>\n<p>Mo\u017en\u00e1 si nyn\u00ed \u0159\u00edk\u00e1te: \u00abD\u011bkuji, kapit\u00e1ne. Samoz\u0159ejm\u011b by nebylo \u0161patn\u00e9 rozum\u011bt tomu, co vlastn\u011b p\u00ed\u0161ete. Jinak bychom mohli stejn\u011b tak najmout skupinu opic, aby ml\u00e1tili do n\u00e1hodn\u00fdch kl\u00e1ves a t\u00edm to ukon\u010dili.\u00bb A m\u00e1te zcela pravdu. P\u0159ij\u00edm\u00e1m tedy jako samoz\u0159ejmost, \u017ee si uv\u011bdomujete, \u017ee m\u00edt obecn\u00e9 pov\u011bdom\u00ed o tom, co d\u011bl\u00e1te, je nezbytn\u00e9. To bychom mohli nazvat nulovou \u00farovn\u00ed porozum\u011bn\u00ed a tu nebudeme podrobn\u011b rozeb\u00edrat. Podrobn\u011b se budeme v\u011bnovat tomu, co je pot\u0159eba ch\u00e1pat a jak se to odr\u00e1\u017e\u00ed na rozhodnut\u00edch, kter\u00e1 ka\u017ed\u00fd den p\u0159ij\u00edm\u00e1te. Kdybych tyto v\u011bci znal p\u0159edem, u\u0161et\u0159ilo by mi to spoustu \u010dasu a nejist\u00e9ho k\u00f3du.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nI kdy\u017e n\u00ed\u017ee neuvid\u00edte ani jeden \u0159\u00e1dek k\u00f3du, st\u00e1le si mysl\u00edm, \u017ee v\u0161e, co zde bylo \u0159e\u010deno, m\u00e1 velk\u00fd v\u00fdznam pro psan\u00ed kvalitn\u00edho, v\u00fdsti\u017en\u00e9ho k\u00f3du. <\/p>\n<h4>Prvn\u00ed \u00farove\u0148 porozum\u011bn\u00ed: Pro\u010d to nefunguje?<\/h4>\n<p>\nNa tuto \u00farove\u0148 obvykle v\u00fdvoj\u00e1\u0159i p\u0159ich\u00e1zej\u00ed na sam\u00e9m po\u010d\u00e1tku sv\u00e9 kari\u00e9ry, n\u011bkdy dokonce i bez jak\u00e9koli pomoci z okol\u00ed \u2014 alespo\u0148 podle m\u00fdch pozorov\u00e1n\u00ed. P\u0159edstavte si, \u017ee jste dostali zpr\u00e1vu o chyb\u011b: n\u011bjak\u00e1 funkce v aplikaci nefunguje, je t\u0159eba ji opravit. Jak budete postupovat?<\/p>\n<p>Standardn\u00ed sch\u00e9ma vypad\u00e1 takto:<\/p>\n<ol>\n<li>Naj\u00edt fragment k\u00f3du, kter\u00fd zp\u016fsobuje probl\u00e9m (jak se to d\u011bl\u00e1 \u2014 to je samostatn\u00e9 t\u00e9ma, kter\u00e9 rozeb\u00edr\u00e1m ve sv\u00e9 knize o zastaral\u00e9m k\u00f3du)<\/li>\n<li>Prov\u00e9st zm\u011bny v tomto fragmentu<\/li>\n<li>Ujist\u011bte se, \u017ee chyba byla opravena a nevznikly \u017e\u00e1dn\u00e9 regresn\u00ed chyby.<\/li>\n<\/ol>\n<p>\nNyn\u00ed se zam\u011b\u0159\u00edme na druh\u00fd bod - proveden\u00ed zm\u011bn v k\u00f3du. Existuj\u00ed dva p\u0159\u00edstupy k tomuto procesu. Prvn\u00ed: pochopit, co p\u0159esn\u011b se d\u011bje v aktu\u00e1ln\u00edm k\u00f3du, identifikovat chybu a opravit ji. Druh\u00fd: postupovat metodou pokusu a omylu - p\u0159idat t\u0159eba +1 do podm\u00ednkov\u00e9ho p\u0159\u00edkazu nebo cyklu, pod\u00edvat se, jestli funkce nefunguje ve spr\u00e1vn\u00e9m sc\u00e9n\u00e1\u0159i, pak zkusit n\u011bco dal\u0161\u00edho a tak d\u00e1le do nekone\u010dna.<\/p>\n<p>Spr\u00e1vn\u00fd p\u0159\u00edstup je prvn\u00ed. Jak vysv\u011btluje ve sv\u00e9 knize Code Complete Steve McConnell (mimochodem, velmi ji doporu\u010duji), ka\u017ed\u00fdkr\u00e1t, kdy\u017e n\u011bco m\u011bn\u00edme v k\u00f3du, mus\u00edme b\u00fdt schopni s jistotou p\u0159edpov\u011bd\u011bt, jak to ovlivn\u00ed aplikaci. Cituji z pam\u011bti, ale pokud oprava chyby nefunguje tak, jak o\u010dek\u00e1v\u00e1te, m\u011blo by v\u00e1s to velmi znepokojit, m\u011bli byste zpochybnit cel\u00fd sv\u016fj pl\u00e1n.<\/p>\n<p>Shrneme-li, k tomu, abychom provedli kvalitn\u00ed opravu chyby, kter\u00e1 nezhor\u0161\u00ed kvalitu k\u00f3du, mus\u00edme rozum\u011bt nejen cel\u00e9 struktu\u0159e k\u00f3du, ale i zdroji konkr\u00e9tn\u00edho probl\u00e9mu.<\/p>\n<h4>Druh\u00fd stupe\u0148 porozum\u011bn\u00ed: Pro\u010d to funguje?<\/h4>\n<p>\nTento stupe\u0148 se dosahuje mnohem m\u00e9n\u011b intuitivn\u011b ne\u017e p\u0159edchoz\u00ed. Kdy\u017e jsem byl je\u0161t\u011b za\u010d\u00ednaj\u00edc\u00edm v\u00fdvoj\u00e1\u0159em, osvojil jsem si ho d\u00edky sv\u00e9mu vedouc\u00edmu a pozd\u011bji jsem opakovan\u011b vysv\u011btloval podstatu v\u011bci nov\u00e1\u010dk\u016fm.<\/p>\n<p>Tentokr\u00e1t si p\u0159edstavte, \u017ee v\u00e1m dorazily najednou dva bug reporty: v prvn\u00edm se jedn\u00e1 o sc\u00e9n\u00e1\u0159 A, ve druh\u00e9m - o sc\u00e9n\u00e1\u0159 B. V obou sc\u00e9n\u00e1\u0159\u00edch se n\u011bco ned\u011bje tak, jak m\u00e1. Odpov\u00eddaj\u00edc\u00edm zp\u016fsobem se nejprve pust\u00edte do prvn\u00edho bugu. \u0158\u00edd\u00edte se principy, kter\u00e9 jsme vyvodili pro prvn\u00ed \u00farove\u0148 porozum\u011bn\u00ed, a pe\u010dliv\u011b se zab\u00fdv\u00e1te k\u00f3dem souvisej\u00edc\u00edm s probl\u00e9mem, zji\u0161\u0165ujete, pro\u010d zp\u016fsobuje, \u017ee se aplikace chov\u00e1 tak v sc\u00e9n\u00e1\u0159i A, a prov\u00e1d\u00edte rozumn\u00e9 \u00fapravy, kter\u00e9 p\u0159inesou ten v\u00fdsledek, kter\u00fd o\u010dek\u00e1v\u00e1te. V\u0161echno jde skv\u011ble.<\/p>\n<p>Pot\u00e9 se p\u0159esu\u0148te k sc\u00e9n\u00e1\u0159i B. Opakujete sc\u00e9n\u00e1\u0159, abyste se pokusili vyvolat chybu, ale - p\u0159ekvapen\u00ed! - nyn\u00ed v\u0161echno funguje, jak m\u00e1. Abychom potvrdili svou domn\u011bnku, vr\u00e1t\u00edte zp\u011bt zm\u011bny proveden\u00e9 b\u011bhem pr\u00e1ce na chyb\u011b A, a chyba B se znovu objev\u00ed. Va\u0161e oprava chyby vy\u0159e\u0161ila oba probl\u00e9my. M\u011bli jste \u0161t\u011bst\u00ed!<\/p>\n<p>Toto rozhodn\u011b nebylo n\u011bco, na co jste spol\u00e9hal. Vymysleli jste zp\u016fsob, jak opravit chybu ve sc\u00e9n\u00e1\u0159i A, a nem\u00e1te tu\u0161en\u00ed, pro\u010d fungoval i pro sc\u00e9n\u00e1\u0159 B. V t\u00e9to f\u00e1zi je velmi siln\u00e9 poku\u0161en\u00ed rozhodnout se, \u017ee ob\u011b \u00falohy byly \u00fasp\u011b\u0161n\u011b spln\u011bny. To d\u00e1v\u00e1 smysl: c\u00edlem bylo p\u0159ece odstranit chyby, \u017ee? Ale pr\u00e1ce je\u0161t\u011b nen\u00ed hotov\u00e1: mus\u00edte se je\u0161t\u011b vypo\u0159\u00e1dat s t\u00edm, pro\u010d va\u0161e akce opravily chybu ve sc\u00e9n\u00e1\u0159i B. Pro\u010d? Proto\u017ee mo\u017en\u00e1 funguje na nespr\u00e1vn\u00fdch principech, a pak budete muset hledat jin\u00e9 \u0159e\u0161en\u00ed. Tady je p\u00e1r p\u0159\u00edklad\u016f takov\u00fdch p\u0159\u00edpad\u016f:<\/p>\n<ul>\n<li>proto\u017ee \u0159e\u0161en\u00ed nebylo c\u00edlen\u011b p\u0159izp\u016fsobeno chyb\u011b B se zohledn\u011bn\u00edm v\u0161ech faktor\u016f, mo\u017en\u00e1 jste, ani\u017e byste to tu\u0161ili, rozbili funkci C. <\/li>\n<li>nelze vylou\u010dit, \u017ee n\u011bkde se skr\u00fdv\u00e1 je\u0161t\u011b t\u0159et\u00ed chyba souvisej\u00edc\u00ed se stejnou funkc\u00ed, a va\u0161e opravy chyby zp\u016fsobuj\u00ed, \u017ee syst\u00e9m ve sc\u00e9n\u00e1\u0159i B funguje na n\u00ed. Te\u010f to vypad\u00e1 dob\u0159e, ale jednoho dne si t\u00e9to t\u0159et\u00ed chyby n\u011bkdo v\u0161imne a oprav\u00ed ji. Pak ve sc\u00e9n\u00e1\u0159i B op\u011bt vznikne chyba, a to by bylo dobr\u00e9 jen tam.<\/li>\n<\/ul>\n<p>\nTo v\u0161e vn\u00e1\u0161\u00ed do k\u00f3du chaoti\u010dnost a jednoho dne v\u00e1m to spadne na hlavu \u2014 pravd\u011bpodobn\u011b v nejm\u00e9n\u011b vhodnou chv\u00edli. Budete muset sebrat odvahu, abyste si dali \u010das na pochopen\u00ed toho, pro\u010d v\u0161e na prvn\u00ed pohled funguje, ale stoj\u00ed to za to. <\/p>\n<h4>T\u0159et\u00ed \u00farove\u0148 porozum\u011bn\u00ed: Pro\u010d to funguje?<\/h4>\n<p>\nMoje ned\u00e1vn\u00e9 osv\u011btlen\u00ed souvis\u00ed pr\u00e1v\u011b s touto \u00farovn\u00ed a pravd\u011bpodobn\u011b by mi p\u0159ineslo nejv\u00edce v\u00fdhod, kdybych na tuto my\u0161lenku p\u0159i\u0161el d\u0159\u00edve.<\/p>\n<p>Aby to bylo jasn\u011bj\u0161\u00ed, pod\u00edvejme se na p\u0159\u00edklad: v\u00e1\u0161 modul mus\u00ed b\u00fdt kompatibiln\u00ed s funkc\u00ed X. Nejste s funkc\u00ed X p\u0159\u00edli\u0161 bl\u00edzko sezn\u00e1meni, ale bylo v\u00e1m \u0159e\u010deno, \u017ee pro kompatibilitu s n\u00ed mus\u00edte pou\u017e\u00edvat r\u00e1mec F. Ostatn\u00ed moduly, kter\u00e9 se integruj\u00ed s X, p\u0159esn\u011b s n\u00edm pracuj\u00ed.<\/p>\n<p>V\u00e1\u0161 k\u00f3d od prvn\u00edho dne sv\u00e9 existence v\u016fbec nekomunikoval s r\u00e1mcem F, a proto jeho implementace nebude v\u016fbec jednoduch\u00e1. To povede k v\u00e1\u017en\u00fdm d\u016fsledk\u016fm pro n\u011bkter\u00e9 komponenty modulu. Nicm\u00e9n\u011b, pono\u0159ujete se do v\u00fdvoje: t\u00fddny p\u00ed\u0161ete k\u00f3d, testujete, vyd\u00e1v\u00e1te pilotn\u00ed verze, z\u00edsk\u00e1v\u00e1te zp\u011btnou vazbu, opravujete regresn\u00ed chyby, objevujete nepl\u00e1novan\u00e9 komplikace, nest\u00edh\u00e1te p\u016fvodn\u011b stanoven\u00e9 term\u00edny, p\u00ed\u0161ete dal\u0161\u00ed k\u00f3d, testujete, z\u00edsk\u00e1v\u00e1te zp\u011btnou vazbu, opravujete regresn\u00ed chyby \u2014 to v\u0161e za \u00fa\u010delem implementace r\u00e1mce F.<\/p>\n<p>A v jednu chv\u00edli si najednou uv\u011bdom\u00edte \u2014 nebo mo\u017en\u00e1 sly\u0161\u00edte od n\u011bkoho \u2014 \u017ee r\u00e1mec F v\u00e1m mo\u017en\u00e1 v\u016fbec neposkytne kompatibilitu s funkc\u00ed X. Mo\u017en\u00e1, \u017ee ve\u0161ker\u00fd v\u00e1\u0161 \u010das a \u00fasil\u00ed byly v\u011bnov\u00e1ny zcela n\u011b\u010demu jin\u00e9mu.<\/p>\n<p>N\u011bco podobn\u00e9ho se jednou stalo b\u011bhem pr\u00e1ce na projektu, za kter\u00fd jsem byl odpov\u011bdn\u00fd. Pro\u010d k tomu do\u0161lo? Proto\u017ee jsem \u0161patn\u011b ch\u00e1pal, v \u010dem spo\u010d\u00edv\u00e1 funkce X a jak souvis\u00ed s r\u00e1mcem F. Jak jsem m\u011bl postupovat? Po\u017e\u00e1dat osobu, kter\u00e1 zad\u00e1v\u00e1 \u00fakol do v\u00fdvoje, aby srozumiteln\u011b vysv\u011btlila, jak pl\u00e1novan\u00e9 kroky vedou k \u017e\u00e1douc\u00edmu v\u00fdsledku, m\u00edsto aby se jen opakovalo to, co bylo d\u011bl\u00e1no pro jin\u00e9 moduly, nebo v\u011b\u0159ilo na slovo, \u017ee to tak mus\u00ed b\u00fdt pro funkci X.<\/p>\n<p>Zku\u0161enost tohoto projektu m\u011b nau\u010dila odm\u00edtat za\u010d\u00ednat proces v\u00fdvoje, dokud nem\u00e1me jasn\u00e9 porozum\u011bn\u00ed tomu, pro\u010d n\u00e1s \u017e\u00e1daj\u00ed o ur\u010dit\u00e9 \u00fakony. O odm\u00edt\u00e1n\u00ed p\u0159\u00edmo a bez obalu. Kdy\u017e dostanete \u00fakol, prvn\u00edm impulsem je okam\u017eit\u011b se do n\u011bj pustit, abyste neztr\u00e1celi \u010das. Ale politika \"zmrazit projekt, dokud se neprozkoum\u00e1 v\u0161echno do detail\u016f\" m\u016f\u017ee u\u0161et\u0159it \u010das, kter\u00fd by jinak byl promrh\u00e1n, o cel\u00e9 \u0159\u00e1dy. <\/p>\n<p>I kdy\u017e na v\u00e1s n\u011bkdo tla\u010d\u00ed a sna\u017e\u00ed se v\u00e1s p\u0159im\u011bt, abyste za\u010dali pracovat, p\u0159esto\u017ee nech\u00e1pete, na \u010dem to je zalo\u017eeno \u2014 odol\u00e1vejte. Nejprve si ujasn\u011bte, s jak\u00fdm c\u00edlem v\u00e1m tento \u00fakol d\u00e1vaj\u00ed, a rozhodn\u011bte se, zda je to spr\u00e1vn\u00e1 cesta k c\u00edli. Musel jsem se to v\u0161echno nau\u010dit na ho\u0159k\u00fdch zku\u0161enostech \u2014 douf\u00e1m, \u017ee m\u00e9mu p\u0159\u00edkladu zp\u0159\u00edstupn\u00ed \u017eivot t\u011bm, kte\u0159\u00ed to \u010dtou.<\/p>\n<h4>\u010ctvrt\u00e1 \u00farove\u0148 porozum\u011bn\u00ed: ???<\/h4>\n<p>\nV programov\u00e1n\u00ed se v\u017edy je co nau\u010dit, a domn\u00edv\u00e1m se, \u017ee jsem se dotkl jen nejz\u00e1kladn\u011bj\u0161\u00edch vrstev t\u00e9matu porozum\u011bn\u00ed. Jak\u00e9 dal\u0161\u00ed \u00farovn\u011b porozum\u011bn\u00ed jste objevili za roky pr\u00e1ce s k\u00f3dem? Jak\u00e1 rozhodnut\u00ed m\u011bla pozitivn\u00ed dopad na kvalitu k\u00f3du a aplikace? Kter\u00e1 rozhodnut\u00ed se uk\u00e1zala jako chybn\u00e1 a dala v\u00e1m cennou lekci? Pod\u011blte se o sv\u00e9 zku\u0161enosti v koment\u00e1\u0159\u00edch.<br \/>\n<br \/>Zdroj: <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.3 - 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\/cs\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Nesouhlas\u00edte s v\u00fdvojem toho, \u010demu nerozum\u00edte | ProHoster","description":"Od za\u010d\u00e1tku roku 2018 zast\u00e1v\u00e1m pozici.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/36115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=36115"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/36115\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/27008"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=36115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=36115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=36115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}