Hirdetés
- Feháborodott az Apple, a Meta az iPhone-felhasználók üzeneteit akarja olvasgatni
- A luxusmárkáknak kell a bitcoin, az USA jegybankjának nem
- Letiltja az USA a politikusokat a telefonhívásokról és szöveges üzenetekről
- Nagy áttörés jön a napelemek piacán, nem kell annyi hely a paneleknek
- Belenyúlt az USA az Epic Games igazgatótanácsába, nyomoz az NVIDIA
Új hozzászólás Aktív témák
-
disy68
aktív tag
válasz floatr #10498 üzenetére
A körkörös függőség tervezési hibának hangzik. Több függőségnél pedig facade vagy egyéb wrapper megoldások is játszhatnak. Ezt is mondhatjuk workaround-nak, de én még mindig úgy vagyok vele, hogy inkább lássam a konstruktornál mi a függősége egy osztálynak, semmint annotációkat nézegetni. Én spring-nél is jobban preferálom az explicit java config-ot, mintsem a package scan-t meg annotációkat (saját kódnál, nem lib-eknél). Ha van egy konkrét config, ami alapján látom, mi lesz a context, mi-mi alapján épül fel, az nekem mindig szimpatikusabb volt.
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
disy68
aktív tag
-
Regirck
senior tag
-
Fáraó
őstag
Üdv!
Konzolos menüt szeretnék készíteni, hülyegyerek biztosat, ami nem akad ki, ha nem int-et kap válaszként. Eddig az Angster Erzsébetes extra csomagot használtam, de szeretném nélküle megoldani, scanner-el. Egy ideje gondolkodok rajta, de nem jutok előbbre ,a netes keresés eredményeként a hasNextInt-ig jutottam el, de annak az else ágát nem tudom rendesen használni a megoldásra, mert pl. itt működik:public static void main(String[] arg) {
Scanner in = new Scanner(System.in);
System.out.println("How many are invading?");
if (in.hasNextInt()) {
int a = in.nextInt();
System.out.println(a);
} else {
System.out.println("Sorry, couldn't understand you!");
}
}de én a saját kódomban nem tudom felhasználni:
private static Scanner inputScanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.println(" *** Welcome to the board game ! *** ");
selectInMainMenu();
}
private static void selectInMainMenu() {
int mainMenuChoice=0;
do {
showMainMenu();
if (inputScanner.hasNextInt()) {
mainMenuChoice = inputScanner.nextInt();
} else {
System.out.println("Wrong input! Please, select 1, 2 or 3! ");
break;
}
} while (mainMenuChoice < 1 || mainMenuChoice > 3);
switch (mainMenuChoice) {
case 1:
showHelp();
selectInMainMenu();
break;
case 2:
startAGame();
selectInMainMenu();
break;
case 3:
System.out.println("\nGoodbye!");
break;
}
}
private static void showMainMenu() {
System.out.println("1 - Game info");
System.out.println("2 - Start a game");
System.out.println("3 - Exit");
}
private static void showHelp() {
System.out.println("\nShowing help!\n");
}
private static void startAGame() {
System.out.println("\nPlaying a game!\n");
}[ Szerkesztve ]
VIGYORRRGAZMUS.....
-
#68216320
törölt tag
válasz disy68 #10492 üzenetére
Nagyon köszönöm az infokat.
Olvasok a témában. Sokat kell pótolnom, helyretennem. De ez van, meglesz majd.A Spring Boot használata például akkor erősen javasolt, ugye?
Igazság szerint azért akartam eredetileg csak tiszta JavaSE kódot, hogy az alapokkal tisztában legyek. Lássam azokat a feladatokat/megoldásokat amiket egy framework elfed.
Esetemben nem maga a project elkészítése, hanem a Java gyakorlása a cél.A terv első lépésként egy fapados user/account résszel egy webes view-al megszerkesztett crud-ot tudó felület. Valami termék készlet manager. Mondjuk a fentebb említett "car" készlet kezelése.
Csak amolyan tanulásként. -
disy68
aktív tag
válasz #68216320 #10486 üzenetére
DTO: data transfer object
ez lehet bármilyen két komponens közötti kommunikációban szereplőDAO: data access object
ez egy olyan objektum, amin keresztül adatokat érünk el/tudunk manipulálni, általában adatbázissal a túloldalon - az objektum elrejti a DB részleteketrepository:
a DAO-hoz hasonló pattern, inkább domain centrikusabb, az adat objektumokat entity-nek hívjuk ebben az esetben
A rétegek szervezése/szeparálása fontos dolog, nehéz elsőre ráérezni, fog kelleni hozzá némi tapasztalat. Annyit szerintem mindenképp jegyezz meg most, hogy nincs semmi kőbe vésve. Vannak ajánlások, de mindig az adott problémához keressük a megoldást, nem pedig valami "best practice-t" erőszakolunk rá mindenre.Amennyiben egy egyszerű crud a cél, akkor nem is feltétlen szükséges külön entity/dto/pojo-kat készíteni a különböző rétegekhez, mert fölöslegesen kéne transzformálgatni mindent többször is.
Ha a crud-nál tovább lépünk vagy más jellegű a probléma, akkor hasznos lehet különválasztani a rétegeket jobban.Amúgy olvass még kicsit utána funkcionális programozásnak, immutability-nek - java 8 óta java-ban is van hozzá támogatás - szerintem árnyalja majd a képet.
A Spring JavaEE vs sima java témakörben pedig én javaslom a keretrendszer használatát, ha máshoz nem is, de a dependency injection miatt mindenképpen.
“Yeah, well, you know, that’s just, like, your opinion, man.” — The Dude
-
#68216320
törölt tag
Rendben. Köszi
Nem tudom, olyat lehet kérni itt a csoportban, hogy mondjuk csinálok egy nagyon alap project-et amit feltolok mondjuk a napokban gitlab-ra és megkérlek benneteket, hogy átfussátok? Tényleg alap CRUD dolgok, sima konzolos view-al.
Szoktak ilyet kérni? Vagy ezt nem illik?
Szeretném, ha helyesen rögzülnének bennem a pattern-ek.
Aztán javítgatom, mintegy példaként a későbbiekre.[ Szerkesztve ]
-
#68216320
törölt tag
válasz #68216320 #10485 üzenetére
Megkeveredtem a DAO és DTO fogalmak között.
Tehát valami ilyesmi lenne?
View <- (Model) -> Service <- (DTO) -> PersistenceAzaz arra irányulna az újabb kérdésem, hogy a DTO, amit mondjuk megkapok adatbázisból és van benne ID, nem juthat el a view rétegbe igaz? Hanem a kontroller mintegy mapper-ként új objektumot (POJO) hoz létre, de szintén a DTO-ból kapott ID-t használva és azt adja a View-nak?
[ Szerkesztve ]
-
#68216320
törölt tag
Springet még hagyom, sima JDBC-t használok majd és alap funkciókat.
Viszont megkeveredtem, azt hittem DAO-t kizárólag perzisztens rétegben használunk.
Azt hiszem kellene keresnem valami megfelelő MVC alapú alap funkcionalitású (FW nélküli) kódrészletet, hogy a helyére kerüljenek a dolgok.Elnézést a bugyuta kérdésekért. vissza a padba...
Még egy gyors kérdés, akkor elvben valahogy így nézne ki?
View <- (Model) -> Service <- (DAO) -> Persistence
[ Szerkesztve ]
-
MODERÁTOR
válasz #68216320 #10483 üzenetére
Én amikor Springben csinálok egy API-t a következőket követem, a Controller kap egy kvázi DTO-t (sima POJO ami semmire nem jó csak adatokat szállítani) amit validálok majd adott esetben elmenetem tehát model készül belőle.
Amúgy meg modelekkel dolgozom repository-n keresztül.
Ahogy a kolléga is írta feljebb.
mobal,
[ Szerkesztve ]
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
#68216320
törölt tag
Öööö... úgy kellene? Akkor megkeveredtem.
Nálam ott full SQL adatok vannak. Többek között az ID is.(#10482) floatr:
Most még nem használok keretrendszert, előbb megpróbálom teljesen átlátni a dolgot. (Ezután gondoltam Spring komponensekkel lecserélni amit lehet, aztán menne az egész JavaEE vonalra)
Nálam a terv az lenne, hogy maga a perzisztens réteg egy külön maven modulban van és kifelé interfészként van jelen. Emiatt én úgy gondoltam, hogy a DAO csak ebben a modulban létezik, vissza már modelt ad a szerviz rétegnek. A cél az lenne esetemben, hogy egy mozdulattal a perzisztens réteg modult lecserélve akár más tárolást lehessen használni. Már, ha ez nem hibás koncepció részemről.
A service réteg szintén külön maven modul. Arra gondoltam, hogy ő pedig csak model-t lát, számára a DAO nem létezik.[ Szerkesztve ]
-
floatr
veterán
válasz #68216320 #10480 üzenetére
A népszerűbb keretrendszerek azt a felállást támogatják, hogy Model + Repository/Dao + Service. Az ID kezelését egy alp perzisztencia motor is megoldja, és a Repository/Dao dolga a Model és adatbázis közti kapcsolat funkcionalitásának megteremtése.
Ezzel szemben van a domain driven design, ami az adatokat hordozó objektumnak adja a funkcionális részt is. -
#68216320
törölt tag
Én anno úgy tanultam, hogy a model-ben kizárólag "nyers" adatok szerepelhetnek. De akkor persze lehet, hogy rosszul emlékszem. Megkoptak az emlékeim sajnos a hosszú kihagyás után.
És akkor az ID hogy nézzen ki? Legyen mondjuk csak getter hozzá, setter nem és a konstruktorban adjak mondjuk az ID-nak értéket kizárólag?
Ha a service rétegben van egy addCar akkor ugye ott még nincs ID-m. Tehát kellene egy ID nélküli konstruktor. Ha DAO-ból jön vissza adat, akkor ott már van ID, tehát kell egy olyan konstruktor is.
Ez így biztonságos? Nem szeretném, ha kivülről lehetne az ID-t variálni. Vagy rossz a gondolatmenet?[ Szerkesztve ]
-
Sirpi
senior tag
válasz #68216320 #10478 üzenetére
A modelben is szerepeljen az ID field, és amikor pl. listából kiválasztasz egy elemet, akkor tudsz ID alapján módosítani/törölni.
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?!
-
#68216320
törölt tag
Egy elméleti, amolyan programozás technikai kérdés merült fel bennem.
Sajnos nagyon alap, de elbizonytalanodtam, a segítségeteket kérném.Tételezzük fel hogy autók adatait szeretném egy felületen feldolgozni, majd egyszerű CRUD műveletekkel adatbázisban használni.
Van egy "Car" model, ami ugye tartalmazza az autó adatait. Ezt a service rétegben dolgozom fel. Ha letárolom akkor átkerül a perzisztens rétegbe, ahol egy "CarDAO" lesz. Ebben van már adatbázisban található ID is, mert update/delete művelethez kelleni fog.
A problémám az, hogy mondjuk update/delete esetén, amikor amikor a "service" rétegben meghívom a perzisztens réteg updateCar/deleteCar funkcióit, akkor át kell adnom neki egy ID-t, hogy melyikkel dolgozzon. Ergo a "service" rétegben is tudnom kell az ID-t. Vagyis egy listázásnál mondjuk, amiből mondjuk egy kattintás a felületen a megfelelő sorban az update/delete, mintha a CarDAO objektumot adnám neki vissza. Ami esetemben "CarDAO" == "Car"+ID
Hogyan kellene ezt szépen megoldani, hogy a service réteg ne DAO-t kapjon, hanem Model-t? -
M_AND_Ms
veterán
válasz E.Kaufmann #10476 üzenetére
Aki tejszínhabot szeretne, az inkább verje ki a fejéből!
-
E.Kaufmann
veterán
válasz Ablakos #10475 üzenetére
Gondolom levágja az elejét és csak az utolsó bájtot tartja meg (na ez megint jó kérdés, hogy a jvm milyen sorrendben tárolja a bájtokat és meg nem mondom). Ha a végét vágná le, akkor nem váltana előjelet, legalább is ha elől (bocs a pontatlanságért, talán "most significant bit"-nek lehetne nevezni, balról az első ) van az előjelbit.
Majd ha ráér egy okos, írja le mert én is kíváncsi vok[ Szerkesztve ]
Le az elipszilonos jével, éljen a "j" !!!
-
Ablakos
őstag
Mi történik a háttérben, amikor egy byte értékkészleténél nagyob intet belekasztolok egy byte-ba?
(pl.byte l = (byte) 1525; result -11) -
Taoharcos
aktív tag
válasz E.Kaufmann #10471 üzenetére
MySQL
-
Taoharcos
aktív tag
Sziasztok!
UUID-t milyen típusban tároljátok az adatbázisban? Binary, Varchar?
-
Zsoxx
senior tag
Tiltja valami topikszabályzat a gabitoo88-éhoz hasonló segítségkérést? Vagy mi a faszé' lett kigyomlálva a post?
-
M_AND_Ms
veterán
válasz E.Kaufmann #10466 üzenetére
Az informatikus az, aki 10 órát dolgozik azon, hogy megkönnyítse a 10 perces munkáját, hogy azt ezentúl fél perc alatt el tudja végezni (ez az én első fő tételem)
Aki tejszínhabot szeretne, az inkább verje ki a fejéből!
-
E.Kaufmann
veterán
válasz gabitoo88 #10464 üzenetére
Informatikusnak hogy a piklibe ne kéne programozás? Még egy rendszergazdának is. Már csak azért is, hogy saját dolgodat megkönnyítsd. Igaz én a Java-t kalapácsnak használom és mindent azzal püfölök, olyat is amit pl PS-sel, bash-sal vagy más eszközzel lenne érdemes, de csináltam már java-s reboot programot kínai telefonközponthoz, amit ha nem indítottunk újra naponta, a hívások nem mentek. Betelnetelt rá és kiadta a parancsot. Debian alatt futott cron-ból. Tudom, hogy lehettek volna elegánsabb megvalósításai, de működött. Ugyanígy a régi ERP nem volt képes ütemezett üzeneteket küdeni, egy java-s programocska lekérdezett valamit SQL-lel JDBC-n át és ha kellett, küldött SMTP-n át levelet.
Volt hogy rámlőcsöltek adatrögzítést, csináltam hozzá az ERP által kínáltnál ezerszer kényelmesebb felviteli felületet és onnan nyomtam be az adatokat az ERP-be, ami szintén nem ajánlott, de soha semmi gondot nem okozott.Én imádom a Java-t, mert mindent meg tudok benne csinálni, még ha tudom is, hogy nem kellene mindent benne.
Az a lényeg, hogy egyszerűbb scriptek és programozási ismeretek nélkül a rendszergizda kartalan órás (direkt hagytam le az i-t).[ Szerkesztve ]
Le az elipszilonos jével, éljen a "j" !!!
-
gabitoo88
tag
Igazából Szolnokon a helikopterbázison vagyok. Infos beosztásomhoz kellene Közöm nem lesz a programozáshoz. Mérnökinfo szakra járok.
[ Szerkesztve ]
Tel.: 3630három343638
-
Drizzt
nagyúr
Connection pool beállításokról van itt egy adag, de elég régi verzióhoz.
Ezen kívül ami gyanús lehet még, hogy esetleg az alkalmazásban nincsenek a kapcsolatok felszabadítva használat után. Hogyan szerzel EntityManagert, hogyan commitolsz, hívsz-e rá close-t? Valahogy injektálod, vagy EntityManagerFactory-val készítesz? Utóbbi esetben elvileg mindig kell close-olni.
I am having fun staying poor.
-
wopi
aktív tag
Sziasztok!
Java, servletes, JSP-s alkalmazásról van szó, Hibernate-el fűszerezve. Glassfish-re deployolom ki, amivel nincs is gond, megy ahogy kell. Egy idő után (kb 10 perc) viszont ha újra be akarom tölteni az oldalt, akkor már nem tölt be, exceptiont-t ad. Amennyire ki tudom bogarászni, mintha a mysql connection close-olna egy idő után. A bajom az, hogy újra kell deploy-olni, hogy ismét helyreálljon a rend.
Hol, mit kell beállítanom, hogy ezt a jelenséget elkerülhessem? Igyekeztem értelmesen leírni mi a baj, reményem sikerült.
Üdv, Peti
-
MODERÁTOR
válasz Aethelstone #10456 üzenetére
Szerintem marha jó kis ide. Ha nincs szükséged egy IDEA-ra pl. tökéletes.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
floatr
veterán
Ja hát a split az teljesen gáz erőforrások tekintetében, de kreatív megoldásnak vicces Menet közben rájöttem, hogy ha elé- és mögé vágok egy-egy mássalhangzót, akkor tökéletesen működik az is. De ha nagyon optimalizálni kell, akkor lehet elég elborult algoritmusokat írni, ami viszont már felveti az egész hasznosságát
A reguláris kifejezésekről meg csak annyit, hogy volt már olyan h bekresseltettem böngészőket egy nagyobb szöveg parsolásakor, ha lehet kerülöm
-
MODERÁTOR
válasz floatr #10446 üzenetére
+1.
Az amúgy nem gyorsabb megoldás, ha megnézed, hogy egy előre definiált lista tartalmazza-e a karaktert és akkor +1?
Pont a héten játszadoztam a
split
-tel és aStrigTokenizer
-rel, és hát 10m sornál a tokenizer kb. 4x gyorsabb volt.mobal,
[ Szerkesztve ]
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
floatr
veterán
Olyant is csinálhatsz amúgy, hogy egy stringbe betolod az összes magánhangzót, és indexOf metódussal ránézel. Ha optimalizálni akarod, akkor sorba rendezett karakterekkel logaritmikus kereséssel is mehet
Amúgy meg:
String text = ...; // a beolvasott cucc
long vowelCount = text.toLowerCase()
.chars()
.filter(c -> "aáeéiíoóöőuúüű".indexOf((char) c) != -1)
.count(); -
kutga
nagyúr
válasz E.Kaufmann #10444 üzenetére
Jó ötlet.
'They bid me take my place among them in the halls of Valhalla where the brave may live...forever..' 13th warrior
-
E.Kaufmann
veterán
Én a bekért szöveget előbb pl toLowerCase()-vel kisbetűsíteném és utána már kevesebb feltétel kell. Én legalább is, ha nem számít a kis/nagybetű, akkor a biztonság kedvéért mindent tolowerezek (meg trimmelek).
[ Szerkesztve ]
Le az elipszilonos jével, éljen a "j" !!!
-
Drizzt
nagyúr
válasz Froclee #10441 üzenetére
Picit kötekedés, de definíció szerint O(n*28) = O(n), lásd. Meg a HashSet.contains se feltétlenül egy lépsben talál eredményt, az függ a capacity-től, a load factortól és a hash kiszámításának komplexitásától. De Stringnél az cache-elve van, szóval csak mem lookup.
I am having fun staying poor.
-
Gyick
őstag
üdv
JDK-ból melyik verziót érdemes felrakni most? 12 fizetős lesz/lett,11-ről azt hallottam nem kap támogatást...Vagy célszerűbb maradni a 8-nál?Esetleg openjdk 12?
-
bandi0000
nagyúr
válasz Froclee #10437 üzenetére
de így is csak 1 db magánhangzót vizsgálhat 1 sorban nem? Akkor inkább már egy dupla for
kutga:
Mit tanulsz vagy milyen szakon vagy? De mondom, szebb, ha egy stringként eltárolod az összes lehetséges magánhangzót, és akkor azon is végig mész a fenti for on belül, még a nagy betűt se kell vizsgálni, ha elötte a forrás szöveget kisbetűssé alakítod[ Szerkesztve ]
Xbox One: bandymnc
-
kutga
nagyúr
válasz bandi0000 #10432 üzenetére
Elég puritán lett.
package gyak27;
import java.util.Scanner;
public class Gyak27 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in, "8859_2");
String vers;
System.out.println("Kérem a versrészletet: ");
vers = scan.nextLine();
int számláló = 0;
for (int i = 0; i < vers.length(); i++) {
if (vers.charAt(i) == 'a' || vers.charAt(i) == 'á'
|| vers.charAt(i) == 'e' || vers.charAt(i) == 'é'
|| vers.charAt(i) == 'i' || vers.charAt(i) == 'í'
|| vers.charAt(i) == 'o' || vers.charAt(i) == 'ó'
|| vers.charAt(i) == 'ö' || vers.charAt(i) == 'ő'
|| vers.charAt(i) == 'u' || vers.charAt(i) == 'ú'
|| vers.charAt(i) == 'ü' || vers.charAt(i) == 'ű'
|| vers.charAt(i) == 'A' || vers.charAt(i) == 'Á'
|| vers.charAt(i) == 'E' || vers.charAt(i) == 'É'
|| vers.charAt(i) == 'I' || vers.charAt(i) == 'Í'
|| vers.charAt(i) == 'O' || vers.charAt(i) == 'Ó'
|| vers.charAt(i) == 'Ö' || vers.charAt(i) == 'Ő'
|| vers.charAt(i) == 'U' || vers.charAt(i) == 'Ú'
|| vers.charAt(i) == 'Ü' || vers.charAt(i) == 'Ű') {
számláló++;
}
}
System.out.println("A magánhangzók száma a szövegben: " + számláló);
}
}[ Szerkesztve ]
'They bid me take my place among them in the halls of Valhalla where the brave may live...forever..' 13th warrior
-
kutga
nagyúr
-
bandi0000
nagyúr
Első résznél biztos van egyszerűbb megoldás, de nekem hirtelen egy dupla for ugrik be, létrahozol egy String változót, amibe belerakod egy szövegként a magánhangzókat, külső forral ezen mész végig, a belső forban meg a vers részleten, és ellenőrzöd, hogy egyeznek e, ha igen, akkor növelsz egy számlálót
Másodikra talán ez segít
Harmadiknák meg mi nem világos? igazából csak elvégzed a műveleteket, esetleg annyi, hogy a gyök alatti kifejezést ellenőrzöd, hogy - lett e, ha igen, akkor beszorzod -1-el, gyököt vonsz, és kiíratásnál még hozzáírsz egy j-t a végére
Xbox One: bandymnc
-
kutga
nagyúr
Hölgyek/Urak!
Elsőéves egyetemistaként ismerkedünk a Java programozás alapjaival. Van egy szép hosszú minta feladatsorom amin lépkedek, de van egy-kettő amivel nem igazán tudok elindulni és egyelőre a neten sem találtam sok használhatót, nevezetesen:
Kérjünk be a felhasználótól egy versrészletet, és számláljuk meg benne a magánhangzókat!Kérjünk be ellenőrzötten a felhasználótól egy-egy egytizedes jegyű, kéttizedes jegyű, háromtizedes jegyű és négytizedes jegyű számot! Írassuk ki egymás alá balra, majd jobbra igazítva is a négy számot 10 karakterhosszan 4 tizedesjeggyel!
A program a felhasználó által megadott együtthatókkal számítsa ki a másodfokú egyenletet! Negatív diszkrimináns esetén adja meg a komplex gyököket!
Valami ötlet merre induljak? A
printf és az if/else
szekcióban vannak a feladatok, így azt gondolom ezekkel kellene megoldani, a félév során egyébként az osztályokig jutottunk.[ Szerkesztve ]
'They bid me take my place among them in the halls of Valhalla where the brave may live...forever..' 13th warrior
-
Drizzt
nagyúr
válasz #68216320 #10428 üzenetére
Ha külön vannak, akkor mindenképpen nyered:
- Az egyes komponensek fordítása jóval gyorsabb lesz.
- Kisebbek, célszerűen jobban értelmezhetők lesznek a komponensek.
Hátrány:
- A verziószámokkal komoly kavarodást lehet összehozni. Bár ha követi az ember a semver szabályait, akkor igazából nem kéne, de én azt tapasztalom, hogy mégis nagyon nehéz eldönteniük embereknek, hogy mikor melyik verziószámot kellene léptetniük.Extrémebb eset, ha kiszervezed teljesen független alkalmazásokba a modulokat, amik különféle API-kal kommunikálnak. Előny:
- Lehet skálázni csak azt a komponenst, amit kell.
- Lehet heterogén az architektúra.
Hátrány:
- Amint valami kimegy a hálózatra, fel kell arra készülni, hogy a kommunikációval bajok lesznek. Timeout-ok, elveszett üzenetek, duplikált üzenetek.Még lehet message bus architektúrát is alkalmazni. Ez olyan, mint az utóbbi, de az üzenetek tárolása, küldése, etc. nem a saját alkalmazásod feladata, hanem egy message bus-é. Mint pl.: a Kafka, vagy JMS.
I am having fun staying poor.
-
#68216320
törölt tag
Felmerült bennem egy kérdés egy saját project-et illetően.
Ha mondjuk egy project-et kezdek, aminek van több különálló komponense, akkor azokat érdemes külön-külön maven project-ben csinálni?
Például: Ha mondjuk egy blog-ot veszünk alapul, annak van több különálló komponense.
- kliens rész (blog olvasása)
- writer rész (blog írása)
- admin (blog-ok karbantartása)
- user account / user rights
- képkezelő komponens
- stb.Csak példa volt. De arra gondolok, hogy ilyenkor egy maven project legyen az egész, vagy mondjuk érdemes egy 'blog' parrent project-et csinálni és abba megcsinálni egyesével a komponenseket? Gondolom ha külön lenne jobban lehetne karbantartani, nem?
Vagy túlbonyolítom a helyzetet és elég, ha külön-külön package-be mennek?[ Szerkesztve ]
-
Lortech
addikt
Lehet force-olni egy windowsos ablak átméretezhetőségét (ResizeEnable util pl), de ettől önmagában még nem fog skálázódni a layout is, vagy igen, vagy nem, vagy jól vagy nem. Sokszor azért veszik fixre az ablak méretet, mert nem tudták rendesen megcsinálni a layout skálázódását.
De ez igazából nem javás kérdés.[ Szerkesztve ]
Thank you to god for making me an atheist
-
Statikus
senior tag
Sziasztok, nem vagyok programozó, nem értek a javahoz, ezért kérem segítségeteket.
Van egy java-s "applikáció", hasonló, mint az ABEVJAVA ÁNYK, de nem az, nevet direkt nem írok, nem szeretnék ebből jogi vitát, főként úgy, hogy nem kevés pénzt fizetek a szolgáltatásra.
A problémám a következő. Vettem egy 4K-s monitort, szép nagy felbontással, ez által az applikáció ablaka olyan kis mérettel jelenik meg, hogy szinte kezelhetetlen, használhatatlan. Az ablak mérete a monitorom képest mindkét irányban nézve kb. harmada. Természetesen az ablak átméretezhetősége le van tiltva az appban, ezért kérdem segítségeteket.
Van rá lehetőség, hogy az ablak átméretezését külsőleg engedélyezzem, vagy bármi módon megnövelhessem akár adott fix méretűre az ablakot?Remélem érthető volt a kis összefoglalóm. Köszönettel várom szíves válaszotokat.
-
MODERÁTOR
válasz #68216320 #10420 üzenetére
xml-t még bottal se piszkálnám. Annotáció, vagy Java. Spring Boot amugy nagyon sokmindent megcsinál alapból, továbbá a változó értékeit én properites fájlból szoktam állítani, ennek köszönhetően környezetnek megfelelő értékeid lehetnek.
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
#68216320
törölt tag
Rendben, köszönöm a bíztatást, meglesem a tutorial-t
Ja még egy dolog, ami most merült fel bennem. Utánnajárok majd a témának, de érdekelne, hogy Spring konfigurációkban annotációkat vagy XML-t szoktál inkább használni? Nekem tetszenek az annotációk. Ha esetleg valaki xml-el konfigurál akkor könnyebben felhasználható a kód a keretrendszeren kívül? Vagy mi az előnye/hátránya személyes tapasztalatod alapján?
(#10415) Drizzt: Értem amit mondasz és megfontolandó. Bár esetemben nem maga a project elkészítése lett volna a cél, az csak egy eszköz lenne a tanulásra, hogy mégse 100 darab "Hello world" szintű nyúlfarknyi kód legyen. De kicsit körbejárom a dolgot akkor még1x.
És köszi mindkettőtöknek a válaszokat. Nagyon felpörögtem a témára...
[ Szerkesztve ]
-
MODERÁTOR
válasz #68216320 #10418 üzenetére
Én azért azt javaslom, hogy a tutorialt nézd meg és annak a fényében döntsd el, hogy keretrendszer segítségével vagy nélkül kezded el.
Hamar bele lehet jönni szerintem
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
#68216320
törölt tag
Köszönöm az info-kat.
Volt már saját project-em Java-ban, a felsorolt fogalmakkal is tisztában vagyok. Én a maven-t ismerem és használtam, illetve perzisztens rétegben MySQL-t és mintapéldáknál (lustaságból) a Derby-t. Az MVC sem probléma, próbálok interfészeket használni és szép kódot írni. ORM-et még nem használtam Java-ban, kizárólag PHP vonalon a Laravel-ben találkoztam vele. Szóval az új lesz. SOLID alapelvek rendben, értem és próbálom helyesen alkalmazni őket, DI-re is törekszem, bár néha ott még bakizom.
Marad akkor az a felállás, hogy megcsinálom a tervemet Spring nélkül, refaktor amíg rendben lesz és ezután ugyanazt elkezdem a Spring-et és megpróbálom majd azzal megcsinálni.
-
MODERÁTOR
válasz #68216320 #10411 üzenetére
Alapvető fogalmakkal kell tisztáznod először és utána szerintem mehetne a Spring.
Amire szükséged lesz (így hirtelen fejből, nem teljes lista):
- Singleton
- MVC
- Repository
- DI
- Annotációk
- Hibernate (ORM)
- SQL
- ... és még sok dologEgy kiindulási alap: [link], továbbá célszerű Gradle vagy Maven tool-al is megismerkedned (én személy szerint a Gradle-t ajánlom).
[ Szerkesztve ]
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
Drizzt
nagyúr
válasz #68216320 #10411 üzenetére
Szerintem határozottan nem érdemes nulláról SE-vel elkezdeni megírni. Hiszen éppen ez lenne a Spring, meg az EE lényege: ne kelljen feltalálni a spanyolviaszt, s lehessen a business logic-ra fókuszálni.
Szerintem érdemes mindkettőhöz amúgy valamilyen maven archetype-ból kiindulni. Vannak pl.: egyszerű REST + EJB + JPA skeletonok, azokat már elég jól testre lehet szabni és kibővíteni, mégis faék egyszerűek.
[ Szerkesztve ]
I am having fun staying poor.
-
Retekegér
HARDVERAPRÓD
válasz bandi0000 #10412 üzenetére
Karekterkódolást be lehet állítani, pl.:
try (BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path), StandardCharsets.ISO_8859_1))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}Szerk.: közben látom meglett
[ Szerkesztve ]
<< Heimdal >>
-
#68216320
törölt tag
-
MODERÁTOR
válasz bandi0000 #10408 üzenetére
Két kis tipp, használj BufferedReader-t, 10 millió sort kb. 800 ms alatt olvas be.
Exception elkapása biztos szükséges? Ha beledebuggolsz ebbe a sorba akkor van tartalma?
System.out.println(line);
[ Szerkesztve ]
"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."
-
bandi0000
nagyúr
Sziasztok
Kérnék egy kis segítséget, összedobtam gyorsan egy fájl beolvasást, hogy formázottan kiírjam a szöveget (eszement hülye ötlet, de ha már elkezdtem befelyezem így)
viszont nem csinál semmit a txt-vel, hibát nem dob, viszont ha kitörlöm az összes sort belőle, és beírok pár random sort, akkor azt beolvassa gond nélkül
gondolom,hogy valami white space hiba lehet, de átmásoltam wordbe és nem láttam semmi extra dolgot, minden sor végén enter és csók
a fájlba meg minden sorban vagy 1 vagy max 4 szó van (3600 sor)
A kód gyakorlatilag ennyi:
Scanner fileInput = null;
try {
File file = new File("magyar.txt");
fileInput = new Scanner(file);
while (fileInput.hasNextLine()) {
String line = fileInput.nextLine();
line="hungarianWords.add(\""+line+"\");";
System.out.println(line);
}
} catch (FileNotFoundException exception) {
System.out.println("A megadott fájl nem található!"+ exception.getMessage());
} catch (Exception exception) {
System.out.println("Hiba történt: " + exception.getMessage());
} finally {
if (fileInput != null) {
fileInput.close();
}
}Xbox One: bandymnc
-
#68216320
törölt tag
válasz #68216320 #10406 üzenetére
Közben az merült fel bennem, hogy a Spring megértéséhez közelebb vinne-e az a módszer, ha ugyanazt a project-et először sima JavaSE-vel oldanám meg. Jdbc, Servlet, stb.
Ezután teljesen ugyanazt csinálnám meg Spring-el (esetleg jóval későbben JavaEE-vel talán)
Így talán az elméleti és megvalósítási különbségek egyértelműbbek lennének.Főleg mondom ezt az alapján, hogy 2 év kihagyás után az akkori friss Java tudásomból mostanra megkophattak jelenleg még előre nem látható részek.
Vagy ne törődjek vele és ugorjak neki csak a Spring-nek?[ Szerkesztve ]
-
#68216320
törölt tag
Tudnátok linkelni elsősorban magyar (picit még lassan megy az angol) nyelvű doksit Spring, egészen pontosan Spring Boot kezdeti elsajátításához?
Kitaláltam gyakorlásnak egy hobby project-et (web view, mysql a crud műveletekhez) ahol az MVC-t szeretném begyakorolni. A szokásos JDBC/SQL Query használata helyett szeretnék JPA-t kipróbálni, még sohasem használtam.
Illetve nem tudom mi annak a technikának a neve, amikor először a Unit teszteket írják meg, de azzal a megoldással próbálkoznék majd.A Spring számomra még ismeretlen terület, ezért kellene pár kezdeti info hozzá magyarul. Aztán úgy gondolnám, ha van egy kis alap és nem a tanulási görbe legalján vagyok akkor már a még nem megfelelő angolommal már mennének az idegennyelvű doksik is. (legalább fejlődik az angolom is)
A Spring Tool Suite (Eclipse) IDE-t használnám. Megfelelő választás lehet a projecthez? Látom vannak kiegészítők VS Code és Atom IDE-hez is.
[ Szerkesztve ]
-
Szmeby
tag
válasz E.Kaufmann #10401 üzenetére
Vagy megragadod a farkánál a rekurziót.
Mondjuk pont nem tudom, hogy a jáva mit csinál vele, de a skála szereti. -
axioma
veterán
válasz E.Kaufmann #10401 üzenetére
Vagy egyszeruen hasznalni egy listat (ha max. melysegre lehet jo korlatot adni, akkor inkabb tombot indexmutatoval) a rekurziv hivasnak a valoban "perdonto" koztes adataira. Mar siman jobb mind memoriahasznalatban mind sebessegben. Mas kerdes hogy kicsit technikasabb megirni, mint siman egy rekurziot.
-
M_AND_Ms
veterán
válasz E.Kaufmann #10401 üzenetére
Persze, feladata váltogatja a megoldást. Amúgy, meg nincs az a memóriaméret, ami ne lehetne hipp-hopp elfogyasztani
Aki tejszínhabot szeretne, az inkább verje ki a fejéből!
-
E.Kaufmann
veterán
válasz M_AND_Ms #10400 üzenetére
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.Le az elipszilonos jével, éljen a "j" !!!
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- VR topik (Oculus Rift, stb.)
- Nagy "hülyétkapokazapróktól" topik
- Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Bestbuy játékok
- Garasoskodás
- Építő/felújító topik
- Yettel topik
- Villanyszerelés
- Miskolc és környéke adok-veszek-beszélgetek
- Windows 10
- További aktív témák...
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest