- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- gban: Ingyen kellene, de tegnapra
- MasterDeeJay: Legolcsóbb "x99" gép építése. (folyamatban)
- MasterDeeJay: Low budget (50.000 forint) light gémer gép összerakása
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- Nyuszit otthonra, kedvencnek!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- GoodSpeed: Anker Charger (140W, 4-Port, PD 3.1) laptop, mobil, tablet töltő
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
Új hozzászólás Aktív témák
-
togvau
senior tag
projekt összehasonlításra a Meld-et találtam közbe, annak már nem voltak hamis találatai.
Most a nyomorék projektben, bigdecimmal szenvedek. Vaadinos felület, a numberfieldnél ,-re van állítva a decimal separator, és a ,-t is veszi tizedesvesszőnek ha írok be valamit.
De fordított iránynál, amikor a mezőt állítja be a kód, .-ot rak tizedesvesszőnek.
pl így állítja be: mennyisegMe3.setValue(me3.doubleValue());
Pont jelenik meg. Próbálkoztam locale-t is beállítani, semmi hatás. -
Szmeby
tag
"Hmm. Azt hiszem, te többet láttál bele a kérésbe, mint én."
Ez igaz....én csak a vaskalapos, merev és felesleges kérdéseket nem szeretem...
"Ha neked tennék fel a kérdést egy interjún, hogy szerinted milyen egy jó, minőségi java osztály implementációja, akkor mit válaszolnál?"
Megkérdezném a kérdést feltevőt, hogy valóban, ezt az interjúra szánt 10 percet akarja arra felhasználni, hogy megtárgyaljuk, mitől lesz szép egy java kód? Vagy inkább ténylegesen ki akarja deríteni fogok-e tudni hatékonyan együtt dolgozni abban a csapatban, vagy annak az élén ahova épp embert keresnek. Mert pl én azért vagyok épp ott, hogy megtudjam ezt (a java kódkonferenciára ki se öltöztem volna).
Hála égnek, ilyen interjún nem voltam soha, és nem is voltam kényszerhelyzetben, hogy bele kellet volna mennem ilyenbe...Eddig mindig egy kötetlen, informális beszélgetésbe csöppentem, ahol a szűk szakmai dolgokról nem volt szó. Alapértelmezett volt, hogy ha kovácsnak jelentkezem és ők kovácsot keresnek, akkor nem kérdés, hogy mindketten tudjuk, milyen a felpattanó szikrába belenézni (ha ez nem így volna, úgyis kiderülne, egy héten belül)
20 éves tapasztalattal a hátam mögött pedig az a véleményem, hogy egy IT projekt legutolsó, szinte lényegtelen része, hogy mennyire szépen, mennyire jó minőségben (sic) vannak implementálva a java osztályok. (nyilván számít a kód milyensége, de nem ezen fogunk elbukni... mielőtt valaki visszadobná a labdát)
"A felhozott példákat én egy lehelletnyit túlzónak tartom"
A példák, mindig valami túloznak...
Értelek, egy 20 éves tapasztalattal rendelkező jelentkezőnél valóban béna dolog a kódminőség felől érdeklődni, tiszta sor. Ezer ennél relevánsabb kérdést is feltehetnének. Ugyan korrigálhatnám a neked feltett kérdésemet úgy, hogy mit válaszolnál a kérdésre akkor, ha junior lennél egy junior pozira, de érzem, hogy a válaszod ugyanaz lenne.
Nekem nincs ennyi év a hátam mögött, de úgy vélem 20 éves múlttal sem feltétlenül sértődnék meg egy ilyen kérdésen, szerintem ha ez érdekli az interjúztatót a legjobban, akkor szíve joga rákérdezni. Nyilván annak is tudatában van a HR (ha meg nincs akkor így járt), hogy egy ilyen kérdés feltevése milyen színben tünteti fel őket. Szerencsére az állásinterjún a felvételizőnek is van lehetősége arról beszélgetni, amiről konkrétan ő szeretne, és én jelöltként is ugyanúgy elvárom a felvételiztetőtől, hogy készséggel válaszoljon a kérdésemre, mint fordított helyzetben. Nem kellemes, amikor megítélik az embert a feltett kérdése alapján. De legalább hamar kiderül, hogy nincs meg az összhang, próbaidő sem kell ennek a megállapításához.
Talán azért ez a véleménykülönbség, mert sokat szívtam legacy kóddal, és sokkal jobban megérint a kódminőség (hiánya), mint másokat. És mivel eddig szinte minden kollégámmal jól kijöttem, annyira nem szokott érdekelni, mennyire jól tudok velük együtt dolgozni... eddig mindig sikerült jól együtt dolgoznunk. Esetedben meg talán máshol vannak a hangsúlyos pontok.
Ez az oka annak is hogy ráugrottam a hozzászólásodra, mert mérhetetlenül sajnálatosnak tartom, hogy a menedzserek mellett sok fejlesztő is tesz a minőségre (szinte lényegtelen összetevőnek tartják), és nem látják, hogy ezzel a saját vagy sorstársaik életét teszik pokollá hosszú távon. Azt hiszem a válaszaimmal igazából csak keresem a megerősítést, hogy valóban az a jó irány, ha a határidőt, a rövid távú sikereket tartja az ember szem előtt. Egyelőre nem sikerült meggyőznöm vagy meggyőzetnem magam, de igyekszem.
----
PeachMan:
Hogy ON is legyek, nálam a model az entitás réteget jelenti - vagy perzisztens réteget, ahogy te fogalmazol. POJOk, amelyek már jávául íródtak, de közvetlenül a DB-be mentjük őket és DB-ből töltjük fel őket. Az ORM akítvan használja őket, lévén ők képezik az O-t az ORM-ben.
A DTO (Data Transfer Object) pedig adatok továbbításáért felel a komponensek között, ez jellemzően magasabb rétegekben jelenik meg (ha a perzisztens réteg van alul és a view felül).Hogy mennyire szép elfelejteni a DTO-kat és mindenhol csak a modelt használni, nos, szerintem ez komplexitás kérdése. Egy szép világban nem lenne szükség DTO-ra, mert minek lekopizni valamit pusztán azért, hogy 2 service beszélgetni tudjon egymással. De van egy rakás oka, amiért mégis van létjogosultsága.
Lehet technológiai oka, mondjuk az ORM meg tud zavarodni, ha egy entitásban több collection is van, DTO-k bevezetése jó workaround tud lenni. Te is említetted, hogy a view-nak nincs szüksége minden mezőre, ez is egy valid ok. Főleg akkor, ha nemcsak nincs szüksége, hanem egyenesen tilos egy view-nak látnia minden adatot. Lehet ok a sebesség optimalizálás. Ha egy view-nak csak 1-2 mező kell egy 20 oszlopos táblából, nagyon nem mindegy, hogy mind a 20 mezőt áttolod-e egy microservice-ből a másikba, vagy csak a szükségeseket. Egy DTO-t létre lehet hozni azzal a 2 szükséges mezővel és azt passzolgatni. Az sem mindegy, hogy egy entitásban a kapcsolódó táblák adatai is feltöltésre kerülnek vagy sem, és erre a view-nak szüksége van-e vagy sem. Van, hogy az ORM-et megkerülve jpql vagy akár natív sql végrehajtásával kell felszívni bizonyos adatokat, mert annyira tetü lassú lenne máskülönben, hogy a user megunja az életét. Ez már egy optimalizációs indok lehet, és nem is a fejlesztés legelején kell erről gondolkodni, hanem a végén, de akkor marha nehéz lesz átállni DTO-ra, ha eddig végig az entitásokat passzolgattuk a komponensek között.
Gondolom vannak érvek a model használata mellett is, de most nem jut eszembe ilyen, és biztosan jön valaki, aki arról is tud mesélni.
Ja igen, az ORM is nyújthat megoldásokat az általam fentebb felvetett indokokra, csak nem ismerem annyira mélyen őket, hogy mindegyikre tudnék mondani valami dögös annotációt.
DTO-t használni nekem könnyebbség. Nagyobb rugalmasságot ad. Ha változik a model, nem feltétlenül kell a service rétegen keresztülverni a változásokat pl. -
Szmeby
tag
"Konkrétan a hozzászólás melyik részét tartod bullshitnek és miért"
Azt, amit kérnek, hogy felmondjon a jelentkező a hr-esnek, mint a leckét az iskolában. Ez számomra a tudás hibás és teljesen felesleges visszakérdezése: fejből tudni és visszamondani az elméleti anyagot, még "ha álmodból keltenek is fel. " Az ilyen tudás megszerzése jön a "magolásból", és nem a gyakorlatból, vagy a rátermettségből. Ez alapján tuti nem a megfelelő és alkalmas embert fogják felvenni.
A tapasztalatom (20 aktív IT, + 10 év egyéb terület) az, hogy az elméleteket halmozó emberek aszok, akik a megbeszéléséken a szót viszik, az elveket hangoztatják és az időt rabolják, de a tényleges munkát már képtelenek elvégezni.
Az ilyen szintű elméleti alaptéziseket nem kell hangoztatni, hanem azoknak megfelelően kell dolgozni. Egy kovács se tudja fejből elsorolni, hogy mi a helyes kalapálás alapelmélete és hogy milyen rácsszerkezetű a vas...egy kovács alkalmazásakor se kell ilyeneket kérdezni ... Vagy egy anesztes orvosnál se kérdeznek az állásinterjún olyat, hogy miből, mennyit adagol a lumbális érzéstelenítésnél és azt milyen szempontok alapján dönti el.Hmm. Azt hiszem, te többet láttál bele a kérésbe, mint én.
Ha neked tennék fel a kérdést egy interjún, hogy szerinted milyen egy jó, minőségi java osztály implementációja, akkor mit válaszolnál?---
A felhozott példákat én egy lehelletnyit túlzónak tartom, a vas rácsszerkezetét inkább hasonlítanám mondjuk a gépi kódhoz, mintsem a kódminőség megítéléséhez. Az meg igazán örvendetes lenne, ha az IT iparban is olyan képzésük lenne az embereknek, mint orvosi fronton, mentoring, sokéves rezidenskedés, stb. Én se kérdezném meg tőle az adagolást, mert feltételezném, hogy pontosan tudja. Na meg a beteg halálozások száma is jó indikátora a hozzáértésnek.
-
Szmeby
tag
-
Drizzt
nagyúr
Nem, én ezt rendkívül fontos dolognak tartom. Ha ez nincs végig az ember fejében, amikor kódol, akkor jó eséllyel gányolt minőséget fog kiadni. Az meg most, hogy konkrétan a SOLID betűit feloldja-e valaki, vagy a lényegét elmondja a mozaikszónak, igazából mindegy, de számomra mozaikszót megjegyezni és felidézni sokkal egyszerűbb, mint bármi más módszer.
Juniortól nem ezt kérdezném, mert szinte biztos, hogy nem fogja tudni. Ott nyomatnám az egyszerűbb adatstruktúrák kérdéseit. Senior szinten viszont szerintem ez alapelvárás, akármikor.
-
E.Kaufmann
veterán
Jaja, fa struktúrájú adatok bejárásánál tud jól jönni, ugyanakkor túl kiterjedt szerkezeteknél nem biztos, hogy jó ötlet, marha sok memóriát fel tud emészteni, valamint egzotikus memóriahibákat dobhat a jvm, még ha a gépben van is elég memória, csak épp a programverem, vagy minek hívják, túlcsordul: [link]
Érdemes ciklusokra visszavezetni a megoldást rekurzió helyett. -
E.Kaufmann
veterán
-
Zsoxx
őstag
-
orc88
őstag
Ha javaból, vagy mysqlből eléred, akkor elsőnek nyers adatként áthúzod a dbf tartalmát az adatbázisodba, aztán ott már könnyedén tudsz belőle dolgozni.
Anno 10 éve én is így dolgoztam be dbf-t, de az eszközre már nem emlékszem (azt hiszem, mivel Ms-sql volt az adatbázis, annak a pont ilyen feladatokra való Dts eszközével dolgoztam)Köszi mindkettőtöknek

-
Aethelstone
addikt
Olyasmi lehet, hogy működik, használják, miközben a kód kiüríti a Vector-t, ami utána a kód másik része olvasna belőle és hibát dob - tehát, én azt mondom, ez programozói hiba: vagy nem kéne üríteni a Vectort, vagy az olvasáskor kéne figyelni, mert lehet jogosan üres, csak éppen kezelni kéne azt.
Nyilván. De akkor sem memory leak
Race condition 
-
szbalogh
addikt
Én a program fejlesztőjével, forgalmazójával venném fel a kapcsolatot: a mellékelt hiba annyi, hogy a program egy Vectorból (laikusan mondjuk listának) akarja elővenni az első elemet, de az a Vector (lista) üres, ezért mondja a hibaüzenet: NoSuchElementException.
Oka lehet hibás működés (valószínű előzőleg valami, valahol rakna elemeket ebbe a listába, de az nem történik meg), ami nincs rendesen kezelve, vagy egyszerűen programozó hiba.Köszönöm a gyors választ!
Nincs kizárva, hogy a programban is vannak hibák. A gyártó nem foglalkozik ezzel a régi verzióval. Az új verzió pedig 1700 euró lenne.
Azért tennék egy próbát a memória növelésével. Hogyan tudom ezt megtenni? -
sztanozs
veterán
Azért kérdeztem csak, mert ha xml megy át, akkor az valójában nem binary, csak egy (bazi nagy) szöveg. Amúgy meg mindegy is, hogy melyik, ha egy-az-egyben ki is tolja egy WS response-ban...
String xmlString = new String(rs.getBytes("xml_blob_field")); -
sarkanyolo2
őstag
-
emvy
félisten
-
Aethelstone
addikt
-
Orionk
senior tag
Igen, le volt írva rendesen, hogy mi a Fibonacci sorozat és hogyan épül fel. Abból te találtad ki, hogy hogyan kell kiszámolni a sorozat egyik elemét.
A 20 percből szerintem 5-6 perc csak arra megy el, hogy megértsd és kitalálj egy megoldást. Nekem annyi szerencsém volt, hogy régebben már megoldottam ezt és emlékeztem rá.
-
Cathfaern
nagyúr
Hűha. Ott elakadnék, hogy hirtelen nem tudnám mik is azok a Fibonacci-számok.
Komolyan, ez a lényeg a programozásban? Értem én, hogy maga a rekurzió fontos dolog, magam is használom, ha a feladat megoldása megkívánja. Azt is értem, Fibonacci-számoknak nagy a jelentősége, de mégis miért kell eldugni az egészet, egy teljesen életidegen kierőszakolt feladat mögé eldugni - Magyarországon hány valós üzleti problémát oldottak meg a Fibonacci-számok segítségével? Tehát, rekurzióra is vannak egyéb és az üzleti világhoz közelebbi példák.
De lehet, én vagyok ilyen furcsa (?)
Én azt vizsgálnám, hogy mennyire tudja összekötni az üzleti igényt az adott eszközzel, programnyelvvel. Mennyire képes egy üzleti specifikációból valós és jól működő kódot alkotni. Olyat, amit később is könnyű továbbfejleszteni, alakítani. Nem azt keresném, hogy tudja-e a Fibonacci-mibenlétét. (hacsak nem valami tudományos projektre keresek fejlesztőt)Ha le volt pár mondatban írva, hogy mi az a fibonacci szám és hogyan számolod, akkor pontosan azt valósította meg amit írsz: "Mennyire képes egy üzleti specifikációból valós és jól működő kódot alkotni."
-
sztanozs
veterán
Hűha. Ott elakadnék, hogy hirtelen nem tudnám mik is azok a Fibonacci-számok.
Komolyan, ez a lényeg a programozásban? Értem én, hogy maga a rekurzió fontos dolog, magam is használom, ha a feladat megoldása megkívánja. Azt is értem, Fibonacci-számoknak nagy a jelentősége, de mégis miért kell eldugni az egészet, egy teljesen életidegen kierőszakolt feladat mögé eldugni - Magyarországon hány valós üzleti problémát oldottak meg a Fibonacci-számok segítségével? Tehát, rekurzióra is vannak egyéb és az üzleti világhoz közelebbi példák.
De lehet, én vagyok ilyen furcsa (?)
Én azt vizsgálnám, hogy mennyire tudja összekötni az üzleti igényt az adott eszközzel, programnyelvvel. Mennyire képes egy üzleti specifikációból valós és jól működő kódot alkotni. Olyat, amit később is könnyű továbbfejleszteni, alakítani. Nem azt keresném, hogy tudja-e a Fibonacci-mibenlétét. (hacsak nem valami tudományos projektre keresek fejlesztőt)mennyire tudja összekötni az üzleti igényt az adott eszközzel, programnyelvvel. Mennyire képes egy üzleti specifikációból valós és jól működő kódot alkotni.
Ez egy nagyobb cégben azért két szerepkör:
- egy technology designer vagy business analyst - aki az üzleti igényből technikai specifikációt csinál
- egy fejlesztő - aki a technikai specifikációból kódot csinálEgy normális helyen egy fejlessztő sosem ül le (egyedül) az üzlettel megbeszélni, hogy mi az igény. Az ilyenekből lesznek azok a fejlesztések, amitől a tech kontrol vagy az infosec osztályon mindenki évekig a haját tépi (már ha van ilyen).
-
ToMmY_hun
senior tag
Nem tudom milyen az a feladatsor, de ha az van benne, hogy készítsen ilyen-olyan láncolt listát, akkor az hülyeség.
Én még egyik üzleti partnerünktől se kaptam ilyen igényt az elmúlt húsz évben.
Szóval, valami egyszerű, de életszagú dolog kell, esetleg egy már előfordult üzleti igény fejlesztői specifikációja.Voltam már pár multinál tesztet írni, és az ottani tapasztalataim alapján írtam ezt. Nemrég például egy prímtényezős felbontó programot kellett írni a teszten egyik feladatként. Ez sem túl életszagú, mégis ez volt a kérdés. Szerintem egy juniornál nem az a célja a tesztelésnek, hogy az eddigi szakmai ismereteit visszakérjék - erre tökéletes volt az egyetem -, sokkal inkább az a cél hogy kiderítsék képes-e logikus, szisztematikus gondolkodásra. Erre tökéletesen jó a láncolt listás kérdés.
-
Orionk
senior tag
-
MasterMark
titán
Ja nem úgy értem, elméletben tudom mi az. A kérdés hogy java-ban is olyan ez mint C++ -ban, hogy ezt előre fixen meg kell mondani mekkora?
Csak mert inkább használnék ArrayList-et de akkor meg értelmetlen a feladat szövege, vagy ezt is jelentheti a kétdimenziós String tömb?
-
MrSealRD
veterán
-
ToMmY_hun
senior tag
Falra másznék az ilyen "szintetikus" felvételi teszttől.
Ez kb annyit mond el delikvensről, mint egy Antutu teszt egy mobiltelóról.Én elbuknék a magam 15 éves aktív kódolási és 25 éves informatikai előéletével együtt a Fibonacci és a palindrom fogalmaknál. Fibonaccival utoljára talán 20 éve találkoztam, ha jól emlékszem...
(mondjuk egy javas for ciklus írását is csak a codeassist segítségével tudom elkezdeni
)Nem az a lényeg hogy tudd, hanem hogy megértsd és algoritmizáld. A palindrom szót én is a interjún hallottam először, de ez nem jelenthet gondot az algoritmus megírásában. Abban igazad van, hogy ez nem nyújt elegendő információt a jelentkezőről, de olyan dolgokat kideríthet, amit a papíron való tesztelés nem.
-
CJ19
csendes tag
Falra másznék az ilyen "szintetikus" felvételi teszttől.
Ez kb annyit mond el delikvensről, mint egy Antutu teszt egy mobiltelóról.Én elbuknék a magam 15 éves aktív kódolási és 25 éves informatikai előéletével együtt a Fibonacci és a palindrom fogalmaknál. Fibonaccival utoljára talán 20 éve találkoztam, ha jól emlékszem...
(mondjuk egy javas for ciklus írását is csak a codeassist segítségével tudom elkezdeni
)Az egyetemen jó arra, hogy
szopassanakilletve kiszűrjék azokat akik nem akarnak programozást tanulni, nálunk az összes algoritmust szinte tudni kell pszeudóban is leírni stb... -
fatal`
titán
Jó, hogy mindenre van valami elnevezés, ami miatt az a valami marha különleges dolognak tűnik.
Fésüs lista. Dinamikus mátrix. Első hallásra már megijedek, pedig 10 éve Javazom.
Én egyszerűen egy listát látok, amibe listákat tárolnak. Ezen meg nem csodálkozom, hiszen tudom, hogy listába bármit belerakhatok, ahogy a működés megkívánja. És eszembe se jut mindegyikhez külön nevet keresni. Pl ennek mi a neve List<Map<String>> ?Ennek compile time error a neve.

-
Gyb001
senior tag
Jó, hogy mindenre van valami elnevezés, ami miatt az a valami marha különleges dolognak tűnik.
Fésüs lista. Dinamikus mátrix. Első hallásra már megijedek, pedig 10 éve Javazom.
Én egyszerűen egy listát látok, amibe listákat tárolnak. Ezen meg nem csodálkozom, hiszen tudom, hogy listába bármit belerakhatok, ahogy a működés megkívánja. És eszembe se jut mindegyikhez külön nevet keresni. Pl ennek mi a neve List<Map<String>> ?Házi feladatban ezt használtam, és megjegyzésben minden metódushoz írni kell pár szót, végül mátrix maradt.
Köszön mindenkinek a választ.
-
Karma
félisten
Jó, hogy mindenre van valami elnevezés, ami miatt az a valami marha különleges dolognak tűnik.
Fésüs lista. Dinamikus mátrix. Első hallásra már megijedek, pedig 10 éve Javazom.
Én egyszerűen egy listát látok, amibe listákat tárolnak. Ezen meg nem csodálkozom, hiszen tudom, hogy listába bármit belerakhatok, ahogy a működés megkívánja. És eszembe se jut mindegyikhez külön nevet keresni. Pl ennek mi a neve List<Map<String>> ?Szerintem is felesleges megcímkézni, de csak a kérdésre válaszoltam.
-
fatal`
titán
Alapvetően annyi, hogy a Game osztályod import részéből kitörlöd a hibás hivatkozást: import java.awt.Window;
(ebből látszik, hogy rossz Window osztályt használ)
Mivel a saját Window osztályod azonos csomagban van az őt használó Game osztállyal, ezért nem is kell külön importálnod. Érdemes a jövőben egyedibb nevekkel illetni a saját osztályaidat . A Window név nagyon általános emiatt, könnyen félrecsúszhat az import és így egy egész más Window osztály kerülhet bele. Bár az Eclipse segít, mert a codeassist már a kód írásakor mutatja, hogy melyik Window-ról lesz szó és fel is ajánlja az összes ugyanolyan nevű osztályt, amiből ki lehet választani azt, amire valóban gondolsz.Nálad, az Eclipse-ben amúgy valahogy nincs minden korrekten összerakva, mert ezt a hibát megint, már a kód írásakor tudná jelezni neked - aláhúzná pirossal
Meg jó lenne ha végre rájönnének az oraclenél, hogy az import alias nem lenne hülyeség

-
bairyhalls
csendes tag
Alapvetően annyi, hogy a Game osztályod import részéből kitörlöd a hibás hivatkozást: import java.awt.Window;
(ebből látszik, hogy rossz Window osztályt használ)
Mivel a saját Window osztályod azonos csomagban van az őt használó Game osztállyal, ezért nem is kell külön importálnod. Érdemes a jövőben egyedibb nevekkel illetni a saját osztályaidat . A Window név nagyon általános emiatt, könnyen félrecsúszhat az import és így egy egész más Window osztály kerülhet bele. Bár az Eclipse segít, mert a codeassist már a kód írásakor mutatja, hogy melyik Window-ról lesz szó és fel is ajánlja az összes ugyanolyan nevű osztályt, amiből ki lehet választani azt, amire valóban gondolsz.Nálad, az Eclipse-ben amúgy valahogy nincs minden korrekten összerakva, mert ezt a hibát megint, már a kód írásakor tudná jelezni neked - aláhúzná pirossal
Hm nemtudom, ctrl+shift+o-val szoktam beimportalni a kello dolgokat, kézzel soha, és valamiért ezt is behuzta, koszi a helpet

-
bairyhalls
csendes tag
-
floatr
veterán
Pedig csak akkor van vele baj, amikor az ember elhiszi róla, hogy nem kell a DBMS-hez érteni, mert ORM.
-
emvy
félisten
En csak azt mondom, hogy pusztan fura szokasoktol nem lesz az ember szar programozo.

-
#39560925
törölt tag
Ha TDD-ben fejlesztesz, tényleg nem sokat kell debugolni.
A másik témában én is Sk8erPeterrel értek egyet. Ennyire ne legyünk már lusták használni a ctrl + alt + f, vagy ctrl + alt + v - t.
-
MrSealRD
veterán
-
emvy
félisten
-
mobal
nagyúr
-
mobal
nagyúr
-
Aethelstone
addikt
-
pvt.peter
őstag
Tlképpen csak egy O(1) -el van több műveletem a 2. -ban, nem?
Ez pedig a hash kód alapján való elem lekérés a getKey segítségével.
Bár lehet hogy ugrálni kell majd a hash táblában mert a hasítófüggvény nem elég precíz ahhoz, hogy olyan kódot tudjon gyártani amihez biztos, hogy nem tartozik még semmi se.
(fix me, de asszem vmi ilyesmin alapszik a map ... )Ettől függetlenül igen, az elsőt célszerű használni.
A kérdésemet csak azért raktam fel, mert mindig csak egy elemet rakok bele abba a listába és kicsit csúnya volt, hogy mindig létre kell hoznom egy temp listát ehhez. -
Karma
félisten
"Sajnos azonban a mai senior Java fejlesztő brigád 1.6-1.7(1.5??) környékén leragadt."
Mert ezek fejlesztők általában elő, működő és aktívan használt projekteken dolgoznak, amikbe hosszú évek üzleti tudása van berakva. És erre nagyon vigyáznak. Nem fognak Java verziót váltogatni, mert az megjelent.
A kísérletező kedvű ifjú titánok persze megtehetik, hogy mindenfélét kipróbálgassanak, de majd bekerülnek az "életbe" és örülnek, ha nem kell meglévő funkciókat vagy, projekteket piszkálgatni.COBOL programozókra is szükség van még a világban, és minden tiszteletem az övéké. De most egy új projekt indításáról volt szó, nem a legacy-ről.
-
Aethelstone
addikt
"Sajnos azonban a mai senior Java fejlesztő brigád 1.6-1.7(1.5??) környékén leragadt."
Mert ezek fejlesztők általában elő, működő és aktívan használt projekteken dolgoznak, amikbe hosszú évek üzleti tudása van berakva. És erre nagyon vigyáznak. Nem fognak Java verziót váltogatni, mert az megjelent.
A kísérletező kedvű ifjú titánok persze megtehetik, hogy mindenfélét kipróbálgassanak, de majd bekerülnek az "életbe" és örülnek, ha nem kell meglévő funkciókat vagy, projekteket piszkálgatni.Pontosan.
-
szcsaba1994
tag
Van eggy megadott keretrendszer(.jar) és azt kell használni a fordításhoz, csak egy osztályt készíthetünk hozzá. Az ott létrehozott osztályokat használhatjuk, de pl node osztályt nem hozhatunk lére
Köszönöm a válaszokat
-
#39560925
törölt tag
-
D4nte
csendes tag
Kezdődhetne az "én IDE-m a legjobb merthogy" harc is ezzel, de mivel ezt már sok helyen eljátszották felesleges az ismétlés. Örüljünk, hogy van választék. (Amúgy eclipse forevör alap
) -
#39560925
törölt tag
-
Lortech
addikt
Nyilván nem keverendő össze, ha ugyanaz lenne a kettő, akkor nem lenne két alapvetően különböző megoldás a nyelvben (interface vs class, implements vs extends).
Az "öröklődés téma része", de nem állítottam, hogy implementációt örökölsz az interfésszel. Lásd pl. [Multiple Inheritance of State, Implementation, and Type] vége. Ez tovább bonyolódik a java 8 default interfész implementációkkal. Állapototot ezzel legyütt sem lehet örökölni. -
WonderCSabo
félisten
Pont erről beszélek. Lexikális tudásuk van, a kézikönyveket, tankönyveket bevágták a belőlük készült kvízkérdéseket tudják, de értelmesen megírni egy kódot nem tudnak.
A lexikai tudást, a pontos szintaktika ismereterét bármikor kiegészíthetem a lokális help, kézikönyv vagy a gugli segítségével. Ha az adott ismeretere sokszor van szükségem, akkor a harmadik eset után már készség szinten tudni fogom. Amúgy meg nem érdekel, mert nincs rá szükségem. Az én fejem nem káptalan.A hiányzó gondolkodást viszont nem lehet beszerezni semmilyen forrásból sem.
Ez alapján egy interjún adjanak egy frappáns kis feladatot, amit előre okosan kitaláltak. Ne szopatóst, hanem egy ésszerűen 30 perc alatt megoldhatót. Ja, hogy ezt az interjúztatónak előre ki kéne találni, ahhoz meg neki is gondolkodni kellene... Így tényleg egyszerűbb egy Java alapú "Legyen ön is milliomosból" összeollózni 20 kérdést.
Ezzel természetesen teljesen egyetértek. Szerintem sincs értelme direktben megkérdezni a láthatóságok felsorolását, hanem használtatni kell egy feladatban.
Szimplán annyit mondok, hogy ezt attól még kötelező tudni egy Java fejlesztőnek, álmából szilveszteri buli után felébresztve is. -
WonderCSabo
félisten
Szomorú, hogy ilyen kvízkérdésekkel interjúztatnak.
Én több, mint 10 éve programozok (többnyire java, plsql). Ma sem tudnom fejből egy ciklus szintaktikáját. Ott a codeassist az megírja. Én meg megtöltöm tartalommal.
A láthatóságok listáját se magoltam be mégis ismerem, értem és használom őket, de ha kérdeznének biztos kihagynám valamelyiket.Szerintem ezt (láthatóságok és azok használata, hatása) illik tudni fejből, hiszen naponta mindegyiket használni kell.
-
axioma
veterán
-
RexpecT
addikt
-
bucsupeti
senior tag
igen ezeket megtaláltam, köszönöm!
Azért kérdeztem hogy van-e valakinek tapasztalata ezen a téren, hogy melyiket érdemes használni, vannak-e buktatók, illetve linux alatt melyik megy (van amelyikhez outlook kell, az nyilván nem megy linux alatt) -
Aethelstone
addikt
Köszönöm példát, bár ott az egyik egy primitív, amelynél ugye alapból nincs értelme semmilyen függvény meghívásáról beszélni. A példádban amúgy outboxing történik, vagyis a Longból veszi ki automatikusan a longot és így már primitívek között persze, hogy csak a == működik.
Más. Látom csak nekiálltál alpári stílusban írni. Jelzem amiről beszélünk az nem offtopic, még akkor sem, ha te mindenképp azt hajtogatod, hogy én "kurvára szétoffolom". Sajnálom, ha egy szakmai topikban nem vagy képes megmaradni a szakmaiságon belül, sőt kifejezetten zavar téged.
Igazad van. Így jó?
-
Aethelstone
addikt
Előbb talán elolvasnád amit írtam vagy a kolléga írt. A kolléga konstans stringeket hasonlított egy string tömb elemeihez. "bor" == data[0]. ERRE írtam, hogy itt az equals kell és írtam, hogy pl. egy Long i = 1 (i == 1)-nél nem kell i.equals(1), hanem == is megteszi. Pont. Semmi többet nem írtam, Te meg elővetted az okoskodást és kurvára szétoffoltad a témát. Szerintem. Tehát okosodás első lépcsőjeként leírt szöveg értelmezése. Szó nem volt saját osztályról, equals felüldefiniálásról vagy bármi egyéb ilyesmiről.
És most tényleg befejeztem.
-
Gyuri16
senior tag
-
Aethelstone
addikt
"Az autoboxingos osztályoknál pl. szükségtelen az equals, mivel gyárilag meg van írva, hogy pl. a Long i-nél az i.longValue()-t hasonlítja a megadott longhoz....."
Ezt nem értem.Ha két Long-ot == jellel akarsz összehasonlítani, akkor megint csak a két referenciát vizsgálod. Amúgy persze, hogy a Long equals függvénye úgy gondolkodik, hogy a longValue()-t veti össze a a saját value mezőjével De ez nem az autoboxingból jön, hanem ez is ugyanaz a logika, mint amit már leírtam (ahogy a String-nél meg a saját value[]-ból dolgozik)."Persze, saját osztályoknál nyilván az equals a célszerű és a követendő, de itt konkrétan a String-ről volt szó és itt mindenképpen az equals kell."
Mindig equals kell, fogadd el!(#7362) Ursache
Mivel osztályokról beszélünk, ezért nem kell egyértelműsíteni, hogy csak a nem primitíveknél van így. Az osztály eleve NEM primitív.Nem kell mindig equals. Lezártam.
-
Aethelstone
addikt
"Java-ban a Stringeket equals-sal hasonlítunk össze, nem ==."
Ez kicsit sántít ill. félrevezető.
Java-ban a == -nal nem a két objektumot hasonlítjuk össze, hanem a két referenciát. Vagyis akkor kapunk igazat ha mindkettő ugyanarra az objektumpéldányra mutat.
Az equals-nél pedig meghívjuk az adott objektumpéldány equals függvényét, ami az objektumra jellemző összehasonlítást végzi és megmondja, hogy a paraméterként megadott másik objektumpéldányt azonosnak tekintjük-e, vagy sem. Ebben az equals-ben lehet megírni az objektumra jellemző logikát, ami az azonosságot kimondja. String-nél természetesen ezt már megírták és akkor mondja azonosnak, ha pontosan ugyanaz a a karakterliterál van mindkét String példányban.
De pl. írhatok az Alma osztályomba egy saját equals függvényt, ami az én logikám szerint akkor ad igazat ha a méret, a szín és a súly tulajdonságai megegyeznek a két összehasonlítandó Alma osztályból létrehozott példánynálTehát, NEM CSAK Stringnél kell az equals a == helyett az azonosság eldöntésére, hanem minden osztály példányánál.
Tehát, NEM CSAK Stringnél kell az equals a == helyett az azonosság eldöntésére, hanem minden osztály példányánál.
Nos, ez nem ilyen egyértelmű. Az autoboxingos osztályoknál pl. szükségtelen az equals, mivel gyárilag meg van írva, hogy pl. a Long i-nél az i.longValue()-t hasonlítja a megadott longhoz.....
Persze, saját osztályoknál nyilván az equals a célszerű és a követendő, de itt konkrétan a String-ről volt szó és itt mindenképpen az equals kell.
Pongyolán fogalmaztam, ez tény

-
Ursache
senior tag
"Java-ban a Stringeket equals-sal hasonlítunk össze, nem ==."
Ez kicsit sántít ill. félrevezető.
Java-ban a == -nal nem a két objektumot hasonlítjuk össze, hanem a két referenciát. Vagyis akkor kapunk igazat ha mindkettő ugyanarra az objektumpéldányra mutat.
Az equals-nél pedig meghívjuk az adott objektumpéldány equals függvényét, ami az objektumra jellemző összehasonlítást végzi és megmondja, hogy a paraméterként megadott másik objektumpéldányt azonosnak tekintjük-e, vagy sem. Ebben az equals-ben lehet megírni az objektumra jellemző logikát, ami az azonosságot kimondja. String-nél természetesen ezt már megírták és akkor mondja azonosnak, ha pontosan ugyanaz a a karakterliterál van mindkét String példányban.
De pl. írhatok az Alma osztályomba egy saját equals függvényt, ami az én logikám szerint akkor ad igazat ha a méret, a szín és a súly tulajdonságai megegyeznek a két összehasonlítandó Alma osztályból létrehozott példánynálTehát, NEM CSAK Stringnél kell az equals a == helyett az azonosság eldöntésére, hanem minden osztály példányánál.
A nem primitív típusoknál.
-
Aethelstone
addikt
Ah, nem. Csak nem akart fetchelgetni a szerverről, hanem memóriából (böngésző esetén a dom-ból), akarta megoldani. Mind1...nem ez a lényeg.
-
Aethelstone
addikt
-
Aethelstone
addikt
Az épitőipari iskolában a diákok két méter hosszú és egy méter magas téglafalakat építgetnek, majd elbontják azokat. Tök értelmetlen!
Mégis, milyen példákon tanuljanak a diákok? Egy mintapélda mégse lehet, egy nagyvállalati ügyviteli rendszer. Ezek a példák a gondolkodást és annak adott nyelven történő megvalósítását tanítjak, ez a konkrét példa is pont ilyen. Szépen látszik, hogy egy ciklus az egész, melynek magjában változók értékadása, majd azok következő ciklusbeli felhasználása történik. Szép, frappáns feladat.
Mintha kb. ugyanezt írtam volna....
-
Lortech
addikt
Egy tankönyvet ritkán kell úgy olvasni, mint egy regényt. Ki lehet hagyni részeket, hiszen mindenkinek más szinten van a tudása és az is más, és más részekből tevődik össze.
Viszont, ha csak az elmúlt hónap ide beérkező kérdéseit elolvasod észre kell vedd mennyien, már a programozás alapjait sem értik, nem beszélve az Oop-ről. Nekik nagyon is kell ez a leegyszerüsített magyar nyelvezet, ami elmond mindent az elejéről.
Ez a könyv nem egy Java könyv, hanem egy programozás tankönyv a Javan keresztül. Ennek az elődja Turbo Pascal volt. No arra írhatnád, hogy elavult, bár abból is meg lehet tanulni programozni.
Az általad ajánlott könyv feltételezi az alap programozási dolgok ismeretét (cikkus, elágazás, stb, stb), ez nem. És még egy, az angolul van, ez meg magyar. Ettől függetlenűl jó könyv, magam is olvasgattam, anno.Belepörgettem én is kíváncsiságból, mivel már sokszor előkerült itt is, de csak az első részbe.
Szerintem ez a "leegyszerűsített" magyar nyelvezet nem igazán segíti elő a későbbi továbbfejlődést. A magyar volta miatt is vannak benne olyan se füle, se farka meghatározások, kifejezések, amik szerintem csak félreviszik a dolgot a későbbiekben. Ha valaki komolyan java-t, programozást akar tanulni, megkerülhetetlen az angol nyelvű szakszöveg megértésének képessége, ezt el kell fogadni, és ne is legyen cél a megkerülése, mert később csak hátránya származik belőle.
Azt se mondanám rá, hogy biztos alapokat ezzel a könyvvel kell lerakni. Sok mindent próbál érinteni programozás témakörben, és még azon is túl, de éppen ezért sok mindent felületesen tárgyal csak, sem a JAVA rész nem erős benne, sem a bevezető részek. Nem helyettesít egy rendes bevinfót, egy rendes programozás alapozót, OOP alapozót.
Tele van olyan rövid, felsorolásszerű meghatározással, amik közül némelyik önmagában is meg tudna tölteni fejezeteket, és csak azért szerepel egy néhány soros meghatározás róla, hogy majd be lehessen vasalni.
Ez egy tankönyv, ez a legpozitívabb, amit el tudok mondani róla. -
MrSealRD
veterán
-
Aethelstone
addikt
-
Atke
senior tag
Szerintem félreértetted a dolgot...
Itt leírtad hogy melyik az a könyv,amit ajánlasz..
itt megköszöntem és reagáltam floatr hsz-ére
Ha nem erre gondolsz, akkor azért nem kerestem rá a szerzőre mert fogalmam sincs hogy kiírta azt a könyvet, aminek a nevét sem tudom
-
Atke
senior tag
Köszi, sikerült már beszerezni.
A fórumot tudom használni, csak nem tudtam, mit keresek ( 24 óra, könyv, illetve a kezdő szóra kerestem) A legtöbb találatot 200X. évben hozta a kereső,így inkább rákérdeztem
Bár nem értek a dologhoz, de elég felszínesnek éreztem a könyv leírását. Mivel hosszú távú terveim vannak vele így az elejétől, szájbarágósan akarom az egészet tanulni.
Köszönöm még egyszer a segítséget
-
emvy
félisten
Lehet, hogy en dolgozom rossz (jo?) helyen, ilyennel meg nem talalkoztam. 100%-os specifikacio ugyebar nem letezik. A modern professzionalis fejleszteshez lenyegeben arra van szukseg, hogy a programozo domain expert is legyen.
Vagy legalabbis en csak olyan helyeken dolgoztam meg, ahol az uzleti logikat a fejlesztok jobban ertettek, mint a felhasznalok. (Ebben voltak neurobiologusok, market makerek, mittudomen.)
-
emvy
félisten
-
jetarko
csendes tag
-
Sk8erPeter
nagyúr
"Csókoltatom a könyv íróját!"
Nem lőttél mellé, nem akarok szemét lenni, de szegénykém egy kókler. Sok tekintetben megragadt a tudása valahol a kilencvenes évek végén, kétezres évek elején, szerintem nem igazán képzi már magát. Ezt onnan tudom, hogy BME-n még régebben felvettem nála egy webfejlesztéssel kapcsolatos tárgyat (kellett a kredit, gondoltam akkor már érdekeljen), és az előadásain a kínok kínját éltem át, amikor például megmutatta a JavaScript-kódjait, és a saját maga által sok-sok éve írt tákolmány fos kódot nem értette, látszott, hogy elakad, agyalnia kellett rajta, hogy az mit is csinál, már nekünk, a hallgatóknak volt égő, készültem rá, hogy jelentkezem, és elmagyarázom neki, mit csinál a saját kódja (de türelmesen vártam, mert így is elég kínos volt a helyzet), de 5 perces hümmögés után valahogy rájött, vagy skippelte a diát. Ősrégi, elavult módszereket alkalmazott, a kódok összecsapottak voltak... na most ennek fényében el lehet képzelni, mennyire lehetnek jók a Java-kódjai és -feladatai. Igazából megdöbbentő számomra, hogy BME-n taníthat (na nem mintha nem lehetne még sok nevet dobálni, akinek finoman szólva nem up-to-date a tudása).Szerk.: az egészből a következtetés igazából annyi, hogy szerintem azt a könyvet nem érdemes komolyan venni, így tanulni sem belőle, bár sosem olvastam, de az előbbi példa lehet, hogy elég is volt rá.
-
Dyingsoul
veterán
-
MrSealRD
veterán
Remote GUI-t akar írni nem klinest, vagy rosszul értelmeztem?
-
sunnysys
tag
Én tanultam a főiskolán programozást (elsőnek TurboPascal, aztán meg Java keretében - pont az Angster könyvet kaptuk), de az igaz javas ismereteimet később a munkahelyem napi gyakorlatban szereztem (illetve itt még elvégeztem a Sun által tartott tanfolyamokat), mivel itt bedobtak a mélyvízbe.
Természetesen autodidakta módon is eljuthatsz akármeddig. A legfontosabb, hogy csináld, ehhez viszont kellenek értelmes feladatok, amikben a megvalósítandó dolgokat nem alakítgathatod csak azért, mert a tudásodhoz képest kihívásokat állít eléd. Pont ezek azok amiket le kell küzdened, ki kell kaparnod a megoldást, utána kell olvasnod és kérdezősködnöd ill.,sokat-sokat kell próbálkoznod. Ettől okosodsz!
Köszi!
Na, igen, többek között ezért is szeretnék valakit találni, aki ezzel foglalkozik, és akivel kontrollált körülmények között tudok haladni. Eddig általában mind az Arduino (C++ alapú) programozása, mind a Java programozása során megtaláltam az adott nyelvben, az adott feladathoz szükséges megoldásokat, de fogalmam sincs, hogy azok a legjobb megoldások, vagy csak jó megoldások voltak-e, vagy esetleg "épp, hogy megoldások" voltak, de semennyire nem voltak pl. elegáns megoldások. Pl. pár hete leprogramoztam egy egyszerű számológépet Javaban, ami úgy működött, hogy a TextField, getText által adott értékeket alakította át ParseFloat utasítással, amelyekkel aztán matematikai műveleteket végzett, majd az eredményt ismét String-ként jelenítette meg a TextField-en. Mivel csak magamtól, innen-onnan szedegetem össze a tudásomat, ilyen - gondolom nem túl szerencsés - megoldásokat találok ki. Tehát az alapvető programozási szemléletet (vagy hogy is nevezzem) is meg kellene tanulnom. Ezt is el lehet sajátítani önállóan?(#6178) axioma:
Én is sokat merítek mások kódjából. Ha volt valami feladat, amire sehogy nem jöttem rá magamtól, megkerestem egy hasonlót a neten, és felhasználtam. Ha működött, átolvastam sokszor, memorizáltam, magamévá tettem, így legközelebb, hasonló esetben már tudom használni.
Szóval, érzem én, hogy ma már szinte mindent meg lehet tanulni a neten elérhető anyagokból, csak szeretnék minél gyorsabban haladni.

-
Skroll
csendes tag
Belenéztem. Botrányos!
Amikor azt mondja az elején, hogy a Java kvázi objektumorientált, akkor már megszédültem. Aztán amikor kifejtette, hogy "az objektumorientáltság azt jelenti, hogy osztályokat kell majd létrehoznunk" akkor már nagyon féltettem a kezdő, zöldfülű hallgatóságot. A "be fogom mutatni a Class Library néhány osztálykönyvtárát" elszólásnál már tudtam, ez nem tudja mit beszél, nem ismeri a szavak jelentését, nem tudja tudását átadni, egyszerűen alkalmatlan arra, hogy oktasson. (azon túl, hogy a sok nyökögésből, összevissza gondolatfoszlányokból nagyon nehéz bármilyen összefüggést kihámozni)
Annak, aki most ismerkedik a java-val és új neki az objektumorientáltság annak én az Angster féle Java könyvet ajánlom. Semmi fellengzős szakzsargon, nem akar mindjárt profinak látszani, lemegy a zöldfülűek szintjére és türelmesen elmeséli miről is van szó.
Az Angster-féle könyvek valóban jók. Az első könyv itt érhető el PDF-ben: Objektumorientált tervezés és programozás - Java 1
A második könyvet nem tették ki (még) ingyen, kapható is újonnan. (Bár találkoztam már szkennelt PDF-fel abból is)Szintén jók a Lynda.com féle anyagok, ezek videó tutorialok angolul, rengeteg témában, többek között jávában, több szinten, illetve magáról az objektumorientáltságról, a tervezésről is vannak videók. Az oldal fizetős (25$/hó), de megéri, ha ilyesmivel foglalkozol, azonban az anyagokba való betekintésre másutt is van mód.
Egyébként itt egy egyhetes ingyenes kipróbálási lehetőség, ha ezen keresztül regisztráltok Ja, nem fűződik hozzá anyagi érdekeltségem. 
-
WonderCSabo
félisten
-
Aethelstone
addikt
Nos, ahogy írtam, a JS kódhoz nem kell és nem is szabad! Ha bármi JS hákolás kell, natív JS kódot szoktunk okozni a Java forrásban

-
emvy
félisten
-
emvy
félisten
-
floatr
veterán
Komoly cég megbíz olyanokat, akik bárhol keresnek.
Egyébként nem csodálkozok ezen, mert nem túl jó irányban alakult a piac az utóbbi években a furcsa felhozatal révén. Érdekes elvárások vannak mindkét fél részéről, közben csak hígul a szakma. Emiatt az értékesebb emberek gyakran elszállnak (többnyire emberileg), sokan kivándorolnak... Ez van.
Sok szerencsét a keresőknek! Szükségük lesz rá.
-
Jim-Y
veterán
-
WonderCSabo
félisten
-
fordfairlane
veterán
Ez azért durva. Én távközlési technikumba jártam ezidőtájt, és csakis azért tanultunk az elektroncsövekről, mert a nagyteljesítményű rádióadókban akkoriban is használatban voltak (tán még ma is).
-
Aethelstone
addikt
Akkor valamit szerintem félreértettél. Nem elavultak, a baj azzal van, hogy nem életszagú az oktatás...és ez alapvetően nyelvfüggetlen.
A kolléga azt írta, hogy a modernebb nyelvekre kellene lőni. Amivel max. annyit mondott, hogy a C az régi....de nem elavult.
-
Aethelstone
addikt
-
Karma
félisten
Ez egyébként érdekes kérdés, mert valamivel korábban PandaMonium azt írta, hogy az iterátor menet közben is tudja törölni az aktuális értéket.
-
WonderCSabo
félisten
A Singletonnak - ha normálisan akarja megírni az ember - privát konstruktora van, nem véletlenül. Én nem normálisan írtam meg. Singletonból örököl egy osztály, csak baj van belőle.
Egyébként a static metódusokat simán lehetne örökölni, túlterhelni subclassban, csak a Java nem támogatja ezt. Anno a híres "java sucks" cikkben (http://www.jwz.org/doc/java.html) ezt is felrótták Neki (about the language itself rész).
-
WonderCSabo
félisten
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)
Némi magyarázat ehhez az egészhez.
-
WonderCSabo
félisten
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!Ez nekem nem világos.
Leírnád mire gondolsz (akár kvázi peszudókóddal) ? -
WonderCSabo
félisten
Én ilyen durva hibát még nem láttam, sokkal mélyebb dolgokra gondoltam. Konkrétan mit engedett meg? Egyébként az Eclipse fordítóját lehet paraméterezni, hogy mire adjon errort/warningot stb.
-
Karma
félisten
-
WonderCSabo
félisten
Például, ha magában a forráskódban akarják valamiért tagolni a szöveget. Pl:
String vers;
vers = "Este van, este van: kiki nyúgalomba!\n" +
"Feketén bólingat az eperfa lombja,\n" +
"Zúg az éji bogár, nekimegy a falnak,\n" +
"Nagyot koppan akkor, azután elhallgat.";System.out.println(vers);
Igen, ez a sima String literál összefűzés, ez teljesen ok. Én a String + egyéb primitív literál összefűzésre mondtam, hogy annyira sok értelme nincs,
-
Lortech
addikt
Szerver oldalon titkosítva illik tárolni, és titkosítva is illik továbbküldeni a kliensnek a szerver felé, de kliens oldalon mivel a kliensnek nem ártana tudnia a jelszót a szerver felé elküldeni autentikációra, ezért még ha nem is plain textben van valahol tárolva a mentett jelszó, a kliens oldalon akkor is rendelkezésre kell álljon minden információ az eredeti jelszó visszanyeréséhez vagy legalább a sikeres autentikáció reprodukálásához (pl. ha közbe van iktatva egy hash és a szerver is hasht vizsgál).
Ezek szerint a böngészők sem biztonságosak ilyen szempontból, mert tárolják a jelszavakat, nem plain textben, de visszanyerhető formában. Pl. chromeban ilyen egyszerű: chrome://settings/passwords Egyébként tényleg nem biztonságos a jelszó megjegyeztetése kb. sehol, ez egy kényelmi feature. Ha egyszer az alkalmazásnak is vissza kell tudnia nyernie a mentett jelszót vagy annak lenyomatát, akkor ugyan lehet bonyolítani a dolgot a tárolásnál és autentikációnál, de ha helyileg hozzáférsz a géphez, ahol meg van jegyeztetve a jelszó, akkor mindig meg lehet szerezni a jelszót vagy azt a tokent amit autentikációhoz használ az alkalmazás.
Abban viszont egyetértek, hogy az elfelejtett jelszóra a gyógymód az, hogy fel kell venni a kapcsolatot a gyártóval / szolgáltatóval az új jelszó igénylése érdekében. Amúgy sem célszerű senkinek ilyen dolgokban segíteni egy névtelen fórumon, ahol nem lehet meggyőződni arról, hogy az illető tényleg jogosult-e a jelszó megismerésére, a szolgáltatás használatára.
-
xTc
aktív tag
-
bpx
őstag
-
Karma
félisten
Még oda is írja a magyarázatba, hogy
"One interface might extended another interface, but a class cannot extend an interface"
és akkor megjelöli a D-t helyesnek, ahol meg:public CLASS Test EXTENDS SampleCloseable {
Public void close () throws java.IO.IOException {
// do something
}tehát, a D tuti hibás!
A kérdés úgy szól, hogy "which three implementations are valid", úgyhogy teljesen biztos, hogy bugos a teszt. Szerintem a nagy Public, az implementations szavak csak ennek a következménye.
-
floatr
veterán
"Valamiért nekem még mindig az volt a fejemben, hogy az equals nullptr-t dob akkor is, ha a paraméter null."
Általában elmondható az equals-re is, hogy úgy működik, ahogy megírták és azt dobja, amit nem kezeltek benne, vagy amit szándékosan dobnak.
Amúgy, a legősibb equals az Objectben van, ami nem dob null-t null bemenő esetén, csak kiad egy szép false-t.
Rengetegszer takarítottam már hasonlót mások után, emiatt világított egyből a dolog. De még mindig úgy emlékszem, ha most már rendben is van az equals, hogy régebben nem volt annyira nullptr-mentes. Szori mindenki, vaklárma volt

-
floatr
veterán
Azért a generics használata, főleg keretrendszereknél hasznos tud lenni. Pl.: egy rakat instanceof vizsgálattól kímél meg, viszont sokszor nagyon megnehezíti magának a generics-es kódoknak a karbantartását: nagyobb osztályhierarchián átívelő generics-ek módosításakor (pl: újak bevezetése) eléggé nehézkes az átírás, refaktor.
és (#4725) WonderCSabo
Egyszerűbb esetekben hasznos, mert nem akar senki sem vájkálni a felszín alatt. Amikor viszont egy kicsit összetettebb dologra kerül a sor, eleinte csak vakarod a fejedet, de már futottam bele megoldhatatlan problémába.
A konkrét kódra nem emlékszem már, de a lényege annyi volt, hogy annotációs SQL-el működő perzisztencia motor leszármaztatott interfészeknél elvesztette a fonalat, amikor a metódusokat override-oltam. Ennek az oka a felszín alatt lévő tényleges kompatibilis implementáció, hogy egyszerűen Object-et használ a típusparaméter helyett. Ez meg letarolja az OOP-alapelveket.
Ha lesz egy kis időm rá, megpróbálom rekonstruálni a dolgot.
-
floatr
veterán
A generics implementációjára gondoltam. Már az enum sem tetszett, ahogy a kompatibilitásba becsomagolták, de ez a félig-template megoldás néha olyan csődtömeget okoz, hogy a zember inkább megkerüli.
-
floatr
veterán
Tudni kell, hogy ez nem elegáns megoldás (persze sokszor rákényszerül a kódoló ember az ilyen "csúnyaságokra")
A java-ban a kivételeket kezelni kell a try-catch-finally blokkal, de dobhatjuk tovább is, amit jelezni kötelező a függvény szignatúrájában. (ezzel tk. továbbadjuk a hívó félnek a kezelés felelősségét) Kivétel ez alól a RuntimeException és annak kiterjesztései. Hogy miért e kivétel? Álljon itt egy idézet a Java Programming Language (SL-275) tankönyvből
"RuntimeException indicates a design or implementation
problem. That is, it indicates conditions that should never happen
if the program is operating properly. Because a correctly designed and
implemented program never issues this type of exception, it is
usual to leave it unhandled. This results in a message at runtime,
and ensures that action is taken to correct the problem, rather than
hiding it where (you think) no one will notice."(megsúgom én is használok RuntimeException-ből származtatott saját kivételeket, de a keretrendszerem globálisan lekezeli őket, ellenben megspórolom, hogy állandóan foglalkozzak a függvényeimben a throw-szal)
Vannak teoretikusok, akik mindenbe belekötnek, amikor megírják a könyveiket. Az ellenőrzött kivételek a saját kódodat erősítik, közvetlen megoldásokkal. A RuntimeException származékok pedig pl. egy konténert címeznek meg valami fatális tévedéssel. Az egyik legjobb példa erre, amikor SOA backended van, és központosított hibakezeléssel akarsz kommunikálni a kliens felé. A nagyobb problémákat egyszerűen nem lehet vagy nem éri meg ellenőrzött kivételekkel visszavezetni, amikor a konténer ezt automatikusan elvégzi egy kis testreszabással.
De ha már itt tartunk, akkor a generics inkább egy baromi nagy tervezési hiányosság, mint ez

-
modder
aktív tag
Szerintem, nem.
Gyárilag csak olyanok vannak ott, amiket valóban kerülnénk programunk futásakor. Ezek a kivételek szinte bármelyik programsornál előfordulhatnak, míg a többi csak jól behatárolható helyeken (pl. IOException) De persze megint tudom a kivételt is, hisz sokszor tudatosan használjuk őket. Pl. egy többszöri if (x == null) vizsgálat helyett hagyjuk, hogy beszaladjon a NullpointerException-be, ami majd egy alkalmas helyen elkapunk és kezelünk.
És azt se feledjük, ezek a magyarázatok csak próbálják leírni az egész kivételkezelést!mindneki olyan checked exceptionökkel rakja tele a kódját, amilyenekkel akarja. Csak ne nekem kelljen rajta dolgoznom

Új hozzászólás Aktív témák
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Mibe tegyem a megtakarításaimat?
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Genshin Impact (PC, PS4, Android, iOS)
- Elektromos (hálózati és akkus) kéziszerszámok, tapasztalatok/vásárlás
- gban: Ingyen kellene, de tegnapra
- Mobilinternet
- Óra topik
- Xbox tulajok OFF topicja
- Feltalálta a Google a keresőmotort
- Jövedelem
- További aktív témák...
- Nintendo Switch OLED 64GB+256GB MicroSD + okositott, Atmosphere 3 hó garanciával
- Akciós! Kishibás! Macbook Pro 13 M1 16GB 256GB Akku: 87% 1 év garancia
- Macbook Pro 13 M1 16GB 256GB Akku: 88% 1 év garancia
- iPhone 17 Pro max 256GB kék bontatlan 1 év Apple jótállás
- OmniBook X Flip 14" 3K OLED érintő Ultra 7 258V 32GB 1TB NVMe IR kam gar
- LG UltraGear 27GR95QE-B 240 Hz OLED 2560x1440 Gamer Monitor 6 hó garancia Házhozszállítás
- MSI Gaming X Trio RTX 5080 // Számla // Garancia //
- Apple iPhone 13 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! 32GB G.Skill Trident Z Royal 4000Mhz DDR4 memória garanciával hibátlan működéssel
- Bomba ár! Lenovo ThinkPad X230 - i5-3GEN I 4GB I 320GB I 12,5" HD I Cam I Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest





)
![;]](http://cdn.rios.hu/dl/s/v1.gif)



