Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Útvonal

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

Hozzászólások

(#10351) Kobe


Kobe
veterán

Sziasztok

Java-hoz kapcsolodoan tud valaki ertelmes, minosegi oktatasi intezmenyt javasolni, ahol erosen gyakorlatorientalt kepzes zajlik, es valami papirfelet is ad rola (vagy legalabb a munkaeropiacon er valamit? :) )
Google annyi fele hirdetest felhoz nehez valogatni koztuk

Autodidakta modon mar elkezdtem tanulni, de jo lenne rendszeresiteni
Java alapokkal kezdenem, utana pedig kozep hosszutavon Java, Angular es Android iranyon gondolkozom, valami olyasmi kellene ami illik ebbe

(#10352) dementhor


dementhor
újonc

Üdv.
Beadandó feladatot vállalna valaki? OpenGL téma. Részletek privátban. Nem ingyen kérném.

(#10353) Zsoxx válasza dementhor (#10352) üzenetére


Zsoxx
senior tag

Inkább tanulni kéne rendesen, ha már informatikát tanulsz az egyetemen.

(#10354) Aethelstone válasza Zsoxx (#10353) üzenetére


Aethelstone
addikt

:D

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

(#10355) axioma válasza dementhor (#10352) üzenetére


axioma
veterán

Es ha a tanarod olvassa? Es ha mar azt sem csinalod meg, aminel a teljes internet a rendelkezesedre all es egy zh-hoz kepest tengernyi ido, vagy nem vallalod fel a felkesz-seget, akkor ugyan mar hogyan akarsz kesobb a szakmaban dolgozni? Kismillioszor kell rovid hataridore alig ismert teruleten valamit alkotni. Ez pont felkeszitene arra... vagy kegyetlenebbul fogalmazva kiszurne ha nem vagy ra "kepes" (a kepessegnel beleertem a nem elegge akarast ill. kitartast is).

(#10356) smallmer


smallmer
őstag

Sziasztok!

Szeretném kérni a segítségeteket:
Jelenleg így néz ki a kódom:

public class testThread implements Runnable, ActionListener {

JFrame frame;
JButton gomb1;
JButton gomb2;

public void makeFrame() {
frame = new JFrame("Frame");
frame.setSize(1000, 500);
frame.getContentPane().setBackground(new Color(74, 74, 74));
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setLayout(null);
}

public void makeButtons() {
gomb1 = new JButton("Indítás");
gomb1.setBounds(350, 300, 100, 30);
gomb1.setBackground(new Color(127, 127, 127));
frame.getContentPane().add(gomb1);
gomb1.addActionListener(this);

gomb2 = new JButton("Stop");
gomb2.setBounds(550, 300, 100, 30);
gomb2.setBackground(new Color(127, 127, 127));
frame.getContentPane().add(gomb2);

}

public void actionPerformed(ActionEvent event) {
if (event.getSource() == gomb1) {

}
}



@Override
public void run() {
try {
go();
} catch (InterruptedException ex) {
Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex);
}
}


public void go() throws InterruptedException {
doMore();
}

public void doMore() throws InterruptedException {

for (int i = 0; i < 20; i++) {
System.out.println("Fut a thread" + i);

}

}
}

class Test {

public static void main(String[] args) {
testThread t = new testThread();
t.makeFrame();
t.makeButtons();
Runnable r = new server();
Thread szal = new Thread(r);
Thread szal2 = new Thread(r);

szal.start();
szal2.start();
}
}

Azt szeretném megvalósítani, hogy a gomb1-re nyomva elinduljon az egyik szám, majd a gomb2-re nyomva a thread stop() állapotba kerüljön. Tehát egyik gombra kattintva indítsa el a szal-t, majd a másikra nyomva állítsa meg. Hogyan kellene ehhez átalakítani a kódom?

Köszönöm :R

(#10357) floatr válasza axioma (#10355) üzenetére


floatr
veterán

Olyan diákból sosem lesz épkézláb szakmabeli, aki ennyire nem akar megcsinálni feladatokat. Teljesen mindegy milyen jegyet kap rá, magával cseszik ki. Ebben a szakmában pont nem a jegyek számítanak, hanem a hagyományos értelemben vett agilitás. Diákként magának kéne feladatokat kitalálni, nemhogy a kiadottakat is mással megoldatni :)

(#10358) szombatitomi


szombatitomi
aktív tag

Sziasztok!

Tudnátok ebben segíteni?

Ott van a probléma, hogy ha a map-ben egy kulcshoz olyan értékek tartoznak, ahol több utcanév megegyezik, a házszámoknál nem rendezi jól a TreeSet az értékeket.

Például a narancs-hoz megkapjuk, hogy Vag utca 9. és Vag utca 10., de ezt fordított sorrendben fogja kiírni, mert az 1 kisebb a 9-nél. Hogy lehetne itt megoldani, hogy házszám szerint is jól működjön?

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Test {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String sor;
String cim;
String[] token;
String[] ajandekok;
Map<String, Set<String>> map = new TreeMap<>();
while ((sor = br.readLine()) != null) {
token = sor.split(";");
cim = token[1].concat(" ").concat(token[2]).concat(".");
ajandekok = token[3].split(",");

for (int i = 0; i < ajandekok.length; i++) {
if (!map.containsKey(ajandekok[i]))
map.put(ajandekok[i], new TreeSet<String>());

map.get(ajandekok[i]).add(cim);
}
}

List<Map.Entry<String, Set<String>>> list = new ArrayList<>();
list.addAll(map.entrySet());

for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getKey() + ": ");
System.out.println(list.get(i).getValue().toString().replace("]", "")
.replace("[", "").replace(", ", "\n"));
}
}
}

/*tesztadat:
Petike;Vag utca;9;dio,alma,mogyoro
Petracska;Vag utca;10;banan,narancs
Pistike;Vag utca;9;alma,mogyoro,narancs
Lilianna;Szotyori utca;30;mogyoro,banan
*/

[ Szerkesztve ]

(#10359) Sirpi válasza szombatitomi (#10358) üzenetére


Sirpi
senior tag

A cim-hez készíts egy saját struktúrát, legyen neki String street-je és int houseNumber-e, és definiálj ezen a struktúrán te magad egy rendezést, pl.

Comparator<Address> comparator = Comparator.comparing(Address::street).thenComparingInt(Address::houseNumber);

És ezt a comparatort átadva TreeSet konstruktorába pont jó lesz a rendezés.

[ Szerkesztve ]

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

(#10360) Sirpi válasza szombatitomi (#10358) üzenetére


Sirpi
senior tag

Egyébként a végén a listába pakolás minek?

for (Map.Entry<String, Set<String>> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": ");
System.out.println(entry.getValue().toString().replace("]", "")
.replace("[", "").replace(", ", "\n"));
}

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

(#10361) szombatitomi válasza Sirpi (#10359) üzenetére


szombatitomi
aktív tag

Köszi a választ, még nem tudtam megoldani, de küzdök vele. :D

Amúgy azért raktam listába, mert onnan könnyebben ki tudtam írni formázva, ha erre tudsz egy jobb megoldást, azt is szívesen veszem.

(#10362) Sirpi válasza szombatitomi (#10361) üzenetére


Sirpi
senior tag

beírtam az előbb

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

(#10363) szombatitomi válasza Sirpi (#10362) üzenetére


szombatitomi
aktív tag

Jaj ne haragudj, hirtelen ránézve azt hittem, hogy az én listába pakolásomat írtad be... :D

(#10364) Sirpi válasza szombatitomi (#10361) üzenetére


Sirpi
senior tag

Sőt, mondok jobbat:

for (Map.Entry<String, Set<String>> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": ");
for (String str : entry.getValue()) {
System.out.println(str);
}
}

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

(#10365) Orionk


Orionk
senior tag

Sziasztok,

Junior álláspozícióra mentem JAVA fejlesztésű projektre.

Kérdeztek egy olyan feladatot, hogy képzeljem el, hogy egy nagyon nagy adatbázisom van, több millió rekorddal / sorral. Hogyan érném el, hogy gyorsak legyenek a lekérdezések, a SELECT-ek az adatbázisból?

Mi lehet a jó válasz erre? Hogyan lehet megoldani ezt a problémát?

Olyasmit hallottam, hogy adatbázis indexelés lenne a jó megoldás?, de az pontosan micsoda?

köszönöm szépen a segítséget!

(#10366) bambano válasza Orionk (#10365) üzenetére


bambano
titán

ha ennyire nem vagy képben, akkor általános dumát kell nyomni.
ram. több ram. az mindig segít.

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

(#10367) dzsavitcu válasza Orionk (#10365) üzenetére


dzsavitcu
csendes tag

Kérdeztek egy olyan feladatot, hogy képzeljem el, hogy egy nagyon nagy adatbázisom van, több millió rekorddal / sorral. Hogyan érném el, hogy gyorsak legyenek a lekérdezések, a SELECT-ek az adatbázisból?

Idexek használatával => arra a keresőfeltételre kell rakni plusz indexet ami gyakran van a query-ben.
+
selectnél nem select * hanem minden oszlopnevet kiírva

(#10368) Orionk válasza dzsavitcu (#10367) üzenetére


Orionk
senior tag

Köszönöm mindkettőtöknek.

Ebben az indexelésben tudsz segíteni kicsit technikaibban, hogy hogyan kell megvalósítani?
Néhány mondatban. köszönöm

(#10369) Rickeffe válasza Orionk (#10368) üzenetére


Rickeffe
aktív tag

Később már is fognak kérdezni szerintem.

Rickeffe

(#10370) Drizzt válasza Orionk (#10365) üzenetére


Drizzt
nagyúr

Egyfelől van SQL topic, ez oda jobban illene.
Másfelől:
- Indexeket kell használni. Azt az oszlopot kell indexelni, ami a where feltételben szerepel elsősorban. Ebből is elsősorban azok lesznek gyorsak, amikor konkrét értékre vonatkozik a feltétel, vagy arra, hogy egy érték egy tartományban van-e. Ha több oszlop is van a keresésben, lehet kompozit indexeket definiálni. Ha pl.: van a,b,c oszlopra egy indexed, azt az olyan feltételekre lehet használni, ahol vagy csak a-ra, vagy a-ra és b-re, vagy a-ra, b-re, s c-re van megszorító feltétel megadva. Az index gyorsítja a keresést, de lassítja a beszúrást, törlést. Ezen kívül még fontos, hogy ha csak az indexben szereplő dolgokat fogsz kikeresni a select-tel, akkor az szinte biztosan csak memóriában fog történni, de a többi mező lekérdezéséhez már lehet a diszkhez kell fordulni, ami lassítani fog erősen. Másik megfontolás a select oszlopok számánál, hogy minden extra oszlop megnöveli a visszaadott adathalmaz méretét, emiatt ha a sávszélesség probléma az adatbázis és az alkalmazás szerver között, akkor ronthat a sebességen. Erre szoktak DTO-kat használni(olyan objektum, ami csak a teljese tábla oszlopainak egy részét tartalmazza. Azt, amire éppen minimálisan szükség van az adott probléma megoldásához.).
- Nem árt megnézni azt sem, hogy a lekérdezés tényleg fogja-e használni az elkészített indexet. Erre általában adatbázisonként különbözik, hogy milyen paranccsal, de le lehet kérdezni, hogy mi lesz a query excution plan. Abból kiderül, hogy fog-e használni indexet, vagy nem. Illetve melyiket. A kritikus lekérdezésekre szerintem mindig ellenőrizni kell.
- Ha gyakran használ az ember joint, akkor érdemes lehet elgondolkodni a joinolt tábla foreign key-ként használt oszlopának indexelésén. Ez nagyban felgyorsíthatja a join-ok sebességét.
- Ha a beszúrás és a törlés is nagyon gyakran történik meg és a tábla nagy, akkor érdemes lehet particionálni a táblát több részre. Mondjuk ha neveket tárolsz, akkor az egyik tabla csak a-b, a másik c-d, ... kezdetű neveket tartalmazza. Viszont ilyenkor pl. nehéz lesz jó foreign keyeket definálni a nevekre, s sok egyéb komplikáció előjöhet. Ha ilyen jellegű a probléma, akkor lehet érdemesebb valamilyen noSQL db-t választani RDBMS helyett.

I am having fun staying poor.

(#10371) M_AND_Ms válasza Drizzt (#10370) üzenetére


M_AND_Ms
addikt

Még másfelőlebb (sic!) az indexelés nem Java, de még csak nem is Sql téma. Leginkább, általában az adatbázisok, adatbáziskezelés témát kellene megismerni, megtanulni.

Aki tejszínhabot szeretne, az inkább verje ki a fejéből!

(#10372) XP NINJA


XP NINJA
őstag

Sziasztok!

Egy olyan java desktop app a feladatom, mint kb a BKK Futár, csak leegyszerűsítve. Tehát egy térképes app, amire adatbázisból (rendelkezésre áll) kapott pontokon megjelenítem a megállókat, útvonalakat stb.

Szerintetek milyen térkép szolgáltatóval kellene ezt megoldani? Google maps static api-t javasoltak, viszont az csak egy képet ad vissza, amivel az alap zoom és arrébbpozícionálást nem tudom megoldani.

Mivel az útvonaltervezés lesz a fő funkció, így egy egész (minden funkcionalitással rendelkező) google maps használata már nem jó. :(

[ Szerkesztve ]

(#10373) bambano válasza XP NINJA (#10372) üzenetére


bambano
titán

google-hoz api kulcs kell, ami lehet fizetős is.
szerintem openstreetmap.

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

(#10374) floatr válasza bambano (#10373) üzenetére


floatr
veterán

Most megnéztem a google maps árlistáját, és elég csúnyán átszabták ahhoz képest, amire emlékeztem pár évvel ezelőttről.

(#10375) twelvvy


twelvvy
csendes tag

Sziasztok!

Kaptam egy feladatot, méghozzá JAVAban amivel nem volt jelenleg még dolgom. C/C++ gyakorlatom van, szóval nem teljesen 0-ról indulnék neki. A feladat az lenne, hogy egy REST APIból egy adatbázisba kell az adatokat syncelni, validálni és tárolni, majd egy reportot készíteni és azt JSON fileba megcsinálni. Annyi van megadva, hogy JAVA 7/8 dolgozzak, az adatbázis lehet Postgres, MySQL 5.3+, Mariadb. Időkorlát nem teljesen van, illetve mondjuk 2 hét, szóval van idő. Szeretném megérteni és magamtól megcsinálni, ugyhogy inkább abban kérnék segítséget, hogy tudtok-e valami jó guideot ami alapján megcsinálhatnám, vagy valamit amin eltudok indulni, úgy hogy ilyesmivel még nem foglalkoztam. C++ban lenne ötletem hogy csinálnám ezt meg, de ugye az most nem jó.

Köszönöm szépen előre is!

(#10376) bambano válasza twelvvy (#10375) üzenetére


bambano
titán

pontosíthatnád, hogy melyik részéről kell a kotta, mert ebben van http/rest api, van adatbáziskezelés és van json is.

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

(#10377) twelvvy válasza bambano (#10376) üzenetére


twelvvy
csendes tag

Alapvetően gyakorlatilag bármiről, mivel ezeket a dolgokat nem használtam még sosem.

(#10378) floatr válasza twelvvy (#10377) üzenetére


floatr
veterán

Most ha aszondom, hogy Spring Boot, Spring MVC meg Spring Data JPA, akkor nem leszel kisegítve, pedig ezekkel pár óra alatt össze lehet dobni. Szinte nulláról elég bátor... :/

(#10379) HI-FI


HI-FI
tag

Üdv!

JavaFX projektet kellett elkészítenem egyetemi beadandó feladatnak.
Egy telefonkönyv alkalmazást csináltam, ami kontaktokat tárol.
A kontaktok tárolásáról Apache Derby adatbázis gondoskodik, amivel az a gond hogy JDBC-t használ.
Mint utólag kiderült csak JPA-t lehet használni vagy JSON/XML-ben tárolni az adatokat.
Vasárnapig kaptam haladékot, de nagyjából képtelen vagyok addig megoldani.
Szóval ha valaki sos tudna segíteni nekem, természetesen nem ingyen, akkor jelentkezzen kérem és privátban megbeszéljük a dolgot.
Nem hinném, hogy túl nagy feladat lenne annak aki ért hozzá.
Mert összvissz van egy TableView 3 oszloppal és ezeket kellene eltárolni mondjuk JSON-ben, mert az tűnik az opciók közül a legegyszerűbbnek. Csak én még sohasem találkoztam vele és az idő szűke miatt nincs lehetőség a sikertelen próbálkozásokra.

(#10380) Fáraó


Fáraó
őstag

Üdv!

Bár a megoldás működik, nem tartom elegánsnak. Ha esetleg valaki tudna egy szebb megoldást, megköszönném.

Gyakorolgatom SE tudásomat és egy táblajátékot írok. 1, 2, 3, 4-el (plusz enter) lehet lépkedni a négy irányba, a lépés előtt vizsgálom a lehetséges lépésirányokat, amit beleteszek egy négy elemű boolean tömbbe (minden lépés előtt frissülő statikus tömb). A tömb alapján listázódnak ki a lehetséges lépésirányok. A kiíráshoz használom a tömb indexeit. A feldobott lehetséges irányokból az int movementDirection adja meg egy másik metódusnak a lépés irányát. Viszont arra is kell figyelnem, hogy csak 0-3 közötti szám legyen értéke, nehogy tömbindexelési kivételbe fussak (kivételkezelés alapfokon). A kódom:

public static int listPossibleSteps() {
//indexes of possibleSteps: 0: left; 1: up; 2: right; 3: down
int movementDirection = 0;

System.out.println("");
for (int i = 0; i < possibleSteps.length; i++) {
if (possibleSteps[i]) {
System.out.print((i + 1) + " - ");
switch (i) {
case 0:
System.out.print("Move left\n");
break;
case 1:
System.out.print("Move up\n");
break;
case 2:
System.out.print("Move right\n");
break;
case 3:
System.out.print("Move down\n");
break;
}
}
}
do {
do {
movementDirection = extra.Console.readInt("Please select: ");
} while (movementDirection < 1 || movementDirection > 4);
movementDirection--;
} while (!possibleSteps[movementDirection]);
return movementDirection;
}

Működik, de ez a két do-while a végén nekem elég szar megoldásnak tűnik. Esetleg lenne rá szebb kód?

Köszi!

VIGYORRRGAZMUS.....

(#10381) Sirpi válasza Fáraó (#10380) üzenetére


Sirpi
senior tag

do {
movementDirection = extra.Console.readInt("Please select: ");
} while (movementDirection < 1 || movementDirection > 4 || !possibleSteps[--movementDirection]);

[ Szerkesztve ]

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

(#10382) Fáraó válasza Sirpi (#10381) üzenetére


Fáraó
őstag

Köszi! :R

VIGYORRRGAZMUS.....

(#10383) E.Kaufmann válasza HI-FI (#10379) üzenetére


E.Kaufmann
addikt

Én is inkább SQL párti vagyok, de pölö ez alapján nem akkora wasistdas egyszerű objektumok adat benyomni XML-be, de gondolom a kiolvasás se nehezebb: [link]
Nem tudom,mik a megkötések, én kezdéskor simán beolvasnám ArrayList-be a már létező adatokat, azt olvasnám/bővítgetném/módosítgatnám, szükség esetén meg a változásokat vagy akár az egészet visszaírnám. Ha nagyon szőrszálhasogató a tanárod, amúgy is biztos találhat valamit, amibe beleköthet, ha akar, ha meg nem, akkor szvsz az XML a legegyszerűbb út számodra.

[ Szerkesztve ]

Le az elipszilonos jével, éljen a "j" !!!

(#10384) floatr válasza E.Kaufmann (#10383) üzenetére


floatr
veterán

Ezt az XML-es témát lassan ideje lenne elfelejteni. Hacsak nem megkötés, akkor inkább JSON

(#10385) E.Kaufmann válasza floatr (#10384) üzenetére


E.Kaufmann
addikt

Miért? Divaton kívül? Mondjuk én csak konfig állományhoz használtam, se lokális adatbázisnak, se adattovábbításra nem.

[ Szerkesztve ]

Le az elipszilonos jével, éljen a "j" !!!

(#10386) M_AND_Ms válasza floatr (#10384) üzenetére


M_AND_Ms
addikt

Akkor, amikor egy xlsx fájl is voltaképpen egy csomag xml fájlokból?

Aki tejszínhabot szeretne, az inkább verje ki a fejéből!

(#10387) E.Kaufmann válasza M_AND_Ms (#10386) üzenetére


E.Kaufmann
addikt

Úgy rémlik, hogy a HTML 4 és 5 is XML, de javítsatok ki.

Le az elipszilonos jével, éljen a "j" !!!

(#10388) kispx válasza E.Kaufmann (#10387) üzenetére


kispx
addikt

XHTML volt az XML.

(#10389) sutszi


sutszi
veterán

Érdekelne mit gondoltok az alábbi helyzetről.

Adott egy cégen belül írt viszonylag egyszerű komponens. Ami áll egy view.xhml-ből és egy viewData.java model osztályból. Van még egy viewControllerünk az esetleges helyi logikákhoz.
SOAP-on keresztül jönnek az adtok ami kérdések.. A webszolgáltatás definiálja a kérdés típusát, válaszlehetőségeket és ez alapján rajzolódik ki a komponens. Most úgy néz ki, hogy alapvetően eldöntendő kérdések vannak, de ha valaki "Igen" választ jelöl meg akkor megjelenik egy beviteli mező, ahol további adatot kell megadni. Ez lehet, hogy egy mondat, de lehet csak egy szám.

A modelben úgy vannak letárolva a kérdések és a válaszok, hogy függetlenül a kérdés típusától és az esetleg hosszabb válasz típusától egy getValue()-val szedjük ki a választ. Amikor ezt visszafelé küldjük a webszolgáltatásnak.

Előadódott egy olyan probléma, hogy amikor valaki az igen válasz után egy egész számot adott meg, az küldéskor már tizedes törtként ment tovább. (Pl 5 => 5.0)

Mikor belenéztem gyorsan a komponensbe azt láttam, hogy ott String-ként tárolódik ezért lehet, hogy az InputNumber mezőbe beírt számot történt tárolja le...

Mivel az adatok beküldése egy másik controller feladata ezért ott kerül összeállításra a request.

A fenti problémára 2 megközelítés merült fel.

1. Abban a controllerben amiben összeáll a beküldés, ott próbálom parseolni float-ra. Ha sikerül, akkor számról van szó, így round-al kerekítem egészre, és String-re konvertálva megy be a requestre. Ha elszáll NumberFormatException-el akkor azt jelenti, hogy ez egy vegyes tartalmú mező. Simán mehet ahogy van és nem kell kerekíteni.

2. A komponensbe kerül egy módosítás a modelbe. Nem a korábbi String value-ban tárolom hanem lesz egy int numberValue és a value-hoz írt getterben vizsgálom meg, hogy melyiket kell visszaadni és igazából így a modelbe kerül a logika...

Sok dolgot kihagytam és kicsit zavarosnak tűnhet, de szerettem volna kicsit kontextusba helyezni a problémát, nem csak úgy szárazan tálalni.
A kérdés igazából az, hogy a model osztályt meghagyni egyszerű POJO-ként a jobb ötlet és a controlllerben konvertálni a jobb ötlet, vagy mellőzni a konverziót, és a modelt módosítani "okosítani" kisebb logikákkal a jó irány?

Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage

(#10390) floatr válasza E.Kaufmann (#10385) üzenetére


floatr
veterán

Konfiguráció tárolására sokkal praktikusabb a JSON vagy a YAML. Az XML túl terjengős, nehezebben is olvasható, és a kapcsolódó libek és alkalmazásaik is nyögve nyelősek. Én az SAML-nél vágtam eret magamon.
Nyilván ha az a feladat, hogy XML-el kell dolgozni, akkor az ember befogja az orrát, nyel egy nagyot, és csinálja :) De ha nem muszáj, akkor ne szívassad vele se magadat, se másokat.

(#10391) E.Kaufmann válasza floatr (#10390) üzenetére


E.Kaufmann
addikt

Jópár éve megírtam egy osztályt, azóta azt használom az ilyen amatőr projektjeimhez, nekem nem szívás a konfigot XML-ben tárolni. Nagyobb szívatás, hogy a srác kukázhatta a cuccát és azóta vagy meghúzták, vagy valakit felbérelt (és meghúzták ;] ).

[ Szerkesztve ]

Le az elipszilonos jével, éljen a "j" !!!

(#10392) Lortech válasza HI-FI (#10379) üzenetére


Lortech
addikt

Már mindegy elvileg, de azért tegyük tisztába, hogy nem a Derby használ JDBC-t, hanem a Java programod JDBC-t használva kapcsolódik a Derby adatbázishoz, már ha úgy írtad meg. A JPA (hibernate, eclipselink stb) leggyakoribb esetben egy relációs adatbázishoz való csatlakozáshoz a motorháztető alatt szintén JDBC-t használ, csak ezt magasabb absztrakció lévén elfedi előled.
Derby és JPA minden további nélkül összebarátkoztatható, egy ilyen egytáblás projekt összerakása egy tutorial alapján 10 percekben mérhető ([link]), legyen az akár standalone, vagy webes, konténeres megoldás.
Ha már telefonkönyv adatot tárolunk - nem konfigról volt szó, akkor nem látom értelmét (fájl alapon) JSON-nel vagy XML-lel szüttyögni, egy derby vagy akármilyen embedded sql/nosql megfelel a célra JPA-val kombinálva.

szerk: Szvsz nincs baj az XML-lel sem, csak a megfelelő feladatra kell használni, ugyanúgy ahogy a JSON-t, Yaml, protobufot stb. Ilyen leegyszerűsítésnek, hogy XML-t úgy általában felejtsük el, szerintem nem sok értelme van, mint ahogy a 2000-es évek XML fetisizmusának se volt sok.
Ismerjük az eszközeinket és használjuk mindig a megfelelőt a megfelelő célra. [law of the instrument]

[ Szerkesztve ]

Thank you to god for making me an atheist

(#10393) mobal válasza floatr (#10390) üzenetére


mobal
MODERÁTOR

Properties?

Amúgy, bár nem kapcsolódik a kérdéshez annyira, de ez a megoldás szerintem még zseniális.

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#10394) floatr válasza mobal (#10393) üzenetére


floatr
veterán

A properties is strukturálatlan... Tudom, nekem semmi sem elég jó :P A kód jópofa, meg vannak hasonló parserek is, de alapvetően a formátum nem elég frappáns egy YAML vagy JSON mellett.

(#10395) mobal válasza floatr (#10394) üzenetére


mobal
MODERÁTOR

Viszont ha egy config fájlba nyomorítasz bele minden beállítást az jó? Ez a kérdés is felmerül bennem.

Ez a Springes megoldás, deszerializálva egy biztonságos megoldásnak tűnik számomra - főleg ezért tetszik nekem. De amúgy igen, yaml-t használnék énis.

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#10396) Taoharcos


Taoharcos
aktív tag

Sziasztok!

Mit gondoltok, megéri erre elmenni?
https://rendezveny.hwsw.hu/kepzes/13

[ Szerkesztve ]

(#10397) disy68 válasza Taoharcos (#10396) üzenetére


disy68
aktív tag

95 ezerért nem igazán. Webinár a cucc, 10 modul, akkor inkább egy online tanfolyam udemy-ről vagy hasonlóról sokkal olcsóbban akár bővebb tananyaggal.

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

(#10398) Taoharcos


Taoharcos
aktív tag

Sziasztok!

Mikor van értelme rekurzív függvényt használni egy for vagy while ciklus helyett?

(#10399) bambano válasza Taoharcos (#10398) üzenetére


bambano
titán

soha. amit for vagy while ciklussal meg lehet oldani, azt azzal kell megoldani, nem rekurzióval.

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

(#10400) M_AND_Ms válasza Taoharcos (#10398) üzenetére


M_AND_Ms
addikt

Azonnal észre fogod venni, ha egy problémát rekurzióval kell megoldani.
Pl egy könnyvtárszerkezet teljes feldolgozása alkönyvtárastul

Aki tejszínhabot szeretne, az inkább verje ki a fejéből!

Útvonal

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