HWSW – Merre tart a Java? Nyár végi Java fejlesztői meetup

HWSW logó

HWSW logó2017. augusztus 29-én délután a HWSW szervezésében a Merre tart a Java? Nyár végi Java fejlesztői meetup-on vettem részt az AnKERT-ben. Az előadások a szeptember 21-re időzített Java SE 9 várható újdonságai köré épültek.

Simon Géza (DPC Consulting) A Java 9 újdonságaiból szemezgetett. Egy kérdéssel indított: eltöri-e a Jigsaw a meglévő rendszereinket? (Spoiler: lehet.) A Jigsaw projekt a Java 9-től végre elérhető. Kitért a modulok definiálására. Mutatott példát adatbázis drivertől való függőség kezelésére szerviz definícióval. Kitért az rt.jar átalakításának koncepciójára – egyben a JDK és a JRE összefésülésére –, valamint az egységbezárás finomhangolására.

Gergely Pál Dávid (Doctusoft) Java alkalmazások a felhőben előadását a kontroll vs. munka egyensúlya, arányaival kezdte a privát felhő, IaaS, PaaS, FaaS, SaaS konfigurációs alkotóelemeinek (Functions, Data, Application, Runtime, Backend Code, OS, Virtualization, Server Machine, Storage, Networking) felelősségi körét áttekintve. Rendszerek kialakításának folyamatával folytatta, tág testre szabási lehetőségeket ismertetve. Mindent eldöntő kérdésnek szánta: de hát akkor miért nem FaaS még minden? Kaptunk rá hivatalos és gyakorlatias válaszokat is. A legacy rendszerek frissítéséhez kötődően megosztotta legfontosabb tapasztalatát: a technológiai előnyhöz célszerű üzleti előnyt is párosítani.

Faragó János (designhumanist) A Java jövője… nem is a Java? című előadása alatt nagyon kellett ügyféllel egyeztetnem telefonon, így ezt kihagytam. A kulcsszó a Kotlin volt. A prezentációkat a szervezők publikálták, így megtekinthető.

Pákozdi György (Green Fox Academy) JShell: a Java 9 REPL csodája című előadásában demózta a read-eval-print-loop technikát. A megközelítés inkább hibakezeléshez kötődött, de ez a „parancssor” végre beépült az ökoszisztémába, így rendelkezésre áll az azonnali végrehajtás és kiértékelés (eredmény visszaadás) a futtatókörnyezetben. Rövid áttekintést kaptunk arról is, hogyan működik, mit jelent a REPL más programozási nyelvekben.

Balogh Zsolt (Liferay) Patchelés Enterprise Java környezetben címmel összefoglalta az inkrementális javítási folyamatot és áttekintést adott arról, hogy egy elosztott rendszerben mindez miket érinthet, például alkalmazás-szerver, adatbázis, operációs rendszer, böngésző (asztali és mobil), DK, felhőszolgáltatás. Persze mindegyikből többféle is választható. Felsorolta egy patching toollal szemben megfogalmazható általános és egyben minimum követelményeket/elvárásokat. Megosztott néhány gyakorlati tapasztalatot is, főként az egyszerűsítést és az automatizálást érintve. Néhány tipikus rejtett problémát is megismerhettünk.

Fodor Bertalan (EPAM) Reaktív microservice-ek – a jövő Javával című előadásában hangsúlyozta, hogy az üzleti igények változásában beállt jelenlegi trend nem az, hogy a nagyobb hal megeszi a kisebbet, hanem az, hogy a gyorsabb hal eszi meg a lassabbat. Az architektúra fejlődése során a nyújtott/biztosított szolgáltatások egyre komplexebbek, állandóan növekszik a felhasználók száma, amihez természetesen folyamatosan növekvő erőforrásigény társul. Az alapvető elvárások kulcsszava a reaktivitás, 4 szempontban gondolkodva: reszponzív, reziliens, elasztikus, üzenetalapú.

Digitális Témahét 2017

A Digitális Témahét 2016-ban indult országos rendezvénysorozat. Fő célja a digitális pedagógia módszertanának népszerűsítése és elterjesztése. A program fontos törekvése, hogy a digitáliskompetencia-fejlesztés az informatikán túl kiterjedjen más tantárgyakra is. A résztvevő pedagógusok és diákok változatos és kreatív iskolai projektek keretében fejleszthetik képességeiket technológiával támogatott tanulás során. A Digitális Témahét rendezvény minden meghirdetett programja ingyenes.

A 2016/2017-es tanévben a rendezvény április 3-7. között valósult meg. Kiemelt témakörök/szempontok:

  • a multidiszciplináris megközelítés: a matematika, a természet- és mérnöki tudományok, valamint a művészet- és társadalomtudományok együttes megjelenítése;
  • a tanítás eszközkészletének és módszereinek megújítása;
  • a pedagógiai innováció, a digitális pedagógia ösztönzése;
  • az informatikai pályaorientáció.

Meghirdetett eseményünk

2017-ben egy eseményt hirdettem meg Digitális Témahét 2017 rendezvényen.
Helyszín: 1056 Budapest, Váci utca 47., 3. emelet 309-es terem, megközelítés
Dátum és időpont: 2017. április 7. 18:00-21:00-ig
Az esemény ingyenes volt, de a részvétel előzetes regisztrációhoz kötött.

A három órás laborgyakorlat a Brit érmék projektfeladat (forrás: Project Euler #31 Coin sums) megtervezését, négyféle megoldását és tesztelését foglalta magába.

Bevezetés:

  • Az Egyesült Királyságban 8-féle érme van forgalomban.
  • Ezek a következők (pound (£) és pence (p)): 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p), és £2 (200p).
  • £2-ot például így lehet kifizetni: 1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p.
  • Hányféleképpen lehet kifizetni £2-ot úgy, hogy bármilyen érméből bármennyit felhasználhatunk?
  • A válasz: 73682.

A választ tartalmazó fájl letölthető: it-tanfolyam.hu-brit-ermek-megoldas-eredmeny.zip (377 kB, kicsomagolva 4,2 MB).

Feladatok Java nyelven: készíteni kell négy Java programot, amelyik listázza a lehetséges eseteket a konzolra a példa szerinti formátumban!

  • Az első iteratív megoldás brute force megoldást tartalmazzon! Ez 1473155834 lépésben fog véget érni.
  • A második iteratív megoldás próbálja csökkenteni a lépésszámot! A cél 3000000 alá eljutni, például: 2886726.
  • A harmadik megoldás rekurzív legyen!
  • A negyedik megoldás objektumorientált legyen!

A fokozatosság elvét betartva, sok-sok előismeretre volt szükség a feladatok megoldásához. A két legizgalmasabb rész a hatékonyság szempontjaihoz és a rekurzív megközelítéshez kötődött. Sok-sok kérdés hangzott el. Az i-edik megoldás direkt előállítása (a teljes sorozatból való kiválasztás nélkül) is felmerült. Köszönöm mindenkinek, aki részt vett rendezvényünkön.

A laborgyakorlaton készült forráskódokat tanfolyamaink hallgatói számára – a témához kapcsolódó témakörökhöz, ILIAS-ra feltöltve – tesszük elérhetővé.