-
IT café
Új hozzászólás Aktív témák
-
Freddy TNT
őstag
válasz martonx #7937 üzenetére
Hello !
Szóval adott egy gép, nevezzük szervernek,mert NAS-ként, letöltőkén is funkcionál. Ezen keresztül csatlakozik a netre a többi gép (3db). Azonban nem szeretném, hogy non-stop menjen ezért arra gondoltam félóra múlva leküldöm alvó módba. Aztán mikor kell egy WOL csomaggal fel van ébresztve és minden OK.
Na igen ám, de nem veszi figyelembe, hogy hálózati forgalom folyik át rajta és elszundikál. Arra gondoltam hogy ha a 3 kliensre lenne rakva egy egyszerű kis programocska ami mondjuk megbirizgálja az egeret akkor meg van oldva a dolog.
Természetesen más dologra is nyitott lennék. A lényeg, hogy működjön.
[ Szerkesztve ]
-
Karma
félisten
válasz martonx #8028 üzenetére
A kettes ponthoz annyit, hogy olyan telefon kell hozzá, ami amellett hogy modemként látszik a gépről, az AT+CNMI parancsot is támogatja. Öt éve csináltam ilyet kicsiben, akkor ezt egy Nokia 9210-zel értem el, soros porton Az akkori S60-asok már nem támogatták.
De a gyakorlatban amúgy se jó megoldás, mert küldéskor fékez a hálózat.
[ Szerkesztve ]
“All nothings are not equal.”
-
Wyll
őstag
válasz martonx #8116 üzenetére
Oké, akkor úgy kérdezem, hogy az adatszerkezetből tudni lehessen azt is, hogy azon az adott menüszinten hány menüpont van, és hogy az adott lista melyik főmenünek az almenüje.
MENU1
SUBMENU1
SUBMENU2
SUBSUBMENU1
SUBSUBMENU2
SUBMENU3
SUBSUBMENU1
MENU2
SUBMENU1
SUBMENU2
MENU3Egy adott szintem mindig csak az adott szülőmenü almenüpontjait (vagy a főmenü menüpontjait) akarom pörgetni. Ja és C-ben.
Nem biztos hogy van ilyen, illetve lehet hogy túl sokat akarok egyszerre.
Ja és ne kerüljön a RAM-ba az egész menüstruktúra, mindig csak az épp szükséges elemet akarom kódból beolvasni, mivel beágyazott környezetről van szó.
Valami többszintű tömbre gondoltam, de nem akar összeállni a fejemben...Egyelőre kb így gondolom, de elég kezdetlegesnek érzem ezt még vmiért:
const char rootmenu[3][] = {"MENU1","MENU2","MENU3"};
const char submenu1[3][] = {"SUBMENU1","SUBMENU2","SUBMENU3"};
const char submenu2[2][] = {"SUBMENU1","SUBMENU2"};const char subsubmenu2[2][] = {"SUBSUBMENU1","SUBSUBMENU2"};
const char subsubmenu3[1][] = {"SUBSUBMENU1"};Továbbá ugye szokták mondani, hogy ha változókat számozol, akkor ott tömbre van szükséged. De úgy meg nagyon bonyolultnak érzem, ha még ezeket is tömbbe foglalom....
[ Szerkesztve ]
Megbízhatóságom: http://phmegbizhatosag.atw.hu/phtabla.php?nev=Wyll
-
Karma
félisten
válasz martonx #8118 üzenetére
Azért az erős overkill Egy mikrokontroller nem fog XML-t parsolgatni
Wyll:
Van egy ötletem a tetszőleges mélységű fára: egy konstans char*[] és egy konstans int[] segítségével.
I) A char*[]-ben felsorolod az összes lehetséges menüpont nevét, ezáltal mindegyiknek lesz egy egyedi azonosítója: az indexe a tömbben. Egy enummal még egyértelműbbé lehet tenni a dolgot.
A példádból ez lesz (pszeudoC, most nincs kapacitásom fordítgatni):
static const char*[] MenuTitles = { "MENU1", "MENU2", "MENU3", "SUBMENU1", "SUBMENU2", "SUBMENU3", "SUBSUBMENU1", "SUBSUBMENU2", "SUBSUBMENU3"};
typedef enum {
MENU1 = 0,
MENU2,
MENU3,
SUBMENU1,
SUBMENU2,
SUBMENU3,
SUBSUBMENU1,
SUBSUBMENU2,
SUBSUBMENU3,
NONE = -1
} menu_item;II) Az int[] trükkösebb, mert két logikai ugrás van benne.
Először is, van az a stratégia, amivel egy tetszőleges fát bináris fában ábrázolsz. A szabály egyszerű: az új fában egy pont első gyereke bal oldalra, az első testvér pedig jobb oldalra kerül.
Megrajzoltam a menüdet:
A másik pedig az, hogy egy bináris fát egyértelműen tárolhatsz egy egydimenziós tömbben. Ez wikipédián le van írva, nem fordítanám át, inkább csak az eredményt mutatom:
static const int[] MenuTree = { MENU1, SUBMENU1, MENU2, NONE, SUBMENU2, SUBMENU1, MENU3, NONE, NONE, SUBSUBMENU1, SUBMENU3, NONE, SUBMENU2, NONE, NONE, NONE, NONE, NONE, NONE, NONE, SUBSUBMENU2, SUBSUBMENU1}
III) Ha írsz egy olyan függvényt, ami egy indexhez visszaadja a gyerekeit (csak jobbra kell menni, azaz az i-edik csúcshoz a 2i+2-ik csúcs kell while ciklussal, amíg ki nem mész a tömbből vagy NONE-ra nem futsz), bármilyen menüt felépíthetsz ezzel.
Megj.) egy menüelem akár több helyen is előfordulhat, ahogy a példádban is volt, hiszen csak az indexet kell többször feltüntetni a fában
[ Szerkesztve ]
“All nothings are not equal.”
-
válasz martonx #8139 üzenetére
ha kezdőnek való konfigot kért volna, vagy ha normálisat, vagy ilyesmit, akkor lehetne igazad, de ő szuper konfigot kért. A szuper konfig pedig egy rendes alaplap (minimum asus workstation), stb.
Anno (2011 elején) nézegettem szuper konfigot, egy 990x-es proc, x58a-s alaplap, rendes táp, 24 giga ram, rendes ház, rendesen kiperkált áfával nem állt meg fél millerből. plusz diszkek + videokártya + monitor.de egy 4770k proc most is 80 rugóról indul az árgép.hu szerint, a ws alaplapok 60-100k között, 16 giga ram 50-től, táp+ház talán megáll 40-ből, videokártya 50-től a csillagos égig, diszk 30-végtelenig. ez akkor se 80k, hanem 300-tól felfelé.
ez a szuper konfig. az általad javasolt i3-as meg az észszerű konfig. vagy vesz 60 rugóért egy használt t400-as gondolkodó asztalt, ami erősebb, mint amin én az első nagyobb programomat megcsináltam.
Egy átlagos héten négy hétfő és egy péntek van (C) Diabolis
-
veterán
-
bbTamas77
aktív tag
válasz martonx #8206 üzenetére
Unreal Engine 4 is hasonló elvben működik csak ott C++-ben megírni az alkalmazást.
Melyik a hatékonyabb? Unity-val lehetséges, hogy könnyebb rá fejleszteni mert sokkal nagyobb közösség áll mögötte.
Laikusként úgy gondolom, hogy elvben semmi akadálya nincs annak, hogy komplexebb alkalmazást létrehozzunk Unity-ben, de mégis Unreal Engine 4-nél már kijött egy dobozos játék ami ezen alapul.
-
Jim Tonic
nagyúr
válasz martonx #8218 üzenetére
Kis túlzással azt mondanám, hogy eddig kb. a Python volt az egyetlen poztí tapasztalatom, ami a crossplatformot illeti. Régen jáváztam, úgy 10 éve, de akkor marhára úgy volt, hogy hiába volt meg a bájtkód, az nem volt hajlandó másik platformon futni, leszámítva a primitív programokat (de pl. telefonon azok sem futottak el).
Alcohol & calculus don't mix. Never drink & derive.
-
bucsupeti
senior tag
-
Sk8erPeter
nagyúr
válasz martonx #8239 üzenetére
"Te egy web crawler botra gondolsz Ilyet simán lehet írni, ami ha elég gyors a szerverük, percek alatt leszed neked mindent amit csak akarsz."
Ki az a hülye, aki ír ilyet, amikor van már készen ezernyi ilyen. (A belinkelt HTTrack például egy faék egyszerűségű, jó darab.)Sk8erPeter
-
-
Karma
félisten
válasz martonx #8276 üzenetére
Mivel elég hosszúra sikeredett, írtam egy Logout bejegyzést a válaszomhoz.
“All nothings are not equal.”
-
-
beleszólok
senior tag
válasz martonx #8293 üzenetére
Hm. Hát végül rászántam magam, hogy kipróbáljam a mono-t, de a monodevelop... izé... hozza a "várt" formáját
Ctrl-F5 lenne a start without debugging, de tojik a fejemre.
Ha a System.Text.RegularExpressions-t használnám, azt mondja, hogy nem létezik. Állítólag van rá megoldás, valami jobb klikk a "References"-re és ott, épp csak fogalmam sincs, hol van a monodevelop-ban ez a References...
Szóval továbbra sem az esetem.Tiszavirág: http://youtu.be/YdcsiW0kfso
-
beleszólok
senior tag
válasz martonx #8297 üzenetére
Egyébként olyan szempontból kellemes meglepetés volt, hogy a python mellett az egyik leggyorsabb rendszer a modern nyelvek közül. (C++-t kihagytam, arra nincs energiám, de a C# valahol félúton van a PHP és a Python logikája, szintaxisa közt, viszonylag könnyű egy alaptudást felszedni)
Szóval kíváncsi vagyok, az egyéb dolgokban, amikben eddig toronymagasan vezet a cPython, mit sikerül vele elérni. De ehhez minimum egy hét kell, hogy kiderüljön és az is lehet, hogy a végén hagyom a fenébe az egészet
Tiszavirág: http://youtu.be/YdcsiW0kfso
-
beleszólok
senior tag
válasz martonx #8297 üzenetére
Azért az érdekelne, hogy a monodevelop...
- miért duplázza a projekt nevet a könyvtárak létrehozásakor? (new solution -> kap egy nevet, mondjuk azt, hogy teszt, erre létrehoz a megadott könyvtár alatt egy teszt könyvtárat, abban meg még egy teszt könyvtárat.
- miért nem rakja ki a megnyitott tabokra a forrás fájl nevét, ahogy pl. az eclipse? Több fájlt megnyitok, kapok annyi "fület", de egyiken sincs rajta, hogy mi van benne megnyitva. Sok fájl esetében elég kényelmetlen.
És azt sem tudom eldönteni, hogy ez bug vagy szimplán ilyen.Tiszavirág: http://youtu.be/YdcsiW0kfso
-
beleszólok
senior tag
válasz martonx #8306 üzenetére
Nem, valamelyik menüben kifejezetten workspace szerepelt. Eredetileg úgy akartam használni, hogy nem volt "solution", mert a neve alapján arra gondoltam, hogy az valamiféle bugtracking eszköz lehet
Ezt látszott megerősíteni az a workspace szó valahol.De ettől függetlenül érthetetlen dolognak tartom a duplázott könyvtárnevet. Szóval ezt még emészteni kell.
Tiszavirág: http://youtu.be/YdcsiW0kfso
-
beleszólok
senior tag
válasz martonx #8319 üzenetére
Kipróbáltam: egy szálon ugyanaz, több szálon meg nem működőképes úgy, ahogy elképzeltem (a foreach helyett Parallel.Foreach ...), mert úgy fest, ilyenkor számolni sem tud, a doksiban talált példa alapján a a ForEach második paramétereként átadott lambda fv. úgy tűnik nem képes szálbiztosan kezelni a változókat.
Illetve ez csak feltételezés, az viszont biztos, hogy a fájl eredeti méreténél néggyel kevesebb sort számolt meg.
Az csak mellékes, hogy mindezt még lassabban is csinálta, mint az egy szálon futó változat.
(mindezt linux alatt, mono-val, virtualbox-ban, szóval nem állítom, hogy ez kizárólag a C# hibája)Tiszavirág: http://youtu.be/YdcsiW0kfso
-
beleszólok
senior tag
válasz martonx #8321 üzenetére
Végigpörgeti, különben nem tudnám pl. a sorok hosszának átlagát megszámolni.
(nekem is ez volt gyanús, ezért beleraktam egy átlagszámítást, hogy biztosan szüksége legyen a beolvasott adatokra)
Az a 3mp nem lehetetlen: a C-ben íródott wc (alias Word Count) ennél gyorsabb, kb. 1.5mp alatt olvassa végig második nekifutásra (ekkor már a fájl egy része cache-ben van)
A python nagy része mögött meg C-ben írt programok vannak.
Az egyetlen, de súlyos szépséghibája, hogy a cPython-ban van egy ú.n. GIL, ami miatt a többszálú működésnek csak akkor van értelme, ha a szálak I/O műveletet végeznek, mert ha mind CPU-t használ, akkor egymásra várnak állandóan. (és látszik is, hogy csak az egyik magon van terhelés)[ Szerkesztve ]
Tiszavirág: http://youtu.be/YdcsiW0kfso
-
TedThomas
aktív tag
válasz martonx #8375 üzenetére
Köszi!
Igen, én is e kettő között vacillálok.
1. Ahogy így ránéztem valami node.js alap, ami nem rossz mert azt már használtam. Plusz HTML5 alapokon gyorsabban haladnék.
2. Profibbnak néz ki mint a PhoneGap és legalább lenne motiváció a C# megtanulni valamilyen szinten.
Igazából itt az a kérdés mennyi pénzt akarok beleinvesztálni.
-
Karma
félisten
-
-
Gh0sT
addikt
válasz martonx #8494 üzenetére
Konkrétumok:
Első körben a NAV ÁFA alany adatbázisát szeretném letárolni egy táblában (2 millió cég). Adószám, cégnév, cím, akármi adatok. Ezt kellene hetente frissítenem. A forrás minden esetben a NAV hivatalos honlapja. A cél egy Access adatbázis egy táblája. Azonosítási alapnak az adószámot gondoltam.Az összehasonlítást, lekérdezéseket, frissítést és gyakorlatilag mindent egy kliens alkalmazás végezné, hogy ne terheljem feleslegesen az adatbázist. Az adatbázishoz csak akkor nyúlnék, ha egy rekordot frissíteni kell, vagy új rekordot kell hozzáadnom.
Soha nem késő, hogy azzá válj, aki lehettél volna.
-
Karma
félisten
válasz martonx #8519 üzenetére
Szerintem szőrszálhasogatott csupán.
Egyébként az ilyen kérdéseknek van külön topikja: Weblap készítés.
“All nothings are not equal.”
-
-
-
amargo
addikt
válasz martonx #8802 üzenetére
Szerintem én sem értem, de ha még is csak sikerült megértenem akkor valakinek nagyon sok pénze lesz
Barátunk egy új kereső motort akar lefejlesztetni, ami nem irreális csak pénz kérdése.“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Új, bontatlan Samsung S24+ 256 GB black
- Dell Latitude E7270, 12,5" HD Kijelző, i5-6300U CPU, 8GB DDR4, 256GB SSD, W10, Számla, Garancia
- Amazfit I T-REX 2 I GTS 3 I GTR 3 I GTR 3 Pro
- Új Latitude 7440 2-in-1, FHD+ IPS kihajtható érintő, i7-1365U, 32GB DDR5, 512GB NVMe, IR kamera, gar
- Beszámítás! GB H610M i5 13400F 32GB DDR4 1TB SSD RTX 3070Ti 8GB MONTECH AIR 1000 Lite Corsair 650W