{"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\/novosti-interneta\/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. aasta algusest olen ma juhtinud arendusmeeskonda \u2013 kuidas iganes seda nimetada, aga oluline on see, et vastutan t\u00e4ielikult \u00fche mooduli ning k\u00f5igi arendajate eest, kes selle kallal t\u00f6\u00f6tavad. See positsioon avab mulle uue vaatenurga arendusprotsessile, kuna olen kaasatud rohkematesse projektidesse ja osalen aktiivsemalt otsuste tegemises. Hiljuti, t\u00e4nu nendele kahele asjaolule, olen ma ootamatult m\u00f5istnud, kui suurt m\u00f5ju omab arusaam koodile ja rakendusele.<\/p>\n<p>M\u00f5te, mida soovin edastada, seisneb selles, et koodi (ja l\u00f5pp-produkti) kvaliteet on tihedalt seotud sellega, kui teadlikud on inimesed, kes projekteerivad ja kirjutavad koodi, sellest, mida nad tegelikult teevad.<\/p>\n<p>Te v\u00f5ite justkui m\u00f5elda: \"Ait\u00e4h, kapten. Loomulikult oleks hea aru saada, mida \u00fcldse kirjutad. Vastasel juhul v\u00f5iksime sama h\u00e4sti palgata grupi ahve, et nad lihtsalt juhuslikult klahvidele toksiksid, ja sellega rahul olla.\" Ja te olete t\u00e4iesti \u00f5iged. Seega, ma oletan, et te m\u00f5istate, et on vajalik \u00fcldine arusaam sellest, mida teete. Seda v\u00f5iks nimetada arusaamise nulltasemeks, ja me ei hakka seda p\u00f5hjalikult k\u00e4sitlema. P\u00f5hjalikult k\u00e4sitleme, mida t\u00e4pselt on vaja m\u00f5ista ja kuidas see m\u00f5jutab otsuseid, mida te iga p\u00e4ev teete. Kui ma oleksin neid asju ette teadnud, oleks see mind vabastanud massilisest ajaraiskamisest ja kahtlasest koodist.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nKuigi allpool te ei n\u00e4e \u00fckski koodirida, pean siiski oluliseks, et k\u00f5ik, mida siin \u00f6eldakse, on kvaliteetse ja v\u00e4ljendusrikka koodi kirjutamise jaoks v\u00e4ga oluline. <\/p>\n<h4>Esimene arusaamistase: Miks see ei t\u00f6\u00f6ta?<\/h4>\n<p>\nSelle taseme saavutavad arendajad tavaliselt oma karj\u00e4\u00e4ri varases etapis, m\u00f5nikord isegi ilma v\u00e4lise abita \u2014 v\u00e4hemalt minu t\u00e4helepanekute kohaselt. Kujutage ette, et olete saanud veateate: m\u00f5ni rakenduse funktsioon ei toimi, seda tuleb parandada. Kuidas te k\u00e4itutate?<\/p>\n<p>Tavap\u00e4rane skeem on j\u00e4rgmine:<\/p>\n<ol>\n<li>Leida koodil\u00f5ik, mis p\u00f5hjustab probleemi (kuidas see toimub, on eraldi teema; seda k\u00e4sitlen oma raamatus vananenud koodi kohta)<\/li>\n<li>Teha selles l\u00f5igus muudatused<\/li>\n<li>Veenduda, et viga on parandatud ja regressive vigu ei ole tekkinud<\/li>\n<\/ol>\n<p>\nN\u00fc\u00fcd keskendume teisele punktile \u2014 muudatuste tegemisele koodis. On kaks l\u00e4henemist: esiteks, s\u00fcveneda praeguse koodi toimimisse, tuvastada viga ja see parandada. Teiseks: liikuda pimesi \u2014 lisada n\u00e4iteks +1 tingimuslikku operaatorisse v\u00f5i ts\u00fcklisse, vaadata, kas funktsioon toimib n\u00f5utud stsenaariumis, proovida siis veel midagi ja nii edasi l\u00f5putult.<\/p>\n<p>\u00d5ige l\u00e4henemine on esimene. Kuidas selgitab oma raamatus Code Complete Steve McConnell (soovitan seda raamatut kindlasti), iga kord, kui me koodis midagi muudame, peame olema v\u00f5imelised kindlalt ennustama, kuidas see rakendusele m\u00f5jub. Tsiteerin m\u00e4lust, kuid kui vea parandamine ei toimu nii, nagu sa ootasid, peaks see sind t\u00f5siselt muretsema, peate k\u00fcsimise alla seadma oma kogu tegevuskava.<\/p>\n<p>Kokkuv\u00f5ttes, et teostada korralikku vea parandamist, mis ei halvendaks koodi kvaliteeti, tuleb m\u00f5ista nii kogu koodi struktuuri kui ka konkreetse probleemi allikat.<\/p>\n<h4>Teine m\u00f5istmise tase: Miks see t\u00f6\u00f6tab?<\/h4>\n<p>\nSee tase on palju v\u00e4hem intuitiivselt m\u00f5istetav kui eelmine. Olles veel algaja arendaja, \u00f5ppisin selle ometi oma juhilt, hiljem olen korduvalt seda sama asja selgitanud algajatele.<\/p>\n<p>Seekord kujutame ette, et olete saanud kohe kaks vea aruannet: esimene puudutab stsenaariumi A, teine stsenaariumi B. M\u00f5lemal juhul on midagi valesti. Seega hakkate esmalt tegelema esimese veaga. J\u00e4rgides esimesel tasandil arusaamiseks v\u00e4lja t\u00f6\u00f6tatud p\u00f5him\u00f5tteid, uurite p\u00f5hjalikult koodi, mis on seotud probleemiga, selgitades v\u00e4lja, miks see paneb rakenduse k\u00e4ituma just nii stsenaariumis A, ning teete m\u00f5istlikud muudatused, mis annavad soovitud tulemuse. K\u00f5ik l\u00e4heb suurep\u00e4raselt.<\/p>\n<p>Seej\u00e4rel liigute stsenaariumisse B. Korratakse stsenaariumi, et proovida viga esile kutsuda, kuid \u2014 \u00fcllatus! \u2014 n\u00fc\u00fcd t\u00f6\u00f6tab k\u00f5ik nagu peab. Oma arvamuse kinnitamiseks t\u00fchistate muudatused, mis tehti vea A lahendamise k\u00e4igus, ja viga B ilmub tagasi. Teie vea parandamine lahendas m\u00f5lemad probleemid. \u00d5nnestus!<\/p>\n<p>Te ei oodanud seda \u00fcldse. Leidsid viisi, kuidas vea stsenaariumi A parandada, ja pole aimugi, miks see ka stsenaariumi B puhul t\u00f6\u00f6tas. Sel hetkel on suur kiusatus j\u00e4reldada, et m\u00f5lemad \u00fclesanded on edukalt t\u00e4idetud. See tundub loogiline: m\u00f5te oli ju vigade k\u00f5rvaldamises, eks? Kuid t\u00f6\u00f6 pole veel l\u00e4bi: pead v\u00e4lja selgitama, miks sinu tegevused parandasid vea stsenaariumis B. Miks? Sest see v\u00f5ib t\u00f6\u00f6tada vale p\u00f5him\u00f5ttel, ja siis pead otsima uut lahendust. Siin on paar n\u00e4idet sellistest olukordadest:<\/p>\n<ul>\n<li>Kuna lahendus ei olnud konkreetselt suunatud vea B lahendamisele, arvestamata k\u00f5iki tegureid, oled sa ehk tahtmatult purustanud funktsiooni C. <\/li>\n<li>Pole v\u00e4listatud, et kuskil peidab end veel kolmas bugin, mis on seotud sama funktsiooniga, ja su bugifiz maksab s\u00fcsteemi korrektse t\u00f6\u00f6 stsenaariumis B sellele. Praegu n\u00e4eb k\u00f5ik hea v\u00e4lja, kuid \u00fchel kaunil p\u00e4eval m\u00e4rgatakse seda kolmandat bugin ja see parandatakse. Siis tekib stsenaariumis B taas viga, ja oleks hea, kui see oleks vaid seal.<\/li>\n<\/ul>\n<p>\nSee, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see. <\/p>\n<h4>Kolmas arusaamistasand: Miks see t\u00f6\u00f6tab?<\/h4>\n<p>\nViimane arusaam, millega ma hiljuti kokku puutusin, on just see, ja ilmselt oleks mul selle m\u00f5istmine andnud veelgi rohkem eeliseid, kui ma oleksin selleni varem j\u00f5udnud.<\/p>\n<p>Selguse huvides v\u00f5tame n\u00e4ite: teie moodul peab olema \u00fchilduv funktsiooniga X. Teil ei ole funktsiooniga X eriti l\u00e4hedast tutvust, kuid teile on \u00f6eldud, et selle \u00fchilduvuse tagamiseks peate kasutama raamistikku F. Teised moodulid, mis integreeruvad X-iga, toimivad just selle raamistiku kaudu.<\/p>\n<p>Teie kood ei ole oma elu esimesest p\u00e4evast alates kunagi olnud seotud raamistikuga F, seet\u00f5ttu on selle rakendamine t\u00f5eliselt keeruline. See v\u00f5ib p\u00f5hjustada t\u00f5siseid tagaj\u00e4rgi m\u00f5ne mooduli komponendi jaoks. Sellegipoolest sukeldute s\u00fcgavale arendusse: kirjutate n\u00e4dalate kaupa koodi, testite, k\u00e4ivitate pilootversioone, saad foorumitelt tagasisidet, parandate regressioonivigu, avastate etten\u00e4gematuid komplikatsioone, ei pea algselt kokkulepitud t\u00e4htaegadest kinni, kirjutate veel natuke koodi, testite, saade tagasi ja parandate regressioonivigu \u2014 k\u00f5ik selleks, et rakendada raamistikku F.<\/p>\n<p>Ja mingil hetkel taipate j\u00e4rsku \u2014 v\u00f5i v\u00f5ib-olla kuulete kedagi \u00fctlevat \u2014 et raamistik F ei pruugi teile funktsiooni X \u00fchilduvust pakkuda. V\u00f5ib-olla on k\u00f5ik see aeg ja vaev pandud t\u00e4iesti valele asjale.<\/p>\n<p>Kordagi projektiga t\u00f6\u00f6tades juhtus midagi sarnast. Miks see nii l\u00e4ks? Sest ma ei m\u00f5istnud h\u00e4sti, mis on funktsiooni X olemus ja kuidas see seondub F raamistikuga. Kuidas oleksin pidanud toimima? Oli vaja k\u00fcsida inimeselt, kes antud \u00fclesande m\u00e4\u00e4rab, selgelt selgitada, kuidas kavandatud tegevuskava viib soovitud tulemuseni, selle asemel, et lihtsalt korrata seda, mis tehtud teiste moodulitega, v\u00f5i uskuda, et see on vajalik funktsiooni X toimimiseks.<\/p>\n<p>Selle projekti kogemus \u00f5petas mind keelduma arendusprotsessi alustamisest, kuni meil on selge arusaam, miks meid palutakse teatud tegevusi teha. Otseselt keelduma. Kui saad \u00fclesande, on esimene impuls - haarata sellest kohe kinni, et mitte aega raisata. Kuid poliitika \u201epeatame projekti, kuni m\u00f5istame k\u00f5iki detaile\u201c v\u00f5ib tuvastatud raisatud aja k\u00e4rpida terve hulga v\u00f5rra. <\/p>\n<p>Isegi kui keegi \u00fcritab teid survet avaldada ja sundida teid t\u00f6\u00f6le, kuigi te ei m\u00f5ista, miks see vajalik on \u2013 vastanduge sellele. Esiteks selgitage v\u00e4lja, millise eesm\u00e4rgi nimel teile selline \u00fclesanne antakse, ja otsustage, kas see on \u00f5ige tee eesm\u00e4rgi saavutamiseks. Ma pidin seda k\u00f5ike valusa kogemuse kaudu \u00f5ppima \u2013 loodan, et minu n\u00e4ide v\u00f5ib nende elu, kes seda loevad, kergemaks teha.<\/p>\n<h4>Neljas tasand arusaamisest: ???<\/h4>\n<p>\nProgrammeerimises on alati midagi uut \u00f5ppida ja usun, et olen puudutanud vaid teema arusaamise pindmisi kihte. Milliseid teisi arusaamiste tasandeid olete aastate jooksul koodiga t\u00f6\u00f6tades avastanud? Milliseid otsuseid olete teinud, mis on positiivselt m\u00f5jutanud koodi ja rakenduse kvaliteeti? Millised otsused osutusid valeiks ja andsid teile v\u00e4\u00e4rtuslikke \u00f5ppetunde? 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-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.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\/novosti-interneta\/ne-soglashajtes-razrabatyvat-to-chego-ne-ponimaete\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.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\/novosti-interneta\/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 ma ametis.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/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\/novosti-interneta\/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}]}}