December 14, 2010

Bez testů do vývoje nelez

Parafráza na: Bez peněz do hospody nelez 😉

Príklad z praxe: Finálny výsledok bol zle generovaný. Asi 50 krát som prešiel kód. Prešiel som všetky vrstvy. To proste nebolo možné, výsledok sa musí generovať správne!

Pozorný čitateľ iste poznamenal: Nemusí. 😛

Presne tak. Výsledok sa generoval nesprávne. A to aj napriek mojej utkvelej predstave, že všetko je napísané správne.

Tak som sa zamyslel, napísal som 5 testov, ktoré sa spustili za menej než jednu sekundu. Nad testami som pustil debugger, predebuggoval som chybný test.

Ajhľa. Bug. Miniatúrny. Fakt malý. Chýbajúci jeden riadok v štvrtej vrstve.

Preto nezabudnite písať testy a hlavne nezabudnite na to, že testy sa dajú ľahšie debuggovať než finálna aplikácia. 🙂

Ešte poznamenám, že pre vývoj na Pythonierskom Googliom AppEngine, je Intellj IDEA 10 (s Python pluginom) parádny nástroj. Pri unittestoch je potrebné správne nastaviť PYTHONPATH, a to nie len do google_appengine, ale aj do google_appengine/lib/webob.

Február 27, 2010

IntelliJ IDEA 9.0 na Linuxe nefunguje sieť. Pozor na IPv6.

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.