Prednáška sa uskutočnila na Veľkom Diely.
Prvý decembrový sneh v každom z nás vzbudil pocit Vianoc a túžbu ísť domov. Ak ste však odolali tomuto pokušeniu a zotrvali v Žiline ešte chvíľku, mohli ste sa 17.12.2009 zúčastniť na prednáške s názvom Web 2.0, ktorá bola venovaná nielen informatikom, ale aj každému, koho táto téma zaujíma. Prednáška sa uskutočnila v miestnosti AF A306 v najnovšej budove postavenej na Veľkom Diely. Kto to tam ešte nepoznal, mal trochu aj problém miestnosť nájsť, pretože tu fungovalo trochu iné poradie číslovania miestností (nie podľa abecedy) a smer cesty nebol práve najlepšie vyznačený. Každopádne, kto sa cez toto bludisko dostal, bol odmenený. Prednáška sa uskutočnila v rámci diskusných popoludní IK Kompas, kde sa predstavujú technologické a inovačné trendy v rámci SR a v Európe. Tentoraz bol hosťom Mgr. Juraj Michálek, softvérový vývojár, implementátor a lektor. Garantom tohto podujatia bol prof. Ing. Milan Dado, PhD a organizátorom Institute of Next Generation Networks. Ak ste sa tejto prednášky nestihli alebo nemohli zúčastniť, nevadí, to najdôležitejšie a najzaujímavejšie sa dozviete v tomto článku.
Prednáška niesla názov Web 2.0. O čo v nej išlo? Každý vývojár by sa mal zamyslieť ako sa aplikácie vyvíjajú a ako sa tvoria a skúsiť, či to nedokáže spraviť lepšie. Ako sa robí bežný vývoj aplikácie? Dostanete zadanie, vy spravíte kód, a potom sa to odovzdá klientovi a čo sa stane...samozrejme to nefunguje. Vývojári musia myslieť inak pokiaľ chcú spraviť škálovateľnú aplikáciu, ktorá sa má rozsahom podobať facebooku, kde je 350 miliónov uživateľov denne. Základom dobrého vývoja sú testy. Treba testovať už na začiatku. Užívateľ má tendenciu kliknúť na niečo, čo ste vôbec nečakali a v lepšom prípade padne celý systém. Treba si naplánovať, čo chcem robiť, realizovať to a tu končí väčšina vývoja softvéru. Treba však ešte skontrolovať, či softvér naozaj funguje. Keď už toto máme skontrolované, musíme sa na chvíľu zastaviť a zamyslieť sa, či sa náš projekt uberá správnym smerom. Prečo vývojári nepíšu testy? „Písanie testov zdržuje od reálneho kódu“, „musím rýchlo písať kód, šéf chce po mne funkcie“, “testy som vypol, lebo neustále padali“. Vývojár si neuvedomuje, že nepísaním testov predražuje svoju prácu; oneskoruje dodávku produktu; poškodzuje ostatných vo firme; znižuje možnosť ďalšieho rozšírenia produktu. Testy poskytujú dokumentáciu a vývojári ju veľmi neradi píšu. Tým, že používame testy dokumentujeme svoj kód omnoho cennejšie, ako keby sme to písali sami. Teraz vám predstavím pár produktov pre uľahčenie práce na vašich aplikáciách.
PHPUNIT slúži na otestovanie a zlepšenie vašich aplikácií. Preverenie kódu programátorom trvá strašne dlho a nie vždy sa nájdu všetky chyby. Test pomocou phpunit na overenie nejakej funkcie trvá sotva sekundu. Tieto testy fungujú ako aj na linuxe tak aj na windowse.
RATS robí statickú analýzu kódu, tzn prelúska kód a upozorní vás na najčastejšie chyby. Funguje nielen pre php. Viac informácií na http://www.fortify.com/security-resources/rats.jsp
NetCat je jednoduchá utilitka, ktorá číta a zapisuje dáta prenášané sieťou prostredníctvom TCP a UDP protokolu. Môže byť používaná buď samostatne alebo prostredníctvom skriptov. Vhodné to môže byť napríklad pri údržbe servera na jednoduchú aktiváciu jeho zálohy.Súčasťou distribúcie zdrojového kódu sú rôzne scripty na kopírovanie dát medzi servermi, vyhľadávanie údajov pomocou altavisty, port scanning a iné.
Selenium (http://seleniumhq.org) simulácia testovania nejakej aplikácie. Možnosť nahrať si postupne ako užívateľ kliká, selénium vám nájde možné chyby, vy opravíte kód a znova môžete spustiť test, či ste vychytali všetky muchy. Ak sa vám nechce znova a znova nahrávať činnosť užívateľa na vašej aplikácii, môžete si vytvoriť skript. Selénium podporuje C#,Java,Perl,PHP,Python,Ruby. Ďalej umožňuje testovať, či vaša aplikácia správne funguje na rôznych prehliadačoch na rôznych operačných sestémoch.
Užívateľom viac vyhovuje práca s desktopovými aplikáciami (míny, solitair), kde si môžu poklikať do sýtosti a s veľkou obkľukou sa vyhýbajú práci s príkazovým riadkom, kde klikat nemôžu. Sú tiež zvyknutí používať webové aplikácie ako google alebo facebook. Reach internet application je zlúčenie webových a desktopových aplikácií(napr. prístup k súborom na internete).
Flex aplikácie (http://www.atollon.com) používaním týchto aplikácií sa nemusíte obmedzovať na to, čo funguje v rôznych internetových prehliadačoch ani na OS. Taktiež podporuje diakritiku.
Goalscape (http://www.goalscape.com) nainštalovanie flexovej aplikácie nehľadiac na to, akú platformu používate.
Flash Builder 4 (http://labs.adobe.com/technologies) postavený na eclipse a vytvorený pre vyvíjanie flex playeru v jave, pytone...
Ensemble podporuje len visual studio 2008 (http://www.ensemble.com/products/tofino.shtml)
koncepty pre flex
MXML - rýchle a výborné pre dizajnérov (GUI dizajn, deskriptívny jazyk)
ActionScript - objektovo orientovaný jazyk, ktorý mal nahradiť JavaScript
Dizajn GUI
Flexgarden (http://www.flexgarden.net) video návody a záznamy z on-line seminárov
Silverlight (http://www.silverlight.net) podporuje len windows platformu a čiastočne mac
Moonlight implementácia Silverlight pre linux (implementovaná len verzia Silverlight 2)
Google App Engine(http://code.google.com/intl/sk/appengine/) cieľom tohto produktu je škálovateľnosť. Ak beží vaša aplikácie dlho, možno je zle napísaná. Tento nástroj vám umožní spustenie aplikácie na vzdialenom počítači. (http://appspot.com)
App Gallery (http://my-calc.appspot.com/ alebo http://appgallery.appspot.com/) najdete tu aj kalkulačku pre zložité výpočty.
Podporuje aplikacie pre Python 2.5 ale bez C modulov, taktiež podporuje Javu. Používanie googlu nie je povinné. Funguje to všade, kde je podporovaný python.
GQL je derivát SQL, primarne je zameraný na výkon
DJANGO (http://www.djangoproject.com) vecička, ktorá vám uľahčí život tým, že nemusíte inštalovať kopu vecí ak na váš server pristupuje veľmi veľa ludí. Pozor si však musíte dať na BSD license
Amazon Web services (www.maptiler.org) ak potrebujete niečo veľmi rýchlo vypočítať, ale nemáte stroj, na ktorom by ste to dokázali alebo si takýto stroj nemôžete dovoliť kúpiť, môžete si ho za pár dolárov prenajať
Elastic Compute Cloud(http://aws.amazon.com/ec2/) pre verejnosť sú zatiaľ sprístupnené iba tri centrá v US-Virginia, California a EU Ireland. Žiadosť je nutné overiť telefonicky, kde opíšete alebo prečítate PIN
Amazon Simple storage ak máte problém skôr s kapacitou ako s výkonom, môžete si prenajať storage na ukladanie dát. Bohužial nie sú podporované adresáre, ale je možnosť ich simulácie (www.s3fox.net)
Software engineering radio (http://www.se-radio.net) tu nájdete množstvo interview, služieb a odkazov venovaných vývoju a navrhovaniu architektúry pre amazon.
Zaujímavosťou by mohla byť pre vás aj knižka Adrenaline junkies and template zombies, kde sa nachádzajú krátke vtipné poviedky o správaní ľudí na projektoch
Podrobnejšie informácie nájdete na http://twitter.com/georgiksk alebo http://georgik.sinusgear.com. Tu ak trochu pohľadáte mali by ste tam nájsť zavesenú kompletnú prezentáciu. Tí, čo sa tejto prednášky zúčastnili, mali možnosť vyhrať tričko. Tí, čo ste tam neboli, nezúfajte a sledujte web, kde určite budú naplánované ďalšie prednášky od IK Kompasu s ďalšími zaujímavými témami pre prehĺbenie vedomostí a zaujatie študentov ako aj učiteľov.