- Synology NAS
- Betelik a pohár: nagy igény lenne a gyorshajtás-ellenes technológiára
- Media Player Classic és Home Cinema (MPC-HC)
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Rejtett díjak, nehéz lemondás: az USA pereli az Adobe-ot
- Microsoft Outlook topic
- Milyen routert?
- Bittorrent topik
- VoIP telefonálás
- Az USA tisztifőorvosa figyelmeztető címkét ragasztana a közösségi médiára
Új hozzászólás Aktív témák
-
TBG
senior tag
válasz Peter Kiss #3472 üzenetére
Ezt meg én nem értem....
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Ebben az esetben én is inkább az enum-ot támogatnám. Nyilvánvalóan be lehet drótozni boolean segítségével 2 féle típust, de egyrészt nem bővíthető, másrészt meg egy másik fejlesztőnek nem beszédes. Max. ha hülyére van dokumentálva.
Másrészről ilyen esetekben a kedves kollégának is maximálisan igaza van, aki azt mondja, hogy nincs szükség ilyemi differenciálásra. Az egyes cikkek azonosítói(ár, szín, stb) bőven elegendőek és egyediek.
Elnézést a kedves kérdezőtől, de valószínűleg egy igen kezdő programozóról van szó, nem csak simán kezdő Java fejlesztőről.
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz WonderCSabo #3494 üzenetére
Csatlakozom...baromság lenne.
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz WonderCSabo #3499 üzenetére
Megint csak csatlakozom...ha nincs performance loss, meg lesz backward compatibility....akkor jöhet.
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
super-t csak @Override-olt metódusnál "szép" használni.
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz WonderCSabo #3520 üzenetére
Ha a változó/metódus el van fedve, akkor annak oka van. Ha mégis el kell érni, akkor protected. Vagy publikus getter Alapvetően design kérdése egyébként.
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Nem következik. A webes alkalmazásfejlesztés Java-ban egy teljesen más műfaj. Ahogy a kolléga is írja, a GWT áll a legközelebb hozzá, de HTML/JS ismeretek ott is elengedhetetlenek.
Egyrészt kell egy erős backend ismeret...minimum Servlet szinten, de a különféle EE környezetek ismerete is erősen ajánlott.ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Visszafelé egyszerűbb, de aki csak backend-et tud programozni, az nem feltétlenül képes egy SWING/AWT felületet összerakni. Itt már az a szabály, hogy nem elég a Java-t ismerni, hanem az adott framework-ban is büfének kell lenni.
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz pvt.peter #3543 üzenetére
Superhun megoldása teljesen jó.
Viszont ha már saját osztályt használsz felüldefiniált metódusokkal, akkor szerintem elég az equals felüldefiniálni úgy, hogy a String és az int egyezőség esetén adjon vissza TRUE-t és akkor egy "sima" ArrayList-be is teheted. Persze attól is függ, hogy mennyi elemed lesz, mert nagyon sok elem esetén az ArrayList nem túl gazdaságos. Nem mondom, hogy Superhun vagy az én megoldásom a jobb, az enyém egy alternatív, de valamivel egyszerűbb megoldás, mert csak 1 metódus felüldefiniálását kell megcsinálni, de mint írtam, sok elemnél nem feltétlenül gazdaságos.
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz Peter Kiss #3546 üzenetére
Nyilván az nem derült ki, hogy a kolléga mire akarja használni. És igenis, lehet az, hogy csak az egyiket írom felül. Ha egy listába rakom és csak a contains() metódust hivogatom rá, akkor bőven elég az equals() metódust felüldefiniálni.
Nem véletlenül írtam, hogy alternatív megoldás és nem az üdvözítő.
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz Peter Kiss #3548 üzenetére
A szoftverfejlesztés egy ilyen sötét mágiával átjárt tudomány. Láttam sok cifra dolgot már
szerk:
Egyébként meg igazad van.
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Még egy megjegyzés az equals(), hashCode() témához.
Szóval, csak a tájékoztatás korrektsége miatt. Igaza van maximálisan az előttem szólóknak(Superhun). Az equals() és hashCode() metódusokat MINDIG EGYÜTT KELL felüldefiniálni, szóval az a megoldás, hogy csak az equals() metódust definiáljuk felül, rossz.
Elnézést a topic olvasóitól a félretájékozatásért és a rossz, pongyola tipp miatt!
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
FileOutputStream helyett ByteArrayOutputStream-et használj!
A someFile.getName() helyett notificationBean.getAttachmentFileName(),
a someFile helyett pedig a ByteArrayOutputSream megfelelő metódusát.[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Az EE egyre inkább háttérbe szorul a Springgel szemben.
A Springgel érdemes kezdeni szvsz, mert aki ismeri a Springet, az nagyon könnyen tud átnyergelni EE-re, de csak EE ismerettel a Spring a vérhugyozás kategóriája.
Itt a 3-as Springről beszélek. Az előző változatok az XML tengere....bottal nem nyúlnék hozzá. Spring is támogat JSF,JSP techonlógiákat.
A Spring is egyébként egy qrva nagy framework/tool/solution halmaz.
Van Spring MVC, Sping JS, Spring Webflow, Spring Security.....sorolhatnám napestig. Ezekből a Spring Security és az MVC már de facto szabvány.
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Struts2 vs Spring? Nem összehasonlíthatóak
Szerintem a Spring lassan platform lesz
Ez a lényeges mondat. Annyi módosítással, hogy szerintem már az!
Miért Spring? Azért, mert nem kell hozzá applikációs szerver. Egy sima Tomcat/Jetty-vel is simán elszalad, ami egy EE alkalmazásról nem mondható el. Sőt, egy jól megírt Spring alkalmazás fut servlet konténerben és applikációs szerverben is. Mindamellett ugyanazt a funkcionalitást nyújtja, mint egy EE konténer (jó, dinamikus kontext nincs, de embert nem láttam még, aki használta volna)
Nem akarok flame-t nyitni!!
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Ez a diagram azt is mutathajta, hogy sok helyen keresnek EE fejlesztőt, de nem találnak, mert lassan mindenki átmegy Springre. Sokkal jobban mutatna egy olyan grafikon, hogy hány helyen használnak Springet aktívan és hány helyen EE-t
Ha már flame, legyen kövér
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz pakriksz #3617 üzenetére
Azt nem úszod meg. Nyilvánvalóan kell valami szerver oldali alkalmazás, ami kezeli a verziókat. Az SVN-nek egyébként van HTTP-s, böngészőből vagy akárhogy máshogy is elérhető felülete.
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Nem kötelező. A pom.xml-ben lévő összes függőség letöltődik, feltéve ha elérhető a repókban. Viszont ha eltérő verziókat használsz mondjuk fejlesztői és produktív módban, akkor érhetnek meglepetések, szóval érdemes egységesíteni.
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Szóval, az, hogy a Netbeans-ben hogy kell csinálni, nagyon rossz irány. Netbeans-tól függetlenül is működne kell az ilyen dolgoknak.
Ha van SQL scripted, akkor az egyik irány lehet, hogy felparseolod, mondjuk ';' delimiterrel, majd egyesével szépen lefuttatod az SQL parancsokat, amik benne vannak.
Pl:
CREATE DATABASE test;
CREATE TABLE table1(id int, name varchar(12));Ez konkrétan két utasítást fog egymás után végrehajtani. Nyilvánvalóan adatbázisszervertől függ a pontos szintaktika.
Aztán ha megvan, akkor lehet mindenféle Java-s okosságokat csinálni.
Itt van példakód is: [link]
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
-
TBG
senior tag
Gyakorlatilag a Java fejlesztésnek az egyik alapja, hogy addig nem kell semmit megírni, amíg meg nem győződsz róla, hogy nem írta-e meg valaki más már
Szerintem olyat alapból nem lehet. Az ArrayList egy konténer, ami különféle objektumokat tárol. Az objektumokhoz lehet XML parsert/marshallert/serializert/ahogy tetszik írni, ami végigmegy az ArrayList elemein és azokat egy XML-be írja bele. Mondjuk ha az ArrayList-ben String-ek vannak:
<element>
<value>egy</value>
</element>
<element>
<value>ketto</value>
</element>
<element>
<value>harom</value>
</element>
<element>
<value>negy</value>
</element>Ahol is az <element></element> reprezentál 1 darab ArrayList elemet. Azt, hogy miként rakod XML-be, a saját XML makered szabályozza.
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Az orej-ben, jelentsen bármit is
Írsz egy metódust, valami ilyesmit:
public String toXml() {
StringBuilder xml = new StringBuilder();
if ( this.emp!=null && !this.emp.isEmpty() ) {
for (Employee employee: this.emp) {
// employee to xml, ahogy tetszik.
xml.append(employee.toXml());
}
}
return xml.toString();
}[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Hmm. Azért dob java.lang.UnsupportedOperationException: Not supported yet. hibát, mert a toXml() metódusod ezt tartalmazza:
Object toXml() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}Tehát qrva jól működik.
DE!! Ez csak egy generált kód..neked ezt kell tartalommal feltöltened!
Valami ilyesmivel:public String toXml() {
String startElement="<element>";
String endElement="</element>";
String startNameElement = " <name>";
String endNameElement = " </name>";
return startElement+"\n"+startNameElement+this.name+endNameElement+"\n"+endElement;
}Persze, nem ilyen primitív módszerekkel, hanem pl. Sax,DOM...akármi...
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Igen, de legyen a metódusodnak visszatérési értéke...monduk egy String.
Tehát
public void toXML()
helyett
public String toXML()
A végén meg a
StreamResult result = new StreamResult(new File("xmldoc.xml"));
t.transform(source, result);helyett
StreamResult result = new StreamResult(new File("xmldoc.xml"));
t.transform(source, result);
return result.toString();Azt hiszem, hogy a StreamResult-nak van toString() metódusa értelmesen.
de a xml.append(employee.toXml()); meg mindig piros felkiatojel
Igen, mert String-et vár, de Te voiddal térsz vissza. Ezt javítja az, amit fent rögöftem
Ja és még valami, ne itt rakd az XML-t fájlba, hanem az oraj osztályban.[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Ezt próbáld meg!
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
DOMSource source = new DOMSource(doc);
Writer outWriter = new StringWriter();
StreamResult result = new StreamResult( outWriter );
t.transform(source, result);
StringBuffer sb = outWriter .getBuffer();
return sb.toString();ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Szóval a JSF hátránya nem a nagy DOM fa
Minden weboldal hátrány a nagy DOM fa. Alapvetően egyetértek a leírtakkal, de a nagy DOM-tól a hidegrázás szokott kerülgetni. Saját CSS, satöbbi miatt.
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
A metódus elé tegyél egy annotációt:
@SuppressWarnings("unchecked")
public String toXml() {
StringBuilder xml = new StringBuilder();
if ( this.emp!=null && !this.emp.isEmpty() ) {
for (Employee employee: this.emp) {
// employee to xml, ahogy tetszik.
// TransformerFactory tf = TransformerFactory.newInstance();
// Transformer t = tf.newTransformer();
// DOMSource source = new DOMSource(doc);
// StreamResult result = new StreamResult(new File("xmldoc.xml"));
// t.transform(source, result);
// return result.toString();
xml.append(employee.toXml());
}
}
return xml.toString();
}ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Egyetértek.
Ezért hanyagolom én speciel a JSF-et többek között. DOM fa nagyság és third party library-k
Richfacessel voltak nagyon rossz tapasztalatok...aztán lett GWT és JSP..ahogy éppen az adott feladat megkívánja.Persze, a GWT-ről lehetne komoly vitát nyitni, de okosan kell használni és akkor nincs gond
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
Nekem is tetszik, bár nem kedvelem az ötletet, hogy a GUI-t programkódban állítsuk elő, a deklaratív, JSF-es megoldás nekem jobban tetszik ebből a szempontból.
Van deklaratív lehetőség is a GWT-ben UIBinder.
Egyeébként ha GWT, akkor csak a sztenderd GWT...minden keretrendszer drámaian rontja a teljesítményt, ráadásul mindegyik bevezeti a saját kis megoldásait, amitől már teljes az inkompatibilitás.
[ Szerkesztve ]
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz pakriksz #3723 üzenetére
Ez viszont vicces: az URL osztály nem kódolja rendesen URL-é a beadott a stringet. Openstreamnél simán elküldi a spacet pedig valami %20-al kéne helyettesítenie, aztán a szerver dobja is 400-as hibát rá.... Nagyon jó, még egy replace(" ","%20") gányolás....
http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URLEncoder.html
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
-
TBG
senior tag
válasz WonderCSabo #3719 üzenetére
+1
ZTE Grand X powered by Intel® Atom™, Eladó: Panasonic HC-V10 HD+16GB SD kártya 25K.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Synology NAS
- A fociról könnyedén, egy baráti társaságban
- GTA V
- Honor Magic5 Pro - kamerák bűvöletében
- Apple iPhone 15 Pro Max - Attack on Titan
- Rendkívül ütőképesnek tűnik az újragondolt Apple tv
- Óra topik
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Villanyszerelés
- Realme GT 2 - aláírjuk
- További aktív témák...
- DJI Air 3 FMC RC2 drón +Garancia +Care Refresh +ND Filterek +USB töltő
- Bontatlan AOC 24G2ZU Gaming, IPS, 23.8 , Full HD, 240Hz, 0.5 ms, Freesync, G-SYNC - Számla+Garancia
- DJI Air 3 Fly More Combo RC2 drón +Garancia +Care Refresh +ND Filterek
- több db! HP Prodesk 600 G3 SFF i5-6 gen/16GB DDR4/256 SSD/500 HDD
- X1 Yoga 5th 27% 14" FHD IPS érintő i7-10510U 16GB 512GB NVMe ujjlolv IR kam aktív toll gar