{"id":360,"date":"2021-09-09T20:53:03","date_gmt":"2021-09-09T18:53:03","guid":{"rendered":"http:\/\/spireng.sk\/?p=360"},"modified":"2025-02-23T09:50:50","modified_gmt":"2025-02-23T08:50:50","slug":"udrzatelna-architektura","status":"publish","type":"post","link":"https:\/\/spireng.sk\/en\/udrzatelna-architektura\/","title":{"rendered":"Udr\u017eate\u013en\u00e1 architekt\u00fara"},"content":{"rendered":"<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"305\" height=\"400\" src=\"https:\/\/spireng.sk\/wp-content\/uploads\/2021\/09\/sda4f6sda54.jpg\" alt=\"\" class=\"wp-image-362\" srcset=\"https:\/\/spireng.sk\/wp-content\/uploads\/2021\/09\/sda4f6sda54.jpg 305w, https:\/\/spireng.sk\/wp-content\/uploads\/2021\/09\/sda4f6sda54-229x300.jpg 229w\" sizes=\"auto, (max-width: 305px) 100vw, 305px\" \/><\/figure><\/div>\n\n\n\n<p>V&nbsp;dne\u0161nej dobe nie je \u0165a\u017ek\u00e9\nnap\u00edsa\u0165 softv\u00e9r. Materi\u00e1lov o&nbsp;tom, ako programova\u0165, sa d\u00e1 n\u00e1js\u0165 na\ninternete mnoho, a&nbsp;ve\u013ea v\u00fdvojov\u00fdch prostred\u00ed a&nbsp;platforiem je zadarmo.\nNap\u00edsa\u0165 nejako softv\u00e9r nie je naozaj \u0165a\u017ek\u00e9. \u010co je \u0165a\u017ek\u00e9, je nap\u00edsa\u0165 softv\u00e9r,\nktor\u00fd sa aj o&nbsp;5 rokov \u010fal\u0161ieho v\u00fdvoja a&nbsp;opravy ch\u00fdb bude vyv\u00edja\u0165 rovnako\njednoducho ako na za\u010diatku. To je ozajstn\u00fd ukazovate\u013e toho, \u010di vie niekto len\np\u00edsa\u0165 k\u00f3d alebo tvori\u0165 softv\u00e9r. A&nbsp;z\u00e1kladom dobr\u00e9ho softv\u00e9ru je dobr\u00e1\narchitekt\u00fara. Tak\u00e1, ktor\u00e1 sa vie meni\u0165 a&nbsp;pritom zachova\u0165 k\u013e\u00fa\u010dov\u00e9\nvlastnosti. Dnes sa pozrieme na knihu Building Evolutionary Architecture.<\/p>\n\n\n\n<p>Autori knihy to pojali ako\nrozhovor pri k\u00e1ve. \u201ePo\u010fme sa bavi\u0165 o&nbsp;architekt\u00fare.\u201c Sadn\u00fa si s&nbsp;vami\nk&nbsp;\u0161\u00e1lke k\u00e1vy do kaviarne a&nbsp;bud\u00fa sa s&nbsp;vami rozpr\u00e1va\u0165, od \u00favodu\no&nbsp;\u010dom to cel\u00e9 je, a\u017e ku \u0165a\u017e\u0161ej te\u00f3rii, ktor\u00e1 rie\u0161i podstatu veci.<\/p>\n\n\n\n<p>A&nbsp;podstata veci je\nv&nbsp;okresanej podobne ve\u013emi jednoduch\u00e1: M\u00e1te rozsiahly softv\u00e9r, ktor\u00fd je\npostaven\u00fd na nejakej architekt\u00fare. Je to projekt dlhodob\u00fd. Prostredie projektu\n(stav oboru IT) sa men\u00ed. Po\u017eiadavky na projekt sa menia. A&nbsp;architekt\u00fara to\nmus\u00ed aj po t\u00fdch X rokoch pre\u017ei\u0165 tak, aby v\u00fdvoj a&nbsp;spravovanie nebola\nprech\u00e1dza o\u010distcom.<\/p>\n\n\n\n<p>Ruku hore, kto pracoval na\nprojekte s&nbsp;rozpadnutou architekt\u00farou. Rozpadnut\u00e1 architekt\u00fara je stav,\nkedy sa e\u0161te sem-tam objavuj\u00fa zvy\u0161ky toho ako to bolo napl\u00e1novan\u00e9, ale pomedzi\nto je k\u00f3d pln\u00fd skratiek, duplic\u00edt a z\u00e1hadn\u00e9ho k\u00f3du, ktor\u00e9ho sa boj\u00ed ka\u017ed\u00fd\ndotkn\u00fa\u0165. Rozpadnut\u00e1 architekt\u00fara je vtedy, ak m\u00e1te probl\u00e9m nakresli\u0165 zmyslupln\u00fd\ndiagram modulov\/tried (aspo\u0148 tak\u00fd \u010do nem\u00e1 cykly) alebo op\u00edsa\u0165 \u0161trukt\u00faru\naplik\u00e1cie nieko\u013ek\u00fdmi vetami. <\/p>\n\n\n\n<p>Ja som bol na nieko\u013ek\u00fdch\nprojektoch, ktor\u00e9 mali rozpadnut\u00fa architekt\u00faru. T\u00fdch foriem je naozaj ve\u013ea (asi\nto\u013eko ako foriem technologick\u00e9ho dlhu, ktor\u00fd ide ruka v&nbsp;ruke\ns&nbsp;rozpadnutou architekt\u00farou), ale samotn\u00fd rozpad architekt\u00fary je v\u017edy\nrovnak\u00fd. Nikdy to nie je prudk\u00e9. V\u017edy to za\u010d\u00edna mal\u00fdm poru\u0161en\u00edm pravidiel,\nmalou skratkou v&nbsp;k\u00f3de, jednou nedokon\u010denou pr\u00e1cou s&nbsp;TODO v&nbsp;k\u00f3de.\nA&nbsp;tak\u00e9to mal\u00e9 poru\u0161enia sa str\u00e1\u017eia ve\u013emi \u0165a\u017eko.<\/p>\n\n\n\n<p>To si uvedomuj\u00fa aj autori knihy,\na&nbsp;preto prich\u00e1dzaj\u00fa s&nbsp;my\u0161lienkou, \u017ee architekt\u00faru treba str\u00e1\u017ei\u0165 testovan\u00edm.\nIde\u00e1lne je, ak je to testovanie automatizovan\u00e9. Ak teraz neviete, \u010do si m\u00e1te\npod t\u00fdm predstavi\u0165, tak napr\u00edklad funkciu, ktor\u00e1 v\u00e1m bude kontrolova\u0165, \u010di\nnem\u00e1te v&nbsp;k\u00f3de cyklick\u00fa z\u00e1vislos\u0165. Alebo \u010di niekto neobi\u0161iel vrstvu pre\npr\u00edstup k&nbsp;datab\u00e1ze a&nbsp;zapisuje do nej priamo z&nbsp;prezenta\u010dnej\nvrstvy a&nbsp;pod. <\/p>\n\n\n\n<p>Ale str\u00e1\u017eenie samotnej\narchitekt\u00fary nie je jedin\u00e9, \u010do v\u00e1s v&nbsp;projektoch na dlh\u00e9 trate mus\u00ed a m\u00e1\ntr\u00e1pi\u0165. Okrem pravidiel architekt\u00fary ide aj o&nbsp;dodr\u017eanie je vlastnosti, ako\nje bezpe\u010dnos\u0165 alebo v\u00fdkon. Aj na toto je dobr\u00e9 ma\u0165 pripraven\u00e9 testovacie\nn\u00e1stroje, ktor\u00e9 str\u00e1\u017eia v\u0161etky zmeny a&nbsp;upozornia v\u00e1s hne\u010f ako d\u00f4jde\nk&nbsp;poru\u0161eniu.<\/p>\n\n\n\n<p>Ale kniha Building Evolutionary\nArchitecture nie je len o&nbsp;str\u00e1\u017een\u00ed vlastnost\u00ed. Obsahuje tie\u017e katal\u00f3g\narchitekt\u00far, ktor\u00fd popisuje ich jednotliv\u00e9 vlastnosti. \u017de je rozdiel, \u010di pre\nsvoj projekt zvol\u00edte micro-kernel alebo SOA. Alebo ak\u00fd je rozdiel medzi SOA\na&nbsp;service-based architecture. <\/p>\n\n\n\n<p>Opisuje tie\u017e ako pristupova\u0165\nk&nbsp;datab\u00e1ze, ktor\u00e1 sa vyv\u00edja tie\u017e. Ak\u00e9 n\u00e1stroje na to pou\u017e\u00edva\u0165, ktor\u00e9 v\u00e1m\numo\u017enia pre\u017ei\u0165 aj ve\u013ea zmien v&nbsp;\u010dase. \u010ealej ukazuje klasick\u00e9 antivzory a&nbsp;pasce,\ndo ktor\u00fdch m\u00f4\u017ee projekt spadn\u00fa\u0165 a&nbsp;ako sa im vyhn\u00fa\u0165 (ako napr\u00edklad stavi\u0165\ncel\u00fd technologick\u00fd stack na jedn\u00e9ho dod\u00e1vate\u013ea). A&nbsp;nevyh\u00fdba sa ani t\u00e9me\nako pristupova\u0165 k&nbsp;organizovaniu t\u00edmu alebo projektu.\n\nBuilding Evolutionary Architecture nie je \u017eiadna\nbiblia. Ani hr\u00fabkou \u2013 nie je to hrub\u00e1 kniha \u2013 a ani by ste sa nemali doslova\nriadi\u0165 v\u0161etk\u00fdm, \u010do tam n\u00e1jdete. Je to ve\u013emi dobr\u00e1 kniha na zamyslenie sa pre\nka\u017ed\u00e9ho architekta aspo\u0148 stredne ve\u013ek\u00fdch projektov. Zmena na tak\u00fdch projektoch\nje nie\u010do, \u010do nevyhnutne pr\u00edde a&nbsp;vy sa s&nbsp;\u0148ou mus\u00edte nejako\nvysporiada\u0165. Bu\u010f ju m\u00f4\u017eete ignorova\u0165 a&nbsp;zapracova\u0165 len minim\u00e1lne nutn\u00e9\nrie\u0161enie, ale&nbsp;ona v\u00e1s sk\u00f4r alebo nesk\u00f4r do\u017eenie vo forme probl\u00e9mov. Alebo\nju akceptujete ako s\u00fa\u010das\u0165 architekt\u00fary ale to tak, \u017ee vlastnosti architekt\u00fary\nostan\u00fa zachovan\u00e9. Dosiahnu\u0165 to je kung-fu architekta a&nbsp;t\u00e1to kniha je\nk&nbsp;tom n\u00e1pomocn\u00fd sprievodca.\n\n\n\n<\/p>","protected":false},"excerpt":{"rendered":"<p>V&nbsp;dne\u0161nej dobe nie je \u0165a\u017ek\u00e9 nap\u00edsa\u0165 softv\u00e9r. Materi\u00e1lov o&nbsp;tom, ako programova\u0165, sa d\u00e1 n\u00e1js\u0165 na internete mnoho, a&nbsp;ve\u013ea v\u00fdvojov\u00fdch prostred\u00ed a&nbsp;platforiem je zadarmo. Nap\u00edsa\u0165 nejako softv\u00e9r nie je naozaj \u0165a\u017ek\u00e9. \u010co je \u0165a\u017ek\u00e9, je nap\u00edsa\u0165 softv\u00e9r, ktor\u00fd sa aj o&nbsp;5 rokov \u010fal\u0161ieho v\u00fdvoja a&nbsp;opravy ch\u00fdb bude vyv\u00edja\u0165 rovnako jednoducho ako na za\u010diatku. To je ozajstn\u00fd [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-360","post","type-post","status-publish","format-standard","hentry","category-vyvoj-softveru"],"_links":{"self":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":2,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/360\/revisions"}],"predecessor-version":[{"id":363,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/posts\/360\/revisions\/363"}],"wp:attachment":[{"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/media?parent=360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/categories?post=360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/spireng.sk\/en\/wp-json\/wp\/v2\/tags?post=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}