3. Párosítós játék (matching game) – 2022.október 30. – 2022. november 1.
Szóval – ahogyan írtam – próbáltam egy kissé “ergonomikusabbá”, vagyis refaktoráltabbá tenni azt a párosítós játékot, amelyet egy próbafeladatra adtam be, 4 órás időkerettel.
Megvalósítottam a localstorage-os tárolást és visszatöltést, a dinamikus pakliméret változtatást és a design-t is kipofoztam. Kiszedtem az “any”-ket a programkódból és igyekeztem mindenféle felesleges dolgot lemetszeni a programból. Végül 2 napot, összességében 16 órát dolgoztam vele: lehetett volna gyorsan is, de én inkább szerettem volna megérteni, hogy mit és miért csinál a program, amit írtam.
Felettébb élveztem, nagyon szerettem minden percet, amit a programon dolgoztam. Külön logót is terveztem a programjaimnak. Végül – hogy ne legyek perelhető – kiszedtem a próbainterjúztató cégre vonatkozó minden utalást a programból.
4. Kvízjáték – 2022.november 1. – 2022. november 13.
Kaptam három érdekes ötletet innen. Ebből az egyik, hogy írjunk kvízprogramot: ez tetszett meg legelőször. Én egy olyan programot álmodtam meg, amely tippelésre alapul (kvázi mint a Honfoglaló), a számítógép a helyes válasz alapján “tippel” bizonyos hibahatárokon belül, melyeket a játékos állíthat be, mintha valamiféle nehézségi fokozatot állítana be.
Nagyon újító akartam lenni: eddig NoSQL-t tanultunk, távoli adatbáziseléréssel. Én most mindenképpen szakítani akartam a tanultakkal: csakazértis SQL adatbázist terveztem: Sequelize-t használtam a már megszokott Mongoose helyett, külön kérdésszerkesztővel és user szerkesztővel.
Leginkább a backenddel szívtam, mivel hiába tanultam SQL adatbáziskezelést már ezer éve, most ebből szinte semmit sem tudtam felhasználni. Végül persze rájöttem, de addig majdnem egy hét telt el.
A frontend viszonylag könnyen ment: 4-5 nap alatt sikerült megírnom. Annyit azért elmondanék, hogy a szabad perceimben szedtem össze a szükséges adatokat és kérdéseket az adatbázishoz, illetve a következő programokhoz.
Gyakorlatilag 2 héten keresztül szinten minden szabadidőmben a programokon dolgoztam, ez eléggé kinyírt idegileg: szinte teljesen belecsempültem a dologba. Nagyon szerettem volna, hogy végre valami épkézláb projektet tudjak mutatni a jövendőbeli munkáltatómnak.
5. “Váltogatós” program – 2022.november 13. – 2022. november 14.
A kvízprojekt után már másnap belefogtam a már említett úriembertől átvett másik tipp megvalósításának. Ez egy egyéni átváltóprogram, mely nem hagyományos elemek tömegét és hosszúságát váltja egy másik, nem hagyományos elem tömegére vagy hosszúságára. Az ötlet érdekes, de a legnagyobb nehézséget nem is az átváltóképlet megírása, hanem a szükséges adatok összeszedése jelentette: mennyi a súlya a Gízai Nagy Piramisnak? És egy versenyzongorának? Szóval ennek is a legnagyobb részét a munkában sikerült elvégeznem: az adatgyűjtés elvette egy délutánomat, de magával a programmal 3-5 óra alatt elkészültem – dizájnostul.
6. Névgeneráló program – 2022.november 15. – 2022. november 17.
A végére hagytam azt a leggyűlöltebb programomat, melyet alig bírtam befejezni. Nem azért, mert annyira nehéz lett volna, hanem mert annyira kimerültem akkora és “sikeresen” begyűjtöttem egy középfülgyulladást is, melynek tetőpontja pont ennek a programnak a befejezésére esett.
Az ötlet megint innen származott, de tenni akartam bele egy plusz csavart: a nevek generálása mellett különféle rangokat és megnevezéseket is generáltatni akartam, plusz elehetővé akartam tenni, hogy a felhasználó egyelemű “művészneveket” is elő tudjon állítani. Próbáltam egy Python program névadatbázisát kölcsönvenni GitHub-ról, de az az UTF-8 kódolás helyett Latin-1-ben volt, de valami olyan módon kódolva, hogy semmiféle módszerrel nem lehetett a speciális karaktereket átalakítani UTF-8-ra. 1 teljes napom ment el megoldás keresésével, végül feladtam és egy másik szerző névadatbázisát használtam.
A programban szereplő 149 rangot én magam gyűjtöttem és kódoltam JSON file-ba. Sajnos hallgattam az útmutatóra és nem csináltam backendet a programnak és így közvetlenül a JSON fájlból kimásolt tömböt szűrögeti a program async függvényként és azt jeleníti meg az Angular . A program következő verziójában mindenképpen megcsinálom a backendet is, mondjuk érdekes volt megtanulni, hogy hogyan is lehet JSON fájlokat beolvasni Angularban.
Tanulság:
A 2022. szeptember 25. és 2022. november 17. között zajló projektet eredményesnek találtam. 53 nap (azaz 1 hónap, 3 hét és 2 nap) alatt megírtam összesen 6 programot, 2 különböző backend technológiával, megtanultam a JSON file-ok és az SQL adatbázisok kezelését is és begyakoroltam az Angular és a JavaScript használatát. Túlteljesítettem az általam kitűzött célt, mert 5 program helyett 6-ot írtam meg. Ettől függetlenül a projekt tempóját extra gyorsnak találtam: szinte felemésztettem magamat, a családomtól is jelentős időt vett el a dolog. Pszichológiailag jó és magabiztosságot növelő hatást keltett bennem az egész, karrierszempontból pedig végre tudok saját magam által írt projekeket is prezentálni az állásinterjún.
Most szeretnék pihenni és feltöltődni az év hátralevő részében. Jelenleg éppen egy csúnya középfülgyulladáson vagyok túl és mind a gyerek, mind a feleségem nagyon beteg, szóval most mindannyian regenerálódunk és pihenünk.
What do you think?
Show comments / Leave a comment