HOUG 2016 előadás diái

Április 4-én a HOUG-on tartottam előadást “Modern unit és integrációs tesztelés” címmel. Olyan technológiákról esett szó, mint JUnit, Mockito, Hamcrest, Spring MockMvc és Concordion. Az előadás diái, sok-sok forráskóddal, itt megtekinthetőek.

A példaprogram felkerült a GitHubra is, itt megtekinthető.

HOUG tárgyak

Tovább a teljes cikkre...

HOUG 2016 meghívó

Ismét megrendezésre kerül a HOUG, a Magyarországi Oracle Felhasználók konferenciája, idén április 4 - 6 között, a helyszín a szokásos, Hotel Azúr Siófok. Az első napon lesz az Oracle Java konferencia is, ahol az előzetes program szerint olyanokról hallhattok, mint a Java portál megoldások, sőt Elek Márton tart egy Java Microservices Workshopot is. A napot én nyitom “Modern unit és integrációs tesztelés” címmel, 10:30 - 11:00 között. Álljon itt az előadásom bevezetője.

Lehet-e még 2016-ban a unit és integrációs tesztelésről újat mondani? Tegyük fel a következő kérdéseket, és ha a kapott válaszok nem kielégítőek, mindenképp. Először készülnek el a teszt esetek? Van a projekten legalább 80%-os lefedettség? Hiszünk a teszt piramisban? Tudjuk, hogy kell betölteni az adatokat, melyeken a tesztjeink dolgoznak? Minden teszt végén csak egy ellenőrzés van? A tesztjeink egyértelműen dokumentálják a rendszerünket, és egyszerűen karbantarthatók? Fel vagyunk készülve a következő generációs JUnit Lambdára?

Gyere el!

Tovább a teljes cikkre...

Spring Converter SPI

A Spring Framework talán egyik legnagyobb előnye, hogy bizonyos gyakran használt funkcionalitásra egy frappáns megoldást biztosít, és ezt az egész keretrendszeren belül konzekvensen alkalmazza. Az egyik ilyen funkcionalitás a Spring Converter SPI.

Nagyon gyakran van szükség arra, hogy szöveges értékből egy objektumot gyártsunk. Szöveg szerepelhet sok helyen. Szerepelhet a Spring xml konfigurációjában, Spring Expression Language-ben (SpEL), valamint a HTTP protokoll is alapvetően szöveges. Azonban láthatjuk, hogy akár az xml konfigurációban alkalmazhatunk más, long, double, stb. típusú értékeket, valamint a Spring controllerekben is definiálhatunk ilyen típussal url paramétereket, path változókat, header bejegyzéseket, stb. A Spring a konverziót automatikusan elvégzi. De mi van akkor, ha mi nem ilyen gyakori típusokká akarjuk konvertálni a szövegeinket, hanem pl. egy saját osztály egy példányává.

A Spring nagyon könnyen bővíthető, és ezen konverziós mechanizmus mögött a Converter SPI áll, mely megengedi, hogy saját konvertereket implementáljunk. Sőt, ezeket a konvertereket igazán sok helyen használhatjuk is.

Ezen használati helyeket tekinti át ez a poszt, melyhez példaprogram is készült, és elérhető a GitHubon.

Tovább a teljes cikkre...

Apache: Big Data Europe konferencia és Big Data körkép

Az Linux Foundation The Apache Software Foundation (ASF)-nel együttműködve 2015. szeptember 28 - 30 között, Budapesten rendezte meg az Apache: Big Data Europe konferenciát. A Linux Foundation egy non-profit szervezet, mely célja a Linux népszerűsítése, és újabban oktatások, vizsgák és konferenciák szervezésével is foglalkozik. A konferencia témája a Big Data, pontosabban az Apache Hadoop eszköz és a köré kialakult ökoszisztéma, szorosabban és lazán kapcsolódó projektek, eszközök, architektúrák, módszertanok és esettanulmányok. A konferencia helyszíne a Corinthia Hotel, melyre igazán nem lehet panasz.

Corinthia

A szponzorok főleg olyan cégek, melyeknek ez a fő területük. Ilyen a Hortonworks, mely az Apache Hadoop fejlesztésére és támogatására szakosodott, maga is ASF szponzor. Ők gyártják Hortonworks Data Platform (HDP) Hadoop disztribúciót. Több ilyen disztribúció is létezik, melyek azért alakultak ki, hogy a cégek válláról levegyék azt a nem könnyű terhet, hogy a területen lévő főbb eszközöket integrálják. A Hortonworks disztribúciójának egyik főbb tulajdonsága, hogy kizárólag nyílt forráskódú eszközökből épült. A cégnek magyar vonatkozása is van, ugyanis nemrég felvásárolták a SequenceIQ magyar céget, mely Cloudbreak nevű megoldásával Hadoop clustereket lehet automatikusan telepíteni különböző környezetekre, mint publikus (Amazon AWS, Microsoft Azure, Google Cloud Platform) vagy privát felhőbe (OpenStack), vagy Docker konténerekbe. A cég magyar irodájának fejlesztőivel lehetett találkozni a résztvevők között. A HDP oldalán amúgy egy nagyon jó ábrát lehet találni ahhoz, hogy az ember kicsit elhelyezze ezt a rengeteg eszközt.

Tovább a teljes cikkre...

Dinamikus erőforrások cache-elése Spring MVC-vel

Az előző poszt bemutatta, hogyan működik a HTTP protokoll szintű cache-elés, valamint Spring MVC segítségével hogyan lehet olyan statikus erőforrásokat (pl. CSS és JavaScript állományok) cache-elni. Ott szó esett az Etag HTTP fejlécről is, ez a poszt ennek használatát mutatja be dinamikus erőforrások esetén.

Emlékeztetőül egy erőforrás lekérdezésekor annak verziójának egy azonosítóját is küldjük a HTTP válasz Etag fejlécében. Amennyiben a böngésző nem automatikusan a cache-ből szolgálja ki az erőforrást, megkérdezi a szervert, hogy történt-e ott módosítás. Ezt úgy teszi, hogy elküldi a kapott verziószámot a HTTP kérés If-none-match fejlécében. Amennyiben a szerver azt látja, hogy az erőforrás nem változott, azaz az aktuális és a küldött verziószám megegyezik, akkor egy 304 Not Modified státuszt küld vissza a böngészőnek. Ekkor a böngésző a tartalmat a cache-ből fogja kiszolgálni. Amennyiben az erőforrás változott, és a két verziószám eltér, a szerver visszaküldi az erőforrás teljes tartalmát.

A GitHubon lévő példakód szemlélteti, hogy hogyan használhatjuk az ETaget Springes controller osztályból.

Tovább a teljes cikkre...

Viczián István

Viczián István

Java fanatikusként fejlesztek, oktatok, blogot írok, rendezvényeket szervezek és konferenciákra járok. A Debreceni Egyetemen végeztem programtervező matematikusként, jelenleg az IP Systemsnél vagyok vezető programozó és a Training360-nál oktatásokat tartok.

A JTechLog egy kötetlen stílusú blog a Java nyelv és platform érdekességeiről.