Hibakeresés és naplózás Java környezetben
|
|
- Júlia Ballané
- 7 évvel ezelőtt
- Látták:
Átírás
1 Hibakeresés és naplózás Java környezetben Célok, lehetőségek, minták, implementáció Konstantinusz Kft. 2009
2 1. Tartalomjegyzék 1. Tartalomjegyzék Bevezetés Hibakeresés probléma felvetés A hiba reprodukálása A hiba azonosítása A hiba javítása Naplózás Log keretrendszerek Szintek Logger helyes hívása a kódban Kivételek naplózása Különböző környezetek Összefoglalás Bevezetés A szoftverfejlesztés egyik nagy igazsága az, hogy nincs kész rendszer. Valamilyen formában mindig változik: újabb igények kerülnek megvalósításra, új környezetbe kerül, változnak a rendszer paraméterei. Ennek következménye az, hogy a rendszer teljes élettartamában találkozunk újabb és újabb hibákkal. Előfordulhat, hogy egy régebbi fejlesztés reagál kedvezőtlenül egy új paraméter értékre, vagy új fejlesztés hoz nem várt eredményt. Ezért van szükség arra, hogy a rendszer felépítésében és kommunikációjában maximálisan támogassa a hibakereséssel kapcsolatos elvárásokat. Az egyes programegységek egységesen kerüljenek naplózásra, a rendszerüzenetek, és a naplóbejegyzések megfelelő információkat tartalmazzanak az eseményekről. 3. Hibakeresés probléma felvetés A hibákra előbb vagy utóbbi fény derül. Az esetek többségében a felhasználó funkcionális tesztet végző vagy éles rendszert használó találkozik vagy logikai hibával, vagy olyan működésbeli problémával, ami a feladat végrehajtását lehetetleníti el. A hiba jelentkezhet például egy üzleti folyamat végrehajtása közben vagy az után, az eredmény ellenőrzésekor a rendszer outputjait vizsgálva egy riportban vagy esetleg adatbázisban. Miután a felhasználó észlelte a hibát a szoftvert szállítójának feladata, hogy reprodukálja, azonosítsa és javítsa azt a felhasználói leírások, inputok és az alkalmazás outputok alapján. 2/11
3 Ehhez kapunk segítséget, ha alkalmazzuk a naplózó eszközöket (logging), illetve lépésről lépésre vizsgáljuk a kódot (debug). A két módszer szemléletében és alkalmazási módban eltérő, azonban mindkettő fontos szerepet kap a szoftverhibák elhárításában. Mielőtt részletezzük az első módszert vizsgáljuk meg, hogy milyen feladatokat kell elvégeznünk miután egy hiba a tudomásunkra jutott A hiba reprodukálása A hiba reprodukálhatósága alatt azt értjük, hogy ugyanazon verziójú alkalmazással egy másik környezetben, egy másik példányon is előállítható, megismételhető. A hiba reprodukálására szükség van, egyrészt a hiba azonosításához, másrészt a javítás teszteléséhez. Ha a hiba azonosításához szükséges információk nem állnak rendelkezésre, vagy felmerült a gyanú, hogy a hiba hatása több feladatot is érint, és szükség van a hiba követésére e feladatok esetén is, akkor még az azonosítás előtt reprodukálni kell a hibát. Ha a hiba azonosítása már megtörtént, akkor csak a javítás utáni teszteset összeállításához szükséges az, hogy a hibát újra elő tudjuk állítani. A hiba reprodukálása koránt sem olyan egyszerű probléma, mint ahogy első hallásra tűnik. Azt gondolnánk, hogy elegendő ugyanazokat az adatokat felvinnünk a képernyőkön, amiket a felhasználó is felvitt korábban, és már is megvan a hiba. Azonban ez csak ritkán és viszonylag egyszerű feladatok estén vezet eredményre. Figyelembe kell vennünk még a környezet egyes részeit, amennyiben hatásuk van az adott feladatra: az adatbázis állapotot egyéb külső paraméterek integrációs környezet a rendszerben korábban végrehajtott feladatok A legtöbb esetben csak a fentiek figyelembevételével sikerülhet a hiba reprodukálása. Azt tűzzük ki tehát célul, hogy a megfelelő információk álljanak rendelkezésre akkor, amikor a hibát reprodukálni szeretnénk. Az információk konkrét tartalma az üzleti esettől függ, a feladat határozza meg. Feltételezzük, hogyha a megfelelő információk megvannak, akkor a hiba reprodukálható A hiba azonosítása A hiba azonosítása alatt azt értjük, hogy megvan a programkódban az a rész, ami az adott paraméterek alapján a hibás működést eredményezi. A hiba azonosításához nem feltétlenül van szükség a reprodukálásra. Amennyiben a hibával kapcsolatban kapott információk elégségesek az azonosításához, és egyértelmű a probléma, nem kell megvárnunk a reprodukálást, lehet a kettőt párhuzamosan végezni. 3/11
4 Gyakran előfordul az például helytelen kivételkezelés esetén, hogy a kapott hiba egy előzőleg elnyelt kivétel, korábbi hiba miatt következik be. Ekkor általában a legrészletesebb stacktrace és leírás sem elegendő, ugyanis nem az okról kapunk információt, hanem csak a következményről. A következmény pedig nem határozza meg egyértelműen magát a kiváltó okot. A helytelen kivételkezelés szélsőséges esetben történhet egy másik feladatban, egy másik modulban, sőt akár egy másik alkalmazásban is. Az a cél, hogy alkalmazás ne adjon félrevezető információkat a hiba előfordulásának programkódbeli helyéről, azaz ne legyenek elnyelt kivételek A hiba javítása A hiba javítása talán egy kicsit kevésbé tartozik e témakörhöz, mint az előző kettő. Mégis fontos megemlíteni, hogy azon túl, hogy a konkrét logikai hibát kijavítjuk, fordítsunk arra is figyelmet, hogy ha esetleg az azonosításhoz vagy a reprodukáláshoz nem álltak elő a megfelelő információk, akkor azokat pótoljuk a javításkor, jelenítsük meg a logban. Esetleg, ha látszanak hasonló hiányosságok egyéb program részekben, akkor azokat is alakítsuk át, hogy a megfelelő információk megjelenjenek egy későbbi nyomozást támogatva. A cél az, hogy a hiba javításkor is kövessük a meghatározott logolási mintát illetve, ha eltérést találunk attól, akkor javítsuk azt is. 4. Naplózás Ma már nem kell naplózó keretrendszert fejleszteni az alkalmazás részeként. Nem kell kitalálni, hogyan rögzüljenek a naplóbejegyzések. Már kezünkben vannak azok a log keretrendszerek, melyek sok év tapasztalatát fogják össze magukban, és nagyon jó eszközrendszert adnak a kezünkbe, hogy egységes, jól paraméterezhető log környezetet hozzunk létre egy alkalmazáson belül Log keretrendszerek A Java keretrendszerek közül elsőként az Apache commons-logging-ot kell szemügyre vennünk. Meglepően nem a JDK-ban helyet kapott Logger a legáltalánosabb eszköz, hanem a commonslogging. Ez a vékony keretrendszer egy absztrakt réteget húz minden logger implementáció fölé a JDK fölé is. Ezért van az, hogy ideális döntés, ha ezt kötjük az alkalmazásba. Mivel az alkalmazásunkba egy absztrakt réteget kötöttünk be így annak segítségével különböző logger keretrendszereket is összekapcsolhatunk vagy váltogathatunk közöttük kedvünkre csupán a konfigurációt módosítva. Sok előnye közül ez az egyik, ha a commons-logging keretrendszert használjuk az alkalmazásunkban. Sokszor viszont mégsem használjuk a commons logging-ot, mivel a log4j egy másik keretrendszer önállóan is képes ellátni egy alkalmazás egységes loggolását. Amennyiben nem 4/11
5 kívánjuk változtatni az logger implementációt, a log4j-t is köthetjük az alkalmazásba. Abban az esetben van szükségünk commons loggingra, ha felmerül, hogy az adott implementációt cseréljük az alkalmazásunk alatt. # Use Log4j org.apache.commons.logging.log=org.apache.commons.logging.i mpl.log4jlogger # Configuration file of the log log4j.configuration=log4j.properties 1. kódrészlet commons-logging.properties log4j implementációval 1.5. Szintek A legtöbb keretrendszer egyik központi koncepcionális eleme az egyes log üzenetek küldésekor definiálható szint. A szint a naplóüzenet olyan tulajdonsága, amit a keretrendszer használ annak eldöntésére, hogy az adott üzenetet kell-e naplózni adott konfiguráció mellett vagy nem. A különböző szintek különböző napló részletezettséget képviselnek. A különböző keretrendszerek eltérnek abban, hogy milyen szinteket használhatunk illetve, hogy definiálhatunk-e saját szinteket vagy sem. Nézzük a leggyakrabban használt szinteket és szerepüket: TRACE A műveletek minden részletét naplózzuk. DEBUG A hibakeresést támogató napló bejegyzéseket naplózzuk. INFO A program futásával kapcsolatos, tájékoztató információkat naplózzuk. WARN Valamilyen szokatlan működést jelző bejegyzéseket naplózzuk. ERROR Hibák naplózása. FATAL Leálláshoz vezető hibákat naplózzuk. A szinteket két helyen használjuk: loghívás paramétereként a programkódban konfigurációs beállításként az aktuális futás naplózására A szintek között egy rendezési reláció áll fenn. A fenti lista a leggyengébbtől indul a legerősebbig. Az a szabály, hogy a konfigurált szint és az annál erősebb üzenetek jelennek meg a naplóban. Nézzünk egy példát: A programkódban az adott üzenetet adott szinttel - jelen esetben DEBUG szinttel - küldjük el a naplózó keretrendszernek. //loghívás logger.info( Job done: +jobid); 5/11
6 2. kódrészlet loghívás üzenet <! Az üzenet nem lesz log-entry, mert a szintje kisebb, mint a konfigurált szint--> <level value="warn"/> 3. kódrészlet konfigurált szint warn > info <! Az üzenet log-entry lesz, mert a szintje megegyezik a konfigurált szinttel --> <level value="info"/> 4. kódrészlet konfigurált szint info <!-- Az üzenet log-entry lesz, mert a szintje nagyobb a konfigurált szintnél --> <level value="debug"/> 5. kódrészlet konfigurált szint debug < info 1.6. Logger helyes hívása a kódban A jól átgondolt és megtervezett naplózás komoly segítség lesz az alkalmazás későbbi szakaszaiban. Azonban akár egyetlen elhamarkodott és átgondolatlan loghívás vagy annak üzenete is súlyos problémákat okozhat. A következőkben áttekintjük azokat a problémákat és felhívjuk rájuk a figyelmet, amiket a helytelenül alkalmazott naplóbejegyzések okozhatnak. A problémákat és azok elkerülését három aspektusból vizsgáljuk. Ez a három feladat vár arra a programozóra, aki egy bizonyos loghívást szeretne elhelyezni a programkódban. Megfelelő üzenet előállítása Az üzenetek formátuma általában String. Ezt könnyen emésztik a keretrendszerek, és valóban a legmegfelelőbb forma egy naplóbejegyzéshez. A String példány sokféleképpen előállhat. Nézzünk néhány példát a legegyszerűbbtől a bonyolultabbakig. 6/11
7 // i) logger.info( Checking Job. ); // ii) logger.info( Checking Job: +jobid); // iii) logger.info( Checking Job: +job.getid()); // iv) logger.info( Checking Job: +jobid.tostring()); 6. kódrészlet egyszerű üzenetek Az első esetben nagy valószínűséggel nem adódik probléma futás közben. Annál több adódhat viszont akkor, amikor értelmezni próbáljuk a naplót. A legegyszerűbb, és legveszélytelenebb módja a log üzenet előállításához. Kétségtelen azonban, hogy a legkevésbé informatív is. Sok esetben valóban elegendő a statikus üzenet, viszont az e fajta üzeneteknél kell a leginkább odafigyelni a meg fogalmazásra. Ebben az esetben sem történik probléma, viszont az előálló String példány szélsőséges esetben értelmetlen lehet. Mivel jelen példában nem tudunk a loghívás környezetéről semmit, tegyük fel, hogy lehetséges az az esetet, amikor a jobid=null. Ekkor a következő eredményt kapjuk: Checking Job: null Természetesen értelmező a naplóbejegyzés, ha tudjuk a mögöttes logikát. Viszont egy avatatlan szem nem sok információt képes kinyerni ebből. Tartsuk szem előtt azt, hogy laikusok is olvashatják a naplót. Jó megoldás lehet a következő: // ii) logger.info( Checking Job: + (jobid==null? unknown check previous log-entries for error :jobid) ); Ekkor már egy barátságosabb üzenetet kapunk: Checking Job: unknown check previous log-entries for Talán most már látszanak a problémák a következő bejegyzésekkel is. A harmadik esetben már súlyos problémát (NullPointerException-t) kapunk, ha a job null értéket vesz fel. 7/11
8 Természetesen ekkor is segít a következő: // iii) logger.info( Checking Job: + (job==null? unknown check previous log-entries for error :job.getid()) ); Értelmetlen és buta, mégis gyakori hiba az, amikor egy már létező vagy új loghívásban valamelyik objektum után explicit meghívjuk a tostring() metódust. Természetesen, ha nincs ott az explicit hívás, akkor az adott objektum példányon valóban a tostring() hívódik meg automatikusan. Viszont ez esetben job=null esetén a null, mint szöveg jelenik meg a bejegyzésben. Explicit tostring() esetén pedig előáll a iii) eset és a NullPointerException probléma. A fenti példák egyszerűen elkerülhetők, mégis sok hibaforrást rejtenek, ha nem figyel a fejlesztő. A következőkben nézzünk meg komplexebb naplózási igényt és megoldást. Az alap probléma az, hogy az üzenetet össze kell állítani valamilyen logika szerint. Viszont ezt a logikát csak abban az esetben szeretnénk futtatni, amennyiben maga a loghívás logentry-t hoz majd létre, azaz a konfigurációban szereplő szint gyengébb vagy azonos, mint a loghívásban szereplő szint. // i) helyes if(log.isdebugenabled()) { String message; // üzenet előállító logika // csak akkor fut le, // ha debug entry-ket is naplózunk log.debug(message); } // ii) helyes String message=null; if(log.istraceenabled()) { // üzenet előállító logika // csak akkor fut le, // ha trace entry-ket is naplózunk } // az üzenet előállítása korábban történik, mint az üzenet naplózása log.trace(message); 8/11
9 // helytelen String message; // üzenet előállító logika // mindig lefut log.debug(message); A megfelelő szint megválasztása 6. kódrészlet elérhető szint vizsgálata helyes - helytelen Tartsuk szem előtt, hogy a szintek szerepe az, hogy lehetőség legyen megkülönböztetni a naplót vizsgáló felhasználók körét. Ne jelenítsünk meg felesleges üzeneteket az erősebb szinteken, ha azok nem szükségesek az adott napló olvasónak. Az is fontos azonban, hogy a szükséges üzenetek ne maradjanak gyengébb szinten, ha az egy erősebb szintet is érdekelheti. Az alábbiakban egy általános mintát látunk a szintekre és az üzenetek tartalmára vonatkozóan. A trace szinten általában az algoritmusok részeredményeit jelenítjük meg. A trace szint teljes és egységes alkalmazása komoly kihívás. Emiatt és az erőforrás igény miatt legtöbbször el is marad, és csak néhány kulcs algoritmus esetén valósul meg. A debug szint a paraméterek és az algoritmusok végeredményének naplózására használható. Ez az információ általában elégséges a legtöbb hiba reprodukálásához és azonosításához. Az info szint a felhasználó, adminisztrátor, vagy egyéb rendszerek szempontjából fontos üzeneteket jeleníti meg. Az üzemeltetéshez szükséges információkat szolgáltatja. A programban történő elhelyezés Azt már láttuk, hogy lehet vizsgálni a szükséges szint aktív voltát. Ezen túl viszont fontos az is, hogy a különböző utasításokban milyen hatása lesz a loghívásnak. Vizsgáljuk meg az if then else szerkezetet. A logikától függően legtöbbször info szinten szükség van a feltétel kiértékelésének eredményére. Debug szinten pedig szinte mindig. Azaz legalább debug szinten naplózni kell a feltétel eredményét. Ezt a következőképpen érdemes megtenni. 9/11
10 if(){ log.debug( World Peace Completed ); } else if(){ log.debug( World Peace Still In Progress ); } else{ log.debug( World Peace Failed But Not Given Up ); } Másik fontos szerkezet a ciklus. Velük kapcsolatban arra kell ügyelni, hogy a ciklusmagba írt loghívás többször megtörténik. Tehát ha van olyan rész az üzenetben, mely a cikluson kívül előállítható, akkor azt tegyük meg. Nagyszámú ismétlés esetén gyorsan növekszik a logfájl mérete. Feltételes ciklus befejeződése esetén fontos információ lehet a lefutások száma Kivételek naplózása A keretrendszerek lehetőséget adnak arra, hogy egy kivételt (Throwable) naplózzunk. Ezt általában megtehetjük minden szinten. A kivétel naplózása azt jelenti, hogy a stacktrace-t kiírjuk a naplóbejegyzésbe. Fontos szempont, a kivételek felismerhetősége. Nézzük meg, milyen szempontoknak kell megfelelnie a kivételeknek a logfájlban: Dokumentálhatóság Egyértelműség Üzemeltető felhasználó számára azonosítható hibajelzés Egyszerű és jó megoldás az, ha minden kivételpéldányhoz vagy üzenethez kódot rendelünk, valamint, a gyorsabb behatárolhatóság kedvéért, egy prefixet rakunk a kód elé, mely az üzleti modult vagy valamilyen egyéb egységet jelöl. Ezt a módszert alkalmazva a következőképpen néz ki egy bejegyzés: [DEBUG] MOD Exception message from Module1. stacktrace [DEBUG] MOD Exception message from Module2. stacktrace A kivételek naplózásával kapcsolatban az egyik kulcs az, hogy soha ne nyeljünk el kivételt naplózás nélkül. Természetesen vannak olyan kivételek, melyeket programozás technikai okokból 10/11
11 elnyelünk (pl.: adatbázis kapcsolat lezáráskor), de az üzleti folyamatot, logikát érintő kivételeket tilos naplózás nélkül elnyelni Különböző környezetek A naplózás igazi jelentőségét akkor látjuk, amikor az alkalmazásunk több környezetben is fut. Legtöbb esetben az alkalmazás az éles környezeten túl még felhasználói teszt és fejlesztői teszt környezetekben is működik párhuzamosan. Erre azért van szükség, hogy a verzióváltások és a tesztelés gördülékenyen hajtódjanak végre. Ideális esetben az egyes környezetek identikusak, ám ez a gyakorlatban ritkán teljesül. Sokszor előfordul az, hogy az alkalmazás tesztelése nem teljes vagy csak adott környezetben fordul elő egy adott hiba. Megfelelő szintű és részletes napló esetén azonnal látjuk a hiba okát és előfordulhat, hogy elegendő csak a konfigurációs beállításokon vagy a törzsadatokon módosítani, hogy javítsuk a hibát. Az egyes környezetekben lehetőség van arra, hogy a naplózás szintjét eltérően állítsuk be. Ez akkor hasznos, ha az éles környezet naplóját nem akarjuk alacsony szintű bejegyzésekkel terhelni, viszont egy adott feladatot szeretnénk alacsony szinten végig követni a tesztrendszerben. 5. Összefoglalás Láthatjuk, hogy a megfelelő naplózás komoly segítséget nyújt mind a fejlesztőnek, mind az üzemeltetőnek hosszútávon. Az alkalmazás fejlesztésekor azonban általában nincs elegendő erőforrás az loghívások elégséges létrehozására viszont néhány kulcs funkció esetében elkerülhetetlen a részletes megvalósítás. Fontos, hogy ne csak próbálkozzunk a megfelelő naplózással, hanem fektessünk erőforrást a kialakításra az alkalmazás fejlesztése során. Ez a befektetés többszörösen megtérül majd. A helytelen, félrevezető naplózás legalább olyan káros, mint a naplózás hiánya. A megfelelő naplózás kialakítása a fejlesztői és üzemeltetői fluktuációt is nagyban megkönnyíti és csökkenti a kockázatot. Fontos a fejlesztők megfelelő instruálása a naplózással kapcsolatban. Az alkalmazott keretrendszer lehetőségeit, a naplózás mintáit és az elvárásokat is tisztázni kell. Így a rendszer egységesen kerül naplózásra. 11/11
Kivételkezelés, naplózás. Exception handling, logging
Kivételkezelés, naplózás Exception handling, logging Try-catch try { // Kódrészlet, amely kivételt eredményezhet catch (Exception1 object1 ) { // Az Exception1 kivétel kezelésének megfelelő kód catch (Exception2
RészletesebbenIntegrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató
Integrációs mellékhatások és gyógymódok a felhőben Géczy Viktor Üzletfejlesztési igazgató Middleware projektek sikertelenségeihez vezethet Integrációs (interfész) tesztek HIÁNYA Tesztadatok? Emulátorok?
RészletesebbenJava programozási nyelv 9. rész Kivételkezelés
Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék
RészletesebbenOOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
RészletesebbenObjektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
RészletesebbenÖsszefoglaló jelentés
Összefoglaló jelentés A 2018. évi országgyűlési képviselők választásának lebonyolítási időszakában a választást támogató informatikai rendszerek működése során történt informatikai események vizsgálatáról
RészletesebbenVerifikáció és validáció Általános bevezető
Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának
RészletesebbenUnit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22
Unit Teszt Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 1 / 22 Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22 Szoftvertesztelés
RészletesebbenLETÉTKEZELŐ NYILVÁNTARTÁSI RENDSZER
LETÉTKEZELŐ NYILVÁNTARTÁSI RENDSZER Felhasználói kézikönyv a területi adminisztrátorok számára 1.2 verzió 2015.május 14. Dokumentum adatlap Projekt/modul megnevezése: Magyar Ügyvédi Kamara Letétkezelő
Részletesebben2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
Részletesebben1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
RészletesebbenAz alállomási kezelést támogató szakértői funkciók
Az alállomási kezelést támogató szakértői funkciók dr. Kovács Attila Szakértői rendszerek Emberi szakértő kompetenciájával, tudásával rendelkező rendszer Jellemzői: Számítási műveletek helyett logikai
RészletesebbenBevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 8. Gyakorlat modulok random számok (utolsó módosítás: 2017. aug. 3.) Szathmáry László Debreceni Egyetem Informatikai Kar 2017-2018, 1. félév Modulok Amint a programunk
RészletesebbenKomputeralgebra Rendszerek
Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3
RészletesebbenFogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal.
Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal.hu. 1 Tartalom 1. BEVEZETŐ... 3 1.1 Architektúra (terv) felülvizsgálat...
RészletesebbenProgramrendszerek tanúsítása szoftverminőség mérése
SZEGEDI TUDOMÁNYEGYETEM Programrendszerek tanúsítása szoftverminőség mérése Dr. Gyimóthy Tibor Dr. Ferenc Rudolf Szoftverminőség biztosítás Fő cél: az üzemelő IT rendszerekben csökkenteni a hibák számát
RészletesebbenTOGAF elemei a gyakorlatban
TOGAF elemei a gyakorlatban Vinczellér Gábor 2009.06.0406 04 8 éves szakmai tapasztalat Bemutatkozás IT Support, Programozó, jelenleg Projektvezető, Termékfejlesztési Üzletág Vezető Tanácsadási és Szoftverfejlesztési
RészletesebbenJava-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft
Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet
RészletesebbenNév: Neptun kód: Pontszám:
Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,
RészletesebbenJava Programozás 1. Gy: Java alapok. Ismétlés ++
Java Programozás 1. Gy: Java alapok Ismétlés ++ 24/1 B ITv: MAN 2018.02.18 Feladat Készítsünk egy komplett konzolos alkalmazást, mely generál egy számot 0 és 100 között (mindkét határt beleértve), feladatunk
RészletesebbenGrid menedzsment megoldás az ARC köztesrétegben
Grid menedzsment megoldás az ARC köztesrétegben Intézetünk az Új Magyarország Fejlesztési Terv TÁMOP 4.1.3[1] alprojektjének keretén belül dolgozott ki sikeresen egy jól működő megoldást egy olyan problémára,
RészletesebbenObjektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely
RészletesebbenOOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.
OOP #6 (VMT és DMT) v1.0 2003.03.07. 19:33:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_06-1 - E jegyzet másolata
RészletesebbenVezérlési szerkezetek
Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását
RészletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
RészletesebbenWebprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
RészletesebbenOsztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január
Osztott jáva programok automatikus tesztelése Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január Osztott alkalmazások Automatikus tesztelés Tesztelés heurisztikus zaj keltés Tesztelés genetikus
RészletesebbenModell alapú tesztelés mobil környezetben
Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed
RészletesebbenOEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1
OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Különféle élőlények egy túlélési versenyen vesznek részt. A lények egy pályán haladnak végig, ahol váltakozó terep viszonyok vannak.
RészletesebbenCsináljunk az adatból információt! A Lone-Soft listázó keretrendszerrel
Csináljunk az adatból információt! A Lone-Soft listázó keretrendszerrel A piacon lévő ügyviteli szoftverek jó részének legnagyobb hibája, hogy a letárolt adatokat nem képesek a felhasználó által hasznosítható
RészletesebbenHatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve
Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve Kérdő Attila, ügyvezető, INSERO Kft. EOQ MNB, Informatikai Szakosztály, HTE, ISACA 2012. május 17. Módszertanok
RészletesebbenOccam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
Részletesebben15. Programok fordítása és végrehajtása
15. Programok fordítása és végrehajtása Programok fordítása és végrehajtása. (Fordítás és interpretálás, bytecode. Előfordító, fordító, szerkesztő. A make. Fordítási egység, könyvtárak. Szintaktikus és
RészletesebbenMit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,
RészletesebbenDigitális aláíró program telepítése az ERA rendszeren
Digitális aláíró program telepítése az ERA rendszeren Az ERA felületen a digitális aláírásokat a Ponte webes digitális aláíró program (Ponte WDAP) segítségével lehet létrehozni, amely egy ActiveX alapú,
RészletesebbenMagyar Nemzeti Bank - Elektronikus Rendszer Hitelesített Adatok Fogadásához ERA. Elektronikus aláírás - felhasználói dokumentáció
ERA Elektronikus aláírás - felhasználói dokumentáció Tartalomjegyzék 1. Bevezető... 3 1.1. Általános információk... 3 2. DesktopSign... 3 2.1. Általános információk... 3 2.2. Telepítés... 3 3. MNBSubscriber...
RészletesebbenJava programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
RészletesebbenFüggőség injekció Konstantinusz Kft 2010
Függőség injekció Konstantinusz Kft 2010 1 Tartalomjegyzék 1 Tartalomjegyzék 2 2 Bevezetés 3 3 Függőségek formái 4 4 Függőség kezelés problémái 8 5 Megvalósítás 9 2/16 2 Bevezetés Egy objektum modellben
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
RészletesebbenELTE, Informatikai Kar december 12.
1. Mi az objektum? Egy olyan változó, vagy konstans, amely a program tetszőleges pontján felhasználható. Egy olyan típus, amelyet a programozó valósít meg korábbi objektumokra alapozva. Egy olyan változó,
RészletesebbenProgramozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010
Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 12. ELŐADÁS Adatbázis-kezelés Delphiben 2 Adatmegjelenítés lekérdezés segítségével A táblákhoz hasonlóan a lekérdezések is az adatbázis
RészletesebbenFunkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }
Funkcionális és logikai programozás { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi ` 1 Jelenlét: Követelmények, osztályozás Az első 4 előadáson
RészletesebbenPHP-MySQL. Adatbázisok gyakorlat
PHP-MySQL Adatbázisok gyakorlat Weboldalak és adatbázisok Az eddigiek során megismertük, hogyan lehet a PHP segítségével dinamikus weblapokat készíteni. A dinamikus weboldalak az esetek többségében valamilyen
RészletesebbenA ChipScope logikai analizátor
A ChipScope egy, az FPGA tervbe integrálható logikai analizátor, amely az FPGA terv belső jeleinek vizsgálatára használható Előnye a normál logikai analizátorhoz képest Az igényeknek megfelelően konfigurálható
RészletesebbenMérlegelés több cég számára
METRISoft Mérleggyártó KFT PortaWin (PW2) Jármű mérlegelő program 6800 Hódmezővásárhely Jókai u. 30 Telefon: (62) 246-657, Fax: (62) 249-765 e-mail: merleg@metrisoft.hu Web: http://www.metrisoft.hu Módosítva:
RészletesebbenTartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet
Konfiguráció menedzsment bevezetési tapasztalatok Vinczellér Gábor AAM Technologies Kft. Tartalom 2 Bevezetés Tipikus konfigurációs adatbázis kialakítási projekt Adatbázis szerkezet Adatbázis feltöltés
RészletesebbenKomplex terheléses tesztmegoldások a Mobil PS és CS gerinchálózaton
Komplex terheléses tesztmegoldások a Mobil PS és CS gerinchálózaton Olaszi Péter, Sey Gábor, Varga Pál AITIA International Zrt. HTE Infokom konferencia és kiállítás, 2012. október 10 12. Változások a gerinchálózatban
RészletesebbenEseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Szoftverek tesztelése 2014 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenBevezetés a programozásba
Bevezetés a programozásba 1. Előadás Bevezetés, kifejezések http://digitus.itk.ppke.hu/~flugi/ Egyre precízebb A programozás természete Hozzál krumplit! Hozzál egy kiló krumplit! Hozzál egy kiló krumplit
RészletesebbenEgy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba
Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba Témavezető: Horváth Zoltán és Simon Thompson OTDK 2007, Miskolc Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba OTDK
RészletesebbenKézikönyv. EDI beállítások (SetUp)
Kézikönyv EDI beállítások (SetUp) Tartalomjegyzék Nincsenek tartalomjegyzék-bejegyzések. 2 1 Előfeltételek Az EDI (Electronic Data Interchange) és Automotive modulokkal való munka előfeltétele az EDI és
RészletesebbenNyilvántartási Rendszer
Nyilvántartási Rendszer Veszprém Megyei Levéltár 2011.04.14. Készítette: Juszt Miklós Honnan indultunk? Rövid történeti áttekintés 2003 2007 2008-2011 Access alapú raktári topográfia Adatbázis optimalizálás,
RészletesebbenGyakorló feladatok Gyakorló feladatok
Gyakorló feladatok előző foglalkozás összefoglalása, gyakorlató feladatok a feltételes elágazásra, a while ciklusra, és sokminden másra amit eddig tanultunk Változók elnevezése a változók nevét a programozó
RészletesebbenMédiatár. Rövid felhasználói kézikönyv
Médiatár Rövid felhasználói kézikönyv Tartalomjegyzék Bevezetés Tartalomjegyzék Bevezetés Bevezetés... 3 Kezdô gondolatok... 4 Hálózati követelmények... 4 Támogatott operációs rendszerek a számítógépeken...
RészletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
Részletesebben4. Használati útmutatás
megbízható(másnéven: robusztus): mert a programozási hibák egy részét megakadályozza,a másik részét pedig futás közben kisz ri és támogatja a fejleszt t azok professzionális kezelésében. biztonságos: megakadályozza
Részletesebben2018, Funkcionális programozás
Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a
RészletesebbenA rendszer célja. Funkciók
A rendszer célja A Megrendelő fejleszteni kívánja a kommunikációját. A mindennapi munka során egyre nagyobb igény jelentkezik az üzenetváltások pontos kezelésére, naplózására, nagyméretű, illetve sok címzettet
RészletesebbenPython bevezető foglalkozás Python bevezető foglalkozás
Python bevezető foglalkozás program, programozás, programnyelvek a Python nyelv és az IDLE környezet változók és adattípusok konzol input és output (input(), print()) vezérlési szerkezetek (if/else, while)
RészletesebbenWebes alkalmazások fejlesztése 10. előadás. Szolgáltatás alapú rendszerek megvalósítása (ASP.NET WebAPI) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 10. előadás Szolgáltatás alapú rendszerek megvalósítása (ASP.NET WebAPI) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu
RészletesebbenConcurrency in Swing
Concurrency in Swing A szálkezelés a swing alkalmazásokban is fontos. Cél egy olyan felhasználói felület készítése, amely soha nem fagy, mindig válaszol a felhasználói interakciókra, bármit is csináljon
RészletesebbenA TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK
A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN ÉLELMISZERIPAR,
RészletesebbenHozzáférési szintek és Időzónák használata
Hozzáférési szintek és Időzónák használata Áttekintő Net2 A Hozzáférési Szint a Net2 szíve. Mindegyik egy kapcsolatot határoz meg az ajtók és azon időszakok között, amikor a felhasználó jogosult a használatukra.
RészletesebbenJava programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
RészletesebbenSzkriptnyelvek. 1. UNIX shell
Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
RészletesebbenKivételkezelés. Tesztelés, hibakeresés, kivételkezelés. Programozás II. előadás. http://nik.uni-obuda.hu/prog2 Szénási Sándor
Kivételkezelés Tesztelés, hibakeresés, kivételkezelés előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Tesztelés Hibakeresés
RészletesebbenA Feldspar fordító, illetve Feldspar programok tesztelése
A Feldspar fordító, illetve Feldspar programok tesztelése [KMOP-1.1.2-08/1-2008-0002 társfinanszírozó: ERFA] Leskó Dániel Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék
RészletesebbenImperatív programozás
Imperatív programozás 7. Előadás Függvények, láthatóság (folytatás) Modulok Kivételkezelés Beágyazott függvény def lnko(x, y): def kivon(m, n): return m - n while not (x == y) : if x > y : x = kivon(x,y)
RészletesebbenObjektum elvu alkalmaza sok fejleszte se
Objektum elvu alkalmaza sok fejleszte se 3. beadandó feladat Szerző Név: Budai Martin Neptun-kód: PLAB9E E-mail: budai.martin@outlook.com Kurzuskód: 4 Feladat sorszáma: 2 Feladat Egy bolygón különböző
RészletesebbenA szerzõrõl... xi Bevezetés... xiii
TARTALOMJEGYZÉK A szerzõrõl...................................................... xi Bevezetés...................................................... xiii I. rész A Visual Basic 2005 környezet 1. óra Irány
RészletesebbenFunkcionális Nyelvek 2 (MSc)
Funkcionális Nyelvek 2 (MSc) Páli Gábor János pgj@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar Programozási Nyelvek és Fordítóprogramok Tanszék Tematika A (tervezett) tematika rövid összefoglalása
RészletesebbenPortaWin (PW2) Jármű mérlegelő program Mérlegelés több cég számára
METRISoft Mérleggyártó KFT PortaWin (PW2) Jármű mérlegelő program 6800 Hódmezővásárhely Jókai u. 30 Telefon: (62) 246-657, Fax: (62) 249-765 e-mail: merleg@metrisoft.hu Web: http://www.metrisoft.hu Módosítva:
Részletesebben30 MB INFORMATIKAI PROJEKTELLENŐR
INFORMATIKAI PROJEKTELLENŐR 30 MB DOMBORA SÁNDOR BEVEZETÉS (INFORMATIKA, INFORMATIAKI FÜGGŐSÉG, INFORMATIKAI PROJEKTEK, MÉRNÖKI ÉS INFORMATIKAI FELADATOK TALÁKOZÁSA, TECHNOLÓGIÁK) 2016. 09. 17. MMK- Informatikai
RészletesebbenA félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
RészletesebbenÓrarendkészítő szoftver
SchoolTime Órarendkészítő szoftver 2.0 verzió Tartalomjegyzék: 1., Belépés a programba...3 2., Órarend főtábla...3 3., Tanátok...4 3.1., Új tanár felvitele, módosítása...4 3.2., Tanár törlése...4 3.3.,
RészletesebbenNorway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.
Norway Grants AKKUMULÁTOR REGENERÁCIÓS ÉS Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai Kakuk Zoltán, Vision 95 Kft. 2017.04.25. Rendszer szintű megoldás
RészletesebbenObjektum orientált programozás Bevezetés
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
RészletesebbenAlkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E
Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Követelmény A beadandó dokumentációját a Keszthelyi Zsolt honlapján található pdf alapján kell elkészíteni http://people.inf.elte.hu/keszthelyi/alkalmazasok_fejlesztese
RészletesebbenObjektumorientált paradigma és programfejlesztés Bevezető
Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján
RészletesebbenOpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
RészletesebbenInterfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
RészletesebbenAbsztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
RészletesebbenAz osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java
Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:
RészletesebbenMinőségi téradat-szolgáltatások. fejlesztése és. és üzemeltetése
Minőségi téradatszolgáltatások fejlesztése és üzemeltetése Kolesár András térinformatikus, webfejlesztő Budapest Főváros Kormányhivatala Földmérési, Távérzékelési Földhivatali Minőségi téradat-szolgáltatások
RészletesebbenSzimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)
Szimuláció RICHARD M. KARP és AVI WIGDERSON A Fast Parallel Algorithm for the Maximal Independent Set Problem című cikke alapján (Készítette: Domoszlai László) 1. Bevezetés A következőkben megadott algoritmus
Részletesebben7. fejezet: Mutatók és tömbök
7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata
RészletesebbenVégrehajtói Nyilvántartó Rendszerbe illeszkedő Postázási modul ismertetése
Oldalak: 1/10 Ez a modulkiegészítés a Végrehajtói Nyilvántartó Rendszerben elkészülő nyomtatványok postai vagy kézi kézbesítésének fárattságos dokumentálását hivatott felváltani gépi nyilvántartással.
RészletesebbenKölcsönhatás diagramok
Kölcsönhatás diagramok Célkitűzés Olvasni tudják az alap UML kölcsönhatás diagramok (kommunikáció és szekvencia) diagramok jelöléseit. 2 Bevezetés Miért léteznek az objektumok? Azért, hogy a rendszer valamilyen
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenA DigiKresz internetes gyakorló program hatékony segítség az elméleti oktatást követő vizsga eredményességének növelésében.
DIGIKRESZ internetes gyakorló program Kedves Felhasználó! A DigiKresz internetes gyakorló program hatékony segítség az elméleti oktatást követő vizsga eredményességének növelésében. A program előnyei a
RészletesebbenA Matarka szerszámosládája
A Matarka szerszámosládája Szeged, 2007 Perlaki Attila perlaki@kvtlinux.lib.uni-miskolc.hu 1. Feltöltés A Matarka adatbázis feltöltését a közvetlen kézi bevitelen túl XML állományokból is el lehet végezni.
RészletesebbenKinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?
Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii
Részletesebben6. fejezet: Ciklusok
6. fejezet: Ciklusok Mint a nyelvekben általában, itt is léteznek ciklusok. Az alapvető három ciklus-típus: elöltesztelő, hátultesztelő és számláló. Lássuk ezeket sorban! Elöltesztelő = while. A while
RészletesebbenOptimalizáció ESX-től View-ig. Pintér Kornél ügyfélszolgála3 mérnök pinter_kornel@mhm.hu
Optimalizáció ESX-től View-ig Pintér Kornél ügyfélszolgála3 mérnök pinter_kornel@mhm.hu MHM és referenciák MHM Computer Hungária Kft. 1996 óta Magyarországon Fókuszterületek: Adattárolás Adatmentés Archiválás
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenGyakorlati vizsgatevékenység A
Gyakorlati vizsgatevékenység A Szakképesítés azonosító száma, megnevezése: 481 04 0000 00 00 Web-programozó Vizsgarészhez rendelt követelménymodul azonosítója, megnevezése: 1189-06 Web-alkalmazás fejlesztés
Részletesebbenaz adatbevitel szabályozása, alapok
az adatbevitel szabályozása, alapok De, Tanító bácsi! Én úgy tudom, hogy ezt igazából, csak adatbázisban tudjuk megtenni! Hááát Ez igaz Pistike! Bár egy-két eszköz a táblázat-kezelő programban is a rendelkezésünkre
Részletesebben