2011. április 29., péntek

Firewall vs JDBC

Ma egy egész érdekes dologot találtunk meló közben. Érdekes egybeesésként ez ugyanaz a gubanc, mint amiről az egyik előadó is beszélt a 33degree konferencián, csak ő valami légiközlekedéssel foglalkozik. (hmmm, biztonságban érzitek magatokat?) A probléma alapja az, hogy a firewall-ok eltépkedik időnként a TCP kapcsolatokat. Egészen vicces, a szerver nem kapja meg a kérést, a kliens meg azt hiszi hogy elküldte, köztük a firewall röhög a markába, te meg nem érted miért áll a kliens, miért nem csinál semmit a szerver, és egyáltalán mi a rák történik. Ne tőlem kérdezzétek, hogy miért annyira fontos firewall-t telepíteni például az adatbázisod és az appszerver közé, szerintem ha valaki felhakkolta az appszervered és megvan az adatbázis kapcsolat akkor már régen rossz, de...
Ennek a problémának általában áldozatul esik néhány protokol, a lényegesebbeket említve RMI és valószinűleg minden adatbázis kapcsolat, általában a hosszú JMS kapcsolatok is, LDAP. Amit nem üt, az a HTTP nyilván, mert az bontódik amint lement a kérés és a válasz. Más most nem jut eszembe, ami jól működik vele :-)

Minden protokolra nem tudok orvosságot, de a commons-dbcp képes csekkolni az adatbázis kapcsolatot mielött odaadná a alkalmazás kódnak. Az 1.2-es verzió csak annyit tud, hogy elküld egy dummy kérdést a szervernek (tipikusan egy "select 1") és ha sikeresen válaszolt az adatbázis, akkor adja csak oda a kapcsolatot. Nem láttam még olyat, hogy a validation query elhasaljon, tulajdonképpen kicsit haszontalannak tűnik. Viszont amikor a fenti firewall gubanc beüt, akkor fentakadsz már a validation query-nél is, a kódod meg se kapja a vezérlést. Na erre a problémára ad megoldást a DBCP 1.3-tól kezdve a validationQueryTimeout paraméter. A DBCP 1.4 is már jó egy éve kint van, de amennyire látom még a legfrissebb cuccokban is az 1.2 van. Szóval egyéb hijján, akinek ez probléma, az kénytelen felülbuherálni.

Hát csak ennyi, remélem átérzitek :)

2011. április 11., hétfő

33 degree konferencia, Krakkó - II

Folytatás tegnapról...

Jevgeni Kabanow: Do you really get memory?

Reggel máris kicsit meredeken kezdődött a nap, Jevgeni egy sajnát java-ban implementált virtuális gépről beszélt, szóval jó messziről futott neki a témának, mégis sikerült értelmes dolgot kihoznia. Például az Azul systems félelmetes garbage collectorát, ami a linux kernellel együtműködve egyszerűen kidobja azokat a page-eket, amiken már csak szemét van. Hoppá, erről ti is lemaradtatok? Én igen...

Házi feladat az egész, utánnanézni.

Brad Drysdale: HTML5 Websockets

Erről a témáról már írtam itt, túrkáltam a témát és... én sehogy se vagyok olyan optimista mint Brad a websocketekkel kapcsolatban. Egyetértek azzal, hogy hatalmas lépés a webapp architektúrában, de sehol se tartunk vele. Rövid helyzetjelentés: a chrome-on kívül minden böngészőből eltávolították a websocket támogatást, az IE-t leszámítva mert abban nem is volt soha. Semmilyen proxy-n nem megy át és azt hiszem a firewallok tevékenységét se fogja jól bírni a protokol. A servlet speckóban szó sincs róla, a mod_proxy nem engedi át... hát nem is tudom mennyi idő amíg ez a sok gubanc elmúlik. Azért megkérdeztem az előadót és kitérő választ adott, ami korrekt, én se mernék tippelni ennyi ember elött :-) Mindenesetre az ő munkaadójának, a Kaazing-nek van egy websocket gateway terméke. Szerencsére ezt csak említette, nem marketing-prezi volt, korrektül összefoglalta a technológiát.

A témában éppen most megint nyomulok és a elcsűrt prototipusomat írom újra, szorgalmi feladat ceruzás zöld kicsi egyesért.

Guy Korland: "Same data, any API", making sure your application scales

A szoftver architektúrák fejlődésének vicces bemutatása. Hát igen, ő pedig a Gigaspaces-től érkezett és az ő cuccuk tényleg elég jó trükköket tud. Annyi pénzért...

Nathaniel Schutta: HTML5 fact and fiction

Herr Schutta zseniálisan löki a rizsát a html5-ről is. Mint azt tavaly a w3c-s srácok kijelentették: a html5 nincs kész igazán. Hát most még mindig nem, de nem csak a IE miatt. Gyászosan áll a firefox is, még az Opera alakított a legszebben. És a kutya se használ operát. A video formátumokkal kapcsolatos háború meg csak nyúlik...
Viszont lassan tényleg változni látszik a web, lassan elveszti a jelentőségét a flash, stb...

Venkat Subranmiam: Programming Clojure

A Clojure veszedelmes. Igazi write-only nyelv, mint a perl, amit egy óra múlva már te se értessz. És hát volt is olyan, hogy Venkat kicsit elakadt, hogy vajon hol hiányzik rengeteg zárójel. Pedig a csóka elég rendesen pörög. De nem számít, egy pár dolog igazán zseniális volt a nyelvben és azt ki akarom próbálni. Komolyan, olyan rendszert, amit valakinek át kell adni, ami nem csak az én desktopomon fut, nem mernék írni benne, de ki fogom próbálni.

Házi feladat: prototípusok, nyelvtanulás, mérések.

33 degree konferencia, Krakkó

A héten TVik-kel ketten elugrottunk a 33 degree java konferenciára Krakkóba. Csak mi ketten voltunk magyarok és talán egyéb külföldiből sem volt túl sok, ha leszámítjuk az előadókat. Viszont egy percre sem bántuk, hogy elmentünk, mert az előadók tényleg nagyon jók voltak. Nagy szükségem volt már egy ilyen pár napos cuccra, ahol kicsit távol a mindennapi munkámtól foglalkozhatok végülis a munkámmal :)
Az egész teljes költsége ha jól számoltam a végére úgy 80ezer forint lett utazással, szállással és regisztrációval együtt. Magyar fizetéshez kitalált összeg.

Alapelvek az előadások kiválasztásához: nem érdekel az "enterprise" és a "standard", ezek lejártak és beégtek. Más irányokban keresek tudattágítót.

Vettem pár papíros könyvet is:

No nézzük, előadások...


Linda Rising: Deception and Estimation

Linda Rising arról beszélt nekünk bemelegítőként, hogy az ember totálisan nem alkalmas hardver matematikailag pontos becslésekre. Egyszerűen az evolúciós multunkból adódóan.

Házi feladat nekem: A groupthink probléma megelőzését lökdösni a melóban, amíg nem működik.

Matt Raible: Comparing JVM web frameworks

A legfrissebb web-framework helyzetértékelés és összehasonlítás. Igazából, én nem használok web frameworköt, csak MVC-t és bár utálom kézzel hímezni a html-t, rájöttem arra, hogy ezekkel nem lehet ugyanazokat a trükköket megoldani, amiket a kézzel hímzett html-ben. A kedves ügyfél meg addig nem boldog, amíg pontosan az meg nincs, amit megbeszéltünk. Szóval ebből a szempontból ez a sok framework csak akkor érték, ha az ügyfelet le tudod beszélni a sok ökörségről és jópár értelmes dologról is.

Nathaniel Shutta: Hacking your brain for fun and profit

Rövid howto az emberi agyhoz, hogyan kell használni ahhoz, hogy optimális teljesítményt adjon egész hosszú időn át. Például érdemes aludni, esetleg egyet szunyókálni délután (amennyiben nem lép fel a kirúgás kockázata, de egyébként a legtöbb meeting pont ilyenkor van), sport, satöbbi.
Az ürégnek nagyon érdekes előadóstílusa van, biztos sokat gyakorol :)

Nathaniel Shutta: Going Mobile with JQuery

Ismét ugyanaz az előadó, de ezúttal valami hasznosabb dologgal. Ötlet: miért akarnál külön IPhone-ra,  Windows7-re és Android-ra is külön klienst fejleszteni. Megtehetnéd ugyanezt szimpla HTML-lel is, és ebben segít a JQuery mobile. Úgy tűnik nagyon könnyen lehet vele összedobni kis webappokat és alighanem működni fog offline módban is...

Házi feladat: kipróbálni mit tud.

Shang Shin: Android Programming

Kemény 3 órás Android fejtágító, amin Tvik már majdnem elaludt (a vonaton alvás nem a legpihentetőbb dolog) de nekem nagyon jól jött, mert elég szegényes az android tudásom. Komolyan tetszett az egész. A csóka egyébként Sun-os volt, de az Orékülből nem kért, csinált inkáb egy saját kis java okosítócéget.

Ennyi volt az első napon, a többit megírom máskor mert holnap meló és addig még aludni is kellene, mint arra Schutta úr is rámutatott :-) Fogok is aludni, csak elöbb kipróbálok ezt-azt...