Most alakul ki a végleges terv

A múltkoriakban írt terveket egyedül készítettem, mivel pont akkor úgy jöttek össze az ünnepek, hogy nem volt elérhető a mentorom. Azóta már itt van, és a segítségével nagyon jó dolgok készülnek. Most úgy néz ki, hogy végre kikristályosodtak a felelősségi körök, és erről hamarosan újra írni is fogok.

Épp ma kaptam választ a mentoromtól egy utolsó kérdésre, ezt még értelmezem, és akkor tudom teljessé tenni az osztály diagrammot, illetve elkészíteni a szekvencia diagrammot. Közben már próbálgattam az ötleteket Javaban is, szereintem a megvalósítással nem lesz gond.

Tehát hétvégéig várható a kész modell, aztán utána a megvalósítás.

Java saját szoftver készítése 6. rész – ModifyDeleteDialog

Ugye most ott tartok a tervezésben, hogy vannak különféle listáim, melyek objektumokat tartalmaznak:

  • List<Order> orders: ez a megrendeléseket tartalmazza
  • List<Company> companies: a vállalatainkat tartalmazza
  • List<Customer> customers: a megrendelőket tartalmazza
  • List<Vat> vats: az áfa értékeket tartalmazza (mondjuk ez lehetne vatValues, szebben hangzik)
  • List<Employee> employees: ez pedig a dolgozóinkat tartalmazza

Tervezek egy ModifyDeleteDialog dialógusablakot, melyet az objektumok szerkesztéséhez és törléséhez használnék fel. Ez megkapná az adott listát, aminek elemeit egymás alatt megjelenítené. Ha a customers-t kapja meg, akkor az ügyfeleket listázza egymás alatt, ha az employees-t, akkor meg a munkatársainkat.

Olvass továbbJava saját szoftver készítése 6. rész – ModifyDeleteDialog

Java saját szoftver készítése 5. rész – SQL Date átalakítása LocalDate-ra

Most belefutottam egy problémába, az SQL adatbázisból kiolvasott Date típusú adatot használnám fel egy Order típusú objektum elkészítéséhez, ami viszont LocalDate típust vár.

A ResultSet rs tartalmazza az SQL lekérdezés eredményét. Egy while ciklussal végig megyek rajta, és kiolvasom a rekordokat. A getString metódussal kiolvasom a Date értéket, és azt átalakítom LocalDate típusúvá:

Olvass továbbJava saját szoftver készítése 5. rész – SQL Date átalakítása LocalDate-ra

Java saját szoftver készítése 4. rész

Elkészítettem azokat az osztályokat, melyek az adatbázisból kiolvasott adattáblák tartalmából készítenek objektumokat. A kiolvasás során létrejövő objektumok aztán majd listákba kerülnek, és azokat fogom feldolgozni és használni a vizuális felületen.

Egyelőre még csak a kontruktorokat, gettereket és settereket hoztam létre, illetve az adattagokat határoztam meg. Most látom már, hogy a múltkor használt adatbázis oszlopneveket kicsit majd át kell írnom, hogy ne legyen összevisszaság a programozás során. Inkább a Java-ban használatos elnevezést követem, pl a tax number az nem tax_number vagy taxnumber lesz, hanem taxNumber.

Olvass továbbJava saját szoftver készítése 4. rész

Java saját szoftver készítése 3. rész

Most készítem el az adatbázist és az adattáblákat, és közben rájöttem, hogy angol elnevezéseket kellene használnom. Ennek az a fő oka, hogy ha fel szeretném külföldön használni az elkészült szoftvert referenciaként, akkor nem kell fordítgatnom a forráskódot, változóneveket, adattáblákat stb. Ha pedig Magyarországon lesz megmutatva valakinek, ő úgyis megérti majd az angol elnevezéseket.

A szoftver felülete viszont magyar lesz, mert amint kész, mi használnánk is, és nincs értelme angolnak lennie. A szöveges elemeket viszont pikk-pakk át lehet írni angolra. De akár egy következő feladat lehet a többnyelvűsítés.

Így létrehoztam az ordermanager adatbázist, és benne a következő táblákat (az elnevezési konvenciókat most nem feltétlenül tartom be, kényelmi okok miatt).

Olvass továbbJava saját szoftver készítése 3. rész

Java saját szoftver készítése 2. rész

Folytassuk akkor a StudiCore nagy feladatául szolgáló Java saját szoftver készítését a programtervvel. Ebben a bejegyzésben leírom, hogyan képzelem el a program működését, mit lehet vele csinálni, és hogyan működnek az egyes programrészek.

A szoftver tárolja a vállalkozásaink megrendeléseit, vevőit és íróit. Mivel alapvetően minden cég a sajátunk lesz, így az a koncepció, hogy bármelyik vállalkozás adatait láthatjuk.

Olvass továbbJava saját szoftver készítése 2. rész

Hol tartok most a Java programozásban?

Már jó ideje nem írtam arról, hol tartok a StudiCore Java képzésében. Jelentem, most készítem a nagy programot, mely lezárja a Java SE fejezetet. De erről mindjárt írok egy külön bejegyzésben. Addig is vegyük fel a fonalat, hogy miről számoltam be legutóbb.

Ezt írtam:

A következő négy fejezet van még hátra az Adatbázisok + Java SE haladó eszközök kurzuson, illetve már ugye az egész Java SE programozó képzés keretein belül:

Olvass továbbHol tartok most a Java programozásban?

Java saját szoftver készítése 1. rész

Ahogy írtam, elértem a StudiCore Java SE képzésének a végére, aminek része egy saját nagy program, önálló szoftver elkészítése. Itt egy grafikus felületű, adatbázist használó programról van szó, és úgy döntöttem, hogy teljesen részletesen bemutatom a feladatot.

A saját vállalkozásaimhoz írok egy megrendeléseket rögzítő szoftvert. Mi alapvetően tartalomfejlesztéssel foglalkozunk, így a vállalkozásainktól szövegírást rendelnek, melyeket karakterben számolunk el. Vannak saját íróink, akiket ki kell fizetnünk, és vannak megrendelőink. Ezeket mind felvesszük egy rendszerbe, és végre akkor átláthatóbban megjeleníthetjük, milyen feladatokkal is kell foglalkoznunk.

Olvass továbbJava saját szoftver készítése 1. rész

Programozónak lenni

Mielőtt nekiállnék írni a StudiCore tanfolyamán elért haladásról, ahol amúgy végeztem a online Java SE tanfolyam modullal, és most kezdem írni a nagy feladatot, néhány gondolatot szendék össze. Ezekben leírom, hogy mi változott a tanfolyam elkezdése óta, és milyen módon fordítottam saját hasznomra a tanultakat.

Nem csak a programozásban sikerült haladást elérni

Ami legfontosabb, az az analitikus szemlélet, és a problémamegoldó képesség. Azt vettem észre, hogy a vállalkozóként végzett szellemi munkám is sokkal sikeresebb lett, mióta programozást tanulok:

Felpörgött az agyam, és gondolkodás nélkül veszem az akadályokat. A folyamatos tanulás olyan jól kondicionálta az agytekervényeimet, hogy azóta sokkal élesebb az elmém. Pillanatok alatt beugranak a dolgok, és kikerültem a megszokott zsibbadtságból. Utóbbinál arra gondolok, amikor már évek óta csinálsz valamit, megvan a szokásos széked, ugyanúgy ülsz le reggelente, és ugyanabból a rutinból végzed a feladatokat. Na most ezt felváltotta a pörgés ezerrel.

Könnyebb lett az új ismeretek elsajátítása. A tanulás elején még minden alapvető dologért vissza kellett lapozni, most meg elég egyszer elolvasni, és nagyon sok minden rögzül. Persze nem tanulok meg mindent elsőre, de amikor később újra kell valami, a sejtés ott van a fejemben. Ilyenkor már csak rákeresek a dolgokra, és fel is tudom használni.

Sikerélményt ad. A tananyag úgy van felépítve, hogy nagyon jó érzés elvégezni egy adott fejezetet. Volt kb. 3 olyan fejezet, amit a pokolba kívántam, de aztán csak sikerült teljesíteni. Most pedig róluk írva be is ugrik az egyik, pl. az Optional, amit akkor nagyon nem szerettem, de a külsős fejlesztői dokumentációkat olvasva rendszeresen felbukkan. És egyre jobban érthetővé válik. Ezeket a „nemszeretem” részeket leszámítva pedig ott van az elégedettség érzés, amikor megcsinálod a feladatot, tudod, hogy most sikerült, és beküldve a szoftver kiírja a 100%-ot. Ilyenkor mindig kerekebbé válik a világ.

Valódi tudásról van szó. Most, hogy a Google Guava és az Apache Commons külsős fejlesztői könyvtárakat is vettük, és felhasználtam őket a programozásban, megint nagyobb lett a világ. Ezek nagyon logikus és jól felépített dolgok gyűjteménye, és különös elgondolni, hogy amit én itthon használtam a tanulásra, ugyanazt használják a Google mérnökei is. És hogy mennyi új dolog van a világban! Kaptam a tanfolyam során egy alap tudást, és akármilyen dokumentációt is olvasok, emberi nyelven van. És fel is tudom használni. Jelenleg nem emlékszem olyan szekcióra a StudiCore-ból, aminek nem látom értelmét, így utólag.

A jövőbeni tervek

Hogy miért hoztam fel ezeket a dolgokat? Amikor ezt a bejegyzést írom, 2020. március 17. 21:10 van, és éppen kitör Magyarországon a koronavírus-járvány. Nyáron elég nagy krízisben volt a vállalkozásom, és a programozás adta meg azt a sikerélményt és magabiztosságot, amit a céges szemléletbe is átvettem. Ennek köszönhetően most itt állok jó pár hónapra elég megtakarítással, és bár egyáltalán nem biztos, hogy a mi ügyfeleink megmaradnak, jó eséllyel nem kerülünk utcára.

És hogy mit hoz a jövő? Egy 80000-es városban lakom, ahol külföldi gyárakban dolgozik mindenki, vagy Ausztriába jár át kétkezi munkára. Épp múltkor láttam egy junior Java programozói állást, amiről most a vírus kitörése miatt lemaradok. Nem biztos, hogy elvállaltam volna, de azt mindenképpen meg akartam nézni, hogy mire elég a mostani tudás. A vicces, hogy a GIT kivételével kb. megfelelt a mostani tudásszintemnek, a GIT meg szerintem nem kizáró ok. Na ez most elúszott, de úgyis itthonról dolgozunk, a vírus lecsengésével viszont mindenképpen futok egy ilyen kört.

Azon is elgondolkoztam, hogy a sok gyárnak írok egy-egy levelet, és érdeklődök Java lehetőségek után. Ezt a programozási nyelvet nagyon sok helyen használják, de ha nem is pont ebben készülnek a programrészek, jó alap más nyelvekre való áttérésre. És itt felénk tényleg nagyon kevés a programozni akaró ember.

Ha vége a vírus miatti intézkedéseknek, akkor jó eséllyel Budapesten is tudok egy kört. Egyrészt legalább megtudom, hogy mekkora bért adnak egy kezdő Java programozónak, másrészt megismerem az elvárt készségeket. Emellett itt van mellettem Ausztria, és bár németül egy kukkot sem tudok, már 9 éve angol nyelven dolgozom, így érdemes körbe nézni a határ másik oldalán is.

Na ezek a dolgok még arrébb vannak, de le szerettem volna írni, hogy miben változott meg számomra a világ az online programozói képzés elindulása óta. Végre egy olyan dolgot kaptam, amibe nem csak a pénzt volt érdemes betenni, de valódi értéket is kaptam cserébe. Hasonlóan értékes dolgot csak az angoltudással kaptam, az is minden befektetett energiát megért.