Hirdetés

Új hozzászólás Aktív témák

  • inf3rno
    nagyúr

    Sziasztok!

    Legutóbbi kommentem óta foglalkozom a Java nyelv tanulásával/gyakorlásával, s szeretnék egy afféle "Java/programozási etikett" felől érdeklődni, hogy milyen szabályokat érdemes betartani programozás közben, stb. Gondolok itt arra, hogy milyen nevet érdemes használni függvény, eljárás esetén, hogyan nevezzem el a változókat, mennyire használjam a magyar elnevezéseket, illetve az ékezetes betűket,nagy betűket, blokkok használata, stb., stb.

    Szeretnék egy helyes rendszer szerint programozni, nem feltétlen a saját elképzeléseimet követni ezzel kapcsolatban.

    Előre is köszönöm a segítséget! :R

    Találtam egy érdekes projektet: [link] itt google meg sun stílusokról írnak az egyik menüpontban, a cuccal meg tudod ellenőrizni, hogy megfelel e a kódod nekik. Magyart ha lehet hanyagold, a többiben nem én vagyok a hiteles forrás, alig fél évet jáváztam.

    szerk:
    Valszeg a legtöbb IDE-ben is van beépített megoldás ugyanerre.

  • Xantor
    tag

    Sziasztok!

    Legutóbbi kommentem óta foglalkozom a Java nyelv tanulásával/gyakorlásával, s szeretnék egy afféle "Java/programozási etikett" felől érdeklődni, hogy milyen szabályokat érdemes betartani programozás közben, stb. Gondolok itt arra, hogy milyen nevet érdemes használni függvény, eljárás esetén, hogyan nevezzem el a változókat, mennyire használjam a magyar elnevezéseket, illetve az ékezetes betűket,nagy betűket, blokkok használata, stb., stb.

    Szeretnék egy helyes rendszer szerint programozni, nem feltétlen a saját elképzeléseimet követni ezzel kapcsolatban.

    Előre is köszönöm a segítséget! :R

  • hemaka
    nagyúr

    Ha tippelnem kéne, valami key binding akadályozza az alt gr-es varázslást. Így rá tudsz nézni, vagy átállhatsz angol kiosztásra, azzal biztos nincs baj.

    Igen, ez volt a baj, ctrl + alt + F12 be volt bindelve és ezért az AltGr-t sem működtette úgy, amire eredetileg való. Köszi.

  • Karma
    félisten

    $ jel már van > továbbra sincs. Ami azért furcsa, mert közben gyorsan kipróbáltam a Zend Studiot és a Komodot is, ott nem volt probléma, simán működött...
    Írtam a suppnak, gondolom majd hétfőn válaszolnak.

    Ha tippelnem kéne, valami key binding akadályozza az alt gr-es varázslást. Így rá tudsz nézni, vagy átállhatsz angol kiosztásra, azzal biztos nincs baj.

  • hemaka
    nagyúr

    Így hirtelen ennyit találtam: [link] egy próbát megér, hátha megjavítja. Szvsz. ilyenkor inkább a support-nak érdemes írni, hogy mi a gond. Én nem tapasztaltam semmi ilyesmit amúgy, de 2 éve nem nyúltam a phpstorm-hoz, és nem is fogok többet php-zni, szóval csak a régebbi verziókkal vannak tapasztalataim. Talán az még fontos lehet, hogy PHPUnit-hoz, doctrine-hez, symfony-hoz, ilyesmikhez elég jó a támogatása ennek az IDE-nek.

    $ jel már van > továbbra sincs. Ami azért furcsa, mert közben gyorsan kipróbáltam a Zend Studiot és a Komodot is, ott nem volt probléma, simán működött...
    Írtam a suppnak, gondolom majd hétfőn válaszolnak.

  • inf3rno
    nagyúr

    Epp probalgattam egy kicsit, de feltunt, hogy nem ir > $ jeleket. Nem igazan tudom hova tenni, holnap megprobalom kiguglizni mi lehet az oka. De egyebkent tetszik, tenyleg jo.

    Ha atragtam magam a php-n, megnezem a nodejs-t is, kivancsiva tett.

    Így hirtelen ennyit találtam: [link] egy próbát megér, hátha megjavítja. Szvsz. ilyenkor inkább a support-nak érdemes írni, hogy mi a gond. Én nem tapasztaltam semmi ilyesmit amúgy, de 2 éve nem nyúltam a phpstorm-hoz, és nem is fogok többet php-zni, szóval csak a régebbi verziókkal vannak tapasztalataim. Talán az még fontos lehet, hogy PHPUnit-hoz, doctrine-hez, symfony-hoz, ilyesmikhez elég jó a támogatása ennek az IDE-nek.

  • inf3rno
    nagyúr

    Ha már szóba került, node-hoz tudtok olcsó itthoni hosting-ot?

    @hemaka:

    Node egész más világ, php-nél az aszinkron dolgokat elintézi a webszerver, szóval a kód általában szinkron marad, a node meg inkább daemonok írásáról szól, és tele van aszinkron kóddal. Ha ez nem a te világod, akkor lehet, hogy elsőre egy kukkot sem fogsz érteni belőle. A js script nyelv egyébként ugyanúgy a maga gyengeségeivel, de én szeretem.

  • Sk8erPeter
    nagyúr

    Ennyire nem érdemes már foglalkozni vele? Nem követtem mostanában mi a jobb helyette, ASP.net vagy mit használnak? :F

    A PHP egy szkriptnyelv, annak minden előnyével és hátrányával. Ha a nyelv "sajátos" tulajdonságait hozzáadjuk a mérlegelendő szempontokhoz, azzal együtt, hogy mondjuk valaki dolgozott már "tisztességesebb" programozási nyelvekkel is, akkor eléggé a hátrányok felé billen a mérleg a PHP-t tekintve. Ezt természetesen kezdőként nem fogod érezni. Inkább azt, hogy nagyon gyorsan neki lehet esni, relatíve gyorsan tanulható, de éppen ebből következően borzalmasan sok a kókler is a "piacon", és még ha ezt félre is tesszük, egyszerűen az ember érzi egy idő után, hogy lehetne szebb is, jobb is. :D Ettől még van kereslet PHP-fejlesztőre.

  • hemaka
    nagyúr

    PhpStorm jött be nekem, amikor még php-ztem. Azt hiszem 30 napig kipróbálható. 200eur+áfát írnak, szóval olyan 80k huf körüli összegbe kerül. Kb egy éve bekeményítettek a fejlesztők, már nem lehet reinstallal újrakezdeni a 30 napot, meg az árat is megduplázták. Gondolom rájöttek, hogy már mindenkit lenyomtak a piacon, vagy szimplán több pénzt akartak kivenni a projektből, passz. Én még tavaly vettem webstormot 50eur+áfáért, és az is most dupla annyiba fáj. Ingyenes alternatíva van egy csomó, azokat már évek óta nem követem, hogy milyenek. Netbeans volt még talán használható, a php-t úgy emlékszem azzal kezdtem.

    Epp probalgattam egy kicsit, de feltunt, hogy nem ir > $ jeleket. Nem igazan tudom hova tenni, holnap megprobalom kiguglizni mi lehet az oka. De egyebkent tetszik, tenyleg jo.

    Ha atragtam magam a php-n, megnezem a nodejs-t is, kivancsiva tett.

  • inf3rno
    nagyúr

    Individual developernek 100 eur + áfa.

    Sure. Benéztem. :)) Akkor mégsem drágultak.

    kieg:
    A support-juk jó, általában 1-2 napon belül reagálnak, ha hibát jelentesz be.

  • fatal`
    titán

    PhpStorm jött be nekem, amikor még php-ztem. Azt hiszem 30 napig kipróbálható. 200eur+áfát írnak, szóval olyan 80k huf körüli összegbe kerül. Kb egy éve bekeményítettek a fejlesztők, már nem lehet reinstallal újrakezdeni a 30 napot, meg az árat is megduplázták. Gondolom rájöttek, hogy már mindenkit lenyomtak a piacon, vagy szimplán több pénzt akartak kivenni a projektből, passz. Én még tavaly vettem webstormot 50eur+áfáért, és az is most dupla annyiba fáj. Ingyenes alternatíva van egy csomó, azokat már évek óta nem követem, hogy milyenek. Netbeans volt még talán használható, a php-t úgy emlékszem azzal kezdtem.

    Individual developernek 100 eur + áfa.

  • inf3rno
    nagyúr

    Ennyire nem érdemes már foglalkozni vele? Nem követtem mostanában mi a jobb helyette, ASP.net vagy mit használnak? :F

    Szvsz. érdemes még foglalkozni vele, legalábbis én freelancer-en egy csomó php-s projektet látok. Én személy szerint megutáltam, meg amúgy is js volt mindig a szívem csücske, úgyhogy most nodejs-t tolom. Ha meg ez sem jön be, akkor java.

  • inf3rno
    nagyúr

    Én még sima notepadban tanultam php-t írni, most kicsit újra beleásnám magam, csak mélyebben, viszont ide már nem lesz túl jó, gondolom mondanom sem kell miért...

    Szóval, ki milyen php editort(win alá) ajánl? Lehet fizetős és ingyenes is, tényleg, amelyik a legkezesebb, ha lehet ilyet mondani. :)

    PhpStorm jött be nekem, amikor még php-ztem. Azt hiszem 30 napig kipróbálható. 200eur+áfát írnak, szóval olyan 80k huf körüli összegbe kerül. Kb egy éve bekeményítettek a fejlesztők, már nem lehet reinstallal újrakezdeni a 30 napot, meg az árat is megduplázták. Gondolom rájöttek, hogy már mindenkit lenyomtak a piacon, vagy szimplán több pénzt akartak kivenni a projektből, passz. Én még tavaly vettem webstormot 50eur+áfáért, és az is most dupla annyiba fáj. Ingyenes alternatíva van egy csomó, azokat már évek óta nem követem, hogy milyenek. Netbeans volt még talán használható, a php-t úgy emlékszem azzal kezdtem.

  • hemaka
    nagyúr

    Kik? Kis magyar cégeknél azért előfordul a PHP (csodás minőségben általában); startupoknál trendi a Node és talán lassan a Go; az enterspájzban örökké pörög a Java (hogy EE vagy Spring, változó), az MS közelében pedig ott az ASP.NET 5.

    A kikre a válasz talán az, hogy én. :D
    Igazából szeretném magam továbbképezni és a kérdés valójában az: minek érdemes jobban neki feküdni?

  • Karma
    félisten

    Ennyire nem érdemes már foglalkozni vele? Nem követtem mostanában mi a jobb helyette, ASP.net vagy mit használnak? :F

    Kik? Kis magyar cégeknél azért előfordul a PHP (csodás minőségben általában); startupoknál trendi a Node és talán lassan a Go; az enterspájzban örökké pörög a Java (hogy EE vagy Spring, változó), az MS közelében pedig ott az ASP.NET 5.

  • hemaka
    nagyúr

    miért php? akkor miért nem egy rendes programozási nyelvet? ;]

    Ennyire nem érdemes már foglalkozni vele? Nem követtem mostanában mi a jobb helyette, ASP.net vagy mit használnak? :F

  • #39560925
    törölt tag

    Én még sima notepadban tanultam php-t írni, most kicsit újra beleásnám magam, csak mélyebben, viszont ide már nem lesz túl jó, gondolom mondanom sem kell miért...

    Szóval, ki milyen php editort(win alá) ajánl? Lehet fizetős és ingyenes is, tényleg, amelyik a legkezesebb, ha lehet ilyet mondani. :)

    miért php? akkor miért nem egy rendes programozási nyelvet? ;]

  • Karma
    félisten

    Én még sima notepadban tanultam php-t írni, most kicsit újra beleásnám magam, csak mélyebben, viszont ide már nem lesz túl jó, gondolom mondanom sem kell miért...

    Szóval, ki milyen php editort(win alá) ajánl? Lehet fizetős és ingyenes is, tényleg, amelyik a legkezesebb, ha lehet ilyet mondani. :)

    PhpStorm. De egyébként osztom Oppenheimer véleményét.

  • hemaka
    nagyúr

    Én még sima notepadban tanultam php-t írni, most kicsit újra beleásnám magam, csak mélyebben, viszont ide már nem lesz túl jó, gondolom mondanom sem kell miért...

    Szóval, ki milyen php editort(win alá) ajánl? Lehet fizetős és ingyenes is, tényleg, amelyik a legkezesebb, ha lehet ilyet mondani. :)

  • sztanozs
    veterán

    Rosszul számoltál, mivel a sorrend nem számít, ezért 56 alatt a 27, az meg csak 7,3 * 10^15.

    igaz, így már is hamarabb kész lesz :D

  • dabadab
    titán

    Elsőre azt hittem, hogyran végigfuttatom, de aztán rájöttem, nem ártana kiszámolni mennyi lehetséges állapotból kellene kiválasztani a jót:
    PERM(56, 27) = 8*10^43

    Asszem leállítom a számolást.

    Rosszul számoltál, mivel a sorrend nem számít, ezért 56 alatt a 27, az meg csak 7,3 * 10^15.

  • sztanozs
    veterán

    Ez nem jó, mert nem egyezik a darabszám, 27 db értékből kell kijönnie az összegnek.

    "A lényeg, hogy az alábbi listában a végén látható darabszámban vegyünk ki értékeket úgy, hogy a végén látható összeg kijöjjön." - talán nem volt ez alapján teljesen egyértelmű, de akkor most pontosítottam :B

    Elsőre azt hittem, hogyran végigfuttatom, de aztán rájöttem, nem ártana kiszámolni mennyi lehetséges állapotból kellene kiválasztani a jót:
    PERM(56, 27) = 8*10^43

    Asszem leállítom a számolást.

  • axioma
    veterán

    Ez nem jó, mert nem egyezik a darabszám, 27 db értékből kell kijönnie az összegnek.

    "A lényeg, hogy az alábbi listában a végén látható darabszámban vegyünk ki értékeket úgy, hogy a végén látható összeg kijöjjön." - talán nem volt ez alapján teljesen egyértelmű, de akkor most pontosítottam :B

    Upsz, ez az en megoldasomban se volt benne... sot, ellenorzessel se megoldhato, hanem tobb info kell 1 szam elereserol (ha kulonbozo darabszamu). Szoval jelen esetben a kivant darabszam a tarolasi igenynel bejon szorzonak. Szoval int->int[db+1] kell, es okos masolas...

  • Sk8erPeter
    nagyúr

    Kihagytad azt a részt, hogy jelenleg egy email küldő formot rakott össze számunkra ismeretlen módon, valszeg netről copy-paste-elve valamelyik tutorial-ból, legalábbis nekem ez jött le. Ilyen kontextusban azért elég gyakori, hogy pl php mail függvényt meg hasonló retteneteket használnak bármilyen ellenőrzés nélkül.

    A mondandóddal egyébként egyetértek. Azért használunk CMS-t és web framework-öket, mert leveszik ezeket a terheket a vállunkról, és a feladatra tudunk összpontosítani. Annyit azért hozzátennék, hogy egyik ilyen rendszer sem tökéletes, és érdemes figyelni a security update-eket.

    Ja, hogy a jelenlegi megoldására írtad, azt hittem, a CMS-es jövőbeli megoldásra, akkor bocsi, félreértettelek, és így igazad van. :)

  • inf3rno
    nagyúr

    Ha már CMS-t használ, akkor normális esetben az utóbbi bekezdésed tök felesleges, mivel a tartalomkezelő rendszer ezeket a potenciális veszélyeket lekezeli. Ha nem teszi, akkor másik CMS-t kell választani.

    Kihagytad azt a részt, hogy jelenleg egy email küldő formot rakott össze számunkra ismeretlen módon, valszeg netről copy-paste-elve valamelyik tutorial-ból, legalábbis nekem ez jött le. Ilyen kontextusban azért elég gyakori, hogy pl php mail függvényt meg hasonló retteneteket használnak bármilyen ellenőrzés nélkül.

    A mondandóddal egyébként egyetértek. Azért használunk CMS-t és web framework-öket, mert leveszik ezeket a terheket a vállunkról, és a feladatra tudunk összpontosítani. Annyit azért hozzátennék, hogy egyik ilyen rendszer sem tökéletes, és érdemes figyelni a security update-eket.

  • Sk8erPeter
    nagyúr

    Ha most csak ennyi ment, akkor közöld, hogy erre vagy képes, többre most nem. Nézz utána, hogy az adott nyelven mi a divatos CMS vagy webalkalmazás keretrendszer, aztán kezdd el azt tanulgatni. Ezen kívül az épp divatos adatbázisnál is érdemes néhány SQL lekérdezést összeszórni, hogy képben legyél. Szóval kell rá egy pár hónap, mire valamit le tudsz tenni az asztalra, addig meg nincs értelme húzni a projektet meg tologatni a határidőt. Szerintem.

    Email-nél mindenképp nézz utána, hogy header injection-t, ilyesmit ne tudjanak beletenni, szóval ellenőrizd és kezeld a tartalmat, amit a felhasználótól kapsz. Adatbázisnál SQL injectionre érdemes védeni, HTML-nél, js-nél XSS-re. És így tovább.

    Ha már CMS-t használ, akkor normális esetben az utóbbi bekezdésed tök felesleges, mivel a tartalomkezelő rendszer ezeket a potenciális veszélyeket lekezeli. Ha nem teszi, akkor másik CMS-t kell választani.

  • bambano
    titán

    Sziasztok! A következő problémában kérném a segítségetek:
    Össze kell dobnom egy étterem számára egy olyan weboldalt, ahol lehetőség van adott ételek online rendelésére. Sajnos a tudásom csak egy emailküldő form létrehozásáig terjed, de az nem lenne túl elegáns megoldás. Keresgettem ingyenes scripteket, cms rendszereket, de kevés sikerrel. Tudnátok ajánlani valamit? Előre is köszönöm a segítséget, illetve elnézést ha nem a megfelelő topicot használom.

    én a prestashoppal kezdeném, meg azzal a több kötetnyi jogszabállyal, ami egyébként kell hozzá.

  • inf3rno
    nagyúr

    Sziasztok! A következő problémában kérném a segítségetek:
    Össze kell dobnom egy étterem számára egy olyan weboldalt, ahol lehetőség van adott ételek online rendelésére. Sajnos a tudásom csak egy emailküldő form létrehozásáig terjed, de az nem lenne túl elegáns megoldás. Keresgettem ingyenes scripteket, cms rendszereket, de kevés sikerrel. Tudnátok ajánlani valamit? Előre is köszönöm a segítséget, illetve elnézést ha nem a megfelelő topicot használom.

    Ha most csak ennyi ment, akkor közöld, hogy erre vagy képes, többre most nem. Nézz utána, hogy az adott nyelven mi a divatos CMS vagy webalkalmazás keretrendszer, aztán kezdd el azt tanulgatni. Ezen kívül az épp divatos adatbázisnál is érdemes néhány SQL lekérdezést összeszórni, hogy képben legyél. Szóval kell rá egy pár hónap, mire valamit le tudsz tenni az asztalra, addig meg nincs értelme húzni a projektet meg tologatni a határidőt. Szerintem.

    Email-nél mindenképp nézz utána, hogy header injection-t, ilyesmit ne tudjanak beletenni, szóval ellenőrizd és kezeld a tartalmat, amit a felhasználótól kapsz. Adatbázisnál SQL injectionre érdemes védeni, HTML-nél, js-nél XSS-re. És így tovább.

  • sztanozs
    veterán

    Ez nem jó, mert nem egyezik a darabszám, 27 db értékből kell kijönnie az összegnek.

    "A lényeg, hogy az alábbi listában a végén látható darabszámban vegyünk ki értékeket úgy, hogy a végén látható összeg kijöjjön." - talán nem volt ez alapján teljesen egyértelmű, de akkor most pontosítottam :B

    ok, csak néhány plusz sor - ezzel mondjuk láthatóan tovább fut a program:)

  • peterszky
    őstag

    Nekem ez jött ki backtrack-kel:
    119709
    84657
    68233
    50364
    12047
    3650
    2136
    1553
    1470
    891

    A megoldást (excel vba) majd feltolom valahová.

    Ez nem jó, mert nem egyezik a darabszám, 27 db értékből kell kijönnie az összegnek.

    "A lényeg, hogy az alábbi listában a végén látható darabszámban vegyünk ki értékeket úgy, hogy a végén látható összeg kijöjjön." - talán nem volt ez alapján teljesen egyértelmű, de akkor most pontosítottam :B

  • jss8
    csendes tag

    Sziasztok! A következő problémában kérném a segítségetek:
    Össze kell dobnom egy étterem számára egy olyan weboldalt, ahol lehetőség van adott ételek online rendelésére. Sajnos a tudásom csak egy emailküldő form létrehozásáig terjed, de az nem lenne túl elegáns megoldás. Keresgettem ingyenes scripteket, cms rendszereket, de kevés sikerrel. Tudnátok ajánlani valamit? Előre is köszönöm a segítséget, illetve elnézést ha nem a megfelelő topicot használom.

  • sztanozs
    veterán

    Igen, csak pozitív egészek (az összegek HUF értékek), ismétlés - ha egyforma értékekre gondolsz - akkor lehet benne, darabra korlát elméletben nincs, csak gyakorlati megfigyelés, hogy 50 alatti szám.

    Az 1% az, hogy a megoldásban nem szerepel a rendezett sorban a legnagyobb első érték (mint ebben az esetben) és ezért elég sokat csiki-csukizik a magasabb darabszámnál.

    Szoft összefüggés van (ezt már beépítettük), de nem állandó, amikor a nem állandó eset van, akkor indul a bf mód.

    A megoldás egyébként:

    68233
    37626
    31902
    18548
    17824
    15864
    14907
    13956
    12374
    11621
    11269
    10316
    9826
    9367
    8231
    8056
    7454
    6877
    6501
    6325
    4039
    3682
    3159
    2256
    2136
    1470
    891

    Nekem ez jött ki backtrack-kel:
    119709
    84657
    68233
    50364
    12047
    3650
    2136
    1553
    1470
    891

    A megoldást (excel vba) majd feltolom valahová.

  • sztanozs
    veterán

    egyrészt nem akartam feltalálni újra a spanyolviaszt, ezért a linuxos memóriateszterből loptam az alapötletet.
    másrészt a 0x00 és a 0xff kihagyásával kihagyod azt a tesztet, hogy a memóriameghajtó áramkörök kapnak-e elég teljesítményt és képesek-e egyszerre kihajtani az egész buszt. merugye ez még inteléknek se mindig sikerül.

    mondjuk ez a feladatkiírásban nem volt benne...

  • bambano
    titán

    Igazából szerintem az utolsó kettő is elég: 0xaa, 0x55 - ez lefedi az első kettőt (csak nem egyszerre az összes biten), persze csak akkor, ha nem kell tudni megmondani, hogy 2. vagy 3. típusú hiba van.
    Amúgy szerintem az 1.-es hibát (floating line) nem triviális szoftveres úton kideríteni - illetve ki lehet sok teszttel, és nézni, hogy a teljes teszt során volt-e "véletlen" hiba.

    egyrészt nem akartam feltalálni újra a spanyolviaszt, ezért a linuxos memóriateszterből loptam az alapötletet.
    másrészt a 0x00 és a 0xff kihagyásával kihagyod azt a tesztet, hogy a memóriameghajtó áramkörök kapnak-e elég teljesítményt és képesek-e egyszerre kihajtani az egész buszt. merugye ez még inteléknek se mindig sikerül.

  • sztanozs
    veterán

    4 darab: 0x00, 0xff, 0xaa, 0x55

    Igazából szerintem az utolsó kettő is elég: 0xaa, 0x55 - ez lefedi az első kettőt (csak nem egyszerre az összes biten), persze csak akkor, ha nem kell tudni megmondani, hogy 2. vagy 3. típusú hiba van.
    Amúgy szerintem az 1.-es hibát (floating line) nem triviális szoftveres úton kideríteni - illetve ki lehet sok teszttel, és nézni, hogy a teljes teszt során volt-e "véletlen" hiba.

  • bambano
    titán

    Kellemes estét mindenkinek,

    Lenne egy kérdésem ami részben a programozáshoz kapcsolódik (verilog nyelv), részben pedig az áramkörökhöz (FPGA)
    A kérdés:

    ----------------------

    Sajnos a nyomtatott áramköri kártyák gyártása, használata során előfordulhatnak hibák, pl. a nyomtatott áramkör (NYÁK) vezetékei egymással zárlatba kerülhetnek, megszakadhatnak, a forrasztás rövidre zár két vagy több szomszédos kivezetést, stb. Összefoglalóan ezt úgy nevezzük, hogy olyan hibákat tételezünk fel, ahol:
    1) – a jel nem terjed tovább (szakadás)
    2) – a jel 0-ba vagy 1-be ragad (rövidzár tápra, földre)
    3) – két szomszédos jel zárlatba kerül egymással
    Ha ezeket a típusú hibákat tételezzük fel, úgy, hogy bármelyik vezetéken előfordulhatnak a 8 bites buszon, minimum mennyi és milyen bitmintájú tesztvektor alkalmazásával lehet garantáltan állítani, hogy az ellenőrzés teljes körű? A triviális felső korlát a 256 db teljes tesztvektor készlet.

    ----------------------

    Ha valaki esetleg tudná a megoldást, akkor örömmel meghallgatnám (indokkal együtt). Vagy ha valaki tudja, hogy mit kell elolvasni, minek nézzek utána, hogy a megoldást megleljem akkor azt megköszönném.

    4 darab: 0x00, 0xff, 0xaa, 0x55

  • asuspc96
    őstag

    Kellemes estét mindenkinek,

    Lenne egy kérdésem ami részben a programozáshoz kapcsolódik (verilog nyelv), részben pedig az áramkörökhöz (FPGA)
    A kérdés:

    ----------------------

    Sajnos a nyomtatott áramköri kártyák gyártása, használata során előfordulhatnak hibák, pl. a nyomtatott áramkör (NYÁK) vezetékei egymással zárlatba kerülhetnek, megszakadhatnak, a forrasztás rövidre zár két vagy több szomszédos kivezetést, stb. Összefoglalóan ezt úgy nevezzük, hogy olyan hibákat tételezünk fel, ahol:
    1) – a jel nem terjed tovább (szakadás)
    2) – a jel 0-ba vagy 1-be ragad (rövidzár tápra, földre)
    3) – két szomszédos jel zárlatba kerül egymással
    Ha ezeket a típusú hibákat tételezzük fel, úgy, hogy bármelyik vezetéken előfordulhatnak a 8 bites buszon, minimum mennyi és milyen bitmintájú tesztvektor alkalmazásával lehet garantáltan állítani, hogy az ellenőrzés teljes körű? A triviális felső korlát a 256 db teljes tesztvektor készlet.

    ----------------------

    Ha valaki esetleg tudná a megoldást, akkor örömmel meghallgatnám (indokkal együtt). Vagy ha valaki tudja, hogy mit kell elolvasni, minek nézzek utána, hogy a megoldást megleljem akkor azt megköszönném.

  • peterszky
    őstag

    Ismetlesnel arra gondoltam, hogy ugyanaz az index 2x lehet-e (egy szam - ha csak 1x van is - felhasznalhato-e ketszer), de gondolom akkor nem.
    Ja, hogy az 1%-ot ugy erted, hogy akkor nem jon ki, amikor a (melysegi) kereses nem talalja meg az elejen... azaz nem is nem jon ki, hanem nem varjatok ki.
    Ha ezek penzosszegek, akkor gondolom lehet felso korlat a szummara, mondjuk 10M. Teged pedig legfeljebb a 10M alatti osszes szam _egyfele_ osszeallitasa erdekel. DE: az egyes ertekekhez me'g erre sincs szukseged. Eleg az utolso elemet tudni, ami kellett ahhoz, hogy o osszealljon. (Az egyikben.)
    Szoval reszemrol a kovetkezo algot probalnam be:
    map int->int
    indulaskor 0->0
    csokkeno sorrendben a szamok, mindegyiknel a map minden elemehez hozzaadod, es ha kisebb a celszamnal es nincs me'g benne, akkor beteszed az uj szamot rendelve hozza.
    amikor megkapod a celszamot pont, akkor abort, es visszakeresed: a map-ben milyen szamot irtal melle, kivonod a celszamobol azt, es keresed a map-ben a maradekot. Ismetled amig a 0->0-hoz nem jutsz. Voila, megvan a keresett halmaz.
    Ez igy ordo max^2*darabszam ordo max^2*ln(max)*darabszam (a map koltsegigenye miatt) komplexitas idoben, es ordo max tarhelyben. Azt neked kell tudnod, hogy ez belefer-e.
    Ilyesfajta megoldasra gondoltal?

    Igen, minden index csak egyszer használható fel, köszi az ötletet, átgondolom.

  • peterszky
    őstag

    szvsz ha van megoldás, sima backtack-kel megoldható: a legmagasabbtól indulva, összeadva, amíg nagyobb vagy egyenlő nem lkesz, aztán ha nagyobb, akkor backtack. Ha a backtack után (vagy akár az első lépésben) összes elérhető szám összege kisebb, mint kívánt, akkor nincs megoldás.
    Amúgy csak pontos megoldás jöhet szóba (range nem)?

    Igen, csak a pontos megoldás az érdekes.

  • axioma
    veterán

    Ismetlesnel arra gondoltam, hogy ugyanaz az index 2x lehet-e (egy szam - ha csak 1x van is - felhasznalhato-e ketszer), de gondolom akkor nem.
    Ja, hogy az 1%-ot ugy erted, hogy akkor nem jon ki, amikor a (melysegi) kereses nem talalja meg az elejen... azaz nem is nem jon ki, hanem nem varjatok ki.
    Ha ezek penzosszegek, akkor gondolom lehet felso korlat a szummara, mondjuk 10M. Teged pedig legfeljebb a 10M alatti osszes szam _egyfele_ osszeallitasa erdekel. DE: az egyes ertekekhez me'g erre sincs szukseged. Eleg az utolso elemet tudni, ami kellett ahhoz, hogy o osszealljon. (Az egyikben.)
    Szoval reszemrol a kovetkezo algot probalnam be:
    map int->int
    indulaskor 0->0
    csokkeno sorrendben a szamok, mindegyiknel a map minden elemehez hozzaadod, es ha kisebb a celszamnal es nincs me'g benne, akkor beteszed az uj szamot rendelve hozza.
    amikor megkapod a celszamot pont, akkor abort, es visszakeresed: a map-ben milyen szamot irtal melle, kivonod a celszamobol azt, es keresed a map-ben a maradekot. Ismetled amig a 0->0-hoz nem jutsz. Voila, megvan a keresett halmaz.
    Ez igy ordo max^2*darabszam ordo max^2*ln(max)*darabszam (a map koltsegigenye miatt) komplexitas idoben, es ordo max tarhelyben. Azt neked kell tudnod, hogy ez belefer-e.
    Ilyesfajta megoldasra gondoltal?

    Bocs, max helyett cel, es kevertem a tombos vs. map-es kikeresest mert menet kozben irtam at es kapkodtam, de gondolom kibogozhato. Ez a ketto mar csak varhato ertekekben [ido es tarhely] kulonbozik, ami viszont szamithat, nem pedig a worst case felso becsleseben.

  • axioma
    veterán

    Igen, csak pozitív egészek (az összegek HUF értékek), ismétlés - ha egyforma értékekre gondolsz - akkor lehet benne, darabra korlát elméletben nincs, csak gyakorlati megfigyelés, hogy 50 alatti szám.

    Az 1% az, hogy a megoldásban nem szerepel a rendezett sorban a legnagyobb első érték (mint ebben az esetben) és ezért elég sokat csiki-csukizik a magasabb darabszámnál.

    Szoft összefüggés van (ezt már beépítettük), de nem állandó, amikor a nem állandó eset van, akkor indul a bf mód.

    A megoldás egyébként:

    68233
    37626
    31902
    18548
    17824
    15864
    14907
    13956
    12374
    11621
    11269
    10316
    9826
    9367
    8231
    8056
    7454
    6877
    6501
    6325
    4039
    3682
    3159
    2256
    2136
    1470
    891

    Ismetlesnel arra gondoltam, hogy ugyanaz az index 2x lehet-e (egy szam - ha csak 1x van is - felhasznalhato-e ketszer), de gondolom akkor nem.
    Ja, hogy az 1%-ot ugy erted, hogy akkor nem jon ki, amikor a (melysegi) kereses nem talalja meg az elejen... azaz nem is nem jon ki, hanem nem varjatok ki.
    Ha ezek penzosszegek, akkor gondolom lehet felso korlat a szummara, mondjuk 10M. Teged pedig legfeljebb a 10M alatti osszes szam _egyfele_ osszeallitasa erdekel. DE: az egyes ertekekhez me'g erre sincs szukseged. Eleg az utolso elemet tudni, ami kellett ahhoz, hogy o osszealljon. (Az egyikben.)
    Szoval reszemrol a kovetkezo algot probalnam be:
    map int->int
    indulaskor 0->0
    csokkeno sorrendben a szamok, mindegyiknel a map minden elemehez hozzaadod, es ha kisebb a celszamnal es nincs me'g benne, akkor beteszed az uj szamot rendelve hozza.
    amikor megkapod a celszamot pont, akkor abort, es visszakeresed: a map-ben milyen szamot irtal melle, kivonod a celszamobol azt, es keresed a map-ben a maradekot. Ismetled amig a 0->0-hoz nem jutsz. Voila, megvan a keresett halmaz.
    Ez igy ordo max^2*darabszam ordo max^2*ln(max)*darabszam (a map koltsegigenye miatt) komplexitas idoben, es ordo max tarhelyben. Azt neked kell tudnod, hogy ez belefer-e.
    Ilyesfajta megoldasra gondoltal?

  • sztanozs
    veterán

    Igen, csak pozitív egészek (az összegek HUF értékek), ismétlés - ha egyforma értékekre gondolsz - akkor lehet benne, darabra korlát elméletben nincs, csak gyakorlati megfigyelés, hogy 50 alatti szám.

    Az 1% az, hogy a megoldásban nem szerepel a rendezett sorban a legnagyobb első érték (mint ebben az esetben) és ezért elég sokat csiki-csukizik a magasabb darabszámnál.

    Szoft összefüggés van (ezt már beépítettük), de nem állandó, amikor a nem állandó eset van, akkor indul a bf mód.

    A megoldás egyébként:

    68233
    37626
    31902
    18548
    17824
    15864
    14907
    13956
    12374
    11621
    11269
    10316
    9826
    9367
    8231
    8056
    7454
    6877
    6501
    6325
    4039
    3682
    3159
    2256
    2136
    1470
    891

    szvsz ha van megoldás, sima backtack-kel megoldható: a legmagasabbtól indulva, összeadva, amíg nagyobb vagy egyenlő nem lkesz, aztán ha nagyobb, akkor backtack. Ha a backtack után (vagy akár az első lépésben) összes elérhető szám összege kisebb, mint kívánt, akkor nincs megoldás.
    Amúgy csak pontos megoldás jöhet szóba (range nem)?

  • peterszky
    őstag

    Azt azert nem artana tisztazni, hogy a feladatra milyen korlatok vannak: csak pozitiv egeszek lesznek-e (felteszem igen), ismetles lehet-e (mivel talaltam egyformat, gondolom nem), mi a korlatja a darabszamnak, ilyesmi... azert a hatvanyhalmaz eleg durva tudna lenni. Ha ez nem valami iskolai feladat, akkor az inputok honnan vannak, lehet-e valami "szoft" osszefuggest kiszedni belole?
    Es a brute force-nal mi az az 1%? Az nem tud nem bejonni. Kifejtened?

    Igen, csak pozitív egészek (az összegek HUF értékek), ismétlés - ha egyforma értékekre gondolsz - akkor lehet benne, darabra korlát elméletben nincs, csak gyakorlati megfigyelés, hogy 50 alatti szám.

    Az 1% az, hogy a megoldásban nem szerepel a rendezett sorban a legnagyobb első érték (mint ebben az esetben) és ezért elég sokat csiki-csukizik a magasabb darabszámnál.

    Szoft összefüggés van (ezt már beépítettük), de nem állandó, amikor a nem állandó eset van, akkor indul a bf mód.

    A megoldás egyébként:

    68233
    37626
    31902
    18548
    17824
    15864
    14907
    13956
    12374
    11621
    11269
    10316
    9826
    9367
    8231
    8056
    7454
    6877
    6501
    6325
    4039
    3682
    3159
    2256
    2136
    1470
    891

  • kekigyu
    aktív tag

    Üdv nektek!

    Láttam, hogy tegnap segítettetek Blizz-nek, hasonló cipőben járok én is. Annyi a különbség, hogy én nem autodidakta módon szeretném csinálni. Például az OKTAV honlapján a szoftverfejlesztő tanfolyamról mi a véleményetek? Értékelhető tudást adhat?

    Köszi

  • axioma
    veterán

    Van egy valós életbeli problémám, a lényeg, hogy vannak értékek, emellett egy darabszám és egy összeg. A bruteforce megoldás 99%-ban jól működik, de ott az az 1%, ami bármikor bejöhet és mint tudjuk, ez be is jön.

    A lényeg, hogy az alábbi listában a végén látható darabszámban vegyünk ki értékeket úgy, hogy a végén látható összeg kijöjjön.

    Knapsack vagy ennek egy változata volt talán az, amit nézegettem, de egyelőre nem tudom eldönteni, hogy melyik megoldásnak kellene nekiállni, a dinamikus programozás változata ilyen értékeknél, ha jól értelmeztem, akkor elég halál memória szempontból.

    Esetleg valakinek van javaslata, merre lenne érdemes nézelődni még?

    NDX: 0 OSSZEG: 119709
    NDX: 1 OSSZEG: 84657
    NDX: 2 OSSZEG: 68233
    NDX: 3 OSSZEG: 50364
    NDX: 4 OSSZEG: 40664
    NDX: 5 OSSZEG: 37626
    NDX: 6 OSSZEG: 32079
    NDX: 7 OSSZEG: 31902
    NDX: 8 OSSZEG: 28440
    NDX: 9 OSSZEG: 26180
    NDX: 10 OSSZEG: 20632
    NDX: 11 OSSZEG: 20535
    NDX: 12 OSSZEG: 18548
    NDX: 13 OSSZEG: 17824
    NDX: 14 OSSZEG: 16424
    NDX: 15 OSSZEG: 16406
    NDX: 16 OSSZEG: 15864
    NDX: 17 OSSZEG: 14909
    NDX: 18 OSSZEG: 14907
    NDX: 19 OSSZEG: 14131
    NDX: 20 OSSZEG: 13956
    NDX: 21 OSSZEG: 12374
    NDX: 22 OSSZEG: 12047
    NDX: 23 OSSZEG: 11621
    NDX: 24 OSSZEG: 11269
    NDX: 25 OSSZEG: 11230
    NDX: 26 OSSZEG: 10917
    NDX: 27 OSSZEG: 10316
    NDX: 28 OSSZEG: 9826
    NDX: 29 OSSZEG: 9690
    NDX: 30 OSSZEG: 9594
    NDX: 31 OSSZEG: 9367
    NDX: 32 OSSZEG: 8231
    NDX: 33 OSSZEG: 8056
    NDX: 34 OSSZEG: 7779
    NDX: 35 OSSZEG: 7454
    NDX: 36 OSSZEG: 6947
    NDX: 37 OSSZEG: 6877
    NDX: 38 OSSZEG: 6501
    NDX: 39 OSSZEG: 6325
    NDX: 40 OSSZEG: 6147
    NDX: 41 OSSZEG: 6147
    NDX: 42 OSSZEG: 6074
    NDX: 43 OSSZEG: 5791
    NDX: 44 OSSZEG: 4039
    NDX: 45 OSSZEG: 3682
    NDX: 46 OSSZEG: 3650
    NDX: 47 OSSZEG: 3639
    NDX: 48 OSSZEG: 3159
    NDX: 49 OSSZEG: 2610
    NDX: 50 OSSZEG: 2331
    NDX: 51 OSSZEG: 2256
    NDX: 52 OSSZEG: 2136
    NDX: 53 OSSZEG: 1553
    NDX: 54 OSSZEG: 1470
    NDX: 55 OSSZEG: 891
    NDX: 56 OSSZEG: 235

    DB: 27 OSSZEG: 344710

    Azt azert nem artana tisztazni, hogy a feladatra milyen korlatok vannak: csak pozitiv egeszek lesznek-e (felteszem igen), ismetles lehet-e (mivel talaltam egyformat, gondolom nem), mi a korlatja a darabszamnak, ilyesmi... azert a hatvanyhalmaz eleg durva tudna lenni. Ha ez nem valami iskolai feladat, akkor az inputok honnan vannak, lehet-e valami "szoft" osszefuggest kiszedni belole?
    Es a brute force-nal mi az az 1%? Az nem tud nem bejonni. Kifejtened?

  • inf3rno
    nagyúr

    Van egy valós életbeli problémám, a lényeg, hogy vannak értékek, emellett egy darabszám és egy összeg. A bruteforce megoldás 99%-ban jól működik, de ott az az 1%, ami bármikor bejöhet és mint tudjuk, ez be is jön.

    A lényeg, hogy az alábbi listában a végén látható darabszámban vegyünk ki értékeket úgy, hogy a végén látható összeg kijöjjön.

    Knapsack vagy ennek egy változata volt talán az, amit nézegettem, de egyelőre nem tudom eldönteni, hogy melyik megoldásnak kellene nekiállni, a dinamikus programozás változata ilyen értékeknél, ha jól értelmeztem, akkor elég halál memória szempontból.

    Esetleg valakinek van javaslata, merre lenne érdemes nézelődni még?

    NDX: 0 OSSZEG: 119709
    NDX: 1 OSSZEG: 84657
    NDX: 2 OSSZEG: 68233
    NDX: 3 OSSZEG: 50364
    NDX: 4 OSSZEG: 40664
    NDX: 5 OSSZEG: 37626
    NDX: 6 OSSZEG: 32079
    NDX: 7 OSSZEG: 31902
    NDX: 8 OSSZEG: 28440
    NDX: 9 OSSZEG: 26180
    NDX: 10 OSSZEG: 20632
    NDX: 11 OSSZEG: 20535
    NDX: 12 OSSZEG: 18548
    NDX: 13 OSSZEG: 17824
    NDX: 14 OSSZEG: 16424
    NDX: 15 OSSZEG: 16406
    NDX: 16 OSSZEG: 15864
    NDX: 17 OSSZEG: 14909
    NDX: 18 OSSZEG: 14907
    NDX: 19 OSSZEG: 14131
    NDX: 20 OSSZEG: 13956
    NDX: 21 OSSZEG: 12374
    NDX: 22 OSSZEG: 12047
    NDX: 23 OSSZEG: 11621
    NDX: 24 OSSZEG: 11269
    NDX: 25 OSSZEG: 11230
    NDX: 26 OSSZEG: 10917
    NDX: 27 OSSZEG: 10316
    NDX: 28 OSSZEG: 9826
    NDX: 29 OSSZEG: 9690
    NDX: 30 OSSZEG: 9594
    NDX: 31 OSSZEG: 9367
    NDX: 32 OSSZEG: 8231
    NDX: 33 OSSZEG: 8056
    NDX: 34 OSSZEG: 7779
    NDX: 35 OSSZEG: 7454
    NDX: 36 OSSZEG: 6947
    NDX: 37 OSSZEG: 6877
    NDX: 38 OSSZEG: 6501
    NDX: 39 OSSZEG: 6325
    NDX: 40 OSSZEG: 6147
    NDX: 41 OSSZEG: 6147
    NDX: 42 OSSZEG: 6074
    NDX: 43 OSSZEG: 5791
    NDX: 44 OSSZEG: 4039
    NDX: 45 OSSZEG: 3682
    NDX: 46 OSSZEG: 3650
    NDX: 47 OSSZEG: 3639
    NDX: 48 OSSZEG: 3159
    NDX: 49 OSSZEG: 2610
    NDX: 50 OSSZEG: 2331
    NDX: 51 OSSZEG: 2256
    NDX: 52 OSSZEG: 2136
    NDX: 53 OSSZEG: 1553
    NDX: 54 OSSZEG: 1470
    NDX: 55 OSSZEG: 891
    NDX: 56 OSSZEG: 235

    DB: 27 OSSZEG: 344710

    Nem hiszem, hogy ez lehetséges, ha ekkora számokról van szó, és random a dolog. Max közelítőleg lehet megtalálni, hogy mi a jó db szám.

    Algoritmust nem tudok javasolni, mert ahhoz nem értek. Talán sorba kellene rendezni, és az összeg és az irányszám különbségénél kisebb elemek összeadásával próbálkozni. Jelen esetben ez 591511, szóval mind a 27 elem részt vesz a játékban. Én sem hiszem, hogy erre ne lenne elég a brute force, nem százezer elemes dolgokról van szó. Még excel is 1-2 sec alatt kiszámolta nekem a megoldójával, mondjuk az ránézésre monte carlo-val megy, mert könnyen beragad egy értékre, ami nem is a legoptimálisabb. Esetleg nyálazz át egy algoritmusos könyvet, ha az optimális megoldás kellene.

  • martonx
    veterán

    Elképzelhető olyan felállás, hogy nem lehet kihozni az eredményt egyetlen kombinációval sem.
    Hozz össze pl ebből 27-et:
    4
    5
    6
    7
    8

    Amúgy én is valami backtack-kel próbálkoznék (elsőre a legnagyobb értékekkel kezdve).

    Ok, mondjuk az nem derült ki, hogy van-e megoldás minden esetben? Gondoltam van, ha már ilyen konkrét számok előálltak, és csak vissza kellene fejteni, hogy vajon miből álltak elő.

  • bambano
    titán

    "az mindig megtalálja a megoldást, ha van" - ha a kellő időt rászánod.

    Az valóban fura brute force lehet, ami csak 99%-osan hatékony. :K

    "ha a kellő időt rászánod.": a szövegkörnyezetben levő "végigpróbálgatod az összes lehetséges verziót" kitétel szerintem adja, hogy rászántad az időt.

  • sztanozs
    veterán

    "az mindig megtalálja a megoldást, ha van" - ha a kellő időt rászánod.

    Az valóban fura brute force lehet, ami csak 99%-osan hatékony. :K

    Elképzelhető olyan felállás, hogy nem lehet kihozni az eredményt egyetlen kombinációval sem.
    Hozz össze pl ebből 27-et:
    4
    5
    6
    7
    8

    Amúgy én is valami backtack-kel próbálkoznék (elsőre a legnagyobb értékekkel kezdve).

  • martonx
    veterán

    nem tudom, hogy mit értesz brute force megoldás alatt, de a brute force azt jelenti, hogy agyatlanul végigpróbálgatod az összes lehetséges verziót és kiválasztod a végeredményt. tehát az mindig megtalálja a megoldást, ha van.

    a mai világban egy 56 elemű listának én brute force módszerrel állnék neki, backtrack egy intelligensebb változatával próbálkoznék. memória nem kell neki sok, a processzorodat agyonüti, de ez engem nem izgatna :)

    "az mindig megtalálja a megoldást, ha van" - ha a kellő időt rászánod.

    Az valóban fura brute force lehet, ami csak 99%-osan hatékony. :K

  • bambano
    titán

    Van egy valós életbeli problémám, a lényeg, hogy vannak értékek, emellett egy darabszám és egy összeg. A bruteforce megoldás 99%-ban jól működik, de ott az az 1%, ami bármikor bejöhet és mint tudjuk, ez be is jön.

    A lényeg, hogy az alábbi listában a végén látható darabszámban vegyünk ki értékeket úgy, hogy a végén látható összeg kijöjjön.

    Knapsack vagy ennek egy változata volt talán az, amit nézegettem, de egyelőre nem tudom eldönteni, hogy melyik megoldásnak kellene nekiállni, a dinamikus programozás változata ilyen értékeknél, ha jól értelmeztem, akkor elég halál memória szempontból.

    Esetleg valakinek van javaslata, merre lenne érdemes nézelődni még?

    NDX: 0 OSSZEG: 119709
    NDX: 1 OSSZEG: 84657
    NDX: 2 OSSZEG: 68233
    NDX: 3 OSSZEG: 50364
    NDX: 4 OSSZEG: 40664
    NDX: 5 OSSZEG: 37626
    NDX: 6 OSSZEG: 32079
    NDX: 7 OSSZEG: 31902
    NDX: 8 OSSZEG: 28440
    NDX: 9 OSSZEG: 26180
    NDX: 10 OSSZEG: 20632
    NDX: 11 OSSZEG: 20535
    NDX: 12 OSSZEG: 18548
    NDX: 13 OSSZEG: 17824
    NDX: 14 OSSZEG: 16424
    NDX: 15 OSSZEG: 16406
    NDX: 16 OSSZEG: 15864
    NDX: 17 OSSZEG: 14909
    NDX: 18 OSSZEG: 14907
    NDX: 19 OSSZEG: 14131
    NDX: 20 OSSZEG: 13956
    NDX: 21 OSSZEG: 12374
    NDX: 22 OSSZEG: 12047
    NDX: 23 OSSZEG: 11621
    NDX: 24 OSSZEG: 11269
    NDX: 25 OSSZEG: 11230
    NDX: 26 OSSZEG: 10917
    NDX: 27 OSSZEG: 10316
    NDX: 28 OSSZEG: 9826
    NDX: 29 OSSZEG: 9690
    NDX: 30 OSSZEG: 9594
    NDX: 31 OSSZEG: 9367
    NDX: 32 OSSZEG: 8231
    NDX: 33 OSSZEG: 8056
    NDX: 34 OSSZEG: 7779
    NDX: 35 OSSZEG: 7454
    NDX: 36 OSSZEG: 6947
    NDX: 37 OSSZEG: 6877
    NDX: 38 OSSZEG: 6501
    NDX: 39 OSSZEG: 6325
    NDX: 40 OSSZEG: 6147
    NDX: 41 OSSZEG: 6147
    NDX: 42 OSSZEG: 6074
    NDX: 43 OSSZEG: 5791
    NDX: 44 OSSZEG: 4039
    NDX: 45 OSSZEG: 3682
    NDX: 46 OSSZEG: 3650
    NDX: 47 OSSZEG: 3639
    NDX: 48 OSSZEG: 3159
    NDX: 49 OSSZEG: 2610
    NDX: 50 OSSZEG: 2331
    NDX: 51 OSSZEG: 2256
    NDX: 52 OSSZEG: 2136
    NDX: 53 OSSZEG: 1553
    NDX: 54 OSSZEG: 1470
    NDX: 55 OSSZEG: 891
    NDX: 56 OSSZEG: 235

    DB: 27 OSSZEG: 344710

    nem tudom, hogy mit értesz brute force megoldás alatt, de a brute force azt jelenti, hogy agyatlanul végigpróbálgatod az összes lehetséges verziót és kiválasztod a végeredményt. tehát az mindig megtalálja a megoldást, ha van.

    a mai világban egy 56 elemű listának én brute force módszerrel állnék neki, backtrack egy intelligensebb változatával próbálkoznék. memória nem kell neki sok, a processzorodat agyonüti, de ez engem nem izgatna :)

  • peterszky
    őstag

    Van egy valós életbeli problémám, a lényeg, hogy vannak értékek, emellett egy darabszám és egy összeg. A bruteforce megoldás 99%-ban jól működik, de ott az az 1%, ami bármikor bejöhet és mint tudjuk, ez be is jön.

    A lényeg, hogy az alábbi listában a végén látható darabszámban vegyünk ki értékeket úgy, hogy a végén látható összeg kijöjjön.

    Knapsack vagy ennek egy változata volt talán az, amit nézegettem, de egyelőre nem tudom eldönteni, hogy melyik megoldásnak kellene nekiállni, a dinamikus programozás változata ilyen értékeknél, ha jól értelmeztem, akkor elég halál memória szempontból.

    Esetleg valakinek van javaslata, merre lenne érdemes nézelődni még?

    NDX: 0 OSSZEG: 119709
    NDX: 1 OSSZEG: 84657
    NDX: 2 OSSZEG: 68233
    NDX: 3 OSSZEG: 50364
    NDX: 4 OSSZEG: 40664
    NDX: 5 OSSZEG: 37626
    NDX: 6 OSSZEG: 32079
    NDX: 7 OSSZEG: 31902
    NDX: 8 OSSZEG: 28440
    NDX: 9 OSSZEG: 26180
    NDX: 10 OSSZEG: 20632
    NDX: 11 OSSZEG: 20535
    NDX: 12 OSSZEG: 18548
    NDX: 13 OSSZEG: 17824
    NDX: 14 OSSZEG: 16424
    NDX: 15 OSSZEG: 16406
    NDX: 16 OSSZEG: 15864
    NDX: 17 OSSZEG: 14909
    NDX: 18 OSSZEG: 14907
    NDX: 19 OSSZEG: 14131
    NDX: 20 OSSZEG: 13956
    NDX: 21 OSSZEG: 12374
    NDX: 22 OSSZEG: 12047
    NDX: 23 OSSZEG: 11621
    NDX: 24 OSSZEG: 11269
    NDX: 25 OSSZEG: 11230
    NDX: 26 OSSZEG: 10917
    NDX: 27 OSSZEG: 10316
    NDX: 28 OSSZEG: 9826
    NDX: 29 OSSZEG: 9690
    NDX: 30 OSSZEG: 9594
    NDX: 31 OSSZEG: 9367
    NDX: 32 OSSZEG: 8231
    NDX: 33 OSSZEG: 8056
    NDX: 34 OSSZEG: 7779
    NDX: 35 OSSZEG: 7454
    NDX: 36 OSSZEG: 6947
    NDX: 37 OSSZEG: 6877
    NDX: 38 OSSZEG: 6501
    NDX: 39 OSSZEG: 6325
    NDX: 40 OSSZEG: 6147
    NDX: 41 OSSZEG: 6147
    NDX: 42 OSSZEG: 6074
    NDX: 43 OSSZEG: 5791
    NDX: 44 OSSZEG: 4039
    NDX: 45 OSSZEG: 3682
    NDX: 46 OSSZEG: 3650
    NDX: 47 OSSZEG: 3639
    NDX: 48 OSSZEG: 3159
    NDX: 49 OSSZEG: 2610
    NDX: 50 OSSZEG: 2331
    NDX: 51 OSSZEG: 2256
    NDX: 52 OSSZEG: 2136
    NDX: 53 OSSZEG: 1553
    NDX: 54 OSSZEG: 1470
    NDX: 55 OSSZEG: 891
    NDX: 56 OSSZEG: 235

    DB: 27 OSSZEG: 344710

  • McSzaby
    őstag

    "az opensource-hoz nincs támogatás": közkeletű tévedést hallottunk.
    "a vállalati célokra szánt pedig pénzbe kerül": az igaz, hogy ingyen nem kapsz vállalati szintű supportot.
    de melyik a valószínűbb, ha a kolléga távozik: hogy az utóda ismeri a munint vagy hogy az utóda ismeri a kolléga házibarkács fejlesztését?

    oké, megírod perlben. ki fogja támogatni a perl bugok javítását?

    egyébként meg ez egy olyan kérdés, amit nem kell a felsővezetés elé tárni. ha a felsővezetés dönt ilyen szakmai kérdésben, akkor valamit rosszul csináltál.

    hogy kicsit ontopic is legyek:
    az adatküldést rossz ötlet ennyire nehéz protokollra bízni, mint az ssh. pláne, ha biztonságos hálózati szakaszokon kommunikálsz. erre találták fel a http-t. a scriptek szétszórására meg a subversiont.

    aki pedig azt hiszi, hogy egy tcp kapcsolat megnyitása a valós nehézség ebben a projektben, az még sosem rajzolt grafikont :P

    egyébként meg sokat dobna a válaszokon, ha megmondanád, melyik gépen milyen oprendszer fut. (azon, ahol a felügyeleti rendszer szerver oldala fut, és azokon, amiket felügyelni kell).

    Én hidd el, veled értek egyet. :D

    Linux mindenhol. Amúgy az igazsághoz hozzátartozik, hogy 3 hónap múlva már itt se vagyok, szóval amikor feltettem a kérdést, hogy ki fogja továbbvinni, mindenki csak nézett meg pislogott. Én elvégzem a munkámat, amivel megbíznak, ők pedig majd rájönnek a hibáikra. (mondjuk amikor késő lesz)

    Egyáltalán nem vagyok én se ez a döntés mellett, de ha rám nem hallgatnak, akkor majd fognak a kiesett pénzre, ami kicsúszik a zsebükből. De ez már elcsúszott az eredeti kérdéstől. :)

    Szóval, köszönöm a véleményeket még egyszer és én ezzel az én részemet megválaszoltnak is tekinteném. :)

  • bambano
    titán

    Sziasztok,
    meg szeretnék tanulni programozni teljesen az alapoktól kezdve és egy kis segítséget szeretnék kérni, hogy milyen könyvet/honlapot ajánlotok kezdésnek? (applikációk irányában gondolkodok)

  • emvy
    félisten

    Sziasztok,
    meg szeretnék tanulni programozni teljesen az alapoktól kezdve és egy kis segítséget szeretnék kérni, hogy milyen könyvet/honlapot ajánlotok kezdésnek? (applikációk irányában gondolkodok)

    Coursera tanfolyamok, pl. https://www.coursera.org/learn/python

  • jattila48
    aktív tag

    Sziasztok,
    meg szeretnék tanulni programozni teljesen az alapoktól kezdve és egy kis segítséget szeretnék kérni, hogy milyen könyvet/honlapot ajánlotok kezdésnek? (applikációk irányában gondolkodok)

    Nagyon régi könyv, és sokak szerint talán kicsit idejétmúlt, de nekem az egyik kedvencem:
    Niklaus Wirth: adatstruktúrák+algoritmusok=programok. A pascalt ismertni kell hozzá.

  • Blizz
    őstag

    Sziasztok,
    meg szeretnék tanulni programozni teljesen az alapoktól kezdve és egy kis segítséget szeretnék kérni, hogy milyen könyvet/honlapot ajánlotok kezdésnek? (applikációk irányában gondolkodok)

  • bambano
    titán

    100000%ig igazad van. Millió ilyen toolt tudok mondani, de az opensource-hoz nincs támogatás, a vállalati célokra szánt pedig pénzbe kerül, így a felsőbb vezetőség ezt nem fogja jóváhagyni. Körbejártam a témát és sajnos az jött ki, hogy vagy valami fapados módszert kitalálok, vagy kuka az egész terv. De alapvetően teljes mértékben igazad van a probléma megközelítésével kapcsolatban.

    "az opensource-hoz nincs támogatás": közkeletű tévedést hallottunk.
    "a vállalati célokra szánt pedig pénzbe kerül": az igaz, hogy ingyen nem kapsz vállalati szintű supportot.
    de melyik a valószínűbb, ha a kolléga távozik: hogy az utóda ismeri a munint vagy hogy az utóda ismeri a kolléga házibarkács fejlesztését?

    oké, megírod perlben. ki fogja támogatni a perl bugok javítását?

    egyébként meg ez egy olyan kérdés, amit nem kell a felsővezetés elé tárni. ha a felsővezetés dönt ilyen szakmai kérdésben, akkor valamit rosszul csináltál.

    hogy kicsit ontopic is legyek:
    az adatküldést rossz ötlet ennyire nehéz protokollra bízni, mint az ssh. pláne, ha biztonságos hálózati szakaszokon kommunikálsz. erre találták fel a http-t. a scriptek szétszórására meg a subversiont.

    aki pedig azt hiszi, hogy egy tcp kapcsolat megnyitása a valós nehézség ebben a projektben, az még sosem rajzolt grafikont :P

    egyébként meg sokat dobna a válaszokon, ha megmondanád, melyik gépen milyen oprendszer fut. (azon, ahol a felügyeleti rendszer szerver oldala fut, és azokon, amiket felügyelni kell).

  • emvy
    félisten

    Értem én, hogy cinikus vagy a földig hajló respekt szmájliddal, de hidd el, hogy a legegyszerűbb hálózati TCP kliens-szerver kommunikácó az megvan egy napi munkával (igaz, több mint 20 éve nyomom a hálózat programozást). Keress rá interneten, pl. "multithreaded TCP server in C"-vel. Az adakinyerés és szerver oldali megjelenítés persze más kérdés, arról semmit sem írt a kérdező. Erre írtam, hogy azt esetleg lehet C programból szkriptek hívásával megoldani. Ha tényleg csak időnként küldenek a kliensek valami státusz jelentést (pl. 10 másodpercenként), akkor a 100-150 kliens az egyáltalán nem rengeteg, sőt.

    Bocs, nem akartam tul cinikus lenni, csak en ugy erzem, hogy egy egyszeru megoldas nem az, amit ok akarnak valojaban (a bonyolult meg nem egy nap).

  • McSzaby
    őstag

    Értem én, hogy cinikus vagy a földig hajló respekt szmájliddal, de hidd el, hogy a legegyszerűbb hálózati TCP kliens-szerver kommunikácó az megvan egy napi munkával (igaz, több mint 20 éve nyomom a hálózat programozást). Keress rá interneten, pl. "multithreaded TCP server in C"-vel. Az adakinyerés és szerver oldali megjelenítés persze más kérdés, arról semmit sem írt a kérdező. Erre írtam, hogy azt esetleg lehet C programból szkriptek hívásával megoldani. Ha tényleg csak időnként küldenek a kliensek valami státusz jelentést (pl. 10 másodpercenként), akkor a 100-150 kliens az egyáltalán nem rengeteg, sőt.

    (#8937) jattila48:
    A többi része már megoldott fejben. :)

    Igazából nekem 2-2,5 hónapom van erre, szóval ja...

    Rengeteg a nyitott kérdés, szóval egyelőre ez az egész kérdés, amit feltettem csak elméleti síkon mozog. Lehet PERL-ben írom meg, mert abban jóval több tapasztalatom van. Ott egy démon leprogramozása, socket nyitás "szinte" már csuklóból megy. De alapvetően egy TCP kommunikációt én sem találok nehéz feladatnak. Persze, itt azért a bonyolultsága nagy kérdés.

    A probléma az itt, hogy megkötik a kezem és emellett szinte semmi segítséget nem kapok. Ezért kell egy hülye biztos, moduláris, céges platform független fost alkotnom és igen, elnézést a kifejezésért, de ebből csak fos lesz, mert én sysadmin vagyok, nem programozó.

    Rengeteg a piacon fellelhető toolt kellett már a cégnél lefejlesztenem és nem értem miért nem lehet ELK Stack-t, Nagiost, Puppet-t, Chef-t használni.

    Szóval, nagyon szépen köszönöm a segítségeket, véleményeket, ezeket mind meg fogom fontolni és eszerint döntök! :)

    Nagyon köszönöm! :R

  • jattila48
    aktív tag

    TCP kapcsolatot megírni valóban gyerekjáték, kb. bármelyik nyelven, de messze eltörpül a tényleges feladat mellett. Tényleg jelentéktelen. Ha házi megoldás kell, akkor se ez az az idióma amivel el lehet indulni értelmesen egy ekkora kliensszám és a fejekben élő stabilitási kritériumok mellett.

    Az eredeti kérdés politikai vonzatára visszatérve: egy házi barkács megoldásnak semmilyen supportja nincs, csak addig az ideig-óráig, amíg foglalkozik vele a barkácsoló fejlesztő. Rá egy hónappal már teljesen esélytelen. Nem tudom milyen vezetés az, aki ezzel még nem égette meg magát, de sajnos valóban előfordul ez az ultrarövidtávú szemlélet...

    A tényleges feladatról pedig semmit nem írt a kérdező. Számomra úgy tűnt, hogy a hálózati kommunikáció okoz neki gondot. Erre javasoltam a C programozást. A 150-200 kliens pedig egyáltalán nem sok. Ha 10000-ekről lenne szó, akkor is házi C programozást javasolnék (sőt főleg akkor), csak természetesen nem blokkolt, UDP protokoll thread-pool-lal. Ha pedig valamiféle hálózat felügyeletről van szó, akkor lehetőleg SNMP közvetlen ethernet felett, de erre már tényleg vannak kész megoldások.

  • Karma
    félisten

    Értem én, hogy cinikus vagy a földig hajló respekt szmájliddal, de hidd el, hogy a legegyszerűbb hálózati TCP kliens-szerver kommunikácó az megvan egy napi munkával (igaz, több mint 20 éve nyomom a hálózat programozást). Keress rá interneten, pl. "multithreaded TCP server in C"-vel. Az adakinyerés és szerver oldali megjelenítés persze más kérdés, arról semmit sem írt a kérdező. Erre írtam, hogy azt esetleg lehet C programból szkriptek hívásával megoldani. Ha tényleg csak időnként küldenek a kliensek valami státusz jelentést (pl. 10 másodpercenként), akkor a 100-150 kliens az egyáltalán nem rengeteg, sőt.

    TCP kapcsolatot megírni valóban gyerekjáték, kb. bármelyik nyelven, de messze eltörpül a tényleges feladat mellett. Tényleg jelentéktelen. Ha házi megoldás kell, akkor se ez az az idióma amivel el lehet indulni értelmesen egy ekkora kliensszám és a fejekben élő stabilitási kritériumok mellett.

    Az eredeti kérdés politikai vonzatára visszatérve: egy házi barkács megoldásnak semmilyen supportja nincs, csak addig az ideig-óráig, amíg foglalkozik vele a barkácsoló fejlesztő. Rá egy hónappal már teljesen esélytelen. Nem tudom milyen vezetés az, aki ezzel még nem égette meg magát, de sajnos valóban előfordul ez az ultrarövidtávú szemlélet...

  • jattila48
    aktív tag

    :R

    > rengeteg szerverről különböző információkat gyűjt és hiba esetén egy - a programon keresztüli script futtatásával szépen egy zöld gomb megnyomásával megoldjuk az adott problémát.

    > nekem kb. 1 napi munka lenne

    :R

    Értem én, hogy cinikus vagy a földig hajló respekt szmájliddal, de hidd el, hogy a legegyszerűbb hálózati TCP kliens-szerver kommunikácó az megvan egy napi munkával (igaz, több mint 20 éve nyomom a hálózat programozást). Keress rá interneten, pl. "multithreaded TCP server in C"-vel. Az adakinyerés és szerver oldali megjelenítés persze más kérdés, arról semmit sem írt a kérdező. Erre írtam, hogy azt esetleg lehet C programból szkriptek hívásával megoldani. Ha tényleg csak időnként küldenek a kliensek valami státusz jelentést (pl. 10 másodpercenként), akkor a 100-150 kliens az egyáltalán nem rengeteg, sőt.

  • emvy
    félisten

    Nem tudom miért vagytok odáig egy kis programozástól. Ez tényleg egyszerű feladat, nekem kb. 1 napi munka lenne. Számtalan példát találtok kliens-szerver TCP kommunikációra. Az adatkinyerést meg lehet oldani akár szkriptek hivogatásával is. A különböző opensource vagy fizetős megoldások telepítése, megismerése, konfigurálása, szerintem jóval nagyobb feladat. Amit a kérdező leírt, nem tűnik túl bonyolultnak. Nem kell rögtön ágyúval lövöldözni. Lesz egy kis időm, lehet beírom ide a C kódot.

    :R

    > rengeteg szerverről különböző információkat gyűjt és hiba esetén egy - a programon keresztüli script futtatásával szépen egy zöld gomb megnyomásával megoldjuk az adott problémát.

    > nekem kb. 1 napi munka lenne

    :R

  • jattila48
    aktív tag

    Te jo eg, nehogy ennek nekifogjatok a nullarol. :( Kezdesnek nezegess olyasmiket, hogy Ansible/Salt konfiguraciomenedzsmentre, Munin, ELK stack monitorozasra, satobbi.

    Eselyetek sincs, tenyleg, foleg amiatt, hogy azt sem igazan tudod, hogy mi lenne a feladat. :(

    Mi az, hogy az OSS-ez nincs tamogatas? Tamogassatok akkor ti, hazon belul. Vagy akkor fizessetek ki -- sokkal olcsobb lesz, mintha ti csinaljatok meg. Ha buktok, akkor az a ti (fejlesztok) hibaja is lesz, mert nem kommunikaltatok jol az elejen, hogy ez mennyire eselytelen projekt.

    Nem tudom miért vagytok odáig egy kis programozástól. Ez tényleg egyszerű feladat, nekem kb. 1 napi munka lenne. Számtalan példát találtok kliens-szerver TCP kommunikációra. Az adatkinyerést meg lehet oldani akár szkriptek hivogatásával is. A különböző opensource vagy fizetős megoldások telepítése, megismerése, konfigurálása, szerintem jóval nagyobb feladat. Amit a kérdező leírt, nem tűnik túl bonyolultnak. Nem kell rögtön ágyúval lövöldözni. Lesz egy kis időm, lehet beírom ide a C kódot.

  • emvy
    félisten

    100000%ig igazad van. Millió ilyen toolt tudok mondani, de az opensource-hoz nincs támogatás, a vállalati célokra szánt pedig pénzbe kerül, így a felsőbb vezetőség ezt nem fogja jóváhagyni. Körbejártam a témát és sajnos az jött ki, hogy vagy valami fapados módszert kitalálok, vagy kuka az egész terv. De alapvetően teljes mértékben igazad van a probléma megközelítésével kapcsolatban.

    Te jo eg, nehogy ennek nekifogjatok a nullarol. :( Kezdesnek nezegess olyasmiket, hogy Ansible/Salt konfiguraciomenedzsmentre, Munin, ELK stack monitorozasra, satobbi.

    Eselyetek sincs, tenyleg, foleg amiatt, hogy azt sem igazan tudod, hogy mi lenne a feladat. :(

    Mi az, hogy az OSS-ez nincs tamogatas? Tamogassatok akkor ti, hazon belul. Vagy akkor fizessetek ki -- sokkal olcsobb lesz, mintha ti csinaljatok meg. Ha buktok, akkor az a ti (fejlesztok) hibaja is lesz, mert nem kommunikaltatok jol az elejen, hogy ez mennyire eselytelen projekt.

  • McSzaby
    őstag

    Szerintem ennek a problémának nem az a helyes megközelítése, hogy egy alapvetően ipari igényt házilag próbáltok megoldani mindenféle ismeretek nélkül. Nehezen hiszem el, hogy 2015-ben ne lenne open source megoldás ennyi szerver távoli monitorozására és menedzsmentjére.

    Az alacsony szintű implementációs részleteken filózás helyett inkább forráskutatást javaslok, lehetőleg külön kezelve a két feladatot – monitorozásra még én is ismerem a Papertrailt és a Munint, pedig nem vagyok sysadmin –, a beavatkozáshoz meg jó lenne tudni, mégis milyen műveletek kellenek. Nagy általánosságban az OpenLMI pl. egy érdekes projektnek tűnik.

    100000%ig igazad van. Millió ilyen toolt tudok mondani, de az opensource-hoz nincs támogatás, a vállalati célokra szánt pedig pénzbe kerül, így a felsőbb vezetőség ezt nem fogja jóváhagyni. Körbejártam a témát és sajnos az jött ki, hogy vagy valami fapados módszert kitalálok, vagy kuka az egész terv. De alapvetően teljes mértékben igazad van a probléma megközelítésével kapcsolatban.

  • Karma
    félisten

    Szia,

    kb. 150-200 kliensről van szó.Titkosításra nem lesz szükség szerintem, a hálózati csomópontok, illetve egyebek elég jól védettek a hálózaton. Ha valaki már odáig eljut, hogy itt hálózati forgalmat tudjon nézni, akkor már rég mindegy a történet.

    Tudom, hogy google a barátom, de nem tudnál/tudnátok esetleg adni valamilyen leírást, "howto"-t, ahol az ilyen témát taglalják és vehetem referenciának?

    Szerintem ennek a problémának nem az a helyes megközelítése, hogy egy alapvetően ipari igényt házilag próbáltok megoldani mindenféle ismeretek nélkül. Nehezen hiszem el, hogy 2015-ben ne lenne open source megoldás ennyi szerver távoli monitorozására és menedzsmentjére.

    Az alacsony szintű implementációs részleteken filózás helyett inkább forráskutatást javaslok, lehetőleg külön kezelve a két feladatot – monitorozásra még én is ismerem a Papertrailt és a Munint, pedig nem vagyok sysadmin –, a beavatkozáshoz meg jó lenne tudni, mégis milyen műveletek kellenek. Nagy általánosságban az OpenLMI pl. egy érdekes projektnek tűnik.

  • jattila48
    aktív tag

    Szia,

    kb. 150-200 kliensről van szó.Titkosításra nem lesz szükség szerintem, a hálózati csomópontok, illetve egyebek elég jól védettek a hálózaton. Ha valaki már odáig eljut, hogy itt hálózati forgalmat tudjon nézni, akkor már rég mindegy a történet.

    Tudom, hogy google a barátom, de nem tudnál/tudnátok esetleg adni valamilyen leírást, "howto"-t, ahol az ilyen témát taglalják és vehetem referenciának?

    Akkor szerintem sima blokkolt TCP, esetleg thread pool-lal. Ha nincs egyszerre sok kapcsolat, és a kliensek viszonylag ritkán kapcsolódnak, akkor a thread pool sem szükséges. Lehet minden kapcsolathoz új thread-et indítani, ami a kliens feldolgozása után leáll. Ez a legkevésbé hatékony módszer, de a legegyszerűbb is. Ez is elég lehet neked.

  • McSzaby
    őstag

    Nem tűnik bonyolult feladatnak, mondhatni szokásos. Én C-ben írnám meg az egészet, a szerver és kliens részét is. A szerver, ha sok klienstől, de kis csomagszerű adatforgalmat fogad, akkor UDP-vel kommunikálhat. TCP-vel akkor, ha viszonylag állandó a kapcsolat, és stream-szerű az adatforgalom. Szerintem neked az UDP lesz megfelelőbb. Ha UDP-t választasz, és valami titkosítás/hitelesítés is kell, akkor azt magadnak kell megoldani. Ez sem bonyolult, kész algoritmusokat találsz, pl. AES, RC4/MD5. UDP esetén szerintem blokkolt socket kezlést alkalmazhatsz, thread-pool-lal. Ha a TCP-t választod, akkor titkosítás/hitelesítés-re használhatod az OpenSSL-t, bár ez szerintem kicsit túllövés. Ha sok kliensed van, akkor TCP-nél a nem blokkolt socket kezelés hatékonyabb lehet, de egy kicsit bonyolultabb programozni. Szkripteket hívogatni és SSH-t kezelni, biztos, hogy nem lesz elég hatékony. Persze, ha csak néhány száz kliensed van, akkor még ez is működhet.

    Szia,

    kb. 150-200 kliensről van szó.Titkosításra nem lesz szükség szerintem, a hálózati csomópontok, illetve egyebek elég jól védettek a hálózaton. Ha valaki már odáig eljut, hogy itt hálózati forgalmat tudjon nézni, akkor már rég mindegy a történet.

    Tudom, hogy google a barátom, de nem tudnál/tudnátok esetleg adni valamilyen leírást, "howto"-t, ahol az ilyen témát taglalják és vehetem referenciának?

  • jattila48
    aktív tag

    Sziasztok,

    cégnél kaptam egy olyan taskot, amelyben egy alkalmazást kéne fejlesztenem. Ennek az alkalmazásnak annyi lenne a lényege, hogy rengeteg szerverről különböző információkat gyűjt és hiba esetén egy - a programon keresztüli script futtatásával szépen egy zöld gomb megnyomásával megoldjuk az adott problémát. :) Egy központi szerverről futna a dolog.

    Perl-ben és Bash-ben viszonylag otthon vagyok, illetve html/css/némi php még megy, de egy kicsit nagynak érzem ezt a falatot.

    Az ötletem az lenne, hogy a szerver és a kliensek (a valós szerverek) egy "Agent" rendszeren keresztül kommunikálnak az esetleges adatküldést pedig SSH/SCP-n oldanám meg.(pl.: scriptek szétszórása, más egyéb funkciók) A lényeg,hogy az adat lekérést (aktuális terheltség,memória használtság, stb..) egy socketen keresztül szeretném intézni. Tehát a központi szerveremen egy TCP Socketet megnyitnék, amire az agentek/kliensek küldik az adatokat.

    Tehát, kliens lefuttatja a bash scriptet, ami kiírja az adatokat. A kimenetet pedig ezen az agenten keresztül átdobom az én központi szerveremre, az felolvassa és kiértékeli. Erre a részre ha SSH-t használnék, félek túl nagy lenne a kapcsolatok száma és elérnék egy limitet. Ezért nem használhatok mindenre ssh-t.

    Erre a munkára JAVA-n kívül milyen programnyelvet ajánlanátok, illetve ezt az "Agent" rendszert Ti hogyan oldanátok meg? Esetleg ha bashben ez megoldható, az lenne az igazi ;)

    Előre is köszönöm!

    Egyébként mezei Sysadmin vagyok, nem programozó. :) :))

    Nem tűnik bonyolult feladatnak, mondhatni szokásos. Én C-ben írnám meg az egészet, a szerver és kliens részét is. A szerver, ha sok klienstől, de kis csomagszerű adatforgalmat fogad, akkor UDP-vel kommunikálhat. TCP-vel akkor, ha viszonylag állandó a kapcsolat, és stream-szerű az adatforgalom. Szerintem neked az UDP lesz megfelelőbb. Ha UDP-t választasz, és valami titkosítás/hitelesítés is kell, akkor azt magadnak kell megoldani. Ez sem bonyolult, kész algoritmusokat találsz, pl. AES, RC4/MD5. UDP esetén szerintem blokkolt socket kezlést alkalmazhatsz, thread-pool-lal. Ha a TCP-t választod, akkor titkosítás/hitelesítés-re használhatod az OpenSSL-t, bár ez szerintem kicsit túllövés. Ha sok kliensed van, akkor TCP-nél a nem blokkolt socket kezelés hatékonyabb lehet, de egy kicsit bonyolultabb programozni. Szkripteket hívogatni és SSH-t kezelni, biztos, hogy nem lesz elég hatékony. Persze, ha csak néhány száz kliensed van, akkor még ez is működhet.

  • McSzaby
    őstag

    Sziasztok,

    cégnél kaptam egy olyan taskot, amelyben egy alkalmazást kéne fejlesztenem. Ennek az alkalmazásnak annyi lenne a lényege, hogy rengeteg szerverről különböző információkat gyűjt és hiba esetén egy - a programon keresztüli script futtatásával szépen egy zöld gomb megnyomásával megoldjuk az adott problémát. :) Egy központi szerverről futna a dolog.

    Perl-ben és Bash-ben viszonylag otthon vagyok, illetve html/css/némi php még megy, de egy kicsit nagynak érzem ezt a falatot.

    Az ötletem az lenne, hogy a szerver és a kliensek (a valós szerverek) egy "Agent" rendszeren keresztül kommunikálnak az esetleges adatküldést pedig SSH/SCP-n oldanám meg.(pl.: scriptek szétszórása, más egyéb funkciók) A lényeg,hogy az adat lekérést (aktuális terheltség,memória használtság, stb..) egy socketen keresztül szeretném intézni. Tehát a központi szerveremen egy TCP Socketet megnyitnék, amire az agentek/kliensek küldik az adatokat.

    Tehát, kliens lefuttatja a bash scriptet, ami kiírja az adatokat. A kimenetet pedig ezen az agenten keresztül átdobom az én központi szerveremre, az felolvassa és kiértékeli. Erre a részre ha SSH-t használnék, félek túl nagy lenne a kapcsolatok száma és elérnék egy limitet. Ezért nem használhatok mindenre ssh-t.

    Erre a munkára JAVA-n kívül milyen programnyelvet ajánlanátok, illetve ezt az "Agent" rendszert Ti hogyan oldanátok meg? Esetleg ha bashben ez megoldható, az lenne az igazi ;)

    Előre is köszönöm!

    Egyébként mezei Sysadmin vagyok, nem programozó. :) :))

  • martonx
    veterán

    Visual Studio-ban be lehet azt állítani, hogy egy előre megadott property-t minden projekthez betöltsön automatikusan? Jelenleg csak úgy megy, hogy a property managerben manuálisan hozzáadom existing property-ként Debug és Release módban is egyesével. Ezt jó lenne meggyorsítani valahogy.

    Csinálj egy VS extension-t, vagy nuget package-t.

  • Vasinger!
    nagyúr

    Visual Studio-ban be lehet azt állítani, hogy egy előre megadott property-t minden projekthez betöltsön automatikusan? Jelenleg csak úgy megy, hogy a property managerben manuálisan hozzáadom existing property-ként Debug és Release módban is egyesével. Ezt jó lenne meggyorsítani valahogy.

  • Sk8erPeter
    nagyúr

    Gondolom ez játéktól függ. Egyébként ha a múltból jól rémlik, ezek jellemzően szöveges file-ok szoktak lenni, szóval általában egy sima notepad elég a szerkesztésükhöz.

    "ezek jellemzően szöveges file-ok szoktak lenni"
    Mondjuk erre sok ellenpéldát lehet mondani (de persze alátámasztani is lehet megint más példákkal), szóval ez sajnos tényleg teljesen játékfüggő, nincs bevett szokás erre (és persze a formátumra sem). :(

  • martonx
    veterán

    Sziasztok !

    Nem tudom hogy jó topicban járok -e, de az lenne a kérdésem hogy hogyan, milyen programmal tudnék beleszerkeszteni egy - egy játék nyelvi fájljaiba?
    Nagyon szívesen fordítanék le néhány játékot, ami nekem is tetszik és látom, hogy sok fórumos is keresik hozzájuk a Magyarítást. Nem egy Far cry 4 volumenü valamire gondolok, de van sok olyan game, ami sok embert érdekelne, de nincs hozzájuk honosítás.
    Egyszerüen nem tudok hozzákezdeni, mert hiába vannak előttem a játék angol nyelvi fájljai, nem tudom megnyitni őket szeerkesztésre.
    Nyilván ha simán társítom egy jegyzettömbhöz vagy Notepad++ - hoz, akkor sem megyek vele semmire mert csak a kódolt formátumokat látom (vagy mit).
    Nem tudtok véletlenül valami olyan vagy több programot, amivel próbálkozhatnék ?
    Tudom, hogy más-más nyelven vannak írva a játékok de a legtöbb azért ugyanazon. De melyiken és mivel szerkeszthetem a fájlokat ?
    Elég jól értek a szoftverekhez, hardverekhez de ez a téma eddig nem foglalkoztatott, de most igen.
    Szóval nem gond ha a program angol, vagy bonyolult, majd megoldom, csak valami kiindulópont kellene.

    Köszi szépen !

    Gondolom ez játéktól függ. Egyébként ha a múltból jól rémlik, ezek jellemzően szöveges file-ok szoktak lenni, szóval általában egy sima notepad elég a szerkesztésükhöz.

  • aftercooler
    aktív tag

    Sziasztok !

    Nem tudom hogy jó topicban járok -e, de az lenne a kérdésem hogy hogyan, milyen programmal tudnék beleszerkeszteni egy - egy játék nyelvi fájljaiba?
    Nagyon szívesen fordítanék le néhány játékot, ami nekem is tetszik és látom, hogy sok fórumos is keresik hozzájuk a Magyarítást. Nem egy Far cry 4 volumenü valamire gondolok, de van sok olyan game, ami sok embert érdekelne, de nincs hozzájuk honosítás.
    Egyszerüen nem tudok hozzákezdeni, mert hiába vannak előttem a játék angol nyelvi fájljai, nem tudom megnyitni őket szeerkesztésre.
    Nyilván ha simán társítom egy jegyzettömbhöz vagy Notepad++ - hoz, akkor sem megyek vele semmire mert csak a kódolt formátumokat látom (vagy mit).
    Nem tudtok véletlenül valami olyan vagy több programot, amivel próbálkozhatnék ?
    Tudom, hogy más-más nyelven vannak írva a játékok de a legtöbb azért ugyanazon. De melyiken és mivel szerkeszthetem a fájlokat ?
    Elég jól értek a szoftverekhez, hardverekhez de ez a téma eddig nem foglalkoztatott, de most igen.
    Szóval nem gond ha a program angol, vagy bonyolult, majd megoldom, csak valami kiindulópont kellene.

    Köszi szépen !

  • Karma
    félisten

    Nyomkodd a Win+P billentyűkombót addig, amíg a kívánt megjelenítési módhoz nem érsz. :DDD

    De ha az eredeti kérdésnél (kattintás) maradunk, akkor is van a Windowsban egy beépített tool (displayswitch), amit be lehet rakni egy parancsikonba és már kész is. Ahogy nézem, házilag nem is nagyon van jobb lehetőség ennél, pl. a WMI-n keresztül semmi se látszik.

  • Sk8erPeter
    nagyúr

    Üdv. Remélem jó helyre írok, és tud valaki segíteni (vagyis megvalósítható az elképzelésem)
    Olyan programot vagyis parancssort lehet csinálni/ szerkeszteni hogy az asztalról egy kattintással lehessen váltani 2 megjelenítő közül .

    Adott egy HD4350 videókártya ami össze van kötve egy tv-vel(HDMI) és egy monitorral (vga), elképzelésem hogy egy kattintással tudjak választani a két kijelző közül. Megvalósítható ez ? Akár úgy hogy csak az egyik készülékre küld képet, vagy a képet kiterjesztett formában küldi ki.

    :R :R :R

    Nyomkodd a Win+P billentyűkombót addig, amíg a kívánt megjelenítési módhoz nem érsz. :DDD

  • Jim Tonic
    nagyúr

    Üdv. Remélem jó helyre írok, és tud valaki segíteni (vagyis megvalósítható az elképzelésem)
    Olyan programot vagyis parancssort lehet csinálni/ szerkeszteni hogy az asztalról egy kattintással lehessen váltani 2 megjelenítő közül .

    Adott egy HD4350 videókártya ami össze van kötve egy tv-vel(HDMI) és egy monitorral (vga), elképzelésem hogy egy kattintással tudjak választani a két kijelző közül. Megvalósítható ez ? Akár úgy hogy csak az egyik készülékre küld képet, vagy a képet kiterjesztett formában küldi ki.

    :R :R :R

    Minden GPU szállítónak van programja, amiben beállítható egy billentyűkombináció (hotkey) ehhez. Windows alatt meg ott a Windows Key + Shift + kurzor (jobbra balra) kombináció is.

  • ZsoltG60
    aktív tag

    Üdv. Remélem jó helyre írok, és tud valaki segíteni (vagyis megvalósítható az elképzelésem)
    Olyan programot vagyis parancssort lehet csinálni/ szerkeszteni hogy az asztalról egy kattintással lehessen váltani 2 megjelenítő közül .

    Adott egy HD4350 videókártya ami össze van kötve egy tv-vel(HDMI) és egy monitorral (vga), elképzelésem hogy egy kattintással tudjak választani a két kijelző közül. Megvalósítható ez ? Akár úgy hogy csak az egyik készülékre küld képet, vagy a képet kiterjesztett formában küldi ki.

    :R :R :R

  • inf3rno
    nagyúr

    meg van írva, csak ezt a 3 dolgot kell valakinek összelegózni:

    screenshot, Google Translate API, OCR.

    Ha minden jól megy, ez a megoldás platformfüggetlen lenne. De az is lehet, hogy python-nal mégkevesebb munka.

    Szvsz ebből a saját translator ami húzós. Ahogy nézem OCR-el dunát lehet rekeszteni. Legózásban azért OCR-nél is jó lehet, ha van egy nyelv felismerő, ami a rosszul olvasható szavakat meg tudja tippelni a kontextus alapján. Olyan fordítót meg bonyolult írni, ami felismeri a kontextust. Párszor már nekifutottam, hogy hogyan lehetne modellezni a problémát, de nem sokra jutottam. Lehet, hogy tényleg jobban jártok, ha a translator API-t használjátok, bár sokszor az is szemetet dobál ki magából.

  • TheProb
    veterán

    őőő, ez hogy is oldja meg azt amit írtam? ez is csak kamerás fordítást tud, gondolom ha nagyon akarná az ember lehetne emulálni a desktopot, mint ha a kamera képe lenne, de hát... :D

  • madstunt
    addikt

    Keresni egy programot és fejleszteni/fejlesztettni nem ugyan az, de értem mire gondolsz. Konkrétan ilyen tudású programról nem tudok, azok se tudják amiket linkeltél. google translate meg okostelón tudja azt amit én PC-re szeretnék. Itt 1 segítség, hogy hogyan akarom. Nyílván a szimpla OCR konverterek csak tisztán szöveggé alakítják a felismert dolgokat, én ezt úgy akarom mint a képen. Az abby is csak ennyit tud, ezért szeretnék megpróbálni egy komplex, integrált, de egyszerű appot a fent leírtak szerint. Mert oké, hogy össze lehet ollózgatni valahogy, de nem az igazi.

  • TheProb
    veterán

    meg van írva, csak ezt a 3 dolgot kell valakinek összelegózni:

    screenshot, Google Translate API, OCR.

    Ha minden jól megy, ez a megoldás platformfüggetlen lenne. De az is lehet, hogy python-nal mégkevesebb munka.

    így van, erre keresnék vállalkozó egyéneket :)

  • #39560925
    törölt tag

    Keresni egy programot és fejleszteni/fejlesztettni nem ugyan az, de értem mire gondolsz. Konkrétan ilyen tudású programról nem tudok, azok se tudják amiket linkeltél. google translate meg okostelón tudja azt amit én PC-re szeretnék. Itt 1 segítség, hogy hogyan akarom. Nyílván a szimpla OCR konverterek csak tisztán szöveggé alakítják a felismert dolgokat, én ezt úgy akarom mint a képen. Az abby is csak ennyit tud, ezért szeretnék megpróbálni egy komplex, integrált, de egyszerű appot a fent leírtak szerint. Mert oké, hogy össze lehet ollózgatni valahogy, de nem az igazi.

    meg van írva, csak ezt a 3 dolgot kell valakinek összelegózni:

    screenshot, Google Translate API, OCR.

    Ha minden jól megy, ez a megoldás platformfüggetlen lenne. De az is lehet, hogy python-nal mégkevesebb munka.

  • TheProb
    veterán

    Úgy kérdeztél vissza, mintha abszolúte semmi hasonlóság nem lenne. :) Pedig tök hasonló ehhez a kérdésedhez:
    http://prohardver.hu/tema/milyen_program_ami/hsz_35378-35378.html
    "ha nem is rábökés szinten, de pl a google translate kamerás, real time fordítós szerűség lehetne, nem adott kamera képet fordítana, hanem a screen-t, OCR szerűen."
    [link]
    "programokon belüli fordító érdekel, pl bmilyen angol nyelvű programban gombok, leírások, menüpontok, esetleg popup-ok, stb."

    Most annyi más a kérdésedben összesen, hogy print screen alapján fordítson (amire a MobiMouse a hivatalos honlap szerint mondjuk nem képes, ez igaz), meg hogy rámutatással fordítson egyből.

    Mindenesetre valószínűleg van már ilyen.
    Google Translate is tud ilyet okostelókon:
    http://searchengineland.com/google-translate-picture-to-ocr-to-speech-130086
    Pár másodperces guglizás alapján még okostelóra most hirtelen ezt találtam:
    ABBYY TextGrabber + Translator
    Akármilyen eszközre ezt (fogalmam sincs persze a képességeiről):
    Free Online OCR - https://www.newocr.com/ ("Different ways to display and process the resulting text: [...] Translate using Google Translate or Bing Translator")
    Aztán itt meguntam, de biztos van még csomó lehetőség. Persze nem akarom elvenni a kedvedet, de nem tűnik olyan újdonságnak, amire egykönnyen találnál befektetőt, de hajrá.

    Keresni egy programot és fejleszteni/fejlesztettni nem ugyan az, de értem mire gondolsz. Konkrétan ilyen tudású programról nem tudok, azok se tudják amiket linkeltél. google translate meg okostelón tudja azt amit én PC-re szeretnék. Itt 1 segítség, hogy hogyan akarom. Nyílván a szimpla OCR konverterek csak tisztán szöveggé alakítják a felismert dolgokat, én ezt úgy akarom mint a képen. Az abby is csak ennyit tud, ezért szeretnék megpróbálni egy komplex, integrált, de egyszerű appot a fent leírtak szerint. Mert oké, hogy össze lehet ollózgatni valahogy, de nem az igazi.

  • Sk8erPeter
    nagyúr

    Mi köze van annak ehhez a témához?

    Úgy kérdeztél vissza, mintha abszolúte semmi hasonlóság nem lenne. :) Pedig tök hasonló ehhez a kérdésedhez:
    http://prohardver.hu/tema/milyen_program_ami/hsz_35378-35378.html
    "ha nem is rábökés szinten, de pl a google translate kamerás, real time fordítós szerűség lehetne, nem adott kamera képet fordítana, hanem a screen-t, OCR szerűen."
    [link]
    "programokon belüli fordító érdekel, pl bmilyen angol nyelvű programban gombok, leírások, menüpontok, esetleg popup-ok, stb."

    Most annyi más a kérdésedben összesen, hogy print screen alapján fordítson (amire a MobiMouse a hivatalos honlap szerint mondjuk nem képes, ez igaz), meg hogy rámutatással fordítson egyből.

    Mindenesetre valószínűleg van már ilyen.
    Google Translate is tud ilyet okostelókon:
    http://searchengineland.com/google-translate-picture-to-ocr-to-speech-130086
    Pár másodperces guglizás alapján még okostelóra most hirtelen ezt találtam:
    ABBYY TextGrabber + Translator
    Akármilyen eszközre ezt (fogalmam sincs persze a képességeiről):
    Free Online OCR - https://www.newocr.com/ ("Different ways to display and process the resulting text: [...] Translate using Google Translate or Bing Translator")
    Aztán itt meguntam, de biztos van még csomó lehetőség. Persze nem akarom elvenni a kedvedet, de nem tűnik olyan újdonságnak, amire egykönnyen találnál befektetőt, de hajrá.

  • Sk8erPeter
    nagyúr

    Sziasztok!

    Kickstarter project indításhoz keresnék kompetens kódoló(ka)t a következőre:

    Egy olyan program megvalósítása ami pl printscreen alapján lefordítja a képen található tartalmakat, pl vki használ 1 angol nyelvű appot, csinál 1 screenshotot róla, a program "lescanneli" a képet, OCR segítségével felismeri a szöveget, majd lefordítja a kívánt nyelvre. Olyasmi módon, mint a google translate, mikor a kamerával "rámutatsz" vmire és real time fordítja a dolgokat.

    Várnám a lelkes jeletnkezőkeg PM-ben.

    Amit itt ajánlottak neked a felvetésedre (egy kész programot a célra), az miért nem jó? :F

  • TheProb
    veterán

    Sziasztok!

    Kickstarter project indításhoz keresnék kompetens kódoló(ka)t a következőre:

    Egy olyan program megvalósítása ami pl printscreen alapján lefordítja a képen található tartalmakat, pl vki használ 1 angol nyelvű appot, csinál 1 screenshotot róla, a program "lescanneli" a képet, OCR segítségével felismeri a szöveget, majd lefordítja a kívánt nyelvre. Olyasmi módon, mint a google translate, mikor a kamerával "rámutatsz" vmire és real time fordítja a dolgokat.

    Várnám a lelkes jeletnkezőkeg PM-ben.

  • repvez
    addikt

    picit azért bátorítás miatt írtam amit írtam. szóval valóban van mit egyszerüsiteni.

    a cin és cout adatfolyamok és a c++ nyelvben használatosak. a printf scanf a c nyelv függvényei ( és így ugyebár a c++ része is). a két módszer teljesen különböző, de az eredmény gyk ugyan az. a részleteket inkább a c++ topicban kérdezd meg.

    a grafikon rajzolás is megoldható, de ezt már inkább grafikus képernyőn kéne megoldani. viszont még ne ezzel foglalkozz, mert ahhoz azért még jó sok mindent meg kell ismerni...

    Szinte gondoltam, hogy ezért irtad, már akkor csak azt kell megtudni, hogy hol és hogyan csináljam az egyszerüsitést ?

  • inf3rno
    nagyúr

    Valaki otthon van NoSQL adatbázissémák tervezésében? Nézegetem ezt a PostgreSQL-t, és nagyon szimpi, hogy tud egyszerre relációs és nem relációs adatbázisként is működni.

    Írtam egy exception küldő androidos appot, de úgy döntöttem újraírom az egészet. Megterveztem az új relációs adatbázis sémát, de szerintem van olyan tábla, ami jobb lenne, ha sima object store lenne helyette.

    Leírom mire gondoltam. Van most egy Exception_Instances nevű táblám amiből idegen kulcs mutat az Exception_Type-ra. Exception_Type például a NullpointerException, és ennek egy Instance-a az, amit egy user küld egy másiknak.

    Tehát az Exception_Instances tábla attribútumai: id, type_id, date_time, from_user_id, to_user_id. Az ID unsigned long típusú, tehát 18446744073709551616 példány fér bele. Úgy gondolom, egy user sem fog 1.000.000-nál több exception-t kapni és küldeni, ezért 18.446.744.073.709 felhasználó még okés lenne.

    Ennek tudtában azt csinálnám (csinálom a mostani verzióban is), hogy minden userhez tartozik egy max 1.000.000 millió méretű terület a táblában, tehát például az n-edik usernek [n x 1.000.000] és [(n-1) x 1.000.000] közé esnének az Exceptionjeinek az ID-jai.
    Így elég jó lekérdezéseket is tudok írni, ha egy user exception-jeit le kell kérni. Beszúrás már más kérdés, szerintem ha Java kódból EntityManageren keresztül nyomok egy persist-et, semmiképp se fogom tudni elkerülni, hogy lockolja az egész táblát, és a többi tranzakció ami közben olvasna belőle, ne blokkolódjon.

    Ezzel kapcsolatban azt érzem, hogy az egész kicsit over-engineered, és lehet, hogy object storet használva gyorsabb is lenne (főleg a beszúrás). Vélemények?

    Nem csak noSQL létezik, van newSQL is, ami ugyanúgy SQL, csak nulláról írt adatbázis motorokkal, és azt mondják sebességben felveszi a versenyt a noSQL adatbázisokkal. Rengeteg van egyébként, olvastam egy könyvet polyglot persistence témában régebben, amiben felsoroltak legalább 10 divatosat, mint mongodb, neo4j, riak, stb... Mindegyiknél megvan az a feladat, amiben nagyon jó, meg persze az is, amiben nagyon rossz. Szóval lekérdezés alapján érdemes adatbázist választani. Kis alkalmazásoknál persze választasz egyet azt kalap. Nagy alkalmazásoknál meg jobb helyeken váltanak monolitról microservice-re egy méret felett, és minden microservice-nek egy vagy több adatbázist adnak, amelyek eltérő típusúak (is lehetnek). A típus attól függ, hogy az adott lekérdezés csomagra melyik adatbázis alkalmasabb a legjobban. Ezeket úgy frissítik, hogy csinálnak egy központi event storage-et, ami a teljes rendszer állapotát tárolja, aztán az abba bekerülő domain event-eket figyelik, és ha új event érkezik, akkor annak megfelelően frissítik a microservice-hez tartozó adatbázist. Nem kell multiphase commit, hogy szinkronban legyenek az adatbázisok, mert elég ha az event storage letárolja az event-et, a kis adatbázisok ha valami rosszul megy, akkor maximum eldobják a jelenlegi táblát, és nulláról újra lekérik az összes event-et, és végrehajtják magukon. Ez nagyon rugalmas rendszer így, mert egyedül az event storage lecserélése, ami problémás. A microservice-ekhez tartozó query database-eket bármikor tetszés szerint lehet cserélni, vagy akár még több különbözőt is lehet párhuzamosan futtatni, és A/B teszteket csinálni, és loggolni, hogy a kliens mennyi idő alatt kapott választ a lekérdezésre. A hátrány annyi, hogy legalább 2 helyen meglesz ugyanaz az adat, illetve, hogy visszamenőleg nehéz módosítani domain event-eket, mert akkor vagy belenyúlsz az event storage-be és módosítod a már letárolt event-ek adatait, hogy pl új tulajdonságok is kapjanak értéket, vagy mondjuk bevezetsz egy MyDomainEventV2 osztályt, ami már tartalmazza az új tulajdonságokat. Egyik sem tűnik valami jónak. Na asszem már túl sokat bloggoltam, mi is volt a kérdés? :C

  • inf3rno
    nagyúr

    Ezt most miért nekem írod? :U

    (#8888) bambano:
    Jaja, ezzel ebben a formában már teljesen egyet tudok érteni. :)

    Nem tudom, valami félrecsúszott. Valaki C#-os anyagot keresett, neki akartam.

  • inf3rno
    nagyúr

    Hát ha ezt akarnám tovább folytatni akkor előbb rendbe kéne tenni ezt az alapot, mert nem gondolom, hogy ez igy normális, hogy ilyen sok declaráció van az elején .Azt tudom, hogy minden ismeretlen kifejezést declarálni kell,de eddig egy forrásfájlban sem láttam ilyen hosszú listát a használt elemekről , mint nálam és itt alig van valami számitás velük.
    Illetve az hogy én cin és cout parancsokkal irattam ki és kértem be adatot az menynivel másabb mint amit a legtobb helyen látni, hogy printf és scanf?

    illetve ha megcsinálom egy értékhatáson belüli számitást akkor azt jó lenne valami x y koordináta rendszerben látni, hogy hogyan változnak az értékek , ezt menynire bonyolult megcsinálni hozzá?
    Tehát mondjuk 60 és 800 közötti számok 5 ös lépésközzel és az igy kapott eredmény megjelenitése a koordinátán és egy görbével összekötni az elözö értékkel?

    Inf3rno: A 3d modellenkén én ahogy olvastam régebben az obj és az x formátumban elkészitett modelleket be lehet importálni a programokban amik igy a 3d szerkesztőprogiban már eleve megadja a vertexek pozicioját igy ezeket már nem nekem kell , ugyan igy a texturát és a displacemant, bump és paralell mappingot is meg tudom csinálni a sutiomax progiban .Ugy gondolom csak az importálás részét kell a c nyelvben megoldani

    Igen, én is úgy tudom, hogy programmal rakják össze a modellt ilyen oculus rift-el, meg 3d egérrel valamilyen formatervezős programmal meg lehet rajzolni. Ezek után kihajtják 2d-re, és úgy illesztik rá a textúrát, utána meg a modelt, a textúrát és a textúra kötésehez tartozó térképet valahogy beimportálják a játékokba. Tehát nem kézzel kell összerakni, bár gondolom az is lehetséges, csak jóval körülményesebb lehet. Ezek után mennek rá a shader-ek, amik pozíciionálják a pályán, ráteszik a textúrát, effekteket, stb. Ennél többet én sem tudok a témáról (és ez is elég ingatag), viszont rengeteg anyag elérhető vele kapcsolatban, szóval csak kitartás meg évek kérdése, ha valaki ilyesmivel akar foglalkozni. Szép szakma, tetszik is a végeredmény, de nincs meg a rajz tudásom hozzá, gyakorolni meg lusta vagyok, más dolgok érdekelnek. A logikai részét talán le tudnám fejleszteni egy játéknak.

  • emvy
    félisten

    "Miko' lesz neked arra szukseged, hogy indexing strategiat optimalizalj?"

    Hát ezaz, hogy nekem most is van, csak az appomnak nincs. ;]

    :R

Új hozzászólás Aktív témák

Hirdetés