Aktív témák
-
pmonitor
aktív tag
Van 1-2 téma, ami a "Programozás topic"-ban off témának számít. Mert oda véleményem szerint is csak programkódok valók. Minden más igazából ott off-nak számít. Ebben a topic-ban olyan témáknak van helye pl., hogy:
1. Mikor számít a program sebessége, és mikor kevésbé?
2. Kliens oldalon számít-e a sebesség, vagy nem?
3. Programozók/szoftvermérnökök/egyéb titulussal ellátott emberkék felelőssége.
4. Kell-e egy fizetős "szolgáltatónak" fel'homályosítani az ügyfelet a (pl. biztonsági) kockázatokról?
Meg még sok mindenről lehet véleményt alkotni. Tehát minden, ami a "rizsa" kategóriába tartozik, az jöhet ide!http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Pl. most az a téma, hogy az asm-ben mit lehet megcsinálni. Sztem. minden olyant, amit a számítógépen meg lehet csinálni. Magas szintű struktúrákat/objektumokat kezelni. Vagy akár programnyelvet írni: pl. Pythont is akár. Vagy GC-t írni. Vagy böngészőt írni. Vagy ezeknek csak 1 lebutított változatát. Tehát mindent, ami a vason megcsinálható!
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
hiperFizikus
aktív tag
szerintem mehetne oda is, de ha már beléd botlottam, hát legyen ide /:
Én mint laikus tudok a NETen listás adatokat keresni az egyszerűbb programjaim részére, de ti mint profi programozók biztosan ezt is jobban csináljátok ! Ti honnan vesztek az internetről adatokat a programjaitokhoz ?
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
pmonitor
aktív tag
válasz hiperFizikus #3 üzenetére
Én nem vagyok profi programozó!
De azért köszi, hogy ide botlottál.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz hiperFizikus #5 üzenetére
Mondjuk attól függ, hogy éppen mihez. De általánosságban könyv, google, stackoverflow, codeproject stb...
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz hiperFizikus #7 üzenetére
És te honnét veszed a mannát?
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
hiperFizikus
aktív tag
Most innen fogom megpróbálni, de annyi más dolgom is akad egyszerre ♥
"
Ön
Melyik Wikipédia lapok szólnak a Wikipédia nagyarányú letöltögetéséről ?Copilot
Válaszok létrehozása…A Wikipédia nagyarányú letöltögetéséről szóló információkat nem találtam a keresési eredményekben. Lehet, hogy a Wikipédia nem tartalmaz erre vonatkozó specifikus oldalt. Azonban a Wikipédia adatbázisának teljes letöltéséről szóló információkat általában a Wikipédia saját segítség és FAQ oldalain találhat meg. Kérjük, ellenőrizze ezeket az oldalakat, vagy keressen rá a “Wikipedia database download” vagy hasonló kifejezésekre az angol Wikipédián. Ha további segítségre van szüksége, kérjük, jelezze! 😊
További információ
1
hu.wikipedia.org
2
hu.wikipedia.org
3
hu.wikipedia.orgÖn
"Azonban a Wikipédia adatbázisának teljes letöltéséről szóló információkat általában a Wikipédia saját segítség és FAQ oldalain találhat meg."Ez lesz az, mutasd a magyar változatát !
Copilot
Válaszok létrehozása…A Wikipédia adatbázisának teljes letöltéséről szóló információkat a Wikipédia saját oldalain találhatja meg. A Wikipédia szócikkek szövegei, a laptörténetek, a naplók és minden más adat (a képeket és egyéb fájlokat kivéve) a Wikimédia Alapítvány központi adatbázisszerverén tárolódik1. Erről az adatbázisról (az érzékeny adatok, mint pl. felhasználói beállítások vagy nem nyilvános naplók kivételével) néhány hetente másolatok készülnek, amelyek a download.wikipedia.org címről letölthetőek1.
Az adatbázis-kezelőbe betöltve szinte bármilyen lista, statisztika vagy egyéb információ kinyerhető belőlük1. Ha nem tudsz egyedül megfogalmazni vagy futtatni egy lekérdezést, a Wikipédia:SQL-futtatási kérések oldalon kérhetsz segítséget1.
Azóta elérhetővé vált egy webes szolgáltatás, amelynek segítségével saját adatbázis-kezelő telepítése és saját adatbázispéldány letöltögetése helyett az interneten futtathatod a lekérdezéseidet1.
Azért is érdemes kipróbálni, mert így nem a saját géped erőforrásait fogyasztja a lekérdezés, hanem egy erre felkészített hardverkonfiguráción futtathatod1. A Quarry címe: quarry.wmflabs.org1.
Remélem, ez segít! Ha további kérdése van, szívesen segítek! 😊
További információ
1
hu.wikipedia.org
2
quarry.wmflabs.org
3
en.wikipedia.orgÖn
Jól hangzik, de még ki kellesz próbálnom !Copilot
Válaszok létrehozása…Természetesen, vegye a maga idejét! Ha bármilyen kérdése merül fel a folyamat során, vagy további segítségre van szüksége, ne habozzon megkérdezni. Itt vagyok, hogy segítsek! 😊
"[ Szerkesztve ]
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
pmonitor
aktív tag
válasz hiperFizikus #9 üzenetére
Nagyon belezúgtál ebbe a mesterséges intelligenciának nevezett akármibe.
Végül is időtöltésnek biztos jó.http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
hiperFizikus
aktív tag
Valóban így van !
A szabadidőmben vagy a szürke betonfalamat bámulom, vagy a laptopommal szórakoztatom magam ! Tehát vagy a másokét nézem az interneten, vagy magam teszek fel az internetre valamit !A sokk olvasgatásnál már egy ideje túl vagyok, mert vagy olvastam már olyasmit vagy nem érdekel . A programok meg legalább maradandónak ígérkeznek és működnek is, ill. mozognak is ♥
Az MI meg ugye csak egy felturbózott nyelvi modell vagy mi lenne ? A programok pedig még mindig többnyire szövegesek . Nem sok különbség van a szakértői rendszer és az MI közt . A szakértői rendszer fő része meg valami végtelenbe vessző adattár lenne ♥
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
hiperFizikus
aktív tag
Ni csak, mire akadtam ♥ Most épen elfoglalt vagyok, de valamelyikőtök próbálja már ki ezt a vonalat is helyetem, közérdek !
Vagyis a ChatGPT hajlandó olyan weboldalt csinálni, amiben elsősorban nincsenek JavaScript kódok .
chatgpt/
->
Hozz létre nekem egy személyes weboldalt, mindezt egy fájlban. Előbb tegyél fel nekem három kérdést bármiről, amiről csak tudni szeretnél.ChatGPT
Rendben, készséggel segítek a személyes weboldalad létrehozásában! Ahhoz, hogy megfelelően testreszabott weboldalt készíthessek neked, először néhány kérdést fel kell tennem:
Milyen célból szeretnéd létrehozni a weboldalt? (pl. blogolás, portfólió, üzleti cél, személyes napló stb.)Milyen stílusú és hangulatú weboldalt képzeltél el? (pl. modern, minimalista, színes, professzionális, barátságos stb.)
Milyen tartalmakat szeretnél megjeleníteni a weboldalon? (pl. rólad szóló információk, blogbejegyzések, projektjeid, fényképek, elérhetőségek stb.)
Válaszaid alapján elkészítem a weboldal vázlatát, és megadom a fájlt, amelyet felhasználhatsz.
/chatgpt[ Szerkesztve ]
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
pmonitor
aktív tag
válasz hiperFizikus #11 üzenetére
Amúgy mi a véleményed arról, hogy 1 profi(vagy magát profinak beállító) programozószerűségnek(teljesen mind1, hogy mi a pontos titulusa) van-e felelőssége abban, amit csinál? Vagy csak felveszi/zsebreteszi a milliókat, 'oszt jó napot.
Sztem. felelősséggel tartozna azért, amit létrehoz. Mert ha nem, akkor mi a bánat különböztetné meg a kezdő/amatőr programozóktól? Csak sajnos nem ez valósul meg. Pl. 13-15 éves gyerekek feltörik azt, amit a milliókat zsebre tevő "szakik" készítettek. És még a gyerekeket ítélik el az ügyben. Nekem ez a véleményem. A tiéd micsoda ezzel kapcsolatban?
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
hiperFizikus
aktív tag
1. a mesterséges intelligenciának titulált ChatGPT és más ChatBot-ok teljesen fel fogják forgatni az emberi társadalom kontextusát !
2. Nem szeretnék eltűnni, mint a szürke szamár a ködben !
3. Az ovodások meg robot teknősbékákat "programoznak be" ugye ? - he he he .
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
hiperFizikus
aktív tag
válasz hiperFizikus #14 üzenetére
4. A megoldás ez a tízparancsolatom lenne, de nem tudok hozzá érdeklődőket szerezni !
Alaptörvény a természetes személyek védelméért
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
pmonitor
aktív tag
válasz hiperFizikus #14 üzenetére
1. Nem hiszem, hogy átforgatná. Legalábbis szomorú lennék ezzel kapcsolatban.
2. És mit csinálsz azért, hogy ne tűnj el a ködben?Egyébként lehet, hogy röhögni fogsz, de én meg nem szerettem volna feltűnni/villogni. De az erős rosszullétek után meg szerettem volna osztani mindenkivel, hogy milyen módszerek/szemétségek mennek a fórumo(ko)n. Természetesen elsősorban a másik fórumon(Magyarország legnagyobb fejlesztői portáljának titulált oldalon). És hogy hogyan tűnnek el értékes topicok/posztok a süllyesztőben. De aztán megcsináltam a legfőbb "programom". Egyébként ezt a programot az ott szereplő velem együtt 2-3 nick posztjaiból raktam össze. Meg módosítottam kovisoft megoldásával(bár sajnos az így is csak elméleti megoldás). 100 szónak is 1 a vége: én tényleg csak fel szerettem volna hívni a leendő "ügyfelek" figyelmét, hogy mi történhet velük, ha fórumra regisztrálnak/kérdeznek. Hogy ilyen ne fordulhasson elő soha többet. Ki tudja, hogy előtte hány topic tűnt el a szemétláda moderátor miatt?
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
hiperFizikus
aktív tag
Azért a fórumot ne keverd össze a blogokkal, és az írásaidat felrakhatod online szerkesztős portálokra is, és ha rendes vagy akkor a különféle wikiket is szerkesztheted !
De így vagy úgy el kell mentegetned external HDD-re mindent !
Ha fűt fát le szemétládázol, akkor nincs rend a fejedben, valószínűleg televan szórólapok szlogenjeivel !
1. Nem hiszem, hogy átforgatná. Legalábbis szomorú lennék ezzel kapcsolatban.
pl. az akadémiák nagy bajban vannak miatta, mert a chatgpt ugyan úgy szövegel mint ők is teszik
2. És mit csinálsz azért, hogy ne tűnj el a ködben?
A portálomra rakok fel írásokat, de mivel mindenki a ChatGPT-én és a Copiloton lóg, ezért ezért is túl kevesen olvasgatják az írásaimat ! - persze vannak látogatási kiugrásaim, de köztük túl kevés .
https://erdosattilask01.lapunk.hu/oldal-terkep-1212798
https://hu.wikibooks.org/wiki/Szerkeszt%C5%91:Okos_%C3%81rny%C3%A9k
https://forum.index.hu/User/UserDescription?u=1922428
A gázt is és a féket is egyszerre nyomni nem menő dolog !
-
pmonitor
aktív tag
És mit csinálsz azért, hogy ne tűnj el a ködben?
Mondjuk én már amúgy is vén is, meg beteg is vagyok ahhoz, hogy olyant alkossak, ami nem tűnik el a ködben. Ami talán nem fog eltűnni, az az, hogy hogyan hasonlítunk össze 2 vágástervet úgy, hogy egyértelműen és objektíven el tudjuk dönteni, hogy melyik a jobb. Esetleg egyformán jók. Sztem. ez idővel talán nem tűnik el a ködben...
De egyébként a jövő a fiatal egészségeseké...
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz hiperFizikus #19 üzenetére
Egyébként elmúltam 49.
A vágástervet leírtam már több helyen is. Bár mondjuk pl. ebben a fórumban úgyis eltűnik.
Az a lényeg, hogy a leeső darabokat kell nézni. 2 terv közül az a jobb, amelyiknél a legkevesebb leghosszabb leeső darab van. Vegyük pl. azt az esetet, amikor az összes leső hossz 3415 mm. Nyilván az lenne a legjobb, ha ez a 3415 mm 1 darabban esne le. Nem mondjuk 1 db 2000 mm-es, és 1 db 1415 mm-es darabban. Az élet azonban nem ilyen 1szerű. Az esetek 99.99999%-ában nincs olyan permutáció, aminél egy szálban lenne az összes leeső hossz.Bár belegondolok, akkor az sem vész talán a ködbe, ami miatt valszeg. doksikat és szak-, tankönyveket kell átírni. Ez pedig az, hogy C#-ban az object nem őse a struktúráknak(struct).
Csak az a baj, hogy ezek sem új dolgok. A másik fórumon mind1iket leírtam már 11
éve(akkor is már 38 voltam).http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz hiperFizikus #21 üzenetére
Nézzük ezt az oldalt.. Itt 5600 mm-es szálak vannak. Tételezzük fel, hogy a vágás szélessége 0.
Vegyük azt az esetet, amikor 1 szálból 3 db 1820 mm-es darabot vágunk le. Ebből a szálból 140 mm esik le. Ez a leeső darab. Ez a leeső darab vagy hulladék, vagy a későbbi vágásokhoz is felhasználható.
A vágásterv pedig az, amikor felsoroljuk a wikis példában, hogy a felhasznált 73 szálban hogyan helyezzük el a kivágandó darabokat. A wikin ezt táblázatban sorolták fel.http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz hiperFizikus #24 üzenetére
'Aztat én nem tudom.
Engem inkább az érdekelne, hogy pl. az 1d vágásra mit mond a mesterséges intelligencia?
Sztem sok értelmeset nem. Csodálkoznék, ha tévednék. Azon meg főleg, ha meg is oldaná!Tényleg, ha az AI oldana meg egy eddig megoldatlan dolgot, akkor ki kapna Nobel-csontot?
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Mondjuk amint látom, van 1-2 megoldatlan probléma.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
A másik topikban van egy téma, ami ott "off topic". Ezért itt reflektálok rá. Ott én ezt írtam:
De pl az önkiszolgáló kasszák esetén sem értem, hogy miért nem jutott senkinek az eszébe az, hogy legkésőbb a nyugta nyomtatása előtt árucikkenként összesítenék a darabszámot. Csak ezzel mennyi papírt meg lehetne takarítani országosan? Hozzáteszem, hogy ezt nem csak az önkiszolgáló kasszákra, hanem a hagyományos pénztárakra is lehetne alkalmazni. Összefutottam olyan pénztárossal is, aki 14 darab táblás csokit egyesével csippantott le(úgy, hogy én 2 x 7 - es sorba készítettem elő neki). Na, aaz ilyeneket is kiszűrhetné a program. Azért nem mind1, hogy 14 sorba nyomtatja ki a gép, vagy max. 2 sorban.
Erre elég részletes választ kaptam "off topic-ban". Többé-kevésbé valóban elfogadhatónak tűnő magyarázattal. 1-2 megjegyzésem lenne ezekkel kapcsolatban.
1.
A válaszadó azt írta, hogy ennek nagyon 1szerű oka van. Mégpedig a pénztárgép és taxaméter rendelet. Erre csak azt tudom mondani, hogy: tessék mondani, ezt a rendeletet nem a műszaki szakikkal egyeztetve alkották?2.
A válaszadó a következőt is írta:nyomtatót, vevőkijelzőt az adóügyi egység vezérli, nem kötheted direktben a számítógépre, pláne nem vezérelheted a saját fejed szerint.
És tessék mondani, az az adóügyi egység miért olyan buta, hogy nem tudja a darabszám szerint nyilvántartott árucikkeket cikkenként összegezni? Ehhez ugyebár nem a saját fejem szerint kellene vezérelni.Szóval lehet itt komolynak tűnő érveket felhozni. De az a helyzet, hogy a rendeleteket, adóügyi vezérlőegységeket is emberek alkotják. Olyan rendeletek, vezérlőegységek vannak, amit egyes emberek létrehoznak...
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
nyunyu
félisten
A válaszadó azt írta, hogy ennek nagyon 1szerű oka van. Mégpedig a pénztárgép és taxaméter rendelet. Erre csak azt tudom mondani, hogy: tessék mondani, ezt a rendeletet nem a műszaki szakikkal egyeztetve alkották?
Nem hiszem, hogy megkérdezték volna a műszakiakat.
2006 körül volt egy csörtém a pénztárgép engedélyezéskor az APEH jogászaival:
Nem tetszett nekik, hogy az akkori vevőkijelzőnk nem tudott 852-es kelet európai kódlapot, így jobb híján 850 nyugat európait állítottam be az adóügyi egységen, így az automatikusan lecserélte a ő/ű-ket a kalapos megfelelőjükre, és úgy jelenítette meg a tételek neveit.Na, jogászéknak ez nem tetszett.
Kötözködő jogásztól megkérdeztem, hogy ez mégis hol van leírva a jogszabály 2005-ös verziójában, erre csak hebegni-habogni tudott, aztán közölte, hogy Magyarországon be kell tartani a magyar törvényeket.
Oké, akkor melyikben van ez explicite leírva, hogy nem használhatok kalapos ő/ű-t?
Újabb 5 perc izzadás után diadalittasan kinyögte, hogy a magyar helyesírás szabályaiban.Úgyhogy következő pénztárgép vizsgára rajzolhattam magyar karakterkészletet a vevőkijelzőre, előző este rohangásztam a fél várost körbe, hol lehet SOS EPROMot égetni, mert másnap reggel 8-kor jelenésünk volt a pénztárgép bizottság színe előtt az immáron 852-es kódlapra konvertált vevőkijelzővel.
Na úgy átengedtek minket a vizsgán, de az engedélyben kikötötték, hogy a pénztárgépünk csak EPROM cserélt vevőkijelzővel kerülhet forgalomba.
Aztán a következő jogszabály verziótól kezdve már valamelyik paragrafusban explicite kikötötték, hogy minden magyar feliratnak a billentyűzeten, monitoron, vevőkijelzőn, nyomtatón ékezethelyesen kell megjelennie.
És tessék mondani, az az adóügyi egység miért olyan buta, hogy nem tudja a darabszám szerint nyilvántartott árucikkeket cikkenként összegezni? Ehhez ugyebár nem a saját fejem szerint kellene vezérelni.
Adóügyi egység dolga a neki küldött tételek változatlan formában letárolása a "fekete doboz" EPROMjába+nyugtára nyomtatása.
Nem vonhat össze külön-külön érkező tételeket, mivel az az EPROM módosításával is járna, azt meg szigorúan tilos berhelni. (BTK tétel! informatikai eszközzel történő csalás, vagy valami hasonló.)
[ Szerkesztve ]
Hello IT! Have you tried turning it off and on again?
-
nyunyu
félisten
Jut eszembe, mit értesz nyugta kinyomtatása előtt?
Olyan opció nincs, hogy húzogatom a vonalkódot, és nem készül nyugta.
Legkésőbb az első vonalkód lehúzásánál meg kell nyitni a következő nyugtát, és tételenként küldeni a sorokat, ami egyből megy az EPROMba.Speciális pénztárgépeknél lehet olyan, hogy gyűlik-gyűlik a rendelés, aztán egyben írjuk ki a nyugtát amikor a vevő fizet, de azok nevesítve vannak a jogszabályban. (pl. éttermi pénztárgépek, meg talán a benzinkutasok is ilyenek)
Általános célú pénztárgépeknél nincs ilyen.Hello IT! Have you tried turning it off and on again?
-
pmonitor
aktív tag
Olyan opció nincs, hogy húzogatom a vonalkódot, és nem készül nyugta.
Olyan nincs. Viszont az üzletlánctól is függ, hogy soronként kiírja-e, vagy csak egyben. Én találkoztam mindkét verzióval. Mondjuk ahol én a legtöbbet szoktam vásárolni, ott úgy történik, hogy, egészen a vásárlás végéig "szerkeszthető" a vásárlás. Csak a végén nyomtatja a nyugtát egyben. De igazából azt sem értem, ha 1 helyen(üzletláncban) meg lehet csinálni ezt, akkor a másikban miért is nem? És ez sztem. nem jogi kérdés. Legalábbis feltételezem, hogy ahol a végén nyomtatja a nyugtát, az is legális(mert ellenkező esetben nyilván nem így csinálnák). Tehát ez csak a programozó(ko)n/gyártókon múlik, hogy tételenként nyomtat vagy egyben a végén(nem a jogászokon).
[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
nyunyu
félisten
Nyilván ez függ attól is, hogy már mennyire van készen / eleve hogy működik a bolti szoftver, amihez kell illeszteni egy magyar jogszabályoknak megfelelő AEE-t, meg attól is, hogy egyáltalán milyet találtál kulcsrakészen a pár szereplős piacon, amihez nem kell nulláról új firmwaret fejleszteni, mint a külföldi hardvereknél.
Nálunk készen volt a (külföldi) éttermi szoftver, de nem tudott magyar nyugtát adni.
Cseh, orosz, szerb adóügyi egységet ugyan támogatta, de azok ugye itthon nem használhatóak, mert totál más jogszabályi környezetben működnek.Úgyhogy itthoni pénztárgép(modul) gyártóknál kellett körbenéznünk *, hogy hol lehet olyan nyomtatóval egybeintegrált adóügyi egységet kapni, amit nekünk a megfelelő driver megírása után adatokkal kell csak etetni, aztán kijön rajta a hivatalos, APEH által elfogadott nyugta. (Akkor még APEH volt.)
Azzal mi egyáltalán nem akartunk foglalkozni, hogyan kezeli belül az EPROMot, meg hogyan szummázza nap végén az ilyen-olyan kategóriákat.Mivel nálunk a tételek már felütéskor összevonódtak, és a nyugtát csak a fizetési folyamat végére illesztettük be (miután kiválasztottad, hogy KP vagy kártya), így mi egyben küldtünk mindent az AEE-nek.
*: 2012-es online pénztárgép bevezetés eléggé felborította a piacot, mivel a legnagyobb pénztárgép forgalmazó nem akart a NERtől vásárolni a "jogszabálynak megfelelő" SIM kártyát + fizetni utána a havi 2k? előfizetési díjat, szimplán kigolyózták a piacról, 100k pénztárgép legyártása után szimplán visszavonták az engedélyét, és minden előrendelőnek vissza kellett adnia a pénztárgép árát...
Külföldről piaci áron vett hardvert meg max ócskavasként tudta utána eladni.Most fogalmam sincs, mely magyar cégeknél lehet az aktuális szabályoknak megfelelő modulokat kapni.
[ Szerkesztve ]
Hello IT! Have you tried turning it off and on again?
-
nyunyu
félisten
2010 körül átmentem az egyik konkurenciához, aztán amikor megláttam az ezer sebből vérző pénztárgépüket, akkor megkérdeztem a főnököt, hogy mégis ezt hogy tolták át a pénztárgép előminősítésen, majd a vizsgákon?
Egyszerű, csúszott a boríték a pénztárgép bizottság elnök zsebébe, aztán nem kérdeztek semmit.
Korábbi főnököm szentül hitte, hogy 2000-re már levetkőztük a balkáni attitűdöt, és a gazdaságot már nem a kenőpénzek működtetik.
Pedig a külföldi tulajdonosunknak pont ez volt az első kérdése, hogy kit kell megkenni, meg mennyivel, mert az egyszerűbb, mint lefejleszteni, amit kérnek. (miután elküldtem nekik angolra fordítva a 30+ oldalas komplett jogszabályt)Mivel nem kentünk, a bizottság extrán mélytorkoztatott minket.
Ne tudd meg, hányszor kellett újraírnom a pénztárgép user guideot, mert a jogásznak nem tetszett valami apró felirat a képernyőn, aztán "bugfix" után csináltattam újra az összes screenshotot.
Programozóként nem mindig látszik a projektek mögötti összes bullshit, amit a jogászok+managerek kavarnak a háttérben.
[ Szerkesztve ]
Hello IT! Have you tried turning it off and on again?
-
pmonitor
aktív tag
csúszott a boríték a pénztárgép bizottság elnök zsebébe, aztán nem kérdeztek semmit.
Én nem vagyok sem programozó, sem pénztáros, sem NAV munkatárs, meg semmi ilyesmi. Csak 1 1szerű halandó. De sztem. nagyon sokan biztosak benne, hogy ez van a háttérben, amit itt leírtál. Sok az üres zseb. Arról nem is beszélve, hogy gondolom bizonyos gyártó(k)ra szabják a rendeleteket. De ez sajnos mindenhol így van. De ez már kezd politika lenni, amibe nem szívesen megyek bele egy programozási fórumban. Még akkor sem, ha ezt a topikot elsősorban a "rizsák" részére hoztam létre. Nemrég az egyik nick mondta, hogy nem hiszi el, hogy a Magyar nyelv szókincsével nem lehet mindent leírni. Na ez, amiről most beszélünk, ez már a határt súrolja. Ha még tovább mennék, akkor annak egy időre kitiltás lenne a vége...
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Többször szóba került a sorba rendezés. Egyrészt a sebesség miatt, másrészt pedig hogy melyik lehet a legjobb. Itt a .NET-ben beépített rendezéseket hasonlítottam össze. A program kimenete a következő:
Array.Reverse: 6690
QuickSort: 4600
QuickSort "C": 4300
Array.Sort() delegate: 10316
Array.Sort() CompareTo: 12987
OrderBy: 54696A beépített rendező módszerek közül az Array.Sort() bizonyult. A legrosszabb pedig az arr.OrderByDescending() bizonyult.
A nem beépített rendező algoritmus közül a következő rendezés még az Array.Sort()-nál is gyorsabb:
static void QuickSort(int[] arr2, int p, int r)
{
int Low, High, MidValue;
Low = p;
High = r;
MidValue = arr2[(p + r) / 2];
do
{
while (arr2[Low] > MidValue) ++Low;
while (arr2[High] < MidValue) --High;
if (Low <= High)
{
int T = arr2[Low];
arr2[Low] = arr2[High];
arr2[High] = T;
++Low;
--High;
}
} while (Low <= High);
if (p < High) QuickSort(arr2, p, High);
if (Low < r) QuickSort(arr2, Low, r);
}Tapasztalatom szerint általában ezt a rendező algot célszerű használni, ha optimalizálni szeretnénk.
Ugyanezt az algot megcsináltam úgy, hogy C-ben írtam 1 "sortingsdll.dll" nevű .dll file-t.
A függvény törzsében karakterenként is ugyanaz az algo a C-ben írt .dll file-t használva C#-ban kb. 4-6 %-al gyorsabb.
Ez azt jelenti. hogy ha ragaszkodunk a C#-hoz, és sebességre akarunk optimalizálni, akkor mindenképpen azt célszerű választani(ha lehet), hogy C-ben írt .dll file-ba tesszük bele az adott függvényt, és ezt használjuk fel a C#-ban. Így nem mondunk le a C#-ban lévő gyors fejlesztésről, és mégis gyors programot írhatunk.Itt írtam, hogy asm-ben minden magasabb szintű struktúra megvalósítható. Ugyanez a kijelentésem sztem. C-re is vonatkozik. Kiemelném a programom kimenetéből a következő kettőt:
Array.Reverse: 6690
QuickSort "C": 4300Ebből egyértelműen látható, hogy a beépített Array.Sort() több mint 2 másodperccel lassabb, mint a C-s .dll függvényt használó kód. Azért ez nagyon nagy különbség(kb. 50%).
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Azt meg nem is írtam, hogy ez a formátum:
void QuickSort(int[] arr2, int p, int r)
Nem csak gyors. Ezen kívül van még egy nagy előnye: mégpedig az, hogy 1 tömb résztartományát is lehet vele rendezni, nem csak egy egész tömböt.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Egy példa arra, hogy azért semmiképpen nem árt, ha 1 C# programozó (is) tisztában van az asm és a C alapjaival(legalább).
Van a következő C# kód:
using System;
using System.Runtime.InteropServices;
namespace ArrTeszt
{
internal class Program
{
[DllImport("ArrTestDll.dll", SetLastError = false)]
public static extern void LengthInt(int[] arr, int index);
[DllImport("ArrTestDll.dll", SetLastError = false)]
public static extern void LengthInt2D(int[,] arr, int row, int col);
static void Main(string[] args)
{
int index = 3, row = 2, col = 1;
int[] arrtest = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
int[,] arrtest2D = new int[,] { { 12, 11, 10 }, { 9, 8, 7 }, { 6, 5, 4 }, { 3, 2, 1 } };
int x = arrtest[index];
int y = arrtest2D[row, col];
Console.WriteLine("arrtest[{0}]: {1}", index, x);
LengthInt(arrtest, index);
Console.WriteLine("arrtest2D[{0}, {1}]: {2}", row, col, y);
LengthInt2D(arrtest2D, row, col);
Console.ReadKey(true);
}
}
}és vannak a következő függvények 1 .dll-ben:
__declspec(dllexport) void __stdcall LengthInt(int arr[], int index)
{
if (index < (*(arr - 1)))
{
printf("arr[%d]: %d\n", index, arr[index]);
printf("arr.Length: %d\n", *(arr - 1));
}
}
__declspec(dllexport) void __stdcall LengthInt2D(int arr[], int row, int col)
{
if (row < (*(arr - 4)) && col < (*(arr - 3)))
{
printf("arr[%d, %d]: %d\n", row, col, *(arr + (row * (*(arr - 3))) + col));
printf("Sorok szama: %d\nOszlopok szama: %d\n", *(arr - 4), *(arr - 3));
}
}A C# kód releváns assembly kódja:
index = ebp-40h
row = ebp-44h
col = ebp-48h
&arrtest = ebp-4Ch
&arrtest2D = ebp-50h
x = ebp-54h
y = ebp-58h
int x = arrtest[index];
02A90919 mov eax,dword ptr [ebp-40h]
02A9091C mov edx,dword ptr [ebp-4Ch]
02A9091F cmp eax,dword ptr [edx+4]
02A90922 jb ArrTeszt.Program.Main(System.String[])+0E1h (02A90929h)
02A90924 call 70A5FF80
02A90929 mov eax,dword ptr [edx+eax*4+8]
02A9092D mov dword ptr [ebp-54h],eax
int y = arrtest2D[row, col];
02A90930 push dword ptr [ebp-48h]
02A90933 mov ecx,dword ptr [ebp-50h]
02A90936 mov edx,dword ptr [ebp-44h]
02A90939 call System.Int32[,].Get(Int32, Int32) (02A90140h)
02A9093E mov dword ptr [ebp-6Ch],eax
02A90941 mov eax,dword ptr [ebp-6Ch]
02A90944 mov dword ptr [ebp-58h],eaxA C# program kimenete:
arrtest[3]: 6
arr[3]: 6
arr.Length: 9
arrtest2D[2, 1]: 5
arr[2, 1]: 5
Sorok szama: 4
Oszlopok szama: 3Az nem nagyon meglepő, hogy a C .dll-nek átadott 1D int tömbnek átadott pointer előtti int tartalmazza a tömb hosszát.
Ami inkább meglepőbb, az a C# mátrix kezelése. A C .dll függvénynek átadott pointer előtti negyedik int a mátrix sorainak a száma, és a pointer előtti harmadik int a mátrix oszlopainak a száma. Viszont a C# mátrix a C-s .dll-nek 1D tömbként adódik át(nem mátrix-ként)!! Tehát a C#-al ellentétben itt memória címzéssel lekérdezhető a mátrix 1 eleme. A C# erre külön metódust használ:02A90939 call System.Int32[,].[B]Get[/B](Int32, Int32) (02A90140h)
Itt látható, hogy a C#-ban a Get() metódus hívódik meg.
Na ilyen "ínyencségeket" nem tudhat meg 1 olyan C# programozó, akinek fogalma sincs az asm-ról és a C-ről!
Itt látszik, hogy a C# miért lassabb.http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
A C# topikban volt 2 kijelentés, ami arra ösztönzött, hogy írjak 1 példa kódot. Ezek a kijelentések. Az egyik:
c#-ban mindennek van egy közös szülőtípusa, úgy hívják object
A másik:
Igen. Foreachel, de igazából, while, for, tökmindegy mivel gyűjteményeken iterálsz végig, nem típuson.
A következő kódban egyértelműen látszik, hogy mi a fő különbség a class és a struct között.
Mint ahogy az is látható, hogy a foreach megvalósítható while() és for() ciklussal is, de:
1: Nem erre találták ki ezeket, hogy 1 user programozó így használja ezeket, amikor ott van a foreach(). A foreach direkt erre készült.
2: A while() használata esetén igazából 3 utasítás az, amit a foreach() 1 utasítással megold.
3: A foreach használata biztonságosabb, mint a while(). Lásd a példakódban azt a sort, aminek a végén a "//BUMMM!!!" megjegyzés van.using System;
using System.Collections.Generic;
namespace Teszt
{
class TesztOsztaly
{
public int X { get; set; }
public TesztOsztaly(int x)
{
X = x;
}
}
struct TesztStruct
{
public int X;
public TesztStruct(int x)
{
X = x;
}
}
internal class Program
{
static void Main(string[] args)
{
List<TesztOsztaly> tesztosztalyok = new List<TesztOsztaly>();
tesztosztalyok.Add(new TesztOsztaly(1));
tesztosztalyok.Add(new TesztOsztaly(2));
tesztosztalyok.Add(new TesztOsztaly(3));
foreach (TesztOsztaly item in tesztosztalyok)
{
//if (item.X == 2) item = new TesztOsztaly(6); //Invalid!!!
//if (item.X == 2) tesztosztalyok.Remove(item); //Invalid!!!
//tesztosztalyok[1] = new TesztOsztaly(5); //Invalid!!!
item.X = 11;
}
for (int i = tesztosztalyok.Count - 1; i >= 0; --i)
{
if (tesztosztalyok[i].X == 1) tesztosztalyok.RemoveAt(i); //Valid!!!
if (tesztosztalyok[i].X == 2) tesztosztalyok[i] = new TesztOsztaly(6); //Valid!!!
if (tesztosztalyok[i].X == 6) tesztosztalyok[i] = new TesztOsztaly(8); //Valid!!!
}
HashSet<TesztOsztaly> htesztosztalyok = new HashSet<TesztOsztaly>();
htesztosztalyok.Add(new TesztOsztaly(1));
htesztosztalyok.Add(new TesztOsztaly(2));
htesztosztalyok.Add(new TesztOsztaly(3));
htesztosztalyok.Add(new TesztOsztaly(4));
HashSet<TesztOsztaly>.Enumerator enumerator = htesztosztalyok.GetEnumerator();
while (enumerator.MoveNext())
{
TesztOsztaly item = enumerator.Current;
//if (item.X == 3) htesztosztalyok.Remove(item); //Invalid!!!
item.X = 11;
item = new TesztOsztaly(3); //BUMMM!!!
}
Console.WriteLine("htesztosztalyok:");
foreach (TesztOsztaly item in htesztosztalyok)
{
Console.WriteLine(item.X);
}
Console.WriteLine("");
foreach (TesztOsztaly item in htesztosztalyok)
{
item.X = 12;
}
foreach (TesztOsztaly item in htesztosztalyok)
{
Console.WriteLine(item.X);
}
Console.WriteLine("tesztstructlist:");
List<TesztStruct> tesztstructlist = new List<TesztStruct>();
tesztstructlist.Add(new TesztStruct(1));
tesztstructlist.Add(new TesztStruct(2));
tesztstructlist.Add(new TesztStruct(3));
tesztstructlist.Add(new TesztStruct(4));
foreach (TesztStruct item in tesztstructlist)
{
//item.X = 11; //Invalid!!!
}
List<TesztStruct>.Enumerator enumeratorstruct = tesztstructlist.GetEnumerator();
while (enumeratorstruct.MoveNext())
{
TesztStruct item = enumeratorstruct.Current;
Console.WriteLine(item.X);
}
Console.ReadKey(true);
}
}
}Aki ezt a kódot megérti, hogy mi miért úgy történik ahogy, akkor ő megértette a lényeget. És nem ír olyanokat, hogy tökmind1, hogy foreach(), for(), vagy while().
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Ez a postom példa arra, hogy meg lehet etetni az olyan "profi" VS C# programozókat, akik nem tudnak alapvető dolgokat sem debuggolni asm-ben. Na meg azt is megmutatja, hogy az ember jobb, ha csak a saját szemének hisz. Ebben a videóban van 1-2 helyen olyan rész, amely megmutatja az asm-ben való debuggolást. Csak ahhoz, hogy közvetlenül megismerjük a VS C# memóriakezelését, ahhoz ezt át kell ültetni VS-be. Persze ehhez ismerni kell az asm alapjait/lényegét is. Ha debug módban futtatás előtt teszünk 1 breakpoint-ot 1 metódusban lévő utasításra, majd futtatjuk F5-el, majd megnyitjuk a Debug->Windows->Disassembly menüpontot, akkor meg is kezdhetjük az asm-ben lévő debuggolást. A memória tartalmát a Debug->Windows->Memory->Memory 1 menüponttal tudjuk láthatóvá tenni. Majd a Debug->Step Into és a Debug->Step Over menüpontokkal tudunk lépegetni.
Ebben a topikban írta az egyik "profi" programozó, hogy:
Az online közösségi média a pszichopata viselkedés melegágya, mert ott megengedhetnek maguknak olyan stílust, amiért a való életben már repülne egy pofon.
Mintha a pofozkodás etalon lenne a szociális/etikus/kultúrált viselkedésnek. Mintha a pofozó emberke nem szenvedne viselkedészavarban. De hát ilyenek a profi programozók. Egyébként ebben a topikban semmi nyomát nem látom, hogy a programozásról egyetlenegy szó is esne. Sem "rizsa", sem magas szintű programozás szintjén. Ilyen, amikor a "profi" programozók programoznak...
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
-
pmonitor
aktív tag
Készítettem 1 videót a disassembly használatára. Ez megmutatja a különbséget az érték és referencia típusok között. Valamint betekintést nyerhetünk az ASM világába is.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Ebben a videóban nincs benne, hogy az ELTE leírása is a szöveget az érték típusok közé sorolja. De a valóságban a string olyan referencia típus, mint a huzat. A következő kód ezt hivatott bemutatni(unsafe kódot engedélyezni kell a project-ben):
using System;
using System.Collections.Generic;
namespace TesztCsharp
{
internal class Program
{
static void Main(string[] args)
{
string s = "asdfg";
Console.WriteLine(s);
string s2 = s;
CString(s);
Console.WriteLine(s);
Console.WriteLine(s2);
Console.ReadKey(true);
return;
}
static unsafe void CString(string s)
{
fixed (char* ptr = s)
{
*ptr = 'z';
Console.WriteLine("Length: {0}", *(((int*)ptr) - 1));
}
}
}
}Itt látható, hogy az unsafe kód lefutása után s és s2 értéke is megegyezik. A
string s2 = s
utasítás csak a referenciát adta át.
Hát az ELTE-n is ilyen blődségeket tanítanak-tanulnak, hogy a szöveg(string) érték típus. Ezek után én már semmin nem csodálkozom...
De az unsafe kódon látszik, hogy ennek használatához ismerni kell a C-s mutatókat(pointereket).[ Szerkesztve ]
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz hiperFizikus #44 üzenetére
Referencia típus. Gyakorlatilag 1 mutató, ami az object-re mutat. Az object meg a referencia típusok őse. Az object-nek meg az érték típusokhoz alapból semmi köze sincs.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
Igazából globális fogalom meghatározásokat(definíciókat) nem is olyan egyszerű létrehozni. Pl. a referencia típus meghatározható így is, amit írtam. De sajnos ebbe a definícióba is bele lehet kötni. Pl. a delegate-eknek nem tudom, hogy van-e object-jük(nem követtem végig asm-ben). A referencia típusoknak talán egy pontosabb meghatározása az, hogy:
Ha egy konkrét memóriacímre kell létrehozni az adott típust, és az adott mem.címen csak egy System.IntPtr van, az adott típus pedig azon a mem.címen jön létre, ahová az IntPtr mutat, akkor referencia típus.
Ha a konkrét mem.címen csak "érték" jön létre(tehát nem jön létre más mem.címen új típus), akkor érték típus.Talán ezek a definíciók pontosabbak, mint amit az előző postomban írtam. De lehet, hogy még ez sem teljesen pontos. De az biztos, hogy 1 string-et érték típusok közé sorolni, az kritikus hiba.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
pmonitor
aktív tag
válasz hiperFizikus #48 üzenetére
A char érték típus. Unicode karakterek vannak.
http://www.bferi.hu/download.php ; http://bferi.hu/egyeb.php
-
cucka
addikt
Az eltén nem tanítanak blődségeket, a copy on write fogalmával érdemes barátkozni.
Az egész bonyolítás azért lett kitalálva, mert ha a string nem value típus, akkor szívás vele dolgozni és nagyon könnyű hibázni. Ha value típus és mindenhol másolatot készítesz belőle, az meg brutál lassú és memóriaigényes lesz.Ezért a fordító eljátssza azt neked, hogy a string value típus, mint ha minden egyes stringed egy másolat lenne, de valójában csak akkor másol, amikor muszáj.
Sőt olyan is van, hogy csak egy részét másolja le.Szval amikor te az unsafe kódban ott turkálod a memóriát, és azt hiszed, hogy okosságra jöttél rá, akkor hidd el, akik a fordítót írták, azok okosabbak nálad meg nálam összeadva kétszer.
A referencia pedig gyakorlatilag nem egy mutató. A mutató a mutató.
Ha ugyanazt jelentenék, akkor nem létezne két külön fogalom rá.[ Szerkesztve ]
Aktív témák
- GAMER PC: Új RYZEN 7 3700X/5800X - RTX 3060 Ti GDDR6 - Új 16/32GB DDR4 - M.2 NVMe SSD - GAR/SZÁMLA!
- FC 25 PS5 cd játék , szinteúj eladó!
- Apple iPhone 11 Pro Max 64GB újszerű,hibátlan állapotban + tok + töltő szett, KORREKT ÁRON!
- Samsung Galaxy S21 FE 5G 128GB
- Gamer PC Intel I7 12700KF / 32GB DDR4 / RTX 3080 10GB / 1TB SSD / Beszámítás / Garancia /
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest