- Magga: PLEX: multimédia az egész lakásban
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Parci: Milyen mosógépet vegyek?
- eBay-es kütyük kis pénzért
- vrob: Az IBM PC és a játékok a 80-as években
- Mr. Y: Motoros sztorik #06
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Szólánc.
- gban: Ingyen kellene, de tegnapra
Új hozzászólás Aktív témák
-
válasz
WonderCSabo #6605 üzenetére
Persze, ilyen trivialisan egyszeru esetben szol a compiler, ellenben attetelesebb szituaciokban nem feltetlen -- pl. mindenfele szerializacios esetekben.
-
floatr
veterán
válasz
WonderCSabo #6595 üzenetére
Igazad van, az ilyen példányoknál teljesen eldobja a részleteket.
Mentségére legyen mondva (#6599) emvy a fordító rátalál minden olyan pontra, ahol hibát követsz el, ezért ez a része nem zavar túl sok vizet. Sőt engem még zavar is az, hogy mindenbe bele tud kötni. Az meg már a te dolgod, hogy figyelmen kívül hagyod, vagy SupressWarning-ot aggatsz rá.
-
beleszólok
senior tag
válasz
WonderCSabo #6602 üzenetére
A python dekorátor használható osztályokon is, amennyire még emlékszem, csak van benne valami kavarás, ami miatt (állítólag) nem fedi teljes mértékben a design patternt. Nem értek hozzá, szóval csak azt mondom vissza, amit máshol írtak.
-
válasz
WonderCSabo #6598 üzenetére
Igazad van, a metaadatok koze bekerul, de runtime tipusellenorzes ettol meg sajnos nincs:
public class IntegerList extends ArrayList<Integer> {
}
public static void main(String[] args) {
IntegerList l = new IntegerList();
ArrayList<Integer> l2 = l;
ArrayList l3 = l2;
ArrayList<Object> l4 = l3;
l4.add("Hello World");
System.out.println(l.get(0)); // "Hello World" sztring az IntegerList elso eleme
}Ehhez kepest:
Ezek persze mind megszokhatoak, csak csokkentik a tipusbiztonsagot.
-
Aethelstone
addikt
válasz
WonderCSabo #6595 üzenetére
Viszont a generic nem is azért van, hogy runtime kiderítsük, hogy pl. egy List-nél mi a <közötti> pontos típus. Az csak hab lenne a tortán, de speciel én abszolúte nem érzem hiányát.
-
válasz
WonderCSabo #6595 üzenetére
> class IntegerList extends List<Integer> {}
vegulis meg igy se, mert az IntegerList az egy sima List lesz csak, Objecteket fog tarolni..
-
Aethelstone
addikt
válasz
WonderCSabo #6583 üzenetére
Nem elcseszett az, hanem egyszerűen csak sajátos. Nyilván a c++ template-hez hasonlítják sokan, de ez nem az.
-
Aethelstone
addikt
válasz
WonderCSabo #6576 üzenetére
Persze, értem én, de egy kicsit továbbgondoltam. Azért írtam, hogy dühöngés
-
beleszólok
senior tag
válasz
WonderCSabo #6578 üzenetére
Hm. Lehet...
Nem vagyok igazán java-s.Kicsit hosszú lenne itt részletezni (mást ne mondjak: tömböt gyárthatok elemi típusokból is, egyebeket csak objektumokból)
-
beleszólok
senior tag
válasz
WonderCSabo #6576 üzenetére
Az a baj, hogy nem igazán arra gondoltam, amit írtál.
Lehet, hogy a nyelvek oldaláról ez a helyzet, viszont engem pusztán az zavar, hogy nincs olyan tömb, amihez utólag, másolás nélkül tudnék hozzáadni újabb elemeket. Kicsit a "kőkorban" érzem magam miatta, amikor még PL/I-ben, Clipperben programozgattam.
Az egyéb objektum típusok más kategóriába tartoznak.
Persze nem lenne rossz, ha pl. egy ListArray elemeit is lehetne indexelni (mégiscsak rövidebb a [...] hivatkozást leírni, mint a .get(...)-t), de azért ez mégis másik történet. -
Aethelstone
addikt
válasz
WonderCSabo #6572 üzenetére
Az a helyzet, hogy kissé már unom ezt a "nyavalygást", ami itt egyesek részéről az utóbbi időben itt felmerült. Miért nincs operator overload, miért nincs lambda, miért van null és társai. Annak idején talán én írtam pár mondatot arról, hogy nem túl jó ötlet, hogy más programnyelvek "okosságait" próbálják beépíteni a Java-ba kontroll nélkül, mert a felhasználók nyavalyognak. Megnézik a Pythont, a JS-t, a Perlt, a C#-t és jaj de jó lenne, ha lenne...közben meg a nyelv eredeti logikájához semmi köze. Legutolsó kedvencem a default implementációk interfészben...de erről is már volt vita errefelé
Emberek, this is Sparta (this is Java)!! Kedvenc C++ tanáromtól annak idején megkérdeztem, hogy van-e nyelvi támogatás a C++-ban a közvetlen ősre(super vagy parent). Azt mondta, hogy nincs, de a C#-ben van. Ha kell, akkor használjam azt. Ennyi.
Nah zártam a mai dühöngésemet
-
beleszólok
senior tag
válasz
WonderCSabo #6561 üzenetére
"closed as not constructive "
Ettől megyek a falnak, ha a stackoverflow szóba kerül...
Érdekes téma, értelmes társalgás, de "not constructive" -
válasz
WonderCSabo #6561 üzenetére
Egy a keves jo design döntés közül
(aki CPPben jaratos,az tudja, mirol beszelek...) Operator overloading + implicit konverziók = katasztrófa..
-
beleszólok
senior tag
válasz
WonderCSabo #6559 üzenetére
Hát én python felől közelítem meg a témát, C++ nem mond sokat, de akkor szomorúan tudomásul veszem, hogy ez ilyen.
Tankjú.off: néha elgondolkodom rajta, hogy a scala miért nem terjedt el a java mellett...
-
boost
veterán
válasz
WonderCSabo #6442 üzenetére
Pont tíz évet. Kb akkor lett ismert Mono. Mennyivel egyszerübb lett volna az MSnek, ha opensource lesz a cucc.
-
Pimpő
tag
válasz
WonderCSabo #6419 üzenetére
"A lokális repó nem arra van kitalálva, hogy másolják (szinkronizálják) egyik gépről a másikra, a struktúrája nem ilyen."
Tök mind1, hogy mire van kitalálva és milyen a struktúrája, file-okból áll az is, amiket nyugodtan lehet szinkronizálni ha nem használják párhuzamosan a példányokat. Akkor az volt e legegyszerűbb megoldás a legkisebb ráfordítással és nekem az volt a lényeg. Hiba nélkül működött, többre nem volt szükség.
"akkor miért nem vetted a fáradtságot hogy a távoli kezelést is megnézd."
Egyrészt ehhez kell egy távolról elérhető szerver, másrészt plusz munka a repo remote belövése, amire akkor nem volt szükség. Amikor szükségét éreztem távoli repónak, akkor átálltam arra.
"Bitbucket"
Ma hallottam először erről a cuccról.
-
Pimpő
tag
válasz
WonderCSabo #6414 üzenetére
Csak én használtam a repo-t. Egyik gépről a másikra a Dropbox sync-elte át. Mind2 gépen le volt clone-ozva a repo normális lokális folderbe, azokból pusholtam a Dropbox-os folderbe.
Persze több repo használó esetén ez nem működik. -
Pimpő
tag
válasz
WonderCSabo #6410 üzenetére
Egy darabig használtam, nálam működött.
Konkurenciával nem volt gond. Tettem rá mercuriál repo-t és 1x-re csak 1 kliensről módosítottam.
Semmi gond nem volt vele. Később váltottam virtualizált bérelt szerverre, mert ARM-es gépről is akartam dolgozni és arra nincs Dropbox. -
Aethelstone
addikt
válasz
WonderCSabo #6410 üzenetére
Plusz céges forrást nem szívesen pakolnék dropboxra.
-
TheProb
veterán
válasz
WonderCSabo #6401 üzenetére
Igen, érint. Viszont nincs nemzetközi diákom, azzal lehetne igényelni, néztem már én is.
-
Aethelstone
addikt
válasz
WonderCSabo #6371 üzenetére
Jah sajnos. Elnézést
-
Aethelstone
addikt
válasz
WonderCSabo #6368 üzenetére
Jó, érted, hogy mire gondolok
Arra gondoltam, hogy ha pl. nem "BELA" a static final változó értéke, hanem mondjuk egy context.xml bejegyzés, akkor én úgy szoktam, hogy nem rakok "közé" még egy static final változót, hanem a kiolvasott bean mezőértéket közvetlenül felhasználom. Persze, nekem könnyű, hülye Springes vagyok, tudok innnyektálni
-
floatr
veterán
válasz
WonderCSabo #6364 üzenetére
Tisztában vagyok a különbséggel, meg szerintem aki eljut arra a minimumra, hogy literál és metódus eredménye között van különbség, az is tudhatja, de épp a specifikáció, vagy annak hiánya a gond. Meg hogy nincsen olyan, hogy konstans.
(#6355) Aethelstone egyébként visszatérve arra, hogy mi számít tervezési hibának:
Gyakran fordul elő az, hogy egy külső erőforrásból adsz értéket egy static final változónak, ami "konstans" (Hogy most ez egy map-ben vagy közvetlen változóban van, az lényegtelen) Szintén static final "konstansokat" lehet használni az említett módon annotációban. Nemtom miért érzel ezzel kapcsolatban tervezési problémát.Ha pl egyszer XML-ben konfigurálsz egy hibernate modellt, másszor meg annotációban, akkor az annotáció lesz az a gyenge pont, ahol a kódba beégetett pl. táblanevet nem fogod tudni változtatni, miközben az XML-ben azt csinálsz, amit akarsz két futtatás közt. De ez csak egy példa a sok közül.
-
floatr
veterán
válasz
WonderCSabo #6360 üzenetére
Ez nem lenne probléma, ha a nyelv meg tudná ezeket a dolgokat különböztetni. De nem a nyelv és a szintaktika tesz különbséget, hanem a megpatkolt fordító.
Mert lehetne egyszerű konstansokat implementálni a nyelvben, meg read-only (akár statikus) változókat, de ilyen nincsen, viszont van félig implementált generics (type erasure és agyonvágott öröklődés), felemás annotáció (a runtime annotáció vs fordításkor történő rendelkezésre állás), nyakatekert enumok (egyedi struktúrának álcázott Enum osztályok), lambdának álcázott Runnable osztályok, meg a többi ilyen nyomorult dolog. A tervezők persze védhetik a dolgot, mint az agresszív kismalac (kuss, én így szállok le), de valójában csak bénáztak a jelenlegi osztály leírók keretein belül.
-
M_AND_Ms
veterán
válasz
WonderCSabo #6360 üzenetére
Pontosan!
-
floatr
veterán
válasz
WonderCSabo #6314 üzenetére
Mert rossz tervezési minta egy számlálót a magban babrálni, és nálam nem megy át a kód review-n
Egy számlálós iterációnál a supportos hajlamos átlépni afelett a tény felett, hogy a deklarált számláló a ciklus törzsében is írható. Emiatt is inkább célszerű iterátorokat, for-each megoldásokat használni
-
Cathfaern
nagyúr
válasz
WonderCSabo #6314 üzenetére
Annyiban egyetértek vele, hogy ha a ciklusban rendszeresen módosítgatva van a ciklusváltozó, akkor szebb a while. For esetén az ember arra számít, hogy az szépen a "kiírt" feltételek alapján végigiterál. Ha ettől nagyon eltérő a működése, akkor lehet az ember átsiklik felette, és csak csodálkozik, hogy miért nem azt csinálja a kód amit gondolt. While esetén meg biztosan végignézi, hogy mi történik a változóval.
Szóval problémának nem probléma, csak kisebb esélye van a hibának ha bele kell nyúlni utólag a kódba. Szerintem. -
válasz
WonderCSabo #6314 üzenetére
En se ertem, foleg, hogy a for az egy while ciklus + nemi szintaktikus cukor.
> mutatóramutatómutatóttatalmazómutató
Hajaj, pedig ez az eletben is sokszor elofordul
-
válasz
WonderCSabo #6274 üzenetére
> megőrjítene
Jah, kell egy kis ido, amig az ember atall - erre mondtam lent, hogy legalabb megprobalni erdemes, mert jobb fejleszto lesz beloled, ha tobb oldalrol is megnezed ugyanazt a problemat.
Kiszerkesztetted valami miatt a peldad, de ha ujra visszarakod, elmondhatom
(egyebkent ennyi: (range 1 5)).
-
válasz
WonderCSabo #6266 üzenetére
Na, ez egyelore nem ment at.
NEM lehet felulirni semmit, mert a visszaadott lista is immutable. Azert mukodik az egesz, mert csak immutable (megvaltoztathatatlan) listaid vannak.
-
válasz
WonderCSabo #6264 üzenetére
Nem kell, pl. a lancolt lista vegulis nem mas, mint egy head elem. Tehat pl. egy 'rest' fv. annyit csinal, hogy elorelep egyet, es az lesz a masodik lista. A defensive copy az vegulis egy kenyszermegoldas, es pont jo pelda a mutable objectek problemajara.
Szoval ha van egy vektorod, ami a memoriaban az X es X+k kozotti helyet foglalja el, es egy fuggveny ebbol kiveszi az elso elemet, es visszaadja a maradekot, akkor a visszaadott vektor X+1 es X+k kozott lesz -- defensive copy eseten lemasolod az egesz vektort valahova, es az arra mutato referenciat adod vissza.
Persze ezek implementacios kerdesek, a lenyeg, h feltetelezheted, hogy az immutable kollekciok eleg jo teljesitmenyuek.
-
válasz
WonderCSabo #6258 üzenetére
Egy trivialis megoldas a copy on write es hasonlok. Egy pelda: funkc. nyelvekben nagyon jellemzo, hogy listakat hasznalunk adattarolasra -- most a lenyeg, hogy ertekek vannak egymas utan, nem az, hogy most vektorrol vagy lancolt listarol van szo. Ha pl. van egy olyan fuggveny, hogy 'rest', ami visszaadja a lista osszes elemet, kiveve az elsot, akkor ugye a fuggvenyhivas utan van mar ket listad: az eredeti meg egy masik, ami pont ugyanolyan, csak epp hianyzik az elso eleme. Az implementacio nyilvan okos, es nem fogja lemasolni a listat, az uj lista siman ugyanazokra az elemekre mutat, csak epp eggyel kesobbrol kezdi. Mivel az elemek ugyebar immutabilisak (nem irhatok), ezert ez teljesen biztonsagos, es gyors is.
A lenyeg, hogy alapesetben nem irsz felul semmilyen olyan erteket, amit valaki mashol meg hasznalhatna. Ha van egy erteked, az valtozatlan marad orokre. Tehat pl. nincs olyan, hogy for i = 0; i<10; i++ -- ilyen eszkozoket nem hasznalunk altalaban.
-
Aethelstone
addikt
válasz
WonderCSabo #6218 üzenetére
A DISTINCT-nek akkor van szerintem értelme, hogy a a lekérdezésben egy konkrét mezőt akarsz visszakapni, az idézett problémakörben mondjuk egy nevet, de csak egyszer
Órákat, napokat lehetne beszélni a témáról
-
Aethelstone
addikt
válasz
WonderCSabo #6216 üzenetére
Nos, úgy látom, hogy kezdenek itt keveredni a dolgok. Nyilván valamiféle ID-ben el kell térniük, különben alapvető relációs adatbázis kezelési elvek sérülnek. Ha van egy Szemely táblám, amiben két személy csak a személyi számban tér el, akkor a Hibernate/MySQL szempontjából az két eltérő entitásként lesz "objektumizálva", függetlenül attól, hogy a többi metaadat ugyanolyan koppra. A korábban tárgyalt probléma eddig terjed.
Hogy a Java kódban a személyi számot az equals() metódusnál nem veszem figyelembe, az működhet, de ez ebben az esetben a konkrét adatbázis logika lábbal tiprása és semmi köze az ORM implementációhoz.
Hivatalos doksi nincs erről, legalábbis én nem találtam, de az egyik kolléga korábban említette, hogy a hivatalos Hibernate fórum milyen színvonalú. Ott a Hibernate fejlesztők workaroundként javasolják a DISTINCT és a Set használatát, ami kvázi hivatalos álláspont. Ráadásul mi a 3.x-es Hibernatet használjuk, aminél bőven van újabb is, de különféle okok miatt nem tudunk/akarunk egyelőre upgradeolni.
Ettől függetlenül simán lehet, hogy van ennek a problémának rendes megoldása, de ezt én eleddig nem találtam meg, főleg azért nem, mert éppen ma futottam bele ebbe én is és még nem volt időm bővebben kivesézni
-
Aethelstone
addikt
válasz
WonderCSabo #6212 üzenetére
Akkor használsz List-et, ami a szükséges és a szükségtelen duplikációkat is kezeli. Aztán majd "kézzel" kiszeded. Semelyik ORM nem tud 100%-os lenni.
Másrészről ez a hivatalos Hibernate álláspont, tehát szándékosan ilyen ez látszólag. A Hibernate sokszor nem úgy viselkedik, mint a tiszta JDBC. Ezekkel együtt kell élni.
Harmarészt miért lennének nem unique sorok? Azt hibás tervezés eredménye lehet max.
-
bucsupeti
senior tag
válasz
WonderCSabo #6149 üzenetére
Jogos! Köszönöm!
-
floatr
veterán
válasz
WonderCSabo #6144 üzenetére
Épp írni akartam, hogy
new StringBuilder(20).append(i).append(j);
-
PumpkinSeed
addikt
válasz
WonderCSabo #6131 üzenetére
M_AND_Ms
Köszönöm a segítségeket.
-
M_AND_Ms
veterán
válasz
WonderCSabo #6128 üzenetére
Ez továbbra is int-t fog visszaadni. Legalábbis azt szándékozik.
-
PumpkinSeed
addikt
válasz
WonderCSabo #6102 üzenetére
Már csak a return-el van probléma, hogy lehet string-et returnolni?
-
zserrbo
aktív tag
válasz
WonderCSabo #6118 üzenetére
Sajnálom, ha félreérthető voltam esetleg én erre a sorra gondoltam végig:
...
public static Singletonpelda getInstance() {
if (instance == null) {
instance = new Singletonpelda();}
return instance;
}
....Ahogy írtam utólag gondolom azért kell a Singletonpelda a metódus fejlécébe, hogy megegyezzen a metódus visszatérési értékével a típusa, de akkor a "Singletonpelda" simán a visszatérési érték típusa, mint a double/int,stb vagy más?
-
zserrbo
aktív tag
válasz
WonderCSabo #6115 üzenetére
Azt hiszem most jöttem rá így, hogy végigolvastam, amit írtál. Mivel a Singletonpelda metódus egy Singletonpelda példányt ad vissza ezért kell a Singletonpelda a metódus fejlécébe, de valójában milyen szerepben van ott (arra gondolok, hogy a private az láthatósági módosító, a Singletonpelda mi pontosan itt)?
-
zserrbo
aktív tag
válasz
WonderCSabo #6113 üzenetére
De mikor meghívom a main metódusban a getInstance() metódust még nincsen, azért írtam, hogy eredetileg. Static kulcsszó nélkül nem menne emiatt nem?
-
PumpkinSeed
addikt
válasz
WonderCSabo #6097 üzenetére
Sajnos nem intet szeretnék beolvasni, hanem Stringet.
-
fordfairlane
veterán
válasz
WonderCSabo #6064 üzenetére
Semmi. Ha nem parancssoros klienst használsz, hanem pl. Source Tree-t, akkor meg épp az ellenkező igaz.
-
Jim-Y
veterán
válasz
WonderCSabo #6077 üzenetére
Nem a git miatt irtam, hogy linux, hanem mert azt irta, hogy win+eclipse
En windowson kezdtem, majd attertem linuxra, es nem mennek vissza. Produktivabbnak erzem magam ebben a kornyezetben. Ezert irtam amit, mert a szemelyes velemnyem ez.
-
Jim-Y
veterán
válasz
WonderCSabo #6064 üzenetére
Meg veletlenul se akarok flame-wart inditani, en szerencsere linuxon fejlesztek, de 5 ismerosombol, akikkel ilyenrol beszelgettem 5 rossznak erzi, hogy windowson kell dolgoznia. Lehet csak 4-el beszelgettem, de nem lehet veletlen a 100%-os arany
De mondom, ez olyan mint a Android / iOS vita, en nem akarok ilyenbe belefolyni, nalunk a terminal eleg frekventaltan hasznaljuk a napi munka soran, ezt windowson kinszenvedes lenne veghez vinni.
-
Aethelstone
addikt
válasz
WonderCSabo #6064 üzenetére
Nem nekem lett szegezve a kérdés, de azért megpingetem. Igazából semmi, de az igazi férfi Linuxon fejleszt
Csak egy adalék, nem akarok flémet.
Egy német fejlesztővel dolgoztam pár hétig, aki világ életében Windows-on fejlesztett. GWT alapú volt a projekt, ugyanolyan gépeink voltak csak ő W7-en, én Ubuntu 12.04-en toltam. Meglepődve jelentette ki pár nap után, hogy Mein Gott, a Te rendszereden sokkal gyorsabban fordul a cucc, mint az enyémen
Nyilván sokmindentől függ, de jó kis történet
-
floatr
veterán
válasz
WonderCSabo #6055 üzenetére
Én a google SVN-jét használom, az se pilótavizsgás...
-
Mazsul
tag
válasz
WonderCSabo #6033 üzenetére
a getPixelColor az egybeágyazott for ciklusoktól vett koordinátákról meghatározza az adott pixel 3 alapszín értékét, (Red, Green, Blue) a Color felvesz 3 int értéket, ebből egyelőre csak a pirosat használom, ezt pedig kiírom egy idn változóba, majd minden egyes pixelnél ugyanez, hozzáadom az addigi idn változóhoz. A moveMouse igazából csak debug jelleggel van ott.
Szerk.:
Közben rájöttem, hogy a második getPixelColor nem is kell, mivel már ott van előtte:
Color color = r.getPixelColor(x,y);
-
Mazsul
tag
válasz
WonderCSabo #5938 üzenetére
Én pár napja olyan szándékkal olvasom a fórumot, hogy hátha rám ragad valami, de csak pislogok.
-
Aethelstone
addikt
válasz
WonderCSabo #5938 üzenetére
Nincs meghatározva, hogy Java kezdő
Egyébként igazad van, néha én is úgy érzem, hogy az ePenis mérete fontosabb, mint a Java maga.
-
válasz
WonderCSabo #5789 üzenetére
lol
-
axioma
veterán
válasz
WonderCSabo #5682 üzenetére
Egyreszt nyilvan jogos, masreszt en mar altalanositva gondolkodtam... tehat ha egyszer egy sorszam alapjan akar - aka'r veletlenszeruen - kivalasztani, akkor nem jo otlet egy sorszamozassal nem kozvetlen elerheto, csak konvertalassal olyanna teheto tipusban tarolni, most mind1 hogy veletlenszam vagy egyeb eleresrol van szo. Arra akartam utalni hogy garancia nincs arra, hogy a konvertalas tobbszor egymas utan ugyanarra a sorrendre fog megtortenni. Az mondjuk hulyeseg volt, hogy erre rogton peldat rangattam elo a hajanal fogva inadekvat helyen.
Sorry, neha tul bakugrasokban gondolkodok... -
n00n
őstag
válasz
WonderCSabo #5672 üzenetére
Egyirányú a dolog.
Van egy ilyen Hashmapem:
Map sajatMap = new HashMap();
sajatMap.put("Alma", "Apple");
sajatMap.put("Répa", "Carrot");
sajatMap.put("Labda", "Ball");Ebből, hogy tudok véletlenszerűen kivenni egy kulcsot. Azt kiíratni a képernyőre, majd mellé a hozzátartozó értéket? (A második vele gondolom a .get(key) metódussal megy, inkább az első fele érdekel)
SZERK.: MEGOLDVA. Előbb kérdeztem, mint olvastam volna
-
raggg
senior tag
válasz
WonderCSabo #5633 üzenetére
Az idézőjel lemaradt.
-
floatr
veterán
válasz
WonderCSabo #5575 üzenetére
Nehéz váltani 10+ év SVN után. Egyrészt a megszokás, másrészt az SVN-ben már meglévő projektek irgalmatlan mennyisége.
-
boost
veterán
válasz
WonderCSabo #5573 üzenetére
Mi ismerjük, csak a cégvezetők, enterprise környezetben nem. Majd ha megjelenik a következő divatos verziókezelő rendszer, akkor vált a cég Git-re.
-
floatr
veterán
válasz
WonderCSabo #5565 üzenetére
Hát lehet h én néztem be valamit. Mindenesetre ehhez képest a maven plugin betonstabil.
-
floatr
veterán
válasz
WonderCSabo #5563 üzenetére
Én azon buktam ki, amikor a subclipse már egy natúr branch/copy műveletnél is elhasalt. Nem akartam hinni a szememnek. Most azt csinálta legutóbb, hogy a menüpontjai 3-4 példányban szerepeltek a context menüben. Az azért elgondolkodtató, hogy ha ekkora kihívás az SVN csapatnak a saját kliensüket elkészíteni, akkor mennyire lehet megfelelő minőségű maga az SVN.
-
floatr
veterán
válasz
WonderCSabo #5556 üzenetére
Szerintem egy ilyen projekt kezeléséhez elég a plugin. A subclipse-ről már nem mondanám el ugyanezt
-
boost
veterán
válasz
WonderCSabo #5549 üzenetére
köszönöm, ki fogom próbálni.
-
axioma
veterán
válasz
WonderCSabo #5533 üzenetére
Mert mikor me'g nincs belole peldany (mivel a letrehozashoz szukseges a generaciora jellemzo hossz) kellene mukodjon. Meg elvi szinten is oda tartozik. Most egyebkent az abstract ososztalynak van generaciot varo static gettere a hosszra, az ke'ri le a megfelelo osztaly statikus fuggvenyet. (Bar ott mar mind1, akar a konstansokat kozvetlen is beirhatnam oda.) Azt hianyolom, ami az abstract fuggveny vgy interface lenyege lenne, hogy ha barki kesobb ujat letrehoz, akkor lassa hogy kotelezo ezt is definialnia.
-
alratar
addikt
válasz
WonderCSabo #5515 üzenetére
Így már jó.
Köszönöm szépen a segítséget! -
alratar
addikt
válasz
WonderCSabo #5511 üzenetére
Igen.
-
alratar
addikt
válasz
WonderCSabo #5509 üzenetére
Ugyan az, csak jre helyett jdk-t ír.
-
Karma
félisten
válasz
WonderCSabo #5492 üzenetére
Szerintem ez egy elhanyagolható probléma, ha azt nézzük, hogy C# és Java között át tudja alakítani amit írsz.
-
floatr
veterán
válasz
WonderCSabo #5482 üzenetére
Odáig hirtelen el sem jutottam, ahogy rámömlött a forráskód, szori
(#5483) Aethelstone ebben a topicban hiénák vannak. Amit hibázol, szétkapnak
-
Aethelstone
addikt
válasz
WonderCSabo #5475 üzenetére
Eh, igazad van. Kontrol nélkül átvettem
Sorry
-
PandaMonium
őstag
válasz
WonderCSabo #5475 üzenetére
Én írtam először, hogy a végén kiszedi az elemeket, Aethelstone is tőlem vette szerintem;
De ezek szerint hülyeség, és bocsánat ha bárkit is megvezettem, így jár az ember, ha elhiszi azt amit YouTube-on hall, meg netes tutorialokban olvas utánanézés nélkül. -
floatr
veterán
válasz
WonderCSabo #5459 üzenetére
Ezekkel nekem csak az a problémám, hogy a "forradalmi" változásokat nehezen követi a kapcsolódó technológia, perzisztencia, szerializáció meg a többiek. A projektek meg még lassabban alkalmazkodnak.
Anélkül meg eléggé magának való -
Aethelstone
addikt
válasz
WonderCSabo #5459 üzenetére
Ach so. Köszönöm. Ezekre az aspektusokra sosem gondoltam.
-
Aethelstone
addikt
válasz
WonderCSabo #5455 üzenetére
Ez is igaz, Calendar-os megoldásra gondoltam én is első körben, de mivel Date fordult elő, maradtam annál. Egyébként alap, hogy ha egy mód van rá, akkor Calendar. Minden másra ott a Mastercard (illetve a Date)
-
floatr
veterán
válasz
WonderCSabo #5433 üzenetére
Nem igazán hozzáállásnak mondanám. Ahol megfordultam, mindenhol az volt a probléma, hogy egyrészt ostomba tölteléktárgyakkal volt az időnk elcseszve, másrészt meg nem volt sok köze az anyagnak (oktatónak?) a valósághoz.
Emellett apró tényező, hogy sokan simán hozták a megfelelő szintet, amit elvártak, de nem sok közük volt a szakmához.Voltunk páran, akik magunktól tanultunk gyakorlatilag mindent. Kiszemeltünk pár tanárt akikkel együtt lehetett dolgozni, aztán annyi. Közülünk sokan dolgozni kezdtek fősuli/egyetem mellett.
-
válasz
WonderCSabo #5433 üzenetére
Valóban hozzáállás kérdése? Programozási technológia II beadandó feladat egy android alkalmazás készítése. A félév során eddig csak javaztunk, ma az utolsó órán kezdtük el az androidot. Eljutottunk odáig, hogy mi az az activity. Én meg tudom csinálni a feladatot, mert hobbiból, meg a munkám miatt foglalkozom androiddal. De aki még sose csinált ilyet? Az megszívta?
Másik példa a sima JAVA kurzus. Hát az egy kész vicc volt. Az előadás és a vizsga nagyon nincs pariban egymással. Konkrétan nincs anyag amiből felkészülhetnél
leszeded az előadó diáit (ami 10 éve(!) volt utoljára frissítve) és végigrágod, aztán elmész vizsgázni és reménykedsz (mondom ezt úgy, hogy minden EA-n bennt voltam). Na szóval beülsz vizsgára ahol felraknak 10 kérdést. A felére kb tudod a választ, ponthatárt nem közölnek mert mint utóbb kiderül majd úgy húzzák meg, hogy x% átmenjen. Aztán kijavítják a dolgozatod és kurvára bukta és arra hivatkoznak hogy nem írtál le mindent. Te meg nem érted. Gondolkodsz, basszus én leírtam mindent a kérdéshez... És valóban tényleg válaszoltál a kérdésre. A probléma csak az, hogy nem elég válaszolni a kérdésre, hanem a kérdésben lévő fogalomról mindent le kell írni. Mondok egy példát. Kérdés: Mi a legabsztraktabb típus a JAVA-ban? Te benyögöd hogy az interface. De ők nem azt várják. Hanem azt hogy kifejted mi az interface, mikor használjuk, miért stb. Csak hát erről elfelejtenek szólni, te meg nézel bambán amikor kiderül hogy buktad a vizsgát.
És akkor még nem beszéltem az algoritmusokról, a sima prog tárgyról stb
ELTE IK proginf bsc
-
Oppenheimer
nagyúr
válasz
WonderCSabo #5433 üzenetére
+1. En az egyetemen tanultam meg "programozni". Azert teszem idézőjelbe, mert még hurka vagyok.
-
-v-
addikt
válasz
WonderCSabo #5433 üzenetére
Ebben is van igazság, meg abban is, hogy valóban szar az oktatás is ... persze attól is függ, melyik intézményről beszélünk.
-
Aethelstone
addikt
válasz
WonderCSabo #5416 üzenetére
Pontosan
Nyilván a Java nem a legjobb választás a real time rendszerekhez. Viszont természetesen megvan a maga helye a világban. Ezt itt mindannyian tanúsíthatjuk
C származék alatt egyébként C és C++ értek. Rohadt pointerek
-
Oppenheimer
nagyúr
válasz
WonderCSabo #5407 üzenetére
Azt inkább tudományos szimulációknál és kutatásoknál használják szvsz.
-
Aethelstone
addikt
válasz
WonderCSabo #5394 üzenetére
Az, de pl. a C# kinek a "nevén" van?
-
Aethelstone
addikt
válasz
WonderCSabo #5380 üzenetére
ez ugye alap felüldefiniálás
Ez teljesen igaz, de akkor ne nevezzük már a szerencsétlent interfésznek
Felüldefiniálás class esetében értelmezett...most valami eddig nem definiált fogalomrendszert vezettek be
-
Aethelstone
addikt
válasz
WonderCSabo #5377 üzenetére
Igen. Első olvasatra akár még jópofának is tűnhet, vitatkozásra érdemes feature. Aztán az ember belegondol, hogy éveken keresztül gondosan megtervezte az alkalmazások architektúráját, interface vagy abstract class szinten is, oszt jön valami frissítés, ami telibeveri ezt. Most már csak attól függ, hogy interface vagy abstract class, hogy melyik jut eszébe előbb az embernek. Jah és innentől fogva az egyiket meg is lehetne szűntetni, mert abstract class default implementációk nélkül == interfész default implementációk nélkül és a másik is igaz. Ergó, teljesen felesleges kettő
Még ha lenne valami teljesítménykülönbség vagy thread safe eltérés...de látszólag semmi...
Nem szeretem az ilyesmi átgondolatlan módosításokat....vagy megindokolta bárki is Oracle oldalról, hogy mi szükség volt erre?
-
floatr
veterán
válasz
WonderCSabo #5374 üzenetére
Ja default implementációk és tsaik. Gondolom valakinek b...ta a csőrét, hogy sokat kell gépelni, ha több interfészt használt, vagy nem ment a többszörös abstract öröklés. Az élet kegyetlen. Kéne írni egy C++ szerű nyelvet, ami olyan szintaktikát és nyelvi elemeket használ, mint a C++, és úgy is viselkedik, mint a C++. Csak lassabb
Értem én, hogy húúú meg hááá, de amikor egy Project Lombok is hasznosabb dolgokat hoz, mint maga a main stream, ott azért már el kéne gondolkodni, hogy mit kéne újítgatni. Mindegy, legalább permgen space már nincsen
-
Aethelstone
addikt
válasz
WonderCSabo #5374 üzenetére
Igen, ezt az interface bohóckodást már korábban megvitattuk
Tök jó volt korábban, hogy az Interface és az Abstract Class ilyen faszán elvált egymástól...most meg összegányolták. -
floatr
veterán
válasz
WonderCSabo #5371 üzenetére
Természetesen a megváltó lambdára. Már épp azon gondolkodtam, hogy felhagyok a mesterséggel, és favágónak állok, de szerencsére megmentett a dolog...
-
floatr
veterán
válasz
WonderCSabo #5369 üzenetére
Mennek az űrgammák?
-
Aethelstone
addikt
válasz
WonderCSabo #5335 üzenetére
A főnököm meg a Java ellenzők sorában áll már régóta
C fejlesztő az istenadta
Overengineering...mindig ezzel zsibbaszt
-
floatr
veterán
válasz
WonderCSabo #5296 üzenetére
Ha választanom kéne static és singleton között, akkor inkább az utóbbi. Annyi problémát tud okozni a nem moduláris classloader miatt a static. Igazság szerint nem is a singleton mellett kardoskodok, inkább csinálnék egy bean kontextust, amiben az objektumok singletonként viselkednének, és saját számlálókkal/flagekkel kezelnék a dolgaikat.
Nem tudom, hogy a minta honnét jön, de nem tartom igazán jó ötletnek ebben a formában.Ha meg az egész logikáját nézed, akkor nem szimmetrikus a dolog. Amikor "létrehozod" az objektumodat, akkor a helper/manager/factory igazítja a számlálót. Amikor meg "zárod", akkor maga az objektum gondoskodik róla, hogy megfelelő értéke legyen. Ez így eleve nem kerek.
-
M_AND_Ms
veterán
válasz
WonderCSabo #5298 üzenetére
Ezért írtam, hogy akkor már elvész a singleton jelleg (pl protected konstruktorral. - micsoda fertő!).
A minták ajánlott és bevált működések megoldásai, de nem szentírások. Véleményem szerint nyugodtan megírhatod "nem normálisan". Tk. kitaláltál egy újabb mintát. Gratula! ;-)
-
fatal`
titán
válasz
WonderCSabo #5300 üzenetére
Van még egy csomó hülyeség, pl. a protected kulcsszó, vagy az inner classok láthatósága.
-
fatal`
titán
válasz
WonderCSabo #5298 üzenetére
Én azt se értem, hogy normál (értsd nem inner class) osztálynak miért nem lehet static kulcsszót megadni, mint C#-ban. Helyette kell final, meg privát konstruktor.
-
M_AND_Ms
veterán
válasz
WonderCSabo #5296 üzenetére
" Alapvetően a Singletonból nem is tudsz örökölni."
Örökölni tudsz, csak a singletonosságát nem. Mondjuk érthető, hisz az osztályszintű, static dolog.
-
-v-
addikt
válasz
WonderCSabo #5267 üzenetére
Miért erőlteted ezt a staticot, én se értem ... amúgy ezek a helper classok mennyire bad practice... előjöttek a rossz emlékek
Miért használsz prefixet a fieldeknél? Az se túl jó gyakorlat manapság
(#5278) WonderCSabo: hát, a kód duplikáció az sose jó
Amúgy: java-ban nincs függvény
Metódus van. De szerintem az adattag is c++ terminológia.
edit: ja most látom, hogy androidról beszélünk
-
floatr
veterán
válasz
WonderCSabo #5273 üzenetére
Értem én, hogy hogyan működne, csak azt nem, hogy miért. Mert tegyük fel, hogy a sUsageCounter is adattag, és nem statikus. Akkor a getHelper-nek adattagként kéne babrálnia, vagy hívhatna egy open() metódust is, ami ezt az értéket kezeli. Sakko szimmetrikus is a dolog, pláne ha van valami szemaforos cucc is a két metódus körül.
Nem szabad halmozni a statikus dolgokat singleton esetében. Sőt, amióta springgel írom a hello world-öt is, azóta nem is nagyon használok igazi singletont sem. Itt persze más a dolog, de sztem hagyni kéne, hogy a singleton a nyitáskor is gondoskodjon magáról, ne csak a záráskor. -
axioma
veterán
válasz
WonderCSabo #5278 üzenetére
Valoszinuleg a konkret alkalmazasban nem relevans, de en itt erosnek talalom ezt a tulaltalanositast. Nem csak azert, mert ugyis a kodot kell valtoztatni, ha valtozik hogy milyen adatbazisokhoz kapcsolodik, az egy release-ben fix lista - legalabbis gondolom. Igy en siman karbantartasi feladatnak tartanam, hogy ha valahogy beesik egy uj, akkor annak letrehozd a neki megfelelo hozzarendelest is a map-ben. Ezzel a megvalositassal nem a kozvetlen leszarmazasi szintre szoritkozik a kod, tehat ha valamiert ugyanazt a db-t kesobb ketfele alosztallyal kezeled akarmiert, akkor ha jol ertem ezzel a koddal vagy elszall - ugyanahhoz ket kulon kulcs! -, vagy sokkal nagyobb karbantartasi igeny lesz az, hogy azoknal mindig visszakasztolva hivd a getHelper-t, plane ha nem csak egy helyen kell.
Masik: ket map ugyanazzal a kulccsal, ez tuti kell? Ha jol ertem, akkor egy alosztalyhoz max. egy ADBM-ed van, tehat neki - nem statikus - member valtozojakent boven eleg lenne a szamlalot tarolni.
Harmadreszt ha ez csak egy kezelo (szinte semmi mem.igeny, es a kapcsolatot ugyis a letezesetol fgtl. zarod - elorebocsatom, az adatbazisos reszhez nem ertek), akkor mi ertelme van a peldanyt kidobni majd kesobb ujra letrehozni?De lehet, hogy valamit nem latok benne ami plusz kell az adatbazisos parhuzamos kezeles vagy ilyenek miatt.
-
axioma
veterán
válasz
WonderCSabo #5273 üzenetére
En ugy ertem a feladatot, hogy az ososztaly tudja, milyen alosztalyai vannak, es a kod tobbszoros leirasa az egyetlen problemad. Akkor miert nem csinalod, hogy az ososztalyban egy map-be bedobod a class-hoz a neki rendelt felugyelot, es 1x irod meg a fuggvenyt ami a class-hoz visszakapott cuccost modositja?
(Bocs a pongyolasagert, meg en nem feltetlen tartanam ezt kovetendobbnek, mint a kulon letrehozast, meg lehetne persze tombbel es indexekkel, en csak a te felteteleidhez dobtam be egy szerintem megvalosithato es meg mindig nem tul ronda otletet.) -
floatr
veterán
válasz
WonderCSabo #5267 üzenetére
Namost lehet h én értelmezem félre a kódot, de ha factory metóduson keresztül létrehozva az osztály egy singleton, akkor a példányváltozón kívül egyetlen további változónak sem kéne statikusnak lennie. Neme?
Vagy a példánnyal van a gondod? Mert arra olyan példákat láttam, hogy ahány osztály, annyi változó. Ha külön maganer van típusonként, akkor abban vannak a példányok tömbben, mapben miegymás
-
M_AND_Ms
veterán
válasz
WonderCSabo #5269 üzenetére
Az is lehet, a felvetésedet nem értem teljesen. (mobilról vagyok, kódokat nem írnék most ;-) )
Most látom, hogy nem csak új példány esetén akarod az inkrementálót meghívni, hanem mindig. (Mondjuk ezt nem értem miért jó, de biztos van oka. Mi van, ha close nélkül valaki újra elkéri a példányt?). Így viszont hirtelen én sem látok más megoldást (ha mindegyik db kezelő leszármazott külön saját kezelővel akar rendelkezni)
-
M_AND_Ms
veterán
válasz
WonderCSabo #5267 üzenetére
Ezt a nyitó-záró logikát tedd egy külön statikus függvénybe, bemenő paraméterként az ős db kezelővel, melynek konstruktora hívja meg a statikus nyitó-záró függvényt, önmagát átadva neki.
Ugyanígy járj el a close-zal is.
Természetesen a db kezelőid továbbra is singletonként példányosítsd! -
fatal`
titán
válasz
WonderCSabo #5265 üzenetére
Lehet, hogy rosszul közelítem a dolgot, de mi lenne, ha a Base abstract lenne és lenne egy abstract getter függvénye ami visszaadja a jelenleg static objectedet? Így az ősosztályba írhatod a függvényt elkerülve a kódismétlést, az leszármazott osztályban meg megírod a gettert, így külön objektumaid lesznek.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Gyúrósok ide!
- Magga: PLEX: multimédia az egész lakásban
- Kerékpársportok
- Nintendo Switch 2
- Honor 200 - kétszázért pont jó lenne
- Samsung Galaxy S21 FE 5G - utóirat
- A fociról könnyedén, egy baráti társaságban
- E-roller topik
- További aktív témák...
- Csere-Beszámítás! Intel Core I9 14900KS 24Mag-32Szál processzor!
- BESZÁMÍTÁS! Samsung Odyssey G5 32 144Hz WQHD 1ms monitor garanciával hibátlan működéssel
- Eladó Apple iPhone Xr 64GB fekete / ÚJ KIJELZŐ / 100% AKKU / 12 hónap jótállással!
- KATONAI ÜTÉSÁLLÓ!!! Getac S410 i5-6300u, G3: i5-8365u, G4: i5-1145G7
- BESZÁMÍTÁS! Apple iMac Pro (2017) 5K - Xeon W-2140B 64GB DDR4 RAM 1TB SSD Radeon PRO Vega 56 8GB
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest