- Fórumok
- Szoftverfejlesztés
- Java programozás
- (kiemelt téma)
- Xiaomi 15T Pro - a téma nincs lezárva
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- iPhone topik
- Bemutatkozott az iQOO első T-szériása
- Külföldi prepaid SIM-ek itthon
- Yettel topik
- Android szakmai topik
- Google Pixel topik
- Bemutatkozott a OnePlus Nord 6
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - 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! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁ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
-
janos666
nagyúr
Itt a fórumon eddig öten is ajánlották a Udemy-t, nekik is szólj már légyszi, köszönöm.
Haha.
Elkezdtem nézni a "Masterclass"-t. Legelejétől, mert 5+ élve nem olvastam semmi kódot (és úgy látom kicsit más már kezdő szinten is, mint a C++).
A tanár legalább anyanyelvi angol, ugyanakkor beszédhibás, és furán van felépítve az anyag. Gyakorló feladatokat ad már az előtt, hogy elmagyarázná, hogy mik azok, és hogy épülnek fel a függvények (és hasonló alap dolgok), aztán nem tudom, hogy szándékosan oldja meg őket furán, hogy aztán bemutathasson tipikus problémákat (kicsit sem elegáns, amit csinál, megtöm mindent felesleges else ágakkal és && operátorokkal, redundáns kondíciókkal, aztán később javítja is, mert tele lesz logikai bakikkal, és mondja is, hogy túl hosszú és kacifántos, amit csinált), vagy félvállról veszi és nem is akar (vagy tud) jó példát mutatni.
-
lajszer
tag
Ez biztos Java kérdés nem véletlen JavaScript? Nem kötekedésből, csak a helyes topikban hátha jobban segítenek.
Akkor bocsi! Ment oda (is)!
-
mobal
nagyúr
Nem használok, izomból csináltam
, amúgy én elégedett vagyok most a StringBuilderrel, csak ezért nem váltom le a JDK-t, csak érdekes volt, hogy nyers "+" operátorral és String-gel ennyire lomha volt.Lehet egy templatet meg kéne próbálni, jó dolog amúgy!

-
mobal
nagyúr
De mégis gyorsabb lett a programom, csak nem jó minden esetben az autooptimalizálás. Vagy az a baj, hogy OpenJDK-val fejlesztettem?
Nem hiszem, hogy az OpenJDK lenne a baj de megpróbálhatod AdoptOpenJDK-val is pl.
Szerk.: HTML tábla generálásra nem használsz valami templateing engine-t?
-
mobal
nagyúr
Előzőre valaki?
Más: A régi tanács, hogy sima String-eket nem konkatenálunk, valóban igaz még most is. Csináltam egy egyszerűbb html táblagenerálást. Úgy voltam vele, annyira nem lesz nagy tábla, meg majd csak kioptimalizálja a JDK11.
Háát. Tetülassú volt a generálás, legalább 2-3mp volt érzésre, azt hittem valamit a rendezés körül rontottam el, aztán eszembe jutott a régi intelem, lecseréltem a függvényen belül a konkat nagyját StringBuilder append függvényére, mert csak egy szálon fut a generálás és most csak úgy ugrik befele kérésre az oldal böngészőn átAmúgy régóta "tökmind1": [link]
-
E.Kaufmann
veterán
Van egy kisebb méretű állomány egy meghajtón (<1MByte), amit egy java program ütemezett időközönként beolvas csak olvasásra és szeretném ha nem akadna össze, ha épp szerkesztenék azt az állományt. Hogy érdemes ezt az állományt feldolgozni Java alatt? Gyorsan behúznám a memóriába egy másolatát, de még ezidő alatt is szeretném, ha szerkeszthető maradna az állomány. Hogy érdemes feldolgozni?
Előzőre valaki?
Más: A régi tanács, hogy sima String-eket nem konkatenálunk, valóban igaz még most is. Csináltam egy egyszerűbb html táblagenerálást. Úgy voltam vele, annyira nem lesz nagy tábla, meg majd csak kioptimalizálja a JDK11.
Háát. Tetülassú volt a generálás, legalább 2-3mp volt érzésre, azt hittem valamit a rendezés körül rontottam el, aztán eszembe jutott a régi intelem, lecseréltem a függvényen belül a konkat nagyját StringBuilder append függvényére, mert csak egy szálon fut a generálás és most csak úgy ugrik befele kérésre az oldal böngészőn át -
Aethelstone
addikt
Ahogy nézem, a Maven-es feltételnek pont nem felel meg, de úgy is ismerkednem kellene vele és az új NetBeans is a Maven projekteket tette alapértelmezetté. Köszönöm.
Maven/Gradle/stb kikerülhetetlen manapság. Nem bexarni, csinálni

-
Aethelstone
addikt
Na hogy ON.
Tud valaki ajánlani egyszerűbb NN "könyvtárat" egyszerűbb feladatokhoz, aminek nincs rahedli függősége, Maven nélkül is behúzható egy-két jar felcsatolásával és könnyű tanítani is?Ez egész jó.
https://deeplearning4j.org/
-
Aethelstone
addikt
Én a következőket láttam: SAP-B1, Vectory, IBSystem/Infosys, nézegetek most egy negyediket. Van egy darab közös adatbázis mögöttük egy rahedli táblázattal. Vannak ugyan programmmodulok, de azok nem közvetlen egymással, hanem az adatbázissal beszélgetnek.
Ha meg van egy tényleg külön modul, ami pl a vonalkódos rendszerért felelős vagy a gyártás rögzítéséért, akkor az külön fájdalom a hátsóba, ha saját adatbázisába ír, mert tuti nem tudják megoldani tisztességesen a két adatbázis közötti kommunikációt. (legalább is sok rossz példát láttam sajnos, főleg akkor problémás ha más az ERP és a vonalkódos rendszer szállítója, valamint egy közismert magyar Bérszámfejtő "fűszerrel" is sok gond van összepasszintani teljes mértékben ERP-vel, már ha nem kézzel akarunk adatokat importálni/exportálni)Én ezt az ábrát néztem microservice-re, de lehet nem jó:

vannak kisebb szolgáltatások, melyek egy részét többen is elérik közvetlenül, másokat több másik szolgáltatás is buzgerál egyszerre.10598: értem, hogy egy közepesnél nagyobb cégnél már gond a skálázhatóság miatt, de kis cégeknél inkább plusz kín ez a szemlélet. Tudom, ők menjenek a felhőbe ERP-zni

Elvileg jó az ábra, de már rég nem kötjük össze őket így explicit. Valami service discovery vagy repository mindenképpen van, amitől kevésbé lesz pókhálós a történet

-
Drizzt
nagyúr
Jájjjj, még egy technobullshit. Mint annó a web 2.0.
Az ábrákat elnézve nem egy nagy közös adatbázis van, hanem több kicsi , adott részterületenként egy, de ugyanúgy egy részterületet egyszerre többen is elérhetnek és el is kell érniük, szóval a lényeg ugyanaz szvsz, pláne az eredeti kérdés szempontjából.
Ez max az ERP rugalmasságát biztosítja.Definiald pontosan mit ertesz a tobben alatt, illetve hogy azon tobbek kozul mennyinek van irasi, olvasasi, irasi es olvasasi joga. Es hogy melyik az a legtobb ERP rendszer.
-
Aethelstone
addikt
Jájjjj, még egy technobullshit. Mint annó a web 2.0.
Az ábrákat elnézve nem egy nagy közös adatbázis van, hanem több kicsi , adott részterületenként egy, de ugyanúgy egy részterületet egyszerre többen is elérhetnek és el is kell érniük, szóval a lényeg ugyanaz szvsz, pláne az eredeti kérdés szempontjából.
Ez max az ERP rugalmasságát biztosítja.Ez most éppen nem bullshit. Jól működő dolog. A lényeg meg ugyanaz, de a technikai megvalósítás tök más.
-
Aethelstone
addikt
Ha tobb alkalmazas irja ugyanazt az adatbazist, az a kaosz fele vezeto ut egyik elso lepcsofoka
Pedig a legtöbb ERP így működik
Láttál már jó ERP-t?
Nem véletlenül találták ki egyébként a microservice architektúrát. Ami nyilván nem teljeskörű megoldás, vannak kurva nagy gyengeségei, de alapvetően tiszta DB helyzetet teremt. -
Aethelstone
addikt
Viszont működik és naplózhatóvá válhatnak a kommunikációk, amivel pl könnyebben visszaállítható egy előző állapot, valamint ha kettőnél több fél vesz részt a kommunikációban, akkor a konkurencia kezelés is könnyebb adatbázissal. Persze lehet, hogy adott feladathoz ágyúval verébre.
Nos, nem azt mondtam, hogy nem kell db, hanem hogy közös nem kell. Viszont tényleg, pontos igényspec nélkül nehéz technológiai döntést hozni

-
mind_against
tag
Miért? Megsértettünk?
![;]](//cdn.rios.hu/dl/s/v1.gif)
Ez a Java programozás topik, én pedig programozással kapcsolatban folytatom

-
Aethelstone
addikt
Itt a fórumon eddig öten is ajánlották a Udemy-t, nekik is szólj már légyszi, köszönöm.
Nekem tökmindegy. Mindenki azt néz, amit akar

-
Aethelstone
addikt
Én nem mondom magamat profi Java-snak, de eddig munkahelyen, ami feladatot rendesen körül tudtak írni és voltak is hozzá adatok, azt mind megoldottam.
Ha már van valamennyi alapod (tudsz bohóckodni listákkal, tömbökkel, stringekkel és az IO alrendszerből is láttál pár példát), keress egy olyan feladatot, ami érdekes is de nem túl nagyszabású és próbáld megcsinálni, menet közben úgy is egy halmot kell majd gugliznod, ki kell próbálnod különféle utakat és ragad az emberre. Szerintem annál nincs jobb, ha apróbb sikerélményei vannak az embernek és látja, hogy halad, még ha nem is alkot szép és biztonságos kódot (tudom, Java a többségét elintézi a dolgoknak, de nem is a memóriafoglalásra gondoltam, hanem pl egy olyan hálózatos alkalmazásra, ami otthon jól működik, de a neten kapásból szétkapnák)
Én akkor ugrottam szintet saját érzésre, mikor egy ismerősnek kezdtem maszekolni. Igaz végül nem lett belőle semmi, mert pénzügyi dolgon összevesztünk.
Volt nálam pár tanuló gyakorlaton, egyiküknek kiadtam (bár lényegében közösen csináltuk) egy duplikált fájlkereső alkalmazást. Nem nagy feladat, de újoncnak pl annál nagyobb móka.Egyébként mostanában a Udemy fizetős tananyagait ajánlják, ha mindenáron tananyagként szeretnéd tanulni, vagy kellenek az alapok.
Ja és minimális angol sem árt, de nem kell irodalmi szint. Szakszavak meg pár ige ismerete

Udemy? Volt egy kollégám, fizikus végzettséggel. Fél év után feladta, hogy a programozás nem megy neki. Azóta Udemy-n oktat......programozást.

-
E.Kaufmann
veterán
Ha valakinek kellene DOCX "sablon" (változókkal ellátott DOCX doksi) kitöltése Apache POI-val (és StringUtils-szal), akkor itt az én módszerem.
Két-három StackOverFlow-os példát kicsit össze kellett gyúrni, hogy megtalálja a változókat és sortörést és formázást is jól kezeljen:
A lényeg, hogy a változónevek a docx-ben ${változónév} formában szerepeljenek, valamint a változók és a helyettesítő szövegek egy HashMap<String,String> objektumban vannak, ahol a key a változónév csupaszon, a value meg a helyettesítő érték.
Docx4j így kezelte, és nem akartam mindent újraírni.
Mindenesetre mind az IDE mind a java fellélegzett, hogy kiszedtem a Docx4j-t meg a függőségeit
private static void removeAllRuns(XWPFParagraph paragraph) {
int size = paragraph.getRuns().size();
for (int i = 0; i < size; i++) {
paragraph.removeRun(0);
}
}
private static void insertReplacementRuns(
XWPFParagraph paragraph, String replacedText,
String fontFamily, int fontSize)
{
String[] replacementTextSplitOnCarriageReturn = StringUtils.split(replacedText, "\n");
XWPFRun newRun = paragraph.insertNewRun(0);
newRun.setFontFamily(fontFamily);
newRun.setFontSize(fontSize);
String part = replacementTextSplitOnCarriageReturn[0];
newRun.setText(part,0);
for (int j = 1; j < replacementTextSplitOnCarriageReturn.length; j++) {
part = replacementTextSplitOnCarriageReturn[j];
newRun.addBreak();
newRun.setText(part);
}
}
public static void poiReplace(java.util.HashMap<String,String> hs, String in, String out) throws Exception
{
XWPFDocument doc = new XWPFDocument(new java.io.FileInputStream(in));
for (XWPFParagraph p : doc.getParagraphs()) {
String text = p.getText();
boolean change=false;
for ( String key : hs.keySet() ) {
if (text != null && text.contains("${"+key+"}")) {
text = text.replace("${"+key+"}", hs.get(key));
change=true;
System.out.println("\nx\n"+p.getText()+"\n"+key+"\n"+hs.get(key));
}
}
if(change){
List<XWPFRun> runs = p.getRuns();
if (runs != null) {
String ff=runs.get(0).getFontFamily();
int fs=runs.get(0).getFontSize();
removeAllRuns(p);
insertReplacementRuns(p,text,ff,fs);
}
}
}
for (XWPFTable tbl : doc.getTables()) {
for (XWPFTableRow row : tbl.getRows()) {
for (XWPFTableCell cell : row.getTableCells()) {
for (XWPFParagraph p : cell.getParagraphs()) {
String text = p.getText();
boolean change=false;
for ( String key : hs.keySet() ) {
if (text != null && text.contains("${"+key+"}")) {
text = text.replace("${"+key+"}", hs.get(key));
change=true;
}
}
if(change){
List<XWPFRun> runs = p.getRuns();
if (runs != null) {
String ff=runs.get(0).getFontFamily();
int fs=runs.get(0).getFontSize();
removeAllRuns(p);
insertReplacementRuns(p,text,ff,fs);
}
}
}
}
}
}
doc.write(new java.io.FileOutputStream(out));
doc.close();
}A poiReplace függvényt kell hívni, a másik kettőt meg a poiReplace hívogatja.
Tegnap picit még püföltem a kódon:
- kettévettem a poireplace függvényt,
- megcsináltam, hogy elvileg működjön fejléccel és lábléccel is, de ez nem lett alaposabban tesztelve
- néha írt hibaüzeneteket a Word, hogy a fájl meg van már nyitva, így bezártam az input és output állományt is a függvény végén
- kicsit sztrímesítettem, ha valakinek gondja lenne vele, távolítsa el a kódból elsőnek a .parallel() részeket:private static void paragReplace(XWPFParagraph p,java.util.HashMap<String,String> hs){
String text = p.getText();
boolean change=false;
for ( String key : hs.keySet() ) {
if (text != null && text.contains("${"+key+"}")) {
text = text.replace("${"+key+"}", hs.get(key));
change=true;
}
}
if(change){
List<XWPFRun> runs = p.getRuns();
if (runs != null) {
String ff=runs.get(0).getFontFamily();
int fs=runs.get(0).getFontSize();
removeAllRuns(p);
insertReplacementRuns(p,text,ff,fs);
}
}
}
public static void poiReplace(java.util.HashMap<String,String> hs, String in, String out) throws Exception
{
//Bekezdések
java.io.FileInputStream ins=new java.io.FileInputStream(in);
XWPFDocument doc = new XWPFDocument(ins);
doc.getParagraphs().stream().parallel()
.forEach((p) -> {
paragReplace(p,hs);
}
);
//Táblázatok
doc.getTables().stream().parallel()
.forEach((tbl) -> {tbl.getRows().stream()
.forEach((row) -> {row.getTableCells().stream()
.forEach((cell) -> {cell.getParagraphs().stream()
.forEach((p) -> {
paragReplace(p,hs);
});
});
});
}
);
//Fejléc bekezdések és táblázatok
doc.getHeaderList().stream().forEach( (hdr) ->
{
hdr.getParagraphs().stream().parallel()
.forEach((p) -> {
paragReplace(p,hs);
});
hdr.getTables().stream().parallel()
.forEach((tbl) -> {tbl.getRows().stream()
.forEach((row) -> {row.getTableCells().stream()
.forEach((cell) -> {cell.getParagraphs().stream()
.forEach((p) -> {
paragReplace(p,hs);
});
});
});
});
}
);
//Lábléc bekezdések és táblázatok
doc.getFooterList().stream().forEach( (ftr) ->
{
ftr.getParagraphs().stream().parallel()
.forEach((p) -> {
paragReplace(p,hs);
});
ftr.getTables().stream().parallel()
.forEach((tbl) -> {tbl.getRows().stream()
.forEach((row) -> {row.getTableCells().stream()
.forEach((cell) -> {cell.getParagraphs().stream()
.forEach((p) -> {
paragReplace(p,hs);
});
});
});
});
}
);
doc.write(new java.io.FileOutputStream(out));
doc.close();
ins.close();
} -
E.Kaufmann
veterán

Na mindegy, eddig müxeni látszik a B megoldás, csak próbáltam a 8.0-ásról 8.1.1-re frissíteni a docx4j-t, de elrontja a docx-et, szóközöket von egybe. Úgyhogy visszaálltam 8-ra.Ha valakinek kellene DOCX "sablon" (változókkal ellátott DOCX doksi) kitöltése Apache POI-val (és StringUtils-szal), akkor itt az én módszerem.
Két-három StackOverFlow-os példát kicsit össze kellett gyúrni, hogy megtalálja a változókat és sortörést és formázást is jól kezeljen:
A lényeg, hogy a változónevek a docx-ben ${változónév} formában szerepeljenek, valamint a változók és a helyettesítő szövegek egy HashMap<String,String> objektumban vannak, ahol a key a változónév csupaszon, a value meg a helyettesítő érték.
Docx4j így kezelte, és nem akartam mindent újraírni.
Mindenesetre mind az IDE mind a java fellélegzett, hogy kiszedtem a Docx4j-t meg a függőségeit
private static void removeAllRuns(XWPFParagraph paragraph) {
int size = paragraph.getRuns().size();
for (int i = 0; i < size; i++) {
paragraph.removeRun(0);
}
}
private static void insertReplacementRuns(
XWPFParagraph paragraph, String replacedText,
String fontFamily, int fontSize)
{
String[] replacementTextSplitOnCarriageReturn = StringUtils.split(replacedText, "\n");
XWPFRun newRun = paragraph.insertNewRun(0);
newRun.setFontFamily(fontFamily);
newRun.setFontSize(fontSize);
String part = replacementTextSplitOnCarriageReturn[0];
newRun.setText(part,0);
for (int j = 1; j < replacementTextSplitOnCarriageReturn.length; j++) {
part = replacementTextSplitOnCarriageReturn[j];
newRun.addBreak();
newRun.setText(part);
}
}
public static void poiReplace(java.util.HashMap<String,String> hs, String in, String out) throws Exception
{
XWPFDocument doc = new XWPFDocument(new java.io.FileInputStream(in));
for (XWPFParagraph p : doc.getParagraphs()) {
String text = p.getText();
boolean change=false;
for ( String key : hs.keySet() ) {
if (text != null && text.contains("${"+key+"}")) {
text = text.replace("${"+key+"}", hs.get(key));
change=true;
System.out.println("\nx\n"+p.getText()+"\n"+key+"\n"+hs.get(key));
}
}
if(change){
List<XWPFRun> runs = p.getRuns();
if (runs != null) {
String ff=runs.get(0).getFontFamily();
int fs=runs.get(0).getFontSize();
removeAllRuns(p);
insertReplacementRuns(p,text,ff,fs);
}
}
}
for (XWPFTable tbl : doc.getTables()) {
for (XWPFTableRow row : tbl.getRows()) {
for (XWPFTableCell cell : row.getTableCells()) {
for (XWPFParagraph p : cell.getParagraphs()) {
String text = p.getText();
boolean change=false;
for ( String key : hs.keySet() ) {
if (text != null && text.contains("${"+key+"}")) {
text = text.replace("${"+key+"}", hs.get(key));
change=true;
}
}
if(change){
List<XWPFRun> runs = p.getRuns();
if (runs != null) {
String ff=runs.get(0).getFontFamily();
int fs=runs.get(0).getFontSize();
removeAllRuns(p);
insertReplacementRuns(p,text,ff,fs);
}
}
}
}
}
}
doc.write(new java.io.FileOutputStream(out));
doc.close();
}A poiReplace függvényt kell hívni, a másik kettőt meg a poiReplace hívogatja.
-
Aethelstone
addikt
Szia! Köszönöm a választ, POI-t használom az XLSX-ekhez, de nem találtam működő példát docx-hez. Nem tudnál egy linket dobni egy egyszerűbb docx kitöltésről POI-val?
Hétfőn tudok majd

-
E.Kaufmann
veterán
Szia! Köszönöm a választ, POI-t használom az XLSX-ekhez, de nem találtam működő példát docx-hez. Nem tudnál egy linket dobni egy egyszerűbb docx kitöltésről POI-val?
Na közben megszületett a tákolmány
![;]](//cdn.rios.hu/dl/s/v1.gif)
Állandóan nyafogott a docx4j, hogy nincs konfig ezért az alapértelmezettet tölti be, úgyhogy ezt is megoldottam egy csapással:public static void preInit(){
//preinit docx4j
// supress system.err
java.io.PrintStream _err = System.err;
try{
System.setErr(new java.io.PrintStream(new java.io.OutputStream() {
public void write(int b) {
}
}));
//preinit without file
WordprocessingMLPackage.load(new java.io.ByteArrayInputStream(new byte[0]));
}
catch(Exception e){}
//recover system.err
System.setErr(_err);
} -
Aethelstone
addikt
Ha már így összejöttek itt a szakik egy kérdés.
Használom a docx4j projektet egyszerűbb docx doksik generálásához mintából. Projekt oldala: [link]Ha valaki esetleg használja, meg tudná mondani, hogy az első doksi generálása miért olyan hosszú?
Látszólag megfagy az ezt használó projekt az indításától számított első variableReplace() hívásnál 5 mp-re, de újabb doksik generálása már pikk-pakk megy. Kínomban már inkább indításkor generálok valami kamu doksit.Csinálj előbb egy template docx-et. Úgy szerintem gyorsabb lesz. Nyisd meg és abba írkálj. Vagy próbáld meg az apache poi-t, ha a stack-be belefér.
-
M_AND_Ms
veterán
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
-
Taoharcos
aktív tag
Milyen adatbázisban?
MySQL
-
M_AND_Ms
veterán
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).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)
-
kutga
félisten
É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).
Jó ötlet.
-
Szmeby
tag
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.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
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.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
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.Persze, feladata váltogatja a megoldást. Amúgy, meg nincs az a memóriaméret, ami ne lehetne hipp-hopp elfogyasztani
-
floatr
veterán
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.
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. -
kispx
addikt
Úgy rémlik, hogy a HTML 4 és 5 is XML, de javítsatok ki.
XHTML volt az XML.
-
floatr
veterán
É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.Ezt az XML-es témát lassan ideje lenne elfelejteni. Hacsak nem megkötés, akkor inkább JSON
Új hozzászólás Aktív témák
-
Fórumok
Mobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - 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! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokLOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendFÁ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?:))
- Sorozatok
- Anglia - élmények, tapasztalatok
- Foxpost
- A Linux megnégyszerezte magát a Steamen — a Microsoft ismét ígérget
- Parfüm topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Xiaomi 15T Pro - a téma nincs lezárva
- Xbox Classic / Xbox 360
- Sony MILC fényképezőgépcsalád
- Milyen monitort vegyek?
- További aktív témák...
- www.olcsogamerpc.hu- ÚJ GamerPC 999 - Intel Ultra 7 265KF - RTX 5070 - 32GB DDR5 -2TB NVMe -GARANCIA
- Lenovo ThinkPad 14"/i5-1135G7/32GB/240GB/magyar bill.
- Lenovo ThinkPad 14"/Ultra5-125U/16GB/480GB/magyar bill.
- ASUS ROG STRIX Z690-F GAMING WIFI DDR5 Alaplap
- Xiaomi Redmi Note 15 6/128GB, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Keresek - Chieftec hdd tartó sínt.
- GYÖNYÖRŰ iPhone 15 Plus 128GB Black -2 ÉV GARANCIA - Kártyafüggetlen, MS5487
- ÚJ Lenovo LOQ Intel Core i5-13450HX, 24GB, 1TB, RTX 5050(8GB), FHD IPS 144Hz
- HP ZBook Fury 17 G8 i7-11800H 32 GB RAM 1TB SSD NVIDIA RTX A3000 Garancia
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
Állásajánlatok
Cég: aiMotive Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

Elkezdtem nézni a "Masterclass"-t. Legelejétől, mert 5+ élve nem olvastam semmi kódot (és úgy látom kicsit más már kezdő szinten is, mint a C++).



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





