Kép élesítése effektus működése

Ismert számos képfeldolgozó, képjavító effektus. Az egyszerűbb effektusok elérhetők ingyenes web- és mobil alkalmazásokban, PowerPointban. Az összetettebb (művészi) effektusokhoz, szűrőkhöz már érdemes professzionális eszközt használni, ilyen például az Adobe Photoshop. Ezek a belépő szint képeffektusai kulcsszavakban: élesítés (sharpen), homályosítás (blur), elmosódás (gaussian blur), folyadékszerű rajz (liquid), olajfestmény (oil painting), öregítés (sepia), szürkeskála (grayscale).

Lássuk, hogyan valósítható meg Java programozási nyelven a kép élesítése!

A kép adatszerkezete

Adott egy képfájl. Formátuma a tipikus, feldolgozhatók (JPG, GIF, PNG, WebP) egyike. Ezek rasztergrafikus képformátumok. Lekérdezhető a dimenziója: ez képpontban (pixelben) jelenti a kép szélességét (width) és a kép magasságát (height). A vászontechnika meghatározza a kép origóját (0, 0) és a képpontok kétdimenziós koordinátapárját. A kép origója a bal felső sarokban van. A kép oszlopai (column) jobbra haladva növekvő módon, a kép sorai (row) lefelé haladva növekvő módon számozottak. Egy pixel koordinátapárja (c, r) alakban írható le. Minden pixel három szín kombinációjaként áll elő (r, g, b). Másképpen: a piros, zöld és kék összetevők aránya alapján meghatározott. A tipikus színmélység alapján a színek külön-külön 256-félék lehetnek, és ezeket 0-tól 255-ig egész szám képviseli. A 0 az adott szín hiányát, a 255 a szín teljes intenzitását jelenti.

A kép élesítéséhez használható szűrőmátrixok

A kép élesítése során szűrőt alkalmazunk a kép belső pixeleire. A kép 4 szélén lévő pixeleket nem változtatjuk. Többféle szűrő közül választhatunk, íme két példa:

A három színösszetevőre külön-külön kell alkalmazni a szűrőt. Az aktuális pixel – amire alkalmazzuk a szűrőt – a 3×3-as mátrix középső eleméhez igazítva szorzóértékeket tartalmaz. A konkrét eset: az a mátrix esetén az 5 érték a 2. sor 2. oszlopában helyezkedik el; ennek a közvetlen szomszédos pixeleire a -1 értékek, átlós szomszédaira pedig a 0 értékek vonatkoznak. Eredményül a szűrt pixel színeit kapjuk meg külön-külön. Ha a kapott értékek kisebbek 0-nál, akkor nullázzuk őket. Ha a kapott értékek nagyobbak 255-nél, akkor beállítjuk azokat 255-re. Az a szűrőmátrix kevésbé élesít, a b szűrőmátrix erősebben élesít.

Természetesen sok más képélességhez köthető szűrő is van még. Olyanok is vannak, ahol nem csak a közvetlen szomszédos pixeleket veszi figyelembe az algoritmus. További kulcsszavak a témához kötődően: digitális képfeldolgozás, lokális operátor, korreláció, konvolúció, átlagszűrő, mediánszűrő, zajszűrő, Laplace-szűrő.

A kép élesítését megvalósító Java forráskód-részlet

A fenti a mátrixot a SHARP_FILTER konstans kétdimenziós tömb tárolja. A paraméterként átvett BufferedImage típusú img1 objektum kép pixeleinek végigjárását ütközőként segíti a w szélesség és h magasság. A data egydimenziós tömb sorfolytonosan tárolja a kép pixeleit. Az if elágazó utasítás igaz ága kezeli a kép 4 szélét (változatlanul hagyott másolt színek). Az if hamis ága a belső pixelekre alkalmazza a szűrőmátrixot. A red, green, blue változók tartalmazzák az aktuális pixel színeit, amelyekbe az eredeti pixelre alkalmazott szűrő által szorzott értékek kerülnek, „belekényszerítve” a 0-255 zárt intervallumba. Végül az eredményül visszaadott img2 kép pixelei kerülnek beállításra. Az alábbi sharpenEffect() függvény mindezt megoldja az alábbiak szerint:

A metódus meghívása a fájlkezelést is tartalmazó vezérlőmetódusban például így történhet:

Az eredeti és élesített képek összehasonlítása

A bal oldalon az eredeti kép, a jobb oldalon az a mátrixszal élesített kép látható:

A bal oldalon az eredeti kép, a jobb oldalon a b mátrixszal élesített kép látható:

A látvány alapján fontos kiemelni, hogy másképpen is lehet összehasonlítást végezni. Például: színtérkép, színmélység, színösszetevők aránya (hisztogram).

Ötletek továbbfejlesztésre

  • Konzolos program átvehetné parancssori paraméterként a szűrőmátrixot, vagy annak nevét, kódját, egyes értékeit.
  • Grafikus felületű programban vízszinten JScrollBar  GUI komponens(ek) segítségével paraméterezhető, kigörgethető lehetne a szűrőmátrix szélsőértéke(i).
  • A fenti effektek a kép összes pixelét érintik. GUI felületen megoldható az is, hogy ki tudjuk jelölni a kép egy-egy részét, amire alkalmazni szeretnénk az effektek. Ez a kijelölés többféle lehet, például téglalap alakú, szabálytalan, átlátszó, adott vagy adotthoz hasonló árnyalatú színű, vagy valaminek a körvonala.
  • Egy mappában lévő összes képre alkalmazható effekt, előnézettel, képfájlonként megerősítéssel, jóváhagyással, csoportos kijelöléssel, szűrővel.
  • Szürkeskála effekt megvalósítása és tesztelése az alábbi forráskód-részlettel:
  • Homályosítás effekt megvalósítás és tesztelése a 4 élszomszéd színeinek átlagolásával, így:

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

A Java SE szoftverfejlesztő tanfolyamunkon, a szakmai modul Objektumorientált programozás témakörét követő 29-36. óra Grafikus felhasználói felület alkalmain már tudunk egyszerűbb GUI programot tervezni, kódolni, tesztelni, kiegészítve a 37-44. óra Fájlkezelés alkalmaihoz kötődő példaprogramokkal.

Java program memória használatának mérése

Három különböző megközelítésben generálunk szövegeket és töltjük bele ezeket generikus listába. Olyan környezetet építünk, amely képes tesztelni/mérni a Java program/környezet memória használatát előtte/utána. A tárigény (memória, háttértár, feldolgozandó adatok mennyisége, adatforgalom) fontos eleme a hatékonyságnak. Gyakran előfordul, hogy a tárigényt csökkenteni kell egy program tervezése, implementációja vagy továbbfejlesztése során.

Feladat

A Java program előállít 100000 db 20 hosszúságú szöveget véletlen kiválasztott angol ábécé-beli betűkből. A szövegeket generikus listába tölti be. A program méri az általa felhasznált memória méretét/nagyságát úgy, hogy a műveletek előtti és utáni eredményekből különbséget számol. Egyszerű következtetéssel, becsléssel nagy mennyiségű adatra/memóriaterületre számíthatunk, így érdemes megabájt mértékegységet használni.

Közös konstansok

  • final int MIN_LIMIT=(int)'a';
    97, a kis ‘a’ betű, a „legkisebb” generálható véletlen betű/karakter ASCII kódja
  • final int MAX_LIMIT=(int)'z';
    122, hasonlóan a felső korlát
  • final int STRING_LENGTH_LIMIT=20;
    a véletlenszerűen generálandó szövegek hossza
  • final int STRING_COUNT=1000000;
    a véletlenszerűen generálandó szövegek száma, amik generikus listába kerülnek

Három különböző módszer

  • method1():
    Az első módszer esetén String típusú szövegobjektumok keletkeznek úgy, hogy karakterenként kerülnek összefűzésre (konkatenáció) a += művelettel (operátorral). A véletlen karakterek sorszámaira int2char típuskényszerítés szükséges explicit módon (char). A vezérlés egymásba ágyazott ciklusokkal történik.
  • method2():
    A második módszer esetén StringBuilder típusú szövegobjektumok keletkeznek. Szintén karakterenként generálva. Összefűzésüket az append() metódus végzi el. A típuskényszerítés és a vezérlés megegyezik az előző módszerrel.
  • method3() :
    A harmadik módszer során a StringBuilder típusú szövegobjektumokból a Stream API beépített funkcionális műveletei állítják elő a generikus listát. A vezérlés egyetlen ciklusból áll.

Java forráskódok

Íme az első módszert megvalósító metódus. Futtatása 620 MB memóriát igényel:

Ez a második módszer metódusa, amely futása során 235 MB memóriát használ:

A harmadik módszer metódusa. 494 MB „memóriaterületbe kerül” lefuttatni:

A metódusok hívása

Eredmények

A tesztkörnyezet az alábbi eredményeket írta ki konzolosan:

Más nézőpontok

  • Az is mérhető, hogy a program futása közben hány darab objektum keletkezik, melyik mennyi ideig „él”, melyik mennyi helyet foglal. Ez részletesebb képet nyújthat, összevetve a fenti globális helyfoglalással.
  • Figyelhető, hogy az automatikus szemétgyűjtő (Garbage Collector) milyen gyakran fut. Némileg befolyásolható, paraméterezhető a tevékenysége.
  • A forráskód bonyolultsága összefüggésben van annak karbantarthatóságával. Fontos lehet, hogy milyen könnyen dokumentálható, továbbfejleszthető.
  • A memóriafogyasztás szempontjából „túloptimalizált” program verzióváltás(ok) esetén több tesztelést, módosítást igényelhet. Ha egyáltalán valaki hozzá mer nyúlni. 😉
  • A memóriahasználat mérése során figyelembe kell venni, hogy a Java programon kívül Java futtatókörnyezet (JRE) is működik az operációs rendszeren, aminek szintén van erőforrásigénye.

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

Bemutattunk többféle módszert, illetve teszteredményeket. Részletes magyarázatot/indoklást most nem adunk a szakmai blogban. A Java SE szoftverfejlesztő tanfolyam szakmai moduljának 17-28. óra Objektumorientált programozás alkalmain természetesen széles körű áttekintést adunk a témakörrel kapcsolatosan, valamint más módszereket is bemutatunk. A hatékonyság klasszikus dimenziói: időigény, tárigény, bonyolultság. Több esettanulmányunk is van, amely egy-egy algoritmus lépésszámát méri, memória- és/vagy sávszélesség igényt mér, illetve elvi és/vagy koncepcionális bonyolultságot próbál meghatározni. Ezek közül többször redukálunk, csökkentünk tipikusan lépésszámot, memóriaigényt.

Kutatók éjszakája 2023

Kutatók éjszakája logó

Kutatók éjszakája logó

A Kutatók éjszakája nemzetközi rendezvénysorozat 2005-ben indult. Magyarország 2006-ban csatlakozott. Azóta évről-évre egyre több intézmény nyitja meg hazánkban kapuit, szervez érdekes programokat, sok-sok településen, több száz helyszínen, több ezer eseményt meghirdetve sok tízezer érdeklődő/résztvevő látogatónak biztosít tartalmas estét.

Bár a kezdeményezés elsősorban a kutatói pálya népszerűsítését szolgálja, ezért leginkább a tizen- és huszonévesekre számít, az események vonzók és elég érdekesek ahhoz, hogy a kisgyerekektől a legidősebbekig mindenki megtalálja a számára izgalmas programokat. Korábban nagyobb felsőoktatási intézmények és kutatóintézetek szerepeltek döntően, de az utóbbi néhány évben egyre több kisebb intézmény, tehetséggondozással foglalkozó középiskola, cég, egyesület is csatlakozott a rendezvényhez. A Kutatók éjszakája rendezvény minden meghirdetett programja ingyenes.

Rendezvényünk plakátja

Az it-tanfolyam.hu 2023-ban is hirdetett programokat az eseményhez kötődően. Programjainkat elsődlegesen követőinknek, aktív hallgatóinknak és az alumni csoportunkban hirdettük meg, de persze nyílt rendezvényként valósult meg. Az eseményekre regisztrálni kellett a weblapon. A regisztrációs időszak másfél hétig tartott, szeptember 18-28-ig. Programjainkra szeptember 29-én 21:00-23:55-ig került sor.

21:00-21:30 – Kiss Balázs: Az ipari forradalom evolúciója: ipar 4.0 és 5.0, okos gyár
Az előadó áttekinti az ipari forradalom evolúcióját. Címszavakban: ipar 1.0 – gépek gőzzel/vízzel és ipari termelés (1780), ipar 2.0 – villamosítás és sorozatgyártás (1870), ipar 3.0 – automatizálás számítógépekkel/elektronikával (1970), ipar 4.0 – digitális transzformáció, AI, IoT, adatelemzés, kiberfizikai rendszerek (jelenleg), ipar 5.0 – emberközpontú megközelítés, fenntarthatóság, fokozott ellenálló képesség (legújabb iteráció). Az Európai Parlament 2016-os állásfoglalásából kiindulva, az okos gyárak koncepciójának ismertetésével folytatva, valamint praktikus tanácsok is előkerülhetnek zárásként – igény szerint. Az előadó évek óta foglalkozik okos architektúrák fejlődésének történetével, koncepciójával, szoftveres integrációjával és konfigurációjával. Szívesen osztja meg gondolatait, kutatási eredményeit a témáról, beszél saját kisebb és nagyobb léptékű okos projektjeiről. A program a Java tanfolyamaink orientáló moduljához kötődik.

21:35-22:10 – Kaczur Sándor: Algoritmusok vesebeteg-donorok párosítására
Hogyan működik 2007 óta Nagy-Britanniában a vesebeteg-donorok párosítása? Sima csere 2 pár esetén adódik. 3 pár esetén körbeadják a vesét egymásnak – ez már jóval összetettebb. A felépített óriási adatbázisban akár több száz lehetőség is adódhat. A probléma megfelelő párosítási algoritmus és számítógép nélkül, pusztán emberi erővel megoldhatatlan lenne. Az implementált algoritmus futási ideje mindössze 30 perc. A párosítást követően a következő lépés a műtétek egyidejűsége, és a donor szervek „utaztatása” minden lehetséges földi, vízi, légi úton és lehetséges közlekedési eszközzel. Hogyan működik mindez a gyakorlatban? Milyen korlátok, problémák vannak? Milyen adatok alapján dönthető el a betegek „kompatibilitása”? Ezek közül mi kapcsolódik az egészségügyhöz és a szállításhoz? Az előadó próbál válaszokat adni, de lehet, hogy a végén több lesz a kérdés, mint a válasz. Vajon egyáltalán felmerül a párosítási algoritmus hatékonysága ekkora társadalmi hasznosság mellett? A tavalyi előadás kibővült: újabb algoritmusokkal egészült ki. A program a Java tanfolyamaink orientáló moduljához kötődik.

22:15-22:40 – Kaczur Sándor: Naprendszer szimuláció: elméleti háttér, objektumorientált tervezés, megvalósítás, tesztelés Java és JavaScript nyelveken
Az előadó ismerteti a feladatspecifikációt, ennek objektumorientált tervezését, a térben elhelyezkedő objektumok pozíciójának leképezését a síkra, a tömegvonzás közelítő kiszámítását a modelltérben, és a megjelenítést. A megvalósítás során különböző technológiákat hasonlít össze, például HTML5 canvas és JavaScript, Java2D. A felépítés a szoftverfejlesztés klasszikus lépéseinek megfelel. Némi tesztelés is előkerül. Adódnak továbbfejlesztési lehetőségek is. Elengedhetetlen némi matematikai, fizikai háttér áttekintése látványosan (animáció, szimuláció, gamifikáció) történik. A program a Java SE szoftverfejlesztő tanfolyamunk tematikájához kötődik.

22:45-23:10 – Falus Anita, Tóth-Szabó Tamás, Horváth Zoltán Miklós: Karrierváltás után – az álláskeresés én néhány hónap KKV-s tapasztalatai szoftverfejlesztőként
Mennyire könnyű ma szoftverfejlesztőként elhelyezkedni szakirányú felsőfokú végzettség nélkül? Milyen kihívásokkal találkozhatunk a felvételi folyamat során? Milyen elvárásokat támasztanak a munkaadók egy junior szakemberrel szemben? Hogyan telnek a beilleszkedés után a hétköznapok junior fejlesztőként kis létszámmal működő informatikai profilú kisvállalkozásnál? A tanfolyamainkon 2021-ben és 2022-ben végzett előadók karrierváltó junior szakemberként személyes tapasztalataikról számolnak be és válaszolnak a kérdésekre. A program a Java tanfolyamaink orientáló moduljához kötődik.

23:30-23:55 – Szegedi Kristóf, Hollós Gábor: Gondolkodjunk logikusan!
Az előadás során áttekintjük az intelligencia, a kreatív problémamegoldó és logikus gondolkodás összefüggéseit és izgalmas feladatokból válogatva közösen megoldunk néhány fejtörő feladatot. Néhány példa: Hány éves a kapitány?CHOO + CHOO = TRAIN, Logikus gondolkodás teszt. Minden feladathoz adunk rávezető példákat – ha esetleg egyik-másik nem menne, akkor ebből ki fog derülni, hogy miket érdemes gyakorolni ahhoz, hogy sikerüljön.

 

A programjaink népszerűek voltak. 43 érdeklődő látogatót fogadtunk. Többségükben végig velünk tartottak. Elgondolkodtató párbeszéd alakult ki a vesebeteg-donorok párosításáról, valamint sok-sok kreatív ötlet került elő a logikus gondolkodás program fejtörőivel kapcsolatosan. Néhányan megragadták a lehetőséget, hogy több budapesti helyszínt is meglátogassanak – ahogyan ez megszokott a Kutatók éjszakája rendezvényeken hosszú évek óta. Kellemes hangulatban, tartalmasan töltöttük együtt az időt, aminek igazán örülök.

Szeretném megköszönni az előadó oktató kollégák és alumni hallgatóink színvonalas munkáját, igényes felkészülését. Köszönjük mindenkinek, aki részt vett a Kutatók éjszakája 2023 rendezvényünkön. Az előadások prezentációit 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é.

Születésnap-paradoxon

Mennyi a valószínűsége, hogy n ember között van kettő, akiknek egy napon van a születésnapja? A meglepő a dologban az, hogy már 23 ember esetén a kérdéses valószínűség 1/2-nél nagyobb. Másképpen: már 23 ember esetén nagyobb annak az esélye, hogy megegyezik a születésnapjuk, mint az ellenkezőjének. Ez a 23 nagyon kevésnek tűnik. Ezért paradoxon.

Közismert néhány hétköznapi valószínűség. Íme néhány szabályos eset. A pénzfeldobás során 1/2 az esélye a fej és 1/2 az esélye az írás eredménynek (másképpen 50%-50%, azaz fifty-fifty). A kockadobás esetén 1/6 az esélye bármelyik számnak 1-től 6-ig. Két kocka esetén blogoltam már a dobott számok összegének alakulásáról, eloszlásáról: Kockadobás kliens-szerver alkalmazás.

Néhány egyszerűsítés

  • Az év 365 napból áll. Nem számítanak a 366 napos szökőévek.
  • A születések eloszlása egyenletes, azaz minden nap körülbelül ugyanannyian születnek. Nem számít, hogy hétköznap, hétvége, ünnepnap. Az áramszüneti városi legendák sem.
  • Nem vesszük figyelembe az azonos napon született ikreket. Persze ikrek születhetnek különböző napokon is.

Azonos születésnap valószínűsége grafikonon

Lássuk, hogyan alakul az azonos születésnap valószínűsége az emberek számától függően! Grafikonon ábrázolva:

A fenti grafikonhoz szükséges adatok könnyen előállíthatók az alábbi Java forráskóddal:

A fenti Google Chart típusú szórásgrafikon (Scatter Chart, korrelációs diagram) megjelenítéséhez adatpárok sorozata szükséges. Ezek a konkrétumok (70 db adatpár), görgethető:

Hasonló grafikon készítéséről szintén blogoltam már: Céline Dion – Courage World Tour.

Párok előállítása

Az emberek születésnapjainak összehasonlítása párokban történik. 23 ember esetén 23*22/2=253 pár van. Általános esetben n ember esetén (n*(n-1))/2 pár adódik. A levezetés részletei a források között megtalálható. 59 ember esetén 1711 pár adódik és szinte garantált az előforduló azonos születésnap, hiszen már 0,99 ennek a valószínűsége.

Az alábbi Java forráskód – rekurzív módon – előállítja a 23 konkrét esetre a párokat, az embereket 1-23-ig sorszámozva. Kombinációk:

A main() metódusban az i változó paraméterezhető és a konkrét eset könnyen intervallumra változtatható. Eredményül ezt írja ki a program a konzolra, görgethető:

Kísérleti ellenőrzés

Tekintsünk például 1000 esetet! Készítsünk Java programot, amely 23 db véletlen születésnapot generál! Legyen ez a születésnap sorszáma az évben (másképpen hányadik napon született az ember az évben). Ez lényegesen egyszerűsíti a megoldást, összevetve a dátumkezelésen alapuló megközelítéssel. Ajánljuk a szakmai blog dátumkezelés címkéjét az érdeklődőknek, ahol megtalálhatók a témához kapcsolódó Java forráskódrészletek részletes magyarázatokkal kiegészítve. Íme a többféle generikus listát és programozási tételt használó forráskód:

Érdemes elemezni, tesztelni a fenti forráskódot: milyen lépésekben, milyen adatszerkezeteket épít. Hasznos lehet lambda kifejezésekkel kiegészíteni, módosítani a programot. Részlet a program szöveges eredményéből:

A 12. sorban lévő számhármasok jelentése: esetszám 1-től, azonos nap, előfordulás száma. Például: a kísérlet során a 8. esetben az év 225. napja azonos 3 embernél. Természetesen nincs garancia arra, hogy az 1000 eset vizsgálatánál mindig 500-nál nagyobb kedvező esetet kapunk.

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

A feladat a Java SE szoftverfejlesztő tanfolyam szakmai moduljának 17-28. óra Objektumorientált programozás alkalmaihoz kötődik.

Források

MAFIOK 2023

A Matematikát, Fizikát és Informatikát Oktatók 44. Országos Konferenciája (MAFIOK 2023) a Neumann év keretében a Neumann János Egyetem GAMF Műszaki és Informatikai Karán, Kecskeméten került megrendezésre 2023. augusztus 23-25-ig.

A konferencia céljai

A rendezvény elsődleges célja annak elősegítése, hogy a felsőoktatási intézmények oktatói és kutatói a matematika, a fizika, az informatika és a logisztika korszerű és hatékony oktatásáról és tudományos eredményeiről előadások, poszter-bemutatók és személyes találkozás révén tapasztalatot cserélhessenek, valamint kapcsolatot építhessenek mind a hazai kollégákkal, mind a környező országok magyar ajkú oktatóival. A rendezvény célja továbbá, hogy fórumot adjunk PhD hallgatók eredményeinek bemutatására.

A konferencia tervezett főbb témakörei

  • a korszerű matematika-, fizika-, logisztika- és informatikatanítás és tanulás új útjai és távlatai, oktatásfejlesztési tapasztalatai,
  • a felsőoktatás alapozó tárgyainak oktatás-módszertani problémái,
  • mesterképzésbe való bekapcsolódás, a duális képzés gondjai és tapasztalatai,
  • matematika, fizika, informatika, logisztika tudományos eredményei,
  • új és innovatív kutatási irányok, problémák és gyakorlati alkalmazások bemutatása a fenti tudományterületeken.

A konferencia programja

A letölthető absztraktkötet tartalmazza a program- és szervezőbizottság által összeállított szakmai programot. A szerdai 5 plenáris előadást este bűvészprogram követte. Csütörtökön párhuzamos szekciókat tartottak: Matematika, Matematika oktatása, Fizika, Informatika, Logisztika, valamint poszterbemutató, mindezek után szakmai kirándulás volt Lakitelken a Hungarikum Ligetben planetáriumi bemutatóval, borkóstolóval, vacsorával. Pénteken a Matematika, Informatika szekciók után a konferenciát 2 plenáris előadás zárta. 20-nál több intézményből 100-nál több előadó regisztrált a rendezvényre.

Részt vettünk a konferencián

2023-ban két szakmai előadást tartottunk, 20-20 percben, a csütörtöki Informatika szekcióban.

Szakmai cikkeink a Gradus lektorált, online folyóiratban fognak megjelenni (ISSN 2064-8014), amely eredeti publikációkat közöl számos témakörben, beleértve a természettudományok minden területét, mindenféle műszaki tudományt, számítástechnikát, kertészetet, környezetmérnökséget, pedagógiát, didaktikát és közgazdaságtant. A számítástechnika és a matematika elméleti és alkalmazott területeit is befogadja. A folyóirat csak kutatási cikkeket közöl, és minden cikk az esettanulmányok, kísérletek, vagy a gyakorlatban már alkalmazott megközelítésekkel való szisztematikus összehasonlítások révén előrehaladó ötletek gyakorlati alkalmazását tárgyalja.

Szakmai előadásaink összefoglalói

Kaczur Sándor, Friedel Attila – Hogyan érdemes nagy tömegű adatot importálni Microsoft .NET Framework platformon?

Üzleti alkalmazások fejlesztésénél elengedhetetlen alkotóelem az adatok kezelése, tárolása. Ezt leggyakrabban valamilyen relációs adatbázis-kezelővel valósítják meg a fejlesztők. A hétköznapi munka során gyakran előforduló feladat külső forrásból történő adatok átvétele, aktualizálása. A cikk szerzői arra a kérdésre keresik a választ, hogy hogyan érdemes ezen (néha igen tetemes mennyiségű) adatokat minél gyorsabban átvenni. A bemutatásra kerülő esettanulmány Microsoft .NET Framework segítségével, a platform által kínált adatbázis-kezelési lehetőségek közül válogat. A cikk összehasonlítja a nyelvben már régóta jelen lévő alacsony szintű SQL parancsokkal végzett megvalósítást a később beépített, de szintén elterjedt objektumrelációs modell keretrendszerrel (azaz az Entity Framework-kel) történő megvalósítással, majd elemzi a kapott eredményeket.

Kaczur Sándor, Kiss Balázs – Alkalmazottak életpálya modellje – Java és SQL esettanulmány az Oracle HR sémára építve

Az objektumorientált programozás oktatásának része olyan kliensprogramok tervezése, kódolása és tesztelése, amelyek képesek adatbázishoz csatlakozni. A belépő szint csupán lekérdezés, adatok megjelenítése űrlapokon, táblázatos komponensekben, vagy grafikonokon. Haladó szinten már szükséges az adatok karbantartása is, illetve konzolos, asztali alkalmazásokról át lehet térni webes és mobil platformokra is. A szerzők cikke ebből az útból emel ki egy esettanulmányt, amely Java és SQL nyelveken készült és MVC architekturális tervezési mintát használ. A felhasznált mintaadatok az Oracle HR sémából származnak. Az elemzés betekintést nyújt a modellalkotás lehetőségeibe – többféle megközelítést alkalmazva, elvi és konkrét szinten is.

Az előadásaink témája a Java adatbázis-kezelős tanfolyam szakmai moduljához és orientáló moduljához is kapcsolódik. Az előadásaink prezentációit ILIAS e-learning tananyagban tettük elérhetővé tanfolyamaink résztvevői számára.

Korábbi MAFIOK előadásaink, cikkeink, posztereink

  • Kaczur S.: Az OracleHRJSP webalkalmazás működése, Matematikát, fizikát és informatikát oktatók (MAFIOK) XXXVIII. országos konferenciája, Pécs, Pécsi Tudományegyetem Pollack Mihály Műszaki és Informatikai Kar, 2014, ISBN 978-963-7298-55-4, p. 121-126 (magyar nyelvű szakcikk)
  • Kaczur, S.: A Gábor Dénes Tehetségpont programozáshoz kötődő diákműhelyei, Matematikát, fizikát és informatikát oktatók (MAFIOK) XXXVIII. országos konferenciája, Pécs, Pécsi Tudományegyetem Pollack Mihály Műszaki és Informatikai Kar, 2014. augusztus 25-27. (poszter hazai konferencián)
  • Kaczur, S.; Lengyel, B. I. (előadó: Kaczur, S.): A csomópont kiválasztás algoritmus működését bemutató oktatóprogram PLNC adatátvitel esetén, Matematikát, fizikát és informatikát oktatók (MAFIOK) XXXVIII. országos konferenciája, Pécs, Pécsi Tudományegyetem Pollack Mihály Műszaki és Informatikai Kar, 2014. augusztus 25-27. (poszter hazai konferencián)
  • Kaczur, S.: Nyílt forráskódú EKG analizáló algoritmusok hatékonysága (Signal analysis), Matematikát, fizikát és informatikát oktatók XXXVI. országos konferenciája (MAFIOK), Gyöngyös, Károly Róbert Főiskola, 2012. augusztus 27-29. (előadás hazai konferencián)
  • Kaczur, S.; Fintor, K.: Szerkezetföldtani oktatóprogram, vetőmenti elmozdulások modellezésére, Perspective, XV. évfolyam különszám, Szent István Egyetem Gazdasági Kar, 2011, ISSN 1454-9921, p. 215-222 (magyar nyelvű szakcikk)
  • Fintor, K.; Kaczur, S.: Vetőmozgások 3D-s szimulációjának alkalmazása a földtudományi képzésben, Perspective, XV. évfolyam különszám, Szent István Egyetem Gazdasági Kar, 2011, ISSN 1454-9921, p. 208-204 (magyar nyelvű szakcikk)
  • Kaczur, S.; Fintor, K. (előadó: Kaczur, S.): Szerkezetföldtani oktatóprogram, vetőmenti elmozdulások modellezésére, Matematikát, fizikát és informatikát oktatók XXXIV. konferenciája (MAFIOK), Békéscsaba, Szent István Egyetem Gazdasági Kar, 2010. augusztus 24-26. (előadás hazai konferencián)
  • Fintor, K.; Kaczur, S. (előadó: Fintor, K.): Vetőmozgások 3D-s szimulációjának alkalmazása a földtudományi képzésben, Matematikát, fizikát és informatikát oktatók XXXIV. konferenciája (MAFIOK), Békéscsaba, Szent István Egyetem Gazdasági Kar, 2010. augusztus 24-26. (előadás hazai konferencián)
  • S. Kaczur; S. Kopácsi: Practical application of coordinate and dot transformations, A GAMF Közleményei, Kecskemét, XXIII. évf., 2008, HU ISSN 1587-4400, p. 121-126 (idegen nyelvű szakcikk)
  • Kaczur, S.; Kopácsi, S. (előadó: Kaczur, S.): Koordináta- és ponttranszformációk alkalmazása a gyakorlatban, Felsőfokú alapképzésben matematikát, fizikát és informatikát oktatók XXXII. Konferenciája (MAFIOK), Kecskemét, Kecskeméti Főiskola, 2008. augusztus 25-27. (előadás hazai konferencián)