Translate to:

Sledujte YouTube

 

September 2010
P U S Š P S N
« Aug    
 12345
6789101112
13141516171819
20212223242526
27282930  

Odznaky

Pixmac pictures
Opencaching.cz - Statistika - georgik


Add to Technorati Favorites

PageRank - hodnotenie tejto webstranky
  • 02Júl

    Ako som už spomínal na BarCampe v Brne, klasický model vývoja klient server aplikácii je celkom pracný. Na jednej strane musíte implementovať serverový interface a na strane druhej musíte vyreplikovať dátové triedy a volania v klientovi. Uznávam, že ručná práca je dnes cenená, ale nie v IT.

    Predstavme si scenár:

    • serverový vývojár: naimplementuje funkcie a dáta zaperzistuje pomocou JDO
    • vývojár klienta: pripojí sa na server a vytiahne si volania, ktoré potrebuje a pokračuje v implementácii GUI

    Typickým problémom býva zmena rozhrania. Rozšírme scenár:

    • serverový vývojár: zmení API a definíciu tried
    • vývojár klienta: zvolí refresh, zmeny sa vyreplikujú do klientskej aplikácie a len opraví zasiahnutý kód

    Pomerne jednoduché scenáre, bez dobrých nástrojov sú však veľmi pracné.

    Open source technológia BlazeDS od Adobe podporuje tzv. Remote Development Service. Umožňuje automatizovať veľkú časť manuálnych prác, ktoré sa objavia pri replikácii serverového API do klientských aplikácií. Technológia BlazeDS je primárne integrovaná s Tomcatom a Spring serverom. Mňa zaujímala iná oblasť a síce ako dostať BlazeDS na Google App Engine.

    V nasledujúcom screencaste je ukázané, ako RDS funguje.

    Archetyp pre Mave nájdete na maven.sinusgear.com.

    Tags: , , , , , , , ,

  • 11Jún

    Paráda. Pôsobivé.

    Postavené na AIR 2. Ďalšie informácie na blogu Michaël Chaize.

    Tags: , , ,

  • 05Jún

    Vytvoril som experimentálnu verziu úložiska pre Maven. V repozitári je uložená patchnutá verzia EngineDS, ktorá je potrebná pre správne fungovanie EngineDS aplikácií na Google App Engine.

    Patch bol aplikovaný podľa návodu Martina Zoldana. Patch obsahuje opravu chyby:

    flex.messaging.request.DuplicateSessionDetected

    Na rozdiel od jeho verzie, prekompilované jary nevyžadujú Spring.

    Upozorňujem, že sa jedná o experimentálnu verziu. Ak by ste narazili na problém, dajte mi prosím vedieť.

    Tags: , , , ,

  • 05Jún

    Občas sa stane, že je potrebné nainštalovať balík. Ten ale pritiahne so sebou pár ďalších nechcených balíkov.

    Nežiadúce balíky sa dajú zablokovať jednoducho. Do súboru /etc/apt/preferences pridáme nasledujúce riadky s menom balíku:

    Package: openjdk-6-jre
    Pin: version 1.0*
    Pin-Priority: 1001

    Ďalšie informácie na túto tému nájdete na stránkach Live in X.

    Tags: , , ,

  • 18Máj

    Model driven development je už na scéne nejaký ten rok. Na stránkach SE-Radio.net je možné nájsť niekoľko podcastov, ktoré sa zaoberajú touto témou.

    Podstatnou črtou MDD prístupu je presun zamerania z písania kódu na tvorbu modelov. Všeobecným problémom pri napájaní klientských technológii (napríklad je Flex) na serverové technológie, je veľké množstvo duplicitnej práce, ktoré je nutné spraviť. Typicky je nutné reimplementovať na strane klienta dátové objekty a naimplementovať kvantá prístupov k operáciam. Pri rozsiahlom API je toto veľmi náročné. Naviac táto duplicita silne spomaľuje a komplikuje zmeny v API. Vývojár musí často preniesť zmeny ručne zo servera na klienta.

    Model driven development sa zameriava práve na zníženie pracnosti písania kódu. Pokiaľ máme k dispozícii model, je možné z neho vygenerovať veľkú časť kódu. Časť vývojárov prestala čítať tento článok pri slovnom spojení “vygenerovať kód”.  A dobre im tak.

    Teraz príde jeden trik a z cteného čitateľa, ktorý vydržal slovné spojenie “vygenerovať kód”, spravím cteného diváka.

    Vážený ctený divák, nájdi si hodinku času a pozri si nasledujúce video. Nenechaj sa odradiť možno nudnejším, ale veľmi podstatným začiatkom. Pozeraj. Skutočná akcia a mágia začne keď Christopher Coenraets zapne Flash Builder a napojí ho na LiveCycle.

    Upozornenie pre vývojárov a projektových manažérov: netrhajte si vlasy, stačí zastaviť video, vydýchať sa, prípadne si zabehnuť nejaký ten kilometer.

    Video záznam je z konferencie Adobe Max 2009. Za link video ďakujem Tomovi Krchovi.

    Tags: , , , , , ,

  • 16Máj

    BlazeDS umožňuje vytvárať aplikácie, ktoré navzájom komunikujú po sieti a synchronizujú si medzi sebou údaje.

    BlazeDS je open source server side technológia, ktorá je postavená na Jave. V kombinácii so serverom Tomcat je možné vytvárať aplikácie, ktoré podporujú napríklad aj server push.

    Klientské aplikácie je možné vytvárať priamo vo Flash Builderi 4. Postup tvorby je veľmi podobný, ako pri napojení na bežné webové služby.

    Ako si vyskúšať BlazeDS?

    • Prevziať ZIP archív BlazeDS Turnkey, rozbaliť.
    • Spustiť ukážkovú databázu. Skript startdb.bat (sh) nájdete v adresári sampledb.
    • Spustiť Tomcat. Skript startup.bat (sh) nájdete v adresári tomcat/bin
      • Tomcat nenaštartuje ak nemáte dobre nastavenú cestu k JDK 1.6.
      • Túto cestu je možné nastaviť na začiatok skriptu, napríklad:
      • Windows: set JAVA_HOME=c:\Java\Java-1.6
      • Linux: export JAVA_HOME=export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.12
    • Nasmerujte svoj web prehliadač na adresu: http://localhost:8400/

    Na začiatok odporúčam článok: Getting started with BlazeDS.

    Pokiaľ by ste sa chceli o technológii BlazeDS dozvedieť viac, možete využiť ponuku školena na technológie Adobe Flex/AIR. Naviac môžete využiť službu hostovania BlazeDS a nemusíte zostavovať vlastnú serverovú infraštruktúru.

    Tags: , , , ,

  • 11Apr

    Vývoj softvéru je náročná disciplína. S rastúcim časom, počtom vývojárov a počtom zmien, rastie komplexita kódu a narastá možnosť vzniku chyby. Chyby sú samozrejme nežiadúce, ich odstránenie predstavuje niekedy skutočne nemalé náklady.

    Nástroje pre kontinuálnu integráciu (continuous integration) slúžia na to, aby sme mali prehľad o kvalite kódu a aby sme včas dokázali zachytiť chyby. Pomocou nástroja Hudson CI dokážeme zachytiť trendy vo vývoji. Získame prehľad o množstve chýb a o rôznych patologických príznakoch v kóde. Typickým zástupcom patologického stavu v softvérovom projekte je kopírovanie kódu.

    Hudson CI je prepojený s nástrojom PMD, ktorý má výstižný podtitul: “Nezastreľte posla správy! (Don’t shoot the messanger)”. PMD by som označil ako kladivo na vývojárov.  Pomocou pravidiel dokáže veľmi rýchlo odhaliť rôzne vývojárske zlozvyky. Je to veľmi užitočný nástroj, ale používajte ho len s dostatočným množstvom soft-skills.

    Pre rôzne bežne používané IDE existuje PMD ako plugin, takže vývojár si môže sám overiť kvalitu svojej práce.

    Michal Gron na mítingu Adobe User Group Slovakia v Bratislave pekne zhrnul dôvody na používanie nástroja Hudson a PMD. Toto použitie demonštroval na projekte, ktorý využíva Flex a AIR – Picasa Flash API.

    Pokiaľ vás téma kontinuálnej integrácie zaujala, odporúčam diel podcastu z SE-Radio.net s Chrisom Readom, kde túto problematiku rozoberajú hlbšie.

    Hudson CI získal ocenenie: Duke’s choice award – Developer Solutions

    Informácie o možnostiach hosting Hudson CI nájdete na stránke SinusGear.com.

    Tags: , , , , , , , ,

  • 08Apr

    Update: Vzhľadom na udalosti v posledných dňoch, som sa rozhodol preškrtnúť poslednú vetu tohoto článku.

    Myslím, že sa mi konečne podarilo nájsť jednoduché vyjadrenie toho, čo Apple predstavuje. Apple je novodobé Tesco v IT. Teraz sa začínajú priaznivci Applu rozčuľovať, že Apple nie je žiadne Tesco! Dobre, trochu upravím tvrdenie: Apple je novodobé luxusné Tesco v IT. Lepšie?

    Na Apple sa rozhodne nejde dívať len ako na výrobcu cool Macintoshov, cool iPadov a cool iPhonov. Apple je kompletný ekonomický systém.

    Supermarkety zaznamenali nárast objemu nákupov, keď niekto vymyslel nákupný košík. Ľudia mohli nakupovať viac a pohodlnejšie. Apple vymyslel cool nákupný košík pre IT. Nie nejaký trapný nákupný košík na internetovej stránke. Apple vymyslel veľmi inteligentný košík a zadrôtoval ho do svojich zariadení.

    Nakupovanie aplikácii, filmov, hudby od Applu je jednoduché a príjemné. iTunes prekypujú tovarom, rovnako ako správny supermarket. Má tisíce položiek.

    Keď sa pozrieme na konkurenciu, tak tam regály ticho zívajú prázdnotou. Do prázdneho obchodu človek raz vkročí a potom rýchlo utečie. Na aplikáciach starých niekoľko rokov sa váľajú nánosy prachu. Pár nadšencov si aj aplikáciu kúpi. Doma potom nadávajú na to, že si neprečítali príbalový leták. Namiesto aplikácie majú bohlav, pretože na úspešnú inštaláciu musia pretrpieť martírium upgradovania a inštalovania rôznych certifikátov. Nakoniec aplikácia prehlási, že potrbuje úplne inú verziu bodkanet frameworku.

    Apple vie, že musí mať tovaru veľa, musí byť kvalitný a “relatívne” lacný. Tovarom myslím v tomto prípade aplikácie, nie nákupné hardverové košíky (iPad, iPod a spol.). Na to, aby bolo možné zabezpečiť kvalitu, je nutné mať totálnu kontrolu nad platformou. Prečo nie je Java na iPhone? Java je pomalá! Ale prosím vás, vy tomu fakt veríte? Java nie je na iPhone preto, že by znamenala stratu kontroly. Každý by si mohol vyvíjať aplikácie pre iPhone a bez kontroly Applu. Ale fuj.

    Flash? Tak ten bol na tom podobne. Veď si to len predstavte. Niekto by mohol nahrať aplikáciu mimo iTunes. Dlho sa zdalo, že Flash na zariadeniach od Applu nebude. Nakoniec to Adobe vymyslelo veľmi rafinovane a zároveň jednoducho. Upravili kompilátor a balenie aplikácii, takže je možné vytvoriť aplikáciu, ktorá sa umiestni na App Store. Ako hovorí dávnoveká ľudová múdrosť: Apple sa nažral a Flash zostal celý ;-)

    Takže to zhrniem. Apple je supermarket. Vyjadrujem obdiv nad tým, ako je tento supermarket vymyslený.

    Tags: , , , , , ,

  • 27Feb

    Potreboval som nejaké rozumné prostredie, v ktorom je možné pohodlne vyvíjať Flex na Linuxe. Adobe Flex Builder 3 alpha 5 nie je úplne dobre použiteľný. Nefunguje tam Design view na kreslenie GUI. To by mi až tak nechýbalo. Horšia je chyba v otváraní MXML dokumentov.

    Tým pádom aplikáciu, ktorá pozostáva nie len s ActionScriptu, nie je možné ladiť. Tento problém s ignorovaním supportu Flex Buildra (Flash Buildra) na Linuxe, sa dostal na prvé miesto v rebríčku najsledovanejších bugov. Predbehol dokonca aj FP-40.

    Pustil som sa teda do hľadania iného nástroja. Vo fóre niekto odkazoval na IntelliJ IDEA 9.0. Stiahol som toto IDE, stiahol som Flex SDK z Opensource.adobe.com. Vytvoril som projekt. Nádherne všetko fungovalo. Niektoré vlastnosti má IDEA podstatne lepšie spracované než Eclipse. Proste Wow. A teraz prišlo na lámanie chleba.

    Naštartujem debugger s náhonom na všetky 4… Nič… Waiting for AIR of Flash player to connect.

    Ughm… Flex Debugger Startup Error

    O 5 hodín neskôr.

    Myslíte, že sa mi to podarilo rozbehať? Nie.

    Tu som si všimol niečo čudné. IntelliJ IDEA sa vôbec nechcela pripojiť na sieť. Napríklad zlyhal aj update zoznamu pluginov. List of plugins was not loaded: Network is unreachable. Čudné.

    A potom mi to došlo. Ten nešťastník sa pokúšal pripájať cez IPv6 na internet, čo sa mu nepodarilo.

    Na základe návodu som v /etc/default/grub.conf zmenil parameter pre štart jadra a deaktivoval IPv6

    GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"

    a zaktualizoval Grub 2

    update-grub

    Po štarte systému som sa presvedčil príkazom o deaktivovanej podpore pre IPv6:

    ip a | grep inet6

    Žiadny riadok na výpise. Úspech, nebeží žiadne IPv6 rozhranie.

    A výsledok? IntelliJ IDEA 9.0 funguje perfektne a výborne debugguje aj Flexové aplikácie.

    Tags: , , , , , , ,

  • 19Feb

    Minulý rok sa dostal na pulty novinových stánkov nový časopis – Robot Revue. Takýto časopis zameraný na robotov a robotiku na trhu už dlho chýbal.

    Na internete nájdete veľa materiálov o tom, ako si postaviť a naprogramovať robota. Jediný problém je, že väčšina týchto materiálov je v angličtine. Robot Revue hovorí zrozumiteľným jazykom. Okrem technických noviniek, návodov a zaujímavostí, tu nájdete aj seriály o programovaní. Momentálne v časopise beží seriál o programovaní robotov pomocou Javy a Pythonu. ;-)

    Ešte nemáte časopis Robot Revue predplatený? Tak to napravte. Študenti môžu získať pomerne výraznú zľavu.

    Tags: , , , , ,