- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy S23 Ultra - non plus ultra
- Huawei Watch Fit 3 - zöldalma
- iPhone topik
- Apple iPhone 15 - a bevált módszer
- Megvásárolható a legolcsóbb kagylótelefon
- Redmi Note 13 5G - fogyókúra után
- Samsung Galaxy A54 - türelemjáték
- Honor Magic5 Pro - kamerák bűvöletében
- Jobb zoom, egyszerűbb kijelző - megérkezett a Sony Xperia 1 VI
Hirdetés
-
Senua’s Saga: Hellblade II teszt
gp A szkizofréniától és rabszolga-kereskedőktől egyaránt szenvedő Senua újabb különleges utazásra indul, ezúttal a messzi észak ősi istenekkel és modern kegyetlenséggel teli vidékére.
-
Bemutatta első Snapdragon X-re épülő notebookját az ASUS
ph Az új Vivobook S 15 ráadásul az első ilyen, hazánkban is elérhető PC lehet, és már júniusban megvásárolható lesz.
-
One UI 6.1 frissítésekkel túlórázik a Samsung
ma Középkategóriás telefon és ütésálló tablet is részesült belőle a hétvége előtt.
Új hozzászólás Aktív témák
-
gygabor88
tag
-
gygabor88
tag
válasz WonderCSabo #6871 üzenetére
Nem írta a feladat, hogy automatikusan működjön. Legyen public a static számláló és akkor lehet kézzel csökkenteni nullozás után.
-
gygabor88
tag
válasz Oppenheimer #7151 üzenetére
Tipikusan akkor használják ezt a kifejezést, amikor valaki olvas valami újat és minden problémát ezzel akar megoldani.
Persze értem, hogy te most csak tanulási célok miatt próbálgatod.[ Szerkesztve ]
-
gygabor88
tag
válasz norbert1998 #7311 üzenetére
Sysout bufferelt, syserr nem.
-
gygabor88
tag
válasz norbert1998 #7313 üzenetére
Bocs, benéztem, új sornál űríti a buffert.
Két különböző streamre írsz, csak egy ablakban látod, de a streamek feldolgozásának sorrendje nem garantált szvsz, pl IDEA vagy eclipse termináljában. Bevallom nem tudom, hogy garantált-e a sorrend, ha cmd-ből futtatod, de nem is nagyon használom a sysout/syserr párost, mindig valammi loggerrel mentünk fájlba kimenetet.[ Szerkesztve ]
-
gygabor88
tag
válasz norbert1998 #7315 üzenetére
Ez picit bonyolultabb. Mint írtam, a standard kimenetre írandó szöveg elvileg bufferelt, azaz akkor kerül ténylegesen kiírásra, ha a buffert űrítik, pl mert megtellik, vagy lezárják a streamet vagy pl újsor karakternél. Standard errornál ez nincs. Illetve a fenti példád is más, mert az új sornál űrítik a buffert, így elvileg a sorrend adott kellene legyen.
Valószínűleg az lesz a háttérben, hogy amikor futtatod az IDE-ből a programot, akkor az IDE két külön threaden olvassa a két streamre kiírt szöveget és az nem befolyásolható, hogy ezek a threadek mikor milyen sorrendben aktiválódnak. -
gygabor88
tag
válasz PumpkinSeed #7352 üzenetére
Miért akarsz közös tárolóba tenni olyan elemeket, amiknek nincs használható közös őse?
Amúgy ha mindenképp erre kényszerítenek, akkor ArrayList<Object>-be pakolhatod, erre elvileg nem dob warningot sem, csak hát nem valami hasznos így, mert visszaolvasásnál castolni kell majd. -
gygabor88
tag
válasz norbert1998 #7428 üzenetére
Azért metódusokra szétszedheted. Nem lesz rövidebb, de így legalább kisebb-nagyobb kód blokkokat el tudsz nevezni és akkor már érthetőbb lesz a kód.
-
gygabor88
tag
Ez itt kicsit off, van külön álláskeresős topic, de röviden: Szinte bármely pályakezdő/junior állásra jelentkezhetsz nyugodtan, úgy tudom csak a nokia veszi komolyan a hirdetésbe kiírt diploma követelményt. Eleve sokszor úgy írják ki a követelményekhez, hogy felsőfokú szakirányú végzettséget várnak, az OKJ fejlesztő képzés meg felsőfokúnak számít, nem?
Elég ritka, amikor a követelményeknek 100%-ban megfelelő ember jelentkezik egy állásra, kb 80%-os match már elég ahhoz, hogy felvegyenek. -
gygabor88
tag
Egyrészt általában nincs referencia, mert amin dolgozott az vagy belső használatra készült vagy mindenféle titoktartási szerződések kötik az ember kezét vagy a kettő együtt. Ha lenne referencia, akkor sem derülne ki belőle, hogy mi az, amit a jelentkező csinált belőle, bármit hazudhat. Ugyanilyen alapon bármit írhat a CV-be is, ezért többen azt csinálják, hogy a CV-t nem olvassák el teljesen, csak annyi érdekes belőle, hogy hány év tapasztalata van az embernek. Ez alapján belövik, hogy nagyjából mit várnának el a jelentkezőtől és lemérik kérdésekkel, hogy mit tud abból, amire a cégnek szüksége van.
Majdnem teljesen mindegy mit dolgozott előtte a jelentkező, mert ha űrhajó vagy atomerőmű vezérlőt fejlesztett, akkor azt a tudást úgysem tudja kihasználni a cég, ha meg 1000. számlázót / webshopot fejlesztett, attól még lehet, hogy le tud fejleszteni komolyabb dolgokat.
Másrészt a fenti alap kérdésekkel is ki lehet dobatni a legtöbb seniort interjúról. -
gygabor88
tag
-
gygabor88
tag
Volt több ilyen tárgyam is, ahol meg volt határozva keményen, hogy csak a tanár libjeit lehetett használni. Oop prog tárgyhoz írt prof valami horror libet millió template paraméterrel ellátva, aminek kb az volt a lényege, hogy nem lehetett ciklust írni, mert hogy akkor az nem OO. Az volt a terv, hogy a diák majd funktorokat ad át a lib osztályainak.
Bementem vizsgára, 30 sorban megoldottam a feladatot, majd megbuktattak egy for ciklus miatt. Ez ilyen, túl kell élni ezeket a tárgyakat.
-
gygabor88
tag
válasz ToMmY_hun #8111 üzenetére
Ha klasszikus producer-consumer megvalósítás kell, tehát bedob egy thread egy üzenetet és valamelyik másik feldolgozza, akkor egy BlockingQueue / TransferQueue elég. Ha a két thread között egy üzenet cserét kell megvalósítani, akkor Exchanger. Stb.
Attól is függ, hogy ugyanazt az üzenetet minden threadnek fel kell dolgoznia vagy elég ha csak egy foglalkozik vele.
Ha mindenképp külső könyvtárat keresel, akkor disruptorra ránézhetsz, de ez csak annyit tud, hogy gyorsabban valósítja meg azt, amit a jdk beépített osztályaival amúgy is el lehet érni. -
gygabor88
tag
java.util.TreeMap első körben jónak tűnik szerintem, ha nincs szükség perzisztenciára. Ha kell perzisztencia, akkor valami lightweight DB-t kell keresni, van jó pár minden igénynek megfelelően. Vagy egy rendes nagy DB-t. Vagy ha kell HA is, akkor valami gridet, ami replikál a nodeok között. El lehet ezt bonyolítani.
[ Szerkesztve ]
-
gygabor88
tag
Bambano ötlete szerintem nem elvetendő.
Ansible szerintem már kb bármilyen VCS-ből le tud szedni valamilyen tagelt vagy release branchen levő stabil configot minden hostra az alkalmazásod mellé property fájlként. Az alkalmazásaid pedig apache common configurationnel újraindítás nélkül újra tudják tölteni a fájlokat és triggerelni a listenereket, ha változás történik.Így tényleg nem kell +1 rendszert üzemeltetni, monitorozni.
-
gygabor88
tag
válasz Cathfaern #8616 üzenetére
A nyelv áttekintésére az oracle java vizsga könyve megfelelő. Nem foglalkozik az alapokkal, így nem kell oldalakon át rácsodálkozni a ciklusokra, meg az alapműveletek operátoraira és feltételezi, hogy már elboldogulsz valamelyik java IDE-ben. Viszont elég jó kis összefoglalót tartalmaz classokkal, lambdaval és néhány beépített alap könyvtárral kapcsolatban. Sok példakód van benne, ami kiemeli azokat a részleteket, amiken könnyű átsiklani egyébként. Van benne rengeteg "mit ír ki ez a kód" típusú trükkös kérdés megoldásokkal, amikkel állásinterjún is lehet találkozni.
Keretrendszerekkel kapcsolatban az adott technológia oldalán levő dokumentációt érdemes olvasni. Például a spring referencia tele van példákkal. Innen minimum a III. szekciót érdemes elolvasni, utána pedig azt a részt, amivel foglalkoznod kell a munkád miatt, mert amúgy nagyon nagy az anyag. A guides résznél pedig találsz futtatható githubos spring projekteket.
Hasonlóan, bármilyen más java frameworkot nézel ki magadnak (hibernate, guice, etc), a hivatalos oldalán jó eséllyel lesz olyan guide/tutorial/reference, ami alapján bele lehet tanulni.[ Szerkesztve ]
-
gygabor88
tag
válasz Cathfaern #8621 üzenetére
Habár láttam az elmúlt években egy-két álláshirdetést, ahol előnyként meg volt jelölve az oracle vizsga megléte, szerintem nem érdemes foglalkozni a letételével. A hozzá szükséges tudás viszont legyen meg, mert állásinterjún tesztelni fogják a nyelvi elemek ismeretét.
Én ugyan letettem a 6-os vizsgát, de akkor még teljesen kezdő voltam és jól jött a CV-be, neked viszont már van fejlesztési tapasztalatod. Egyébként is lejár, azt hiszem 2 évente frissíteni kell.bundli: Két lehetőség van. Nem töltesz adatot a DB-be (create-table.sql gondolom csak táblát hoz létre) vagy nem commitolsz.
-
gygabor88
tag
válasz smallmer #8796 üzenetére
Valószínűleg a kliens befejezi a futást, mire a szerver olvasná, hogy mit küldött. Tehát a szerveroldalon valami ilyesmi történhet az első futáskor
Socket s = server.accept();
// kliens csatlakozott, küldött valamit, leállt, ezért a socket lezárult
// ...
Scanner sc = new Scanner(s.getInputStream());
name = sc.nextLine();
// lezárt socketről olvasnál valamitMásodik futás azért lehet sikeres, mert a jvm addigra már "bemelegedett" (osztályok betöltődtek, cuccok a code cacheben, stb), így gyorsabb és azelőtt ér el az olvasásig, hogy a kliens lezárná a socketet.
De ezt csak így ránézésre mondom. Ki kellene íratnod a stacktracet (e.printStackTrace()) és akkor látni lehetne, hogy mi a pontos problémája. -
gygabor88
tag
válasz Patrick76496 #9264 üzenetére
Rosszak a feltételeid. Pl első if-ben 164<=randmap és másodikban randmap>=165 átfedik egymást. Érdemes úgy szervezni a kódod, hogy a kisebb érték legyen mindig az operátor bal oldalán és nyílván csak a <= operátort használva, így elkerülhető az ilyen nehezen kiszúrható hiba. Vagy fordítva a másik operátorral, de mixelni nem szerencsés őket.
[ Szerkesztve ]
-
gygabor88
tag
Egyrészt stringeket nem ==-vel hasonlítunk össze, hanem equals() metódussal. Másrészt szerintem rossz stringeket próbálsz összehasonlítani, mert az első kód alapján a productString lenne az a "CM ...", de te valami AskDeviceName-t használsz helyette, ami nem látom hol kap értéket.
-
gygabor88
tag
Na, tehát a javadoc szerint: Csak olyan karakterek lehetnek a stringben, ami az adott számrendszerben használható. Ez magyarázza, hogy a "0x" prefix esetén miért nem működik. Ha csak "0" prefixet használsz, akkor működnie kell, most próbáltam egy online java compilerrel.
Ezt a 390-es dolgot nem értem. 10-es és 16-os számrendszerben értelmezve is simán beleesik a short intervallumába (a vessző nem tizedesvessző, hanem ezres határoló).
-
gygabor88
tag
válasz Dinter #10018 üzenetére
Itt több esetet kell majd szétválogatni szerintem. Induljunk egy runnable állapotból, ekkor a lépések:
1. A foobar.wait() hívása előtt meg kell szerezni a monitor lockját. Ez vagy sikerül elsőre vagy blocked állapotba kerül a thread, ha valaki másnál van lock.
2. Valahogy túljutunk az előző ponton, runnable állapotban van a thread és meghívódik a foobar.wait(). Az új állapot waiting.
3. Valamiért (*) felébred a thread, runnable állapotba kerül. Ahhoz, hogy ki tudjon lépni a wait()-ből kell a monitor lock. Itt megint vagy sikerül elsőre vagy blocked állapot jön és ha megvan a lock akkor runnable megint.(*) A notify() hatására átmehet blocked állapotba a thread. A foobar.notify() híváshoz is kell a monitor lock. Ha a felébresztett thread már futna, de a notify()-t hívó thread még fogja a lockot, akkor a felébresztett thread megy a blocked állapotba. Ha viszont véletlen úgy kapna cpu időt, hogy a notfiy()-t hívó thread (és mindenki más) már eleresztette a lockot, akkor ki is maradhat ez a blocked állapot.
Viszont nem csak a notify() miatt mehet át ilyen állapotokon a thread. Például spurious wakeup miatt a wait()-et hívó thread még a notify() hívás előtt is felébredhet "magától". És akkor itt megint jön az, hogy vagy runnable vagy runnable + blocked + runnable állapotokon megy át.[ Szerkesztve ]
-
gygabor88
tag
Az action és event listenereidet a framework triggereli, így azok az event dispatcher threaden fognak futni, tehát lehet belőlük UI elemeket módosítani. A többi osztálynál figyelni kell, hogy ha UI elemeket módosítasz, akkor a SwingUtilities valamelyik invoke...() metódusával legyenek futtatva a megfelelő kódrészek (ezek végül így az event dispatcher threaden fognak futni). Ezzel le vannak fedve a UI-os részek, de neked kell tudni, hogy használsz-e még máshol threadeket és azok helyesen osztják-e meg egymás között az adatokat. Mondjuk valószínűleg az a rész is érdekes, ahol a vonalkódolvasótól átveszed az adatot és kipakolod a UI-ra.
Igazából látni kéne az egész kódot, hogy meg lehessen állapítani hol van probléma az adat megosztással, de egy teljes projektet nincs időm átnézni és kidebuggolni. Érdemes lenne a multithreadingnek és memory consistency erroroknak utánaolvasnod.
[ Szerkesztve ]
-
gygabor88
tag
válasz Csaby25 #11028 üzenetére
Rosszul használod a CsvSchemat. Pl nincs header a fájlodban, de withHeader() metódust hívsz. Aztán honnan tudná szegény, hogy te melyik oszlopot milyen kulcshoz akarod mappelni a jsonban? Itt le van írva szépen, hogy milyen lehetőségeid vannak a javításra.
[ Szerkesztve ]
-
gygabor88
tag
válasz floatr #11685 üzenetére
Ez szerintem minden kódra igaz. Voltam zöldmezős projekteken. 1 év után azok is úgy néztek ki, mint bármi más, amit 5 éve fejlesztenek 2 vendor céggel. Nagyon sok nagyon különböző képességű ember nyúl a kódokhoz, valószínűleg hatással van az egészre a felülről érkező nyomás is, a szűkös határidők, változó elvárások, stb. Régen én eléggé beleálltam a code reviewkba, de borzasztó sok konfliktusom volt belőle és inkább elengedtem. Funkcionális hibák esetén is inkább privátban chaten szólok az embereknek. Páran nagyon nem tudják kezelni, amikor nyílvánosan kapnak 5-6 kommentet egy PR-re.
-
gygabor88
tag
válasz Szmeby #11687 üzenetére
Nem gondolom, hogy felesleges kötekedés lett volna részemről. Volt ott minden, közösen elfogadott irányelvekkel való szembemenetel újra és újra, túlbonyolított kód (többszáz sor, ami pár tíz sorra redukálható), unorthodox megoldások pl hashmapből key alapján for looppal érték visszakeresése, funkcionális hibák, nem azt implementálták, amit a ticket kért vagy 5 requirementből csak 4-et sikerült implementálni, stb.
De most ez nyilván rosszul jön le, mert az látszik, hogy egy embernek több másikkal volt konfliktusa és a többségnek általában igaza van. Azért utólag 1 emberről megtudtam, hogy amikor lekérték arról a projektről, akkor több más ok mellett az is elhangzott fentről, hogy rendszeresen túl sok olyan dolgot találtam a PR-jeiben, amit nem nekem kellett volna megtalálni.
[ Szerkesztve ]
-
gygabor88
tag
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest