- Microsoft Excel topic
- Crypto Trade
- Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
- MinDig TV
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Rendszergazda topic
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
- Proxmox VE
- Kapnak egy rakás reklámot a Roblox játékosai
- ArchiCAD és Artlantis topik
Új hozzászólás Aktív témák
-
sztanozs
veterán
válasz Taoharcos #10749 üzenetére
Lehet a táblában sorszintű ismétlődés (és fontos ezt megtartani)?
Mert ha nem, akkor csinálsz egy view-t, ami generál soronként egy egyedi ID-t.JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Taoharcos
aktív tag
Elnézést a késői válaszért, de köszönöm az ötleteket.
-
Keem1
addikt
Üdv! Kényszerűségből ugyan, de ismerkednem kell a Java nyelvvel. Készítenem kell egy kis toolt, ami szervereken futna.
Kronológia:
- Java-t tanultam a suliban, kb. 15 évvel ezelőtt
- PHP-t és C#-ot használok viszonylag rendszeresen (nem vagyok programozó, de időnként szükség van rá, munkahelyen különböző toolokat készítek)
- alap programozási tudás megvan, de a Java-t nem ismerem nagyon
- miért kell nekem most mégis Java? Vannak Win és Linux alapú szervereink is, és a toolnak futnia kéne mindegyiken anélkül, hogy rendszerenként kellene fejleszteni a toolt.A készülő mini tool adatait ini fájlban tárolnám, ehhez a ini4j library lesz a segítségemre. Nem biztos, hogy jó ötlet, de indításkor betöltöm a tárolt adatokat, futás közben dolgozom velük. A program futásának végén pedig diszkre írnám az ini adatait.
Kérdés:
- milyen metódus fut le mindenképpen a program terminálása előtt, amit felhasználhatnék azini.store(configfile)
futtatására?
- van-e jobb megoldás arra, hogy a konfigurációs adatokat másképp mentsem, az előző kérdésben foglalt helyett?Előre is köszi!
-
sztanozs
veterán
Ha csak egy kis tool, akkor muszáj javába lennie? Nem lenne jó python vagy valami univerzális szkriptnyelv?
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Keem1
addikt
válasz sztanozs #10755 üzenetére
Nem muszáj, csak javasolt. Olyan ez, mintha a Google-nél nem Google eszközöket használnának
PHP-ban is gondolkodtam, de vannak bizonyos policy-k, amik nem teszik lehetővé a webszerver futtatását a szervereken. Nem vagyok benne biztos, hogy Python környezet van-e. Java tutira van, így emiatt választottam azt.
[ Szerkesztve ]
-
sztanozs
veterán
-
Szmeby
tag
Java konfigurációk esetén nekem először a properties fájl ugrik be, faék egyszerűségű textfile kulcs-érték párokkal. Lásd mondjuk: [link]
Ennek "modernebb", spórolósabb változata a yaml, de ha neked az ini tetszik, biztos az is jó. Mondjuk ha nem kötött, hogy csak ini lehet, én ezért nem hoznék be egy libet, hogy néhány konfig cuccot tároljak.Nincs az a metódus, ami megfut, ha azt mondod a programnak, hogy kill.
Persze ha normál terminálásra gondolsz, akkor izé... nem értem a kérdést.
A main metódus a be és kilépési pont. Megírod a kezecskéddel, hogy milyen esemény hatására terminálódjon a programod, és előtte azt mentesz, amit akarsz.Esetleg a jvm shutdown hook-ra gondoltál? Lehet haszna, de nézz utána, hogy mikor hogyan működik, mert egy egyszerű programnál én nem biztos, hogy szórakoznék vele.
---
Trubad Úr. Én szívesen megcsinálom neked. 1M HUF lesz.
-
Keem1
addikt
válasz Szmeby #10760 üzenetére
Nem-nem, egyáltalán nem ragaszkodom az ini-hez (elsőre platformfüggetlenként ez ugrott be), ezt a properties-t is meg fogom nézni ( ). Alapvetően ilyenre a registry-t használnám alapesetben, de ugye mint írtam, linuxon is futtatni kéne a cuccost.
Szerintem az lesz, hogy:
main()
{
kezdő();
.... // tényleges metódusok
végző();
}
Alternatíva:
main()
{
SajatClass sajat = new SajatClass();
sajat.Futtat();
}
Ahol a külső osztály destruktorába tenném esetleg, vagy valami finalize.Nem bonyolítom túl. Abból akartam kiindulni, hogy hátha lehetne a main-t tartalmazó osztálynak egy destruktort írni, ami felszabadít mindent, és egyúttal a konfig adatokat is fájlba írja. De ahogy olvastam, ilyen nincs. Ugye, nincs?
[ Szerkesztve ]
-
senior tag
Destruktor nincs. Finalizálás van, de az a garbage collector futásához kapcsolódik, és nincs garancia arra, hogy egy adott objektum esetén valaha is lefut - program exit-kor meg pláne, hiszen akkor majd az oprendszer úgyis takarít...
Nem teljesen értem, hogy minek az exit hook. Egy java programnak jól meghatározott exit pontjai vannak: pl. a
main()
return pontja, vagy aSystem.exit()
hívás, ezért ha kilépéskor akarsz menteni, akkor ezek elé kell elhelyezni a megfelelő kódot. Ha a program interaktív, akkor nyilván lesz valahol egy "exit" menüpont, vagy window close hook, ahová a mentés ugyancsak beköthető. Ha valamilyen egyéb keretrendszert használsz (pl. servlet engine), ami saját maga intézi a startup és shutdown tevékenységet, akkor ott lesznek specifikus exit hook-ok (pl. a servletnek vaninit()
megdestroy()
eljárása, vagy ott aServletContextListener
).Mint arra fentebb már felhívták a figyelmet, ha a program abnormális módon terminál (kilövik az oprendszerből, vagy pl.
OutOfMemoryError
kivétel keletkezik), akkor semmilyen exit hook nem fog működni. Ha erre is fel szeretnél készülni, akkor érdemesebb inkább minden alkalommal automatikusan menteni, ha az ini fájlban tárolt adatok változnak. (És ebben az esetben a kilépéskori mentés eleve felesleges is.) Persze nem tudom mi lenne itt az adatkör: az inicializációs fájl mint fogalom, néhány kilobájtnyi ritkán változó adatot sugall.[ Szerkesztve ]
''The third planet is incapable of supporting life. Our scientists have said there's far too much oxygen in their atmosphere.''
-
Szmeby
tag
SajatClass sajat = new SajatClass();
try {
sajat.futtat();
} finally {
sajat.ment();
}
Ha kivétel történik a futtás során, a mentés akkor is megtörténik. Ez inkább javallott, mint a finalize() funkció használata. Vagy akár a sima metódus szekvencia. Mondjuk ha hiba esetén mégsem szeretnél menteni, akkor felejtsd el, amit írtam, arra tényleg jó a szekvencia.Neked nem kell kézzel semmit sem takarítani, a garbage collector majd teszi a dolgát, nincs destruktor. De ezt már írták.
-
bambano
titán
-
senior tag
válasz Szmeby #10764 üzenetére
A finalize általában nem fog működni:
public class T {
static void p(String msg) { System.out.print(msg); }
public static void main(String[] args) {
p("started"); T t = new T(); t = null; p(" finished");
}
private T() { p(" constructed"); }
@Override protected void finalize() { p(" finalized"); }
}
(Kimenet: started constructed finished)Ha a teszt JVM-emen beszúrok egy GC-t, akkor javul a helyzet:
p("started"); T t = new T(); t = null; System.gc(); p(" finished");
(Kimenet: started constructed finished finalized)De azon túl, hogy egy normális programot nyilván nem lehet telehinteni GC hívásokkal, az egész viselkedés még a garbage collector implementációjától is függ, szóval a finalize egyáltalán nem megoldás a problémára.
''The third planet is incapable of supporting life. Our scientists have said there's far too much oxygen in their atmosphere.''
-
senior tag
-
Zsoxx
senior tag
Java-ban van arra valamilyen osztály, hogy egy String tartalmát parancsként dolgoztassuk fel a programmal? (DB-t leszámítva)
-
senior tag
Ha stringben tárolt programot (script-et) szeretnél futtatni, arra is van számtalan script nyelv, pl. a Groovy (java-szerű), a Jython (Python) vagy akár a Javascript.
[ Szerkesztve ]
''The third planet is incapable of supporting life. Our scientists have said there's far too much oxygen in their atmosphere.''
-
senior tag
A praxisomban ilyesmivel még nem találkoztam. Standard nyelvi eszközről nem tudok (legalábbis Java 8-ig bezárólag) - ettől persze még létezhet. A probléma viszont nyilván nem megoldhatatlan. Az első lehetőség a java fordító meghívása (lásd az előző hozzászólást), majd a gyártott osztály dinamikus betöltése (mint a JDBC driver-nél) és végrehajtása. Lásd pl. itt. Ennél a megoldásnál az a korlát, hogy a fordítási egység az osztály. A másik lehetőség, ami eszembe jut, a byte kód manipuláció (bytecode instrumentation), amivel lehet turkálni a már lefordított osztályok belsejében (új eljárásokat hozzáadni, meglévőeket kiegészíteni, stb.) Lásd pl. itt. Elképzelhető, hogy vannak ezekre alapozva kész megoldások is, bár én egy gyors kereséssel nem találtam ilyet.
Én nem vetném el teljesen a script nyelveket sem. (Bár nem tudom, hogy pontosan mi a feladat... ) A Groovy nagyjából felülről kompatibilis a Javával (azaz a Java forráskód érvényes Groovy forráskód is), legalábbis kb. a 7-es nyelvi szintig, bár a szemantikában vannak apróbb eltérések. A script nyelvek és a java kölcsönösen hívhatják egymást (azaz egy programon belül keverhetők). A script nyelvek mellett szól még, hogy tömörebbek (elhagyhatók a változó deklarációk, stb.), azaz pár soros kódokhoz alkalmasabbak.
''The third planet is incapable of supporting life. Our scientists have said there's far too much oxygen in their atmosphere.''
-
coco2
őstag
Sziasztok!
Van itt valami, amit mindig tudni akartam a java-ról, de sosem mertem megkérdezni. Vagy valami olyasmi.
A java-nak már van fizetős verziója is. Azzal az sdk-val felépítek egy alkalmazást. Utólag a jvm vagy a felhasznált offici libek vonatkozásában olyasmi derül ki, hogy trojan jutott be az alkalmazásba. Üzleti károkozás is történik annak kapcsán. Vállalni fog azért az Oracle üzleti felelősséget? Konkrétan kártérítés. Igen / Nem ?
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
coco2
őstag
válasz floatr #10779 üzenetére
Akkor egy kicsit vakarom a buksit. A bugfix és hasonlók időszakosak - amennyire a hírekből ki tudtam olvasni - akár fizet valaki, akár nem, nem kap gyorsabban semmit, mint a többiek. Frissítés és hasonlók a rendszergazda dolga, az Oracle miért foglalkozna azzal? Szóval nagyon nem értem én, miért is kapna az Oracle pénzt bármelyik cégtől, ha csak nem valami függöny mögötti sumák végett.
កុំភ្លេចប្រើភាសាអង់គ្លេសក្នុងបរិយាកាសអន្តរជាតិ។
-
bandi0000
nagyúr
Sziasztok
Kicsit belezavarodtam ebbe az EJB-be, hogy mire is való, mire is használják ,valaki el tudná mondani nagy vonalakban?
Néztem udemy-s videót róla, ez valamiféle dependency injection lenne?
+ Van ez a Lokal és a Remote? annotáció, magyarázta a különbséget köztük, de nem nagyon jöttem rá, hogy valós alkalmazásba mire való
Xbox One: bandymnc
-
aDtG
tag
Sziasztok!
Adott egy könyvtár/mappa, ahol fájlok találhatóak. Szeretném a mappában található fájlok nevét, méretét, esetleg még más adatait is tárolni. Fontos lenne, hogy a névhez tudjam párosítani a többi adatot.
Miután feldolgoztam őket, szeretnék velük dolgozni is, tehát a JAVA programomban használnám is ezeket az adatokat.
Mit ajánlanátok leginkább? Mivel a legcélszerűbb ezt megoldani?Köszönöm szépen
-
MODERÁTOR
-
-Faceless-
őstag
Sziasztok!
Nem javaztam már évek óta, de most egy projekthez csináltam egy Kerteshaz.java fájlt ami benne van a Haz package-ben, és le kellene fordítanom a varos.jar fajllal együtt.javac -cp -g varos.jar Kerteshaz.java
fordításra viszont mindenhol "package does not exist"-et kapok. Nem tudom, hogy én csinálok valami nagyon basic dolgot rosszul, de az éjszaka már megpróbáltam egy Windows-os, egy Linux-os gépen a szükséges java verzióval, google keresésre elolvastam az első 3 oldalnyi találatot, és legalább 10-szer átnéztem elírás után, de semmit nem találtam.Rendkívül hálás lennék, ha valaki tudna esetleg segíteni
-
-Faceless-
őstag
válasz -Faceless- #10785 üzenetére
Semmi, kár volt éjszakázni.
Ha gondoljátok lehet törölni -
bandi0000
nagyúr
válasz floatr #10787 üzenetére
Egy interjúra megyek, és ott ezt használják, bár minél jobban belerágom magam a témába annál inkább nem értem miért...
Ha jól értem a J2EE egy régebbi "framework"? ez tartalmazza a servletet, EJB-t, JMS-t, ma már viszont a Springet használják helyette pl
Xbox One: bandymnc
-
Drizzt
nagyúr
válasz bandi0000 #10788 üzenetére
Ja, a Java EE egy framework. Egy jó nagy adag specifikáció halmaz, amit különféle app szervereknek kell implementálnia, hogy Java EE compliant-ek legyenek. Régen elég kínszenvedés volt a Java EE, orrba-szájba kellett örökölgetni mindenféle framework classból. Viszont idővel megjelent az annotation based configuration, elkezdtek egyre szeparáltabbak és önmagukban is életképesek lenni a komponensek. Így ma szerintem egyébként egy nagyon jó framework a Java EE, de tény, hogy a Spring mellett nem valószínű, hogy hosszú távon túlélő lesz. Én nem örülnék neki, ha eltűnne. De ennek főleg az az oka, hogy jelenleg ebben vagyok a leginkább otthon. Springet még csak tanulom. Illetve most főleg Kubernetest, meg Helmet, mert most épp az kell a melóban, de igyekszem visszanyergelni a java-ra.
Szóval az hátránya a Java EE-nek, hogy heavyweight runtime környezet kell hozzá, de ebben is fejlődik.
De érdekes, pl. szerintem a CDI event handling sokkal szebb, mint a Springes.
[ Szerkesztve ]
I am having fun staying poor.
-
floatr
veterán
válasz bandi0000 #10788 üzenetére
Egy rakat technológia frameworkje, jobbára nyúlás a kurrens "alternatív" frameworkökből. Ez mondjuk nem lenne baj, legalább ad neki egy standard keretet. A fájó igazság viszont az, hogy kihalóban van, és a "jobbik eset", amikor meglévő kód supportjára keresnek embereket. Amikor kerestem melót, a kapuban fordultam vissza, amint kiderült, hogy EE. Bár ez csak az én hülyeségem...
-
Sziasztok!
Szeretném könyvekből meg a netről megtanulni a Javat profi szinten. Még nem tudok programozni semmilyen nyelven, és az angollal is eléggé hadilábon állok. Sikerült több Magyar nyelvű könyvet, jegyzetet is beszereznem, de ezek legalább 10 éves kiadványok, szerintetek ezek mennyire használhatóak?
-
Orionk
senior tag
válasz fatal` #10796 üzenetére
Sziasztok,
Elnézést kérek, ha ez nem pont ehhez a topichoz kötődik, ezért off-ba teszem.
Segítséget szeretnék kérni, tanácsot a tapasztaltabb Java fejlesztőktől, interjú jelentkezéssel kapcsolatban.
Szoftverfejlesztésben 2.5 év tapasztalatom van, ebből ipari környezet 2év.
Ebből Java fejlesztésben 1 - 1.5 év tapasztalat. Karrieremet mostantól Java fejlesztéssel és ahhoz kötődő technológiákkal képzelem el.
Most nyit a városunkban irodát egy szoftverfejlesztő cég, akiknek Budapesten már van irodájuk ~350 fős fejlesztő részleggel.
Java és azon belül Spring fejlesztőket keresnek. A Seniorok után már kevesebb tapasztalatú embereket is elkezdtek keresni. Springgel még nem foglalkoztam, de 1 hete már elkezdtem tanulni és szeretnék sokat fejlődni, Standard Java tudásom folyamatosan fejlődik, angol nyelvvel pedig folyékony tárgyaló szinten vagyok.
Felhívtam a HR részlegüket és azt mondták, hogy adjam be a CV-t, de kicsit azt éreztem, hogy csak azért mondják, hogy minél több emberről legyen adatuk és azzal nem veszítenek, ha plusz egy ember beadja, mert az a biztos.
Mit javasolnátok, hogyan lenne érdemes érzékeltetni a CV-ben, hogy bár nem látnak tapasztalatot Springről, de tényleg érdekelne és fejlődni szeretnék benne és így Java-ban is ?
Azon aggódok, hogy ha nem érzékeltetem a CV-ben, akkor fel sem hívnak, nem hívnak be, mert nincs Spring tapasztalatom és alap Java-ból is kicsit több tapasztalat kellene.
köszönöm szépen. -
Szmeby
tag
válasz Orionk #10797 üzenetére
A CV-be mindig az igazat írd, de nem szükséges részletezni a számodra hátrányosnak vélt (pl. 1 év java) dolgokat. Majd az interjún részletezed, ha érdekli őket vagy ha te tartod fontosnak, ahol már amúgy a lelkesedésed is látják.
Plusz a CV-ben szabad helyet szorítani egy pár mondatos bemutatkozásnak, ahol leírod a céljaidat, fejlődés, Spring tudás mélyítése, stbstb.
Persze addig se hagyd abba a tanulást, gyakorlást.
-
#68216320
törölt tag
Milyen megoldással lehetne egy külső program konzolba írt tartalmát parse-olni?
Van egy linux-os programom, ami bizonyos szenzorok adatait az alábbihoz hasonló módon adja vissza a konzolba kiírva:
... (néhány sor sima text elötte)
group1.data1.value1: 123456
group1.data1.value2: valamiszoveg
group1.data1.value3: 123.01
group1.data2.value1: valamiszoveg
group1.data2.value2: 123456
group2.data1.value1: 123456
group2.data1.value2: 123456
group2.data2.value1: 123456
group3.data1.value1: 123456
...
A lényeg, hogy minden tag új sorban van, a variable neve pontokkal van, a value lehet string, int, float.
Szeretném bizonyos időközönként (30 másodpercenként) lefuttatni ezt a külsős exe programot és a visszakapott értékeket db-ben tárolni.
Mivel volna érdemes nekikezdeni?
Az exe futtatásban, a visszakapott értékek parsolásában kellene segítség.
Db kezelés nem gond.[ Szerkesztve ]
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Microsoft Excel topic
- Fujifilm X
- Renault, Dacia topik
- OLED TV topic
- Építő/felújító topik
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- További aktív témák...