{"id":36689,"date":"2019-10-31T22:13:11","date_gmt":"2019-10-31T19:13:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/krasota-v-glazah-smotryashhego\/"},"modified":"2019-10-31T22:13:11","modified_gmt":"2019-10-31T19:13:11","slug":"krasota-v-glazah-smotryashhego","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/krasota-v-glazah-smotryashhego","title":{"rendered":"Ilusus on vaatleja silmades","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ma olen juba pikka aega tegelenud veebirakenduste arendamisega. T\u00f5eliselt pikka aega. Oma esimesed veebirakendused l\u00f5in ma keskkonnas <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IBM_Notes\">Lotus Domino<\/a><\/noindex> , kui s\u00f5na <em>\u00abgoogle\u00bb<\/em> ei olnud veel tegus\u00f5na, ja internetis infokogumiseks kasutasid inimesed Yahoo! ja Ramblerit. Mina kasutasin <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Infoseek\">Infoseek<\/a><\/noindex>\u2014 neil oli kitsendav otsing ja mitte nii r\u00e4pase koormatud liides nagu Yahoo-l!<\/p>\n<p><\/p>\n<p>Rakenduste arendamine, igasuguste rakenduste, mitte ainult veebiteenuste jaoks \u2014 on loominguline t\u00f6\u00f6. V\u00e4hesed saavad sellele v\u00e4itele vastu vaielda. Loomingus on ilu nagu teaduslikus teadmises praktika \u2014 t\u00f5e kriteerium. Kuid kui teaduslik praktika on objektiivne ja tugineb m\u00f5\u00f5tmistele, siis ilu on subjektiivne, s\u00f5ltudes sellest, kes vaatab. Seega k\u00fcsisin endalt, mis on minu jaoks ilus veebirakendus? <\/p>\n<p>\n<img decoding=\"async\" alt=\"Ilusus on vaatleja silmades\" src=\"\/wp-content\/uploads\/2019\/08\/36411160412b286dd6191aa5baa6ee83.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>(K\u00fcpsenud, minu jaoks pole see esteetika, aga IMHO, naiselik vaade on sellel teemal kohasem, kui mehelik, sest see on \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/2ch.hk\/s\/src\/2616513\/15633579017010.png\">K\u00fcpsenud<\/a><\/noindex>!)<\/em><\/p>\n<p><\/p>\n<p>Allpool jagan enda kriteeriume, mille alusel v\u00f5ib praegust veebirakendust pidada ilusaks. V\u00e4ga subjektiivne esitlus, mis tuleneb minu isiklikust kogemusest. V\u00f5imalik, et m\u00f5nele tunduvad mu ilu kriteeriumid hoopis koleduse kriteeriumid. \u00c4rge imestage, teie kogemus on lihtsalt erinev.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Ja kuna te juba allpool olete, siis palun olge kommentaarides ettevaatlikud. Kui te saate artikli lugemise l\u00f5petada, kui selle sisu tundub teile kole v\u00f5i isegi vastik, siis mina, autori poole, pean lugema k\u00f5iki kommentaare.<\/p>\n<p><\/p>\n<h1 id=\"sreda-obitaniya\">Elukeskkond<\/h1>\n<p><\/p>\n<h3 id=\"protokoly\">Protokollid<\/h3>\n<p><\/p>\n<p>Ma ei teagi, kas selle kriteeriumi eraldi v\u00e4lja toomine on vajalik. Veebirakendused elavad Internetis ja peavad vastama v\u00f5rgu seadustele (protokollidele). Peamised protokollid Internetis on <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Transmission_Control_Protocol\">TCP<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/IP\">IP<\/a><\/noindex>. Nendele p\u00f5hinevad paljud teised protokollid, kuid ma pean veebirakenduste jaoks k\u00f5ige olulisemaks <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTP\">HTTP<\/a><\/noindex> (v\u00f5i pigem selle laiendust <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HTTPS\">HTTPS<\/a><\/noindex> p\u00f5hjal <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/TLS\">TLS<\/a><\/noindex>). See t\u00e4hendab, et ilus veebirakendus on kergesti ligip\u00e4\u00e4setav HTTPS\/TLS kaudu (v\u00f5i HTTP kaudu), samas kui muud protokollid (LDAP, RPC, IMAP4, POP3, SMTP, FTP, NNTP, \u2026) muudavad selle iga lisatud protokolliga v\u00e4hem ilusaks. Rakendus ise saab nende lisaprotokollide abil kasutada v\u00e4liseid ressursse. <\/p>\n<p><\/p>\n<p>Mis puudutab <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/WebSocket\">WebSocket<\/a><\/noindex>, aga mul ei ole piisavalt kogemusi selle protokolli kasutamise osas veebirakendustes. See n\u00e4eb v\u00e4lja ilus ja lubav, kuid kui stabiilne ja praktiline see on \u2014 seda ma ei oska \u00f6elda. <\/p>\n<p><\/p>\n<h3 id=\"brauzery\">Brauserid<\/h3>\n<p><\/p>\n<p>Veebirakendus toetab serveripoolt vaid \u00fche jalaga, teine \u200b\u200bon kliendipool. Kliendipool on brauser. Kaasaegne brauser pakub <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\">palju erinevaid v\u00f5imalusi,<\/a><\/noindex>mida kaasaegne veebirakendus saab ja peab oma huvides kasutama. Kaunis veebirakendus kasutab kaasaegseid brauserite v\u00f5imalusi ja ei pea t\u00f6\u00f6tama brauserites, mis neid ei toeta. Ma m\u00f5istan, et <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D0%BE%D0%BB%D0%B8%D1%84%D0%B8%D0%BB\">polyfillid<\/a><\/noindex> on sunnitud lahendus, kuid see ei ole ilus. L\u00f5ppude l\u00f5puks ei tohiks ainult arendajad kaasas k\u00e4ia kaasaegsete tehnoloogiatega, see puudutab ka kasutajaid ja \u00e4ri.<\/p>\n<p><\/p>\n<h3 id=\"yap\">KTP<\/h3>\n<p><\/p>\n<p>Veebirakenduste loomiseks kasutatavate programmeerimiskeeltega on k\u00f5ik v\u00e4ga keeruline. Veebirakenduste kliendipoolte jaoks on palju tehnoloogiaid, mis v\u00f5imaldavad arendajal lihtsustada HTML\/CSS\/JS triadi loomist (kui need on k\u00f5ik kaasaegsete brauserite arusaadavad). Kuid mina puutusin omal ajal tihedalt kokku <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Google_Web_Toolkit\">GWT<\/a><\/noindex> ja pean ilusaks, kui arendaja n\u00e4eb brauseris algset koodi, mitte kompileerimise v\u00f5i transpileerimise tulemust. Seet\u00f5ttu on <noindex><a rel=\"nofollow\" href=\"https:\/\/webpack.js.org\/\">webpack<\/a><\/noindex>ja sarnased tooted kliendikoodi genereerimiseks, IMHO, ei ole ilusad. Mida rohkem veebibrauseris teostatav kood sarnaneb arendaja loodud algkoodiga, seda parem. Ei usu? Proovi debugeerida produktsiooni koodi, mille on loonud GWT.<\/p>\n<p><\/p>\n<p>Serveripoolne vabadus on suurem (Java, PHP, Perl, Python, C#, Ruby, \u2026), kuid mulle tundub, et ilus on, kui nii serveri kui ka brauseri poolel kasutatakse sama programmeerimiskeelt \u2014 JavaScript. Sellegipoolest <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%BB%D0%B8%D0%BD%D0%B3%D0%B2%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8\">keel m\u00e4\u00e4rab m\u00f5tlemise<\/a><\/noindex>, ja sarnaste m\u00f5tteviisidega meeskonnad on produktiivsemad.<\/p>\n<p><\/p>\n<h1 id=\"chelovechnost\">Inimlikkus<\/h1>\n<p><\/p>\n<p>Kaunis veebirakendus peab olema kasulik. Eelk\u00f5ige peab see olema kasulik inimesele, kui l\u00f5ppkasutajale. Seet\u00f5ttu ei saa ma nimetada kauniks veebirakenduseks <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%92%D0%B5%D0%B1-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0\">veebiteenuseid<\/a><\/noindex>. T\u00fc\u00fcpilisel inimesel (mitte veebi arendajal) on nende kasutamine keeruline. Veebiteenused on ilusad omal moel,<\/p>\n<p><\/p>\n<p>Kaunis veebirakendus peab omama intuitiivselt arusaadavat liidest. V\u00f5ib vaielda, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F\">UI<\/a><\/noindex>\u2014 see on \u00fcsna subjektiivne asi. Kuid <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%94%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD_%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B4%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D1%8F_%D1%81_%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D0%B5%D0%BC\">UX<\/a><\/noindex> on palju lihtsam, kui kasutaja ei saa rakendust kasutada ilma ihaldatud <noindex><a rel=\"nofollow\" href=\"http:\/\/lurkmore.to\/RTFM\">RTFM<\/a><\/noindex> \u2014 halb UX, inetuks veebirakenduseks. K\u00f5ige ilusamad veebirakendused selle kriteeriumi suhtes saavad lastega, kes ei oska veel lugeda, kergesti hakkama. <\/p>\n<p><\/p>\n<h1 id=\"obratnaya-masshtabiruemost\">Tagasiulatuvus<\/h1>\n<p><\/p>\n<p>Kaua aega tagasi saadi programme diskettidel liigutada, n\u00fc\u00fcd \u2014 m\u00e4lupulkadel v\u00f5i otse internetist alla laadida. Tavalise rakenduse kopeerimine ja selle k\u00e4ivitamine teisel masinal on triviaalne \u00fclesanne. Veebirakendustega on olukord natuke eriline. Internet on globaalne keskkond, kus pole vaja klone sama veebirakenduse jaoks. \u00dcks Facebook, Twitter, Instagram, Mail.ru v\u00f5i Yandex on piisav. Erinevaid veebirakendusi v\u00f5ib olla samas teemaruumi, kuid erineva sihtr\u00fchmaga (nagu Facebook ja Vkontakte, Mail.ru ja Gmail, Google Maps ja Azure Maps). Selliste veebirakenduste globaalse k\u00e4ttesaadavuse tagamiseks on vajalikke riistvaralisi ressursse, \u00fctleme nii, <noindex><a rel=\"nofollow\" href=\"https:\/\/bigpicture.ru\/?p=404950\">mitte triviaalne<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Ma ei ole kunagi t\u00f6\u00f6tanud veebirakendustega sellisel tasemel arendajana ja ei kujuta ette, kuidas need seestpoolt toimivad. Nende veebirakenduste toimimise tagamiseks on vajalikud vastava ala spetsialistide meeskonnad ning eraldi andmekeskused. Mind imetleb inimeste v\u00f5ime koost\u00f6\u00f6d teha sellisel skaalal ja selliste toodete loomine, kuid minu iluideaal on veebirakendus, mida saab k\u00e4ivitada eraldi s\u00fclearvutis.<\/p>\n<p><\/p>\n<p>Kaunis veebirakendus ei skaala mitte ainult \u00fclespoole ja laiali (kasutajate jaoks), vaid ka allapoole ja sissepoole (arendajate jaoks).<\/p>\n<p><\/p>\n<h1 id=\"zemnovodnost\">\u00abMaapealsus\u00bb<\/h1>\n<p><\/p>\n<p>Kaasaegsete veebirakenduste kasutamiseks kasutatakse kahte t\u00fc\u00fcpi seadmeid:<\/p>\n<p><\/p>\n<ul>\n<li>arvutid (s\u00fclearvutid, lauaarvutid);<\/li>\n<li>mobiilsed seadmed (nutitelefonid ja tahvelarvutid);<\/li>\n<\/ul>\n<p><\/p>\n<p>Kusagil silmapiiril paistab veel \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82_%D0%B2%D0%B5%D1%89%D0%B5%D0%B9\">asjade Internet<\/a><\/noindex>\u00bb, kuid praegu on nii.<\/p>\n<p><\/p>\n<p>Arvutid erinevad mobiilseadmetest sama palju kui maismaaolendid vees elavatest olenditest. Need on erinevad keskkonnad ja need seavad neis elavatele olenditele (programmidele) erinevad n\u00f5udmised. Kaunid veebirakendused ei ole need, mis sarnanevad <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%97%D0%B5%D0%BC%D0%BD%D0%BE%D0%B2%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5\">amfiibidega<\/a><\/noindex>, vaid need, mis vees - nagu kalad, maal - nagu loomad, ja \u00f5hus (<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D0%B0%D1%8F_%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F\">SEO<\/a><\/noindex>) - nagu linnud.<\/p>\n<p><\/p>\n<p>Ma pean \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%B4%D0%B0%D0%BF%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%B2%D0%B5%D0%B1-%D0%B4%D0%B8%D0%B7%D0%B0%D0%B9%D0%BD\">amfiibsust<\/a><\/noindex>olematu, see on nagu proovida istuda kahel (SEO puhul kolmel) toolil. Parem oleks nagu Fiona Shrekist \u2014 p\u00e4eval \u00fcks, \u00f6\u00f6sel teine. Jah, kallim. Aga parem.<\/p>\n<p><\/p>\n<h1 id=\"cross-sharing\">Cross-sharing<\/h1>\n<p><\/p>\n<p>Olen juba maininud punktis &#171;Tagasiulatuv Skaleerimine&#187;, et v\u00f5rgu globaalsus annab v\u00f5imaluse omada \u00fchte veebirakendust, mis katab tervePlaneedi. Seet\u00f5ttu peaks iga veebirakendus olema millegagi teistest erinev, et tagada oma elluj\u00e4\u00e4mine. Sellegipoolest, mu pikaajaline kogemus <noindex><a rel=\"nofollow\" href=\"https:\/\/magento.com\/\">Magento<\/a><\/noindex> (e-kaubanduse jaoks m\u00f5eldud raamistik), et erinevate veebirakenduste vahel v\u00f5ib olla rohkem \u00fchist, kui erinevusi. Kaunis veebirakendus ei peaks mitte ainult olema modulaarne, vaid ka jagama oma mooduleid teiste veebirakendustega. Teatud m\u00e4\u00e4ral peegeldab seda ideed <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F_Java-%D0%BF%D0%BE%D1%80%D1%82%D0%BB%D0%B5%D1%82%D0%BE%D0%B2\">spetsifikatsioonidest<\/a><\/noindex> JSR 168 ja JSR 286 ning selliste raamistikud, nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/WordPress\">WordPress<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Django\">Django<\/a><\/noindex> ja sama Magento. Mida rohkem mooduleid veebirakenduses kasutatakse, seda ilusam see minu jaoks on. Ristjagamine v\u00f5imaldab luua kvaliteetsemaid mooduleid ja seega stabiilsemaid veebirakendusi.<\/p>\n<p><\/p>\n<p>Moodulina ei m\u00f5tle ma sellistele teekidele nagu jQuery v\u00f5i RequireJS \u2014 pigem suurematele struktuuridele, nagu pluginad <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wordpress.org\/plugins\/\">WordPress<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/djangopackages.org\/categories\/apps\/\">Django<\/a><\/noindex>. Kuid ka teekide puhul kehtib v\u00e4ide, et teegi laialdane levik v\u00f5imaldab selle kvaliteeti ja vastupidavust suurendada. <\/p>\n<p><\/p>\n<h1 id=\"garvardskaya-arhitektura\">Harvardi arhitektuur<\/h1>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%93%D0%B0%D1%80%D0%B2%D0%B0%D1%80%D0%B4%D1%81%D0%BA%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0\">Harvardi arhitektuur<\/a><\/noindex>, erinevalt praegusest valitsevast <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D1%84%D0%BE%D0%BD_%D0%9D%D0%B5%D0%B9%D0%BC%D0%B0%D0%BD%D0%B0\">Princetoni arhitektuurist<\/a><\/noindex>, t\u00e4hendab koodi ja andmete eraldamist. Arhitektuur ei toiminud, kuid idee ise tundub mulle ilus. Eriti veebirakenduste jaoks. Iga staatika (HTML\/CSS\/JS\/Pildid\/&#8230;) on kood. Seda saab ja tuleb puhverdada nii serveripoolsel kui ka kliendipoolsel k\u00fcljel. Andmed aga on <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/REST\">REST<\/a><\/noindex>\/<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/JSON\">JSON<\/a><\/noindex> (ilus) v\u00f5i <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/SOAP\">SOAP<\/a><\/noindex>\/<noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/XML\">filestream<\/a><\/noindex> (veidi v\u00e4hem ilus). V\u00f5i WebSockets\/JSON (v\u00f5ib-olla parim variant, kuid ma pole proovinud).<\/p>\n<p><\/p>\n<h1 id=\"lokalizaciya\">Lokaliseerimine<\/h1>\n<p><\/p>\n<p>On kaks asja, mis mind veebirakenduste arendamisel eriti muretsema panevad \u2014 see on mitmekeelne liides ja ajav\u00f6\u00f6ndid. Olen ise L\u00e4tist, meil on kasutusel kolm keelt: LV, RU, EN. Kaunis veebirakendus peaks v\u00f5imaldama mitte ainult kasutada mitmeid keeli rakenduses, vaid ka laiendama kasutatavate keelte arvu v\u00e4liste ressursside abil, nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/crowdin.com\/\">Crowdin<\/a><\/noindex>. See kehtib ka moodulite kohta, millest veebirakendus on kokku pandud.<\/p>\n<p><\/p>\n<p>Kellaegade on lihtsad: k\u00f5ik, mis asub serveris, lahkub serverist ja naaseb serverisse \u2014 UTC, k\u00f5ik, mis kuvatakse kliendile \u2014 vastavalt kasutaja profiili ajav\u00f6\u00f6ndile. See on ilus.<\/p>\n<p><\/p>\n<h1 id=\"kuznicy-vmesto-zvezd-smerti\">Seppade asemel &#171;Surma T\u00e4hte&#187;<\/h1>\n<p><\/p>\n<p>Amorani kord, igas suurimas linnas oli oma sepikoja. V\u00f5ib-olla isegi mitmeid. M\u00f5ned paremad, m\u00f5ned halvemad. Oli sepikoja meistreid, kes olid tuntud kogu maailmas, ja oli ka selliseid, kelle juurde mindi sunniviisiliselt. L\u00e4bisid s\u00f5jad, epideemiad, loodus\u00f5nnetused. M\u00f5ned linnad kadusid koos rahvaga. Kuid sepat\u00f6\u00f6d elas edasi. Kadunud linnade asemele ehitati uusi, kuhu ilmusid samuti sepikojad. <\/p>\n<p><\/p>\n<p>Ja n\u00fc\u00fcd vaadake sellist teenust nagu <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/DNS\">DNS<\/a><\/noindex>. Kui juurdeteenused kukuvad kokku, <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Distributed_denial-of-service_attacks_on_root_nameservers\">k\u00f5ik maailm kannatab<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Minu arvates ei saa ilus veebirakendus olla sama suured kui Facebook v\u00f5i Mail.ru. See on juba l\u00e4hemal &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/www.wikiwand.com\/ru\/%D0%97%D0%B2%D0%B5%D0%B7%D0%B4%D0%B0_%D0%A1%D0%BC%D0%B5%D1%80%D1%82%D0%B8\">Surma T\u00e4hele<\/a><\/noindex>&#187; ning vajalike ressursside poolest nii ehitamiseks kui ka toimimise tagamiseks. Jah, Facebooki h\u00e4vimisel inimkond ei kao, tema funksioonid v\u00f5tab kiiresti \u00fcle teised rakendused (n\u00e4iteks <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/\">VK<\/a><\/noindex> Venemaa territooriumil ja \u00fcmbritsevatel aladel Instagram, Twitter, &#8230;). Sellegipoolest on olulise osa inimeste rahvastiku \u00fchendamine \u00fchte rakendusse \u2014 see on inetu. Eriti arvestades, et on olemas palju stabiilsemaid alternatiive (n\u00e4iteks <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/The_Pirate_Bay\">torrents<\/a><\/noindex>).<\/p>\n<p><\/p>\n<h1 id=\"rezyume\">Elulookirjeldus<\/h1>\n<p><\/p>\n<p>Kui olete l\u00f5puni lugenud ja tunnete segadust \u2014 &#171;<em>mida see oli?\"<\/em>&#171;, siis v\u00e4ljendan oma siirast kaastunnet. Ma ei sundinud teid seda lugema. Proovisin lihtsalt vormida oma m\u00f5tted s\u00f5nadeks, et leida inimesi, kes m\u00f5tlevad samamoodi. V\u00f5ib-olla saan nendega arutada m\u00f5ningaid aspekte ilusa veebirakenduste loomise kohta ja leida vastuseid oma k\u00fcsimustele. Ja neid on mul palju.<\/p>\n<p><\/p>\n<p>Ait\u00e4h lugemise eest.<\/p>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/461749\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e. \u0421\u0432\u043e\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0441\u0440\u0435\u0434\u0435 Lotus Domino \u044f \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b \u0432 \u0442\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u043a\u043e\u0433\u0434\u0430 \u0441\u043b\u043e\u0432\u043e &#171;google&#187; \u0435\u0449\u0451 \u043d\u0435 \u0431\u044b\u043b\u043e \u0433\u043b\u0430\u0433\u043e\u043b\u043e\u043c, \u0430 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435 \u043b\u044e\u0434\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 Yahoo! \u0438 Rambler. \u042f \u0436\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f Infoseek&#8216;\u043e\u043c \u2014 \u0443 \u043d\u0438\u0445 \u0431\u044b\u043b \u0441\u0443\u0436\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u043f\u043e\u0438\u0441\u043a \u0438 \u043d\u0435 \u0442\u0430\u043a\u043e\u0439 \u0431\u0435\u0437\u043e\u0431\u0440\u0430\u0437\u043d\u043e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043a\u0430\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27480,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-36689","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.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e.\" \/>\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\/news\/krasota-v-glazah-smotryashhego\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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\u041a\u0440\u0430\u0441\u043e\u0442\u0430 \u0432 \u0433\u043b\u0430\u0437\u0430\u0445 \u0441\u043c\u043e\u0442\u0440\u044f\u0449\u0435\u0433\u043e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/krasota-v-glazah-smotryashhego\" \/>\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:13:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:13:11+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\udd47Ilusus on vaatleja silmades | ProHoster","description":"Olen juba ammu tegelenud veebirakenduste arendamisega. V\u00e4ga kaua.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/krasota-v-glazah-smotryashhego","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\u041a\u0440\u0430\u0441\u043e\u0442\u0430 \u0432 \u0433\u043b\u0430\u0437\u0430\u0445 \u0441\u043c\u043e\u0442\u0440\u044f\u0449\u0435\u0433\u043e | ProHoster","og:description":"\u042f \u0434\u0430\u0432\u043d\u043e \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 web-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/krasota-v-glazah-smotryashhego","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:13:11+00:00","article:modified_time":"2019-10-31T19:13:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36689","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 04:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:40:23","updated":"2026-01-22 04:26:19","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\/36689","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=36689"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/36689\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/27480"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=36689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=36689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=36689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}