- Négymagos Xeon(!) CPU LGA775-ös deszkában
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- erkxt: A Roidmi becsődölt – és senki nem szól egy szót sem?
- MasterDeeJay: Noname 1TB-os SATA SSD teszt
- hcl: Kelj fel komám, ne aludjál
- sziku69: Szólánc.
- Ivqkzy-: 2. gépem
Új hozzászólás Aktív témák
-
n00b
újonc
Azt elfelejtettem mondani, hogy nem árt, ha ilyen dolgokkal is tisztában vagy, mint Linux, Git, Maven/Gradle. Ezeket általában napi szinten kell használni.
-
n00b
újonc
válasz
Csaby25 #11551 üzenetére
Mi a célod a Java-val?
Ha dolgozni akarsz a területen, akkor ne csak sima programozási feladatokat gyakorolj. Az csak a jéghegy csúcsa. Írj vállalati környezetben használható dolgokat, pl. webservice-t, javas SQL lekérést stb. Ha már jól mennek az alapok, megtanulhatsz valamilyen frameworköt is, pl. Springet. Nekem pl. az egyik gyengém, hogy csak a core java-t ismerem. (Igaz már nem vagyok olyan n00b, mint 5 éve, amikor ezt a profilt csináltam.)
Java-s álláskeresésben már komoly tapasztalatom van. Legutóbb 8 nap alatt találtam állást. Ha gondolod, írhatsz privátban.
-
Drizzt
nagyúr
válasz
bambano #11597 üzenetére
Pedig tok egyszeru a dolog.
Van kiindulaskor valamennyi(n) darab bucket. A bucketek gyakorlatilag tombok. Tehat van egy n elemu tombod. Minden bucketben van egy linkelt lista, vagy valamilyen annak megfelelo struktura.
A hash fuggvenyen nem modositanak semmit, mivel azt Javaban a user-nek szokas megadnia(oke, altalaban a Lombok irja meg helyette, meg lehet hasznalni a default implementaciot is, de az lehet lassu bizonyos esetekben).Kereses kulcs alapjan:
- Meghivod a kulcsra a .hashCode metodust. Igy kapod az x erteket.
- Kiszamolod , hogy x mod n = z alapjan mi a z.
- A z. bucketet kikeresed(ez egy lepesben megvan).
- A z. bucket osszes elemen vegigiteralsz, s megnezed, hogy a kulcs equals-e az eppen iteralas alatt levo elemmel. Ha igen, akkor az ott szinten eltarolt erteket visszaadod.Mikor lesz ez az egesz lassu?
- Ha a hashCode ugy van megirva, hogy minden kulcs ugyanabba a bucketbe keruljon, vagy legalabbis a bucketek egy kis reszebe. Ilyenkor abban a bucketben egy hosszu lista lesz, ami miatt nem o(1) lesz a lookup, hanem kozeliti az o(n)-et.
Ugyanez akkor is igaz lenne, ha a map-ben levo elemek szama joval nagyobb lenne, mint n. Mit csinal ez ellen a Java? Figyel egy toltottsegi szintet. Ha a toltottsegi szinte egy hataron tul van, akkor fogja, s csinal 2*n uj bucketet, s a meglevo elemeket belerakja, a regi n bucketet meg eldobja.Ebbe a pogramozo is bele tud szolni, van olyan konstruktor, amiben meg tudod adni a kezdeti n-t, s a toltottsegi tenyezot. Szoval ha tudod, hogy rohadt sok elemet fogsz belepakolni, akkor rogton csinalhatsz egy HashMap-et jo nagy n ertekkel, s akkor meguszol par rehash-t. Alapbol 16 bucket lesz, amit akkor ujrahashel, ha legalabb 13-ra no a size. Ekkor 32 bucket lesz, majd ha size legalabb 25 lesz, akkor ujrahashel 64 bucketbe, stb.
A LinkedHashMap az egy specibb valtozat, ahol az egesz HashMap-en tul egy LinkedList is fenn van tartva, ami az osszes elemet tartalmazza a hozzaadas sorrendjeben. Akkor kell hasznalni, ha fontos a hozzaadas sorrendjet tudni.
-
togvau
senior tag
Hashmap, meg minden erre alapuló ugye gyorsan tud keresni, kb függetlenül a benne lévő elemek számától.
De még is hogy találja meg azt, hogy a keresett hash az hol van? A doksi szerint linkedhashmap az alapja, de hogy találja meg a megfelelő node-ot, ha linkelve van? Hogy nem kell valahonnan elkezdve a linkeken lépegetni addig amíg meg nem találja a keresett keyt?Ha végiglépked, akkor csak azért gyorsabb mint egy list contains pl, mert nem equals megy többnyire, hanem hash==hash?
-
btraven
őstag
eclipse-ben ilyet is lehet csinálni?
rooms.add(room);❤😂😂😊😊❤🤦♀️😒👌😘💋👏🐱💻🐱👓👍😂🤣
kész vagyok...
Clean code-os fickó írhat új könyvet hogy nemcsak kommentet nem ajánlott írni, de emojit se.
Erről az az angol programozó jut eszembe aki botrányosan rossz kódot írt, de telerakta vicces megjegyzésekkel. True story. -
btraven
őstag
public void setManowar(int manowar) {
this.manowar = manowar;
setFleetLabelText();
}Mi a hiba?
-
btraven
őstag
Nálam az eclipse-ben a Problems fül mindig tele van.
[link] -
Aethelstone
addikt
válasz
btraven #11585 üzenetére
Annak idején egy fejlesztőnyelv/eszköz-ben csak az volt ami nagyon kellett. Minden le volt dokumentálva és minden úgy működött ahogy a doksiban volt.
Nah jah, de akkortájt még nem is kellett annyi mindenÉs hidd el, hogy akkoriban vért kellett hugyozni annak a megírásával, amit most pár, jól irányzott annotációval százszázalékos biztonsággal meg tudsz oldani. Ilyen fejlesztői napidíjak mellett nem rentábilis egy problémát napokig reszelgetni, amikor triviális megoldás is van
-
Drizzt
nagyúr
válasz
btraven #11585 üzenetére
"Nem lett bonyolult a helyzet ezzel a lambda meg stream-ekkel?"
Nem, sokkal egyszerűbb lett. Egyébként lambdát nem kötelező használni, ahol tudok inkább method reference-et használok. A streamnek meg fontos képessége a lazy eval, meg a concurrency support. Bizonyos problémákat tök egyszerűen, szépen, elegánsan és hatékonyan meg lehet oldani funkcionális eszköztárral, amit amúgy bonyolultan/csúnyán lehet megoldani nélküle.
"Annak idején egy fejlesztőnyelv/eszköz-ben csak az volt ami nagyon kellett. Minden le volt dokumentálva és minden úgy működött ahogy a doksiban volt."
Ez ma is így van. Maximum 1-2 szinte már sosem használt nyelvi elem léte lenne megkérdőjelezhető, de azok meg maradnak némi backward compatibility miatt. Az meg ha esetleg azért kérded ezt, mert szerinted a Stream felesleges, akkor egyszerűen még nem éreztél rá. Nélküle nagyon szar lenne az élet, ezt pár évi gyakori Stream használóként mondom. Nézz végig valamilyen alap fukncionális progamozást traininget, után egyértelműnek kellene lennie miért ilyen fontos dolog.
"Most már nehéz a programozó élete. A sok nyílt forráskódú, ingyenes cuccban az egyik fele nincs dokumentálva a másik fele meg hibásan működik vagy éppen sehogy. Ugye azért nyílt, mert majd kijavítod magad ha nagyon kell. Csak nem képzeled hogy ingyen még hibátlan is legyen?"
Ez megint nincs így. A lefontosabb, legnépszerűbb framework/libek leggyakrabban használt funkciói eléggé stabilak, ritkán kell körbebástyázni őket. A probléma az esetek 95%-ban abból adódik, hogy valaki megspórolja az alapjaik megismerését és anélkül kezdi őket használni valami olyan célra, amire nem feltétlenül alkalmasak. Még ha elő is fordulnak bugok, sokkal előrébb jársz, ha valami libet használsz rájuk, mintha 0-ról kezdenéd megírni. Sokkal tovább tartana, s a minősége is szinte borítékolhatóan rosszabb lenne.
Az utóbbi évekből pár dolog, aminek én nem voltam elégedett a dokumentációjával: annotation processor, Spring boot property source használat belsőségei. De az is lehet csak nem a megfelelő dokumentációt olvastam. Ráadásul Java-ban az se megy ritkaságszámba, hogy korábbi open source lib a nyelv részévé válik, pl.: Joda-time. -
btraven
őstag
Nem lett bonyolult a helyzet ezzel a lambda meg stream-ekkel?
Most mindig gondolkoznom kell hogy for legyen vagy stream.Tanmesét mondok. Bár lehet olyan régen volt hogy igaz sem volt.
Annak idején egy fejlesztőnyelv/eszköz-ben csak az volt ami nagyon kellett. Minden le volt dokumentálva és minden úgy működött ahogy a doksiban volt.Most már nehéz a programozó élete. A sok nyílt forráskódú, ingyenes cuccban az egyik fele nincs dokumentálva a másik fele meg hibásan működik vagy éppen sehogy. Ugye azért nyílt, mert majd kijavítod magad ha nagyon kell. Csak nem képzeled hogy ingyen még hibátlan is legyen?
-
Csaby25
őstag
Sziasztok!
Tudtok ajánlani egy összetettebb projektet, amivel jól be lehet gyakorolni a Java SE-t? Köszi! -
floatr
veterán
válasz
Aethelstone #11580 üzenetére
Van persze, de még lusta voltam utána menni. Egyszer rászántam kb 10 percet, hogy egy hobbiprojektet megreszeljek, de nem ment egyből, aztán azóta úgy maradt. Csak amiatt mondom, hogy hajlamos ilyen problémákba belefutni.
-
floatr
veterán
válasz
Aethelstone #11578 üzenetére
Nem ismeri fel java projektként. Pontosabban a java kiegészítő elhasal, amikor beolvassa a projektet, és nem működnek a java IDE funkciók.
-
floatr
veterán
válasz
Aethelstone #11576 üzenetére
Nálam a vscode most valamiért elbabrálta a régebben létrehozott projekteket, mert gradle verziót frissítettem. Egyelőre még nem sakkoztam ki, hogy mi a baja
-
Aethelstone
addikt
-
-
btraven
őstag
válasz
Aethelstone #11571 üzenetére
Őrület határán voltam. Ez a jpackage nem akart működni sehogy se a Hello world alkalmazással.
De aztán a gradle-s projectemben meg ment.
Eclipse-ből lehet futtatni gradle task-ot?
Nekem csak Command prompt-ból sikerült "gradlew.bat tasknév' módon. -
btraven
őstag
[Deploying libGDX with jpackage and Badass Runtime]
Ez a jpackage a legmodernebb módszer java alkalmazás telepítésére?
Hogy ne kelljen a felhasználónak JRE telepítgetéssel foglalkozni?Bár ez a Badass "jól" hangzik. Ennek a paranoiás felhasználók biztos örülnek.
-
Csaby25
őstag
Köszi
! Én sajnos nem gondoltam arra, hogy belassul csak arra, hogy megoldjam
.
Gondolom még nem vagyok olyan szinten, hogy az optimális megoldást keressem...
Amúgy a tömbös megoldás gyorsaság szempontjából jó, viszont a helyfoglalás miatt tényleg az általad említett jobb.. -
Sirpi
senior tag
válasz
Csaby25 #11566 üzenetére
Én mind a két implementációt optimalizálnám.
Az elsőnél az a gond, hogy így baromi lassú, F(n)-t pont F(n) időben fogja kiszámolni, tehát lineáris helyett exponenciális lesz a futásidő. Ezen a már kiszámolt értékek eltárolásával lehet segíteni. Próbáld nagyobb értékkel futtatni, azt hiszem, az int-be 44-ig nem csordul túl, de ha átírod long-ra, akkor 89-ig próbálkozhatsz, azt pedig már lehetetlen kivárni.
A másodiknál pedig felesleges lefoglalni egy teljes tömböt, elég tudni mindig a két utolsó értéket:
if (n <= 1)
return n;
int a = 0;
int b = 1;
for (int i = 2; i <= n; i++) {
int c = a + b;
a = b;
b = c;
}
return b;
-
Csaby25
őstag
válasz
disy68 #11565 üzenetére
Ilyesmire gondolsz, hogy például oldjam meg a Fibonacci-t rekurzióval és ciklussal is: ?
public class Fibonacci{
public static void main(String[] args) {
System.out.println(fibonacciRecursion(3));
System.out.println(fibonacciLoop(3));
}
public static int fibonacciRecursion(int n) {
if (n <= 1)
return n;
return fibonacciRecursion(n - 1) + fibonacciRecursion(n - 2);
}
public static int fibonacciLoop(int n) {
int[] arr = new int[n + 1];
for (int i = 0; i < arr.length; i++) {
if (i <= 1)
arr[i] = i;
else
arr[i] = arr[i - 1] + arr[i - 2];
}
return arr[n];
}
} -
disy68
aktív tag
válasz
Csaby25 #11564 üzenetére
Akkor sanszosan a szokásos fizzbuzz/fibonacci jellegű feladatokra lehet számítani meg ilyen oldd meg iterációval/rekurzióval. Ha esetleg ennél több energiát fektetnének a dologba, akkor valami saját példa, amiből esetleg kiderül, hogy hogyan állsz hozzá egy feladathoz, hogyan gondolkodsz, ilyesmi.
Én annyit tanácsolok, hogy gondolkodj hangosan és ha a feladatnál értelmezhető, akkor kérj egy teszt esetet (bemenet-kimenet). És hajrá
-
Csaby25
őstag
Sziasztok!
Kezdő java-s mire számítson, ha technikai interjú előtt lesz két teszt papíron, ami kb. fél órát tart? -
5766
csendes tag
Üdv!
Talán nem rossz helyen kérdezem....
Valaki ért a Dukascopy JForex programozáshoz?
https://www.dukascopy.com/swiss/english/forex/dealstation/#anchor-desktop
Vállal rá program írást valaki?
Nem tudom jó helyen kérdezem-e, talán ez is java.... bár lehet tévedek! -
btraven
őstag
Ellenszenves (volt) nekem ez a fuckcionális programozás.
De viszont próbálom használni, ahol lehet. Hogy tanuljam.
Aztán egyszer csak azt vettem észre hogy hogy kifogástalanul működik. Soha nincs bajom azokkal a programrészekkel.
-
sztanozs
veterán
válasz
disy68 #11550 üzenetére
sajna sokat nem segített, de extenzív gúgölözés után ráakadtam erre:
https://stackoverflow.com/questions/3042437/how-to-change-the-commit-author-for-one-specific-commit/55694507#55694507Köszi mindenkinek a belefektetett időt!
-
Csaby25
őstag
Sziasztok!
Tudtok ajánlani egy kezdőnek, konkrét projektet ( projekteket), amivel jól be lehet gyakorolni a java-t. Köszi!
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Négymagos Xeon(!) CPU LGA775-ös deszkában
- Azonnali alaplapos kérdések órája
- Feketehalálra váltja a kékhalált a Microsoft
- 3D nyomtatás
- Házimozi belépő szinten
- AliExpress tapasztalatok
- The First Berserker: Khazan
- Friss koncepciót hoz a Nothing Phone (3)
- További aktív témák...
- Eladó Apple Ipad Air 5 10 9 / M1 /WIFI + CELLULAR / 256GB Újszerű állapotban!
- GAMER PC RTX 3060 Ti 32GB RAM FULL HD / 1440p
- MSI Claw A1M 036 Konzol
- AKCIÓ!!! GAMER PC: Új i5-14400F +Új RTX 3080 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ!
- HP Prodesk 600 G3 mini PC i5 7500T / WIFI / 8GB DDR4 / 256GB SSD / Type-C / 3x DP
- BESZÁMÍTÁS! Asus TUF F15 FX506HM Gamer notebook - i5 11400H 16GB DDR4 RAM 512GB SSD RTX 3060 6GB W10
- LG 32SQ700S-W - 32" VA Smart - 3840x2160 4K UHD - 62Hz 5ms - WebOS - Wifi + BT - USB-C - Hangszórók
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! MSI B450 TomaHawk R5 5600X 32GB DDR4 512GB SSD RTX 3060 XC 12GB Rampage SHIVA 600W
- Lenovo ThinkPad X13 G2 multitouch
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest