Hirdetés

2024. május 29., szerda

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)

Hozzászólások

(#11551) Csaby25


Csaby25
senior tag

Sziasztok!
Tudtok ajánlani egy kezdőnek, konkrét projektet ( projekteket), amivel jól be lehet gyakorolni a java-t. Köszi!

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11552) Zsoxx válasza Csaby25 (#11551) üzenetére


Zsoxx
senior tag

Ha ezeken már túl vagy és a kisujjadban van (értelemszerűen csak a programozási feladatok), akkor utána ezeket javaslom gyakorolni.

(#11553) btraven válasza disy68 (#11550) üzenetére


btraven
őstag

"Don’t push your work until you’re happy with it"

A probléma az hogy én mentésre is használom a github-ot :)

(#11554) Drizzt válasza Csaby25 (#11551) üzenetére


Drizzt
nagyúr

Programozas topicban kert valaki segitseget, hogy programozzanak le neki valamit. Erre mindenki elkuldte a francba, hogy mit kepzel, hogy ingyen dolgoztatna embereket. Viszont ha nincs otleted mit csinalni, szerintem pont kapora johet.

I am having fun staying poor.

(#11555) Csaby25 válasza Zsoxx (#11552) üzenetére


Csaby25
senior tag

Hűha itt aztán van bőven. :DD
Neki is láttam a lottósnak, a többivel együtt nem fértem volna bele a 4 órába, az tuti! :P
Köszi!

[ Szerkesztve ]

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11556) sztanozs válasza disy68 (#11550) üzenetére


sztanozs
veterán

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#55694507

Köszi mindenkinek a belefektetett időt!

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#11557) btraven


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.
:D

(#11558) Zsoxx válasza Csaby25 (#11555) üzenetére


Zsoxx
senior tag

A 4 óra az egészre van, :) te csak a programozási feladatokat csináld meg.

(#11559) axioma válasza Zsoxx (#11558) üzenetére


axioma
veterán

Lanyaim a megszerezheto pontokkal sulyoztak, igy 1.5 orat szantak a programirasra, ugy kb. ara'nyos.

(#11560) Csaby25 válasza Zsoxx (#11558) üzenetére


Csaby25
senior tag

Tudom, ezért mondtam, hogy a többivel együtt.... :D

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11561) 5766


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!

(#11562) Csaby25


Csaby25
senior tag

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? :)

[ Szerkesztve ]

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11563) Drizzt válasza Csaby25 (#11562) üzenetére


Drizzt
nagyúr

Annyira valtozatos, hogy nem lehet megjosolni. Kezdve a miert kerek a csatornafedelen at a mi a kulonbseg a kompozicio es a leszarmazas kozotton at a melyik lista implementacion gyorsabb az iteracioig barmi elofordulhat.

I am having fun staying poor.

(#11564) Csaby25 válasza Drizzt (#11563) üzenetére


Csaby25
senior tag

Annyit megtudtam, hogy olyan lesz amit egyszerű pszeudo kóddal is meg lehet oldani.

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11565) disy68 válasza Csaby25 (#11564) üzenetére


disy68
aktív tag

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á ;)

“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude

(#11566) Csaby25 válasza disy68 (#11565) üzenetére


Csaby25
senior tag

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];
}
}

[ Szerkesztve ]

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11567) Sirpi válasza Csaby25 (#11566) üzenetére


Sirpi
senior tag

É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;

[ Szerkesztve ]

Hazudnék, ha cáfolnám annak tagadását, hogy ez az ital nem nélkülözi a koffeinmentesség megnemlétének hiányát. Na most akkor van benne koffein, vagy nincs?!

(#11568) Csaby25 válasza Sirpi (#11567) üzenetére


Csaby25
senior tag

Köszi :R ! Én sajnos nem gondoltam arra, hogy belassul csak arra, hogy megoldjam :D .
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..

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11569) Csaby25 válasza Sirpi (#11567) üzenetére


Csaby25
senior tag

Az van, hogy codingbat-on elkezdtem megoldani a rekurziós feladatokat rekurzióval és ciklussal is (már megvan 17 a 30-ból :) ), a saját tesztje azt mondta, hogy ok és továbbléptem :((

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11570) btraven


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.

(#11571) Aethelstone válasza btraven (#11570) üzenetére


Aethelstone
addikt

Nem. Az van, hogy általában Java alkalmazást Enterprise környezetbe telepítünk, ahol is leírjuk, hogy milyen környezetre van szükség, hogy fusson a cucc, amit a devopsok majd jól előállítanak :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#11572) btraven válasza Aethelstone (#11571) üzenetére


btraven
őstag

Ő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.

(#11573) floatr válasza btraven (#11572) üzenetére


floatr
veterán

Idea communityvel használom leginkább a gradle-t, de a vscode is elboldogul vele. Az eclipse-hez legutóbb plugint használtam, de az akkor fellelhető 2 érdemi implementáció eléggé használhatatlan volt számomra, pedig korábban eclipse user voltam.

(#11574) btraven válasza floatr (#11573) üzenetére


btraven
őstag

Én már megszoktam egyébként hogy mindent parancssorból a legjobb használni :)
git-et is úgy nyomom.

(#11575) Aethelstone válasza btraven (#11572) üzenetére


Aethelstone
addikt

Nalam Eclipse van, kiválóan futnak a gradle taskok. Mondjuk én sem szeretem az eclipses plugint, ha egy mód van rá, bashból tolom, de mavenre ugyanez igaz. Jah, a pluginnel nem sokat szarakodtam, ami a legutolsó Eclipseban gyárilag benne van, azt használom.

[ Szerkesztve ]

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#11576) Aethelstone válasza floatr (#11573) üzenetére


Aethelstone
addikt

Btw, szoktam kisérletezni a vscode-dal, meglepően jó cucc java fejlesztéshez, csak még szokni kell, de kb minden működik, ami a nehézsúlyú ide-kben :)

[ Szerkesztve ]

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#11577) floatr válasza Aethelstone (#11576) üzenetére


floatr
veterán

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

(#11578) Aethelstone válasza floatr (#11577) üzenetére


Aethelstone
addikt

Hogy babrálta el? :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#11579) floatr válasza Aethelstone (#11578) üzenetére


floatr
veterán

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.

(#11580) Aethelstone válasza floatr (#11579) üzenetére


Aethelstone
addikt

Valami logja csak van :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#11581) floatr válasza Aethelstone (#11580) üzenetére


floatr
veterán

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.

(#11582) Aethelstone válasza floatr (#11581) üzenetére


Aethelstone
addikt

Nah jah, egyelőre nálam is hobbiprojekt. Céges melót nem bíznék rá egyelőre. Főleg úgy, hogy idea/eclipse már csukott szemmel is megy, itt meg sokat kell baxakodni :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#11583) Csaby25


Csaby25
senior tag

Sziasztok!
Tudtok ajánlani egy összetettebb projektet, amivel jól be lehet gyakorolni a Java SE-t? Köszi!

[ Szerkesztve ]

A kis emberek más emberekről beszélnek, a középszerű emberek eseményekről, a nagy emberek pedig ötletekről beszélnek.

(#11584) Zsoxx válasza Csaby25 (#11583) üzenetére


Zsoxx
senior tag

Az ELTÉ-s zh-kat is kivégezted?

(#11585) btraven


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?

(#11586) Drizzt válasza btraven (#11585) üzenetére


Drizzt
nagyúr

"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.

I am having fun staying poor.

(#11587) floatr válasza btraven (#11585) üzenetére


floatr
veterán

A funkcionális elemek, ha jól használják őket, leginkább azért jók, mert elemi alkotóegységek. Egy ilyen elem könnyen cserélhető, karbantartható és tesztelhető

(#11588) Aethelstone válasza btraven (#11585) üzenetére


Aethelstone
addikt

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 :)

MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...

(#11589) btraven


btraven
őstag

Nálam az eclipse-ben a Problems fül mindig tele van.
[link]

(#11590) btraven


btraven
őstag

    public void setManowar(int manowar) {
        this.manowar = manowar;
        setFleetLabelText();
    }

Mi a hiba?

(#11591) Lortech válasza btraven (#11590) üzenetére


Lortech
addikt

"Nem derül ki". :D

[ Szerkesztve ]

Thank you to god for making me an atheist

(#11592) Drizzt válasza btraven (#11590) üzenetére


Drizzt
nagyúr

Gondolom unwanted side effectnek minositi egy linter, vagy egy senior programozo.

I am having fun staying poor.

(#11593) btraven válasza Drizzt (#11592) üzenetére


btraven
őstag

Ráadásul ha ezen az osztályon belül azt mondom hogy:
manowar = 1;
akkor meg lemarad a set label.

(#11594) floatr válasza Drizzt (#11592) üzenetére


floatr
veterán

ManowarChangeListenerFactoryManagerProxy

(#11595) btraven


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.

[ Szerkesztve ]

(#11596) togvau


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?

[ Szerkesztve ]

hitler, sztálin, micro usb

(#11597) bambano válasza togvau (#11596) üzenetére


bambano
titán

nem ismerem, hogy a jáva ezt hogy csinálja, de a rendes eredeti hash tárolási struktúra egyáltalán nem keres hash értéket. ettől gyors.
és úgy tartják fenn az elemek növekedése ellenére a gyorsaságot, hogy módosítják a hash függvényt.

Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis

(#11598) Drizzt válasza bambano (#11597) üzenetére


Drizzt
nagyúr

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.

I am having fun staying poor.

(#11599) n00b válasza Csaby25 (#11551) üzenetére


n00b
újonc

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.

(#11600) n00b


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.

Útvonal

Fórumok  »  Szoftverfejlesztés  »  Java programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.