Október 5, 2010

SpringSource Tool Suite 2.5 – Error: Method has the same erasure

Java kód, ktorý bol skompilovateľný pod SpringSource Tool Suite 2.3, už nemusí byť skompilovateľný pod 2.5.

Typická chyba: Method has the same erasure.

Problém spôsobí kód, kde sa využíva preťaženie ako:

getById(List <MyClass>, String name)
getById(List <MyClassDto>, String name)

Riešenie: opraviť kód alebo použiť STS 2.3.2.

September 22, 2010

Google App Engine – sporadická garancia dostupnosti?

Pôvodne som chcel tento článok nazvať: Náš Google se Vám co nejsrdečněj omlouvá za toto politováníhodné nedopatření, ke kterému dochází MAXIMÁLNE … třikrát za deset let.

Príhoda z natáčania: deploynete Java aplikáciu na Google obláčik, chcete ukázať ľuďom, ako pekne to funguje a…

Kolečká sa otačajú, procesor si mele-mele-mele…

Timeout error. Pokus môžete opakovať niekoľko krát. Na výsledku nič nezmeníte.

Prezradím, že aplikácia volá veľmi jednoduchú funkciu, ktorá má za úlohu získať údaj z takmer prázdnej databázy.

Počkáte 5 minút a všetko zas ide.

V logu potom objavíte skvelú hlášku:

Request was aborted after waiting too long to attempt to service your request. This may happen sporadically when the App Engine serving cluster is under unexpectedly high or uneven load. If you see this message frequently, please contact the App Engine team.

K svojmu článku: Kde už Google App Enginu nestačí palivo, pridávam túto skutočnosť ako bod 11.

Jún 11, 2010

OCR priamo z web kamery

Paráda. Pôsobivé.

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

Jún 5, 2010

Ako zabrániť inštalácii nežiadúcich balíkov na Debiane

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.

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.