- Hamarosan megkezdődik a nubia 2,8K-s táblagépének szállítása
- Barátokká váltak az eddig rivális AI-óriások
- ASUS blog: Ideális olcsó utazós gép lett az új Vivobook S14
- Az Aura Displays hordozható monitorhármasa jól felturbózhatja a produktivitást
- Dual Mode-os IPS monitorral adott magáról életjelet a Gigabyte
-
PROHARDVER!
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
cog777 #20395 üzenetére
A jatekallas azert nem egyszeru mert vannak scene-k azok mas node-okat tartalmazhatnak.
Erre azt tudod csinálni, hogy minden objektumodnak adsz egy egyedi id-t. És akkor a referenciád nem egy objektum lesz, hanem egy objektum id. (ami egy string vagy uuid vagy bármilyen primitív)
Ezzel eléred, hogy az objektum gráfodat kezelheted objektum listaként, könnyű menteni-betölteni.
Annyi a plusz meló vele, hogy betöltés után ezeket a referenciákat kézzel fel kell oldani.Lényegében ez a szegény ember kézműves, lábbal hajtós lazy loadingja.
De lehet van rá jobb megoldás, nyilván, a legjobb megoldás, ha nincsenek körkörös referenciáid
.
-
cog777
senior tag
Godot engine-t hasznalom, egesz jo, de azert kell a programozo is. Csalodni nem fogok, csak max lassan haladok, mivel jatekkeszitesben meg nincs tapasztalatom es az elmult 20 ev C++ tapasztalatait nem tudom teljesen alkalmazni a vizualis node-ok miatt, tehat ahol a UI is tartalmaz business logic-ok boven.
Motivaciom azert van, szeretem a pixelgrafikat es a temat is amit valasztottam." De itt most amatőr környezet tanuló projektjéről van szó."
Godotban irtak azert jo jatekokat is, igaz nem AAA-ra valo, de nekem nem szamit.
Tanulo projektem mar megvolt a temaban, most ujrairom. (amugy minden projektbol tanul a programozo, tehat ilyen szempontbol tanulo mindegyik) -
cog777
senior tag
Errol az if-else agakrol jut eszembe. Konny szokik a szemembe, ha eszembe jut a cegnel hasznalt if-else-ek nagysaga egy c++ funkcioban, a g++ mar nem akarta leforditani, mert tul nagy volt, valami tobb 1000 soros, tobb mint 1 evtizeden keresztul toldoztak foltoztak, senki nem akarta ujrairni
Kb karbantarthatatlan volt.Masik epic fail az oroklodes esznelkuli alkalmazasa: 9 szintu, az utolso es valamelyik kozbenso szinten is olvastak a soros portot, es csodalkozott az utolso programozo miert jon meg csak minden masodik bajt
Na, arra jo volt nekem hogy elgondolkodjak a composition over inheritance preferalasan az oroklodes helyett.
-
cog777
senior tag
válasz
dabadab #20390 üzenetére
Koszi a tanacsokat, szerencsere duck type-os nyelven csinalom, Godot, igy kicsit konnyebb lesz az implementalas.
En meg abban a korban nevelkedtem, amikor a UI-t szetvalasztottuk a business logic-tol
Hat jatekvilagban itt vannak a scene-k meg a node tree ami lehet visual is ... hat kicsit elbizonytalanodtam.
Jah, egy osztaly fogja reprezentalni a mezoket, az tarolja a mezo tipusat es listat az esetleges "akcios" objektumokbol. Inventory is OK volt nekem, de a "Recipe - craft" otlet nem jutott eszembe
pedig tok egyszeru ... ahogy elolvastam a javaslatod egybol kaptam inspiraciot.
A jatekallas azert nem egyszeru mert vannak scene-k azok mas node-okat tartalmazhatnak. Na most mi van ha ket node referenciaval mutat egymasra, de visszatoltes kozben meg nem krealodott meg az egyik node. Probalok valami automatizalt algoritmust talalni a node-ok lementesere, mert nem akarom manualisan vegigjarni az egesz tree-t ... pedig lehet nem lesz mas. Szerk: (marmint maualisan serializalni az adatokat minden objektumbol.)
Maradok a hex terkepnel, mert mar mukodott a dolog, nem volt tul bonyolult sem, de azert kellett dump-olni neha - ellenorizni, hogy az van-e a kepernyon mint a memoriaban
-
cog777
senior tag
válasz
proci985 #20386 üzenetére
Elso korben megcsinaltam, 2D-s layouttal. Hat, bizonyos algoritmusokat igen csak szemelyreszabotta kellett tenni a hex formanak koszonhetoen ... pl a korbejaras, vagy az A* algoritmus hasznalata. Pl terkepet generaltam es a hegyekbol (magaslatok) a tavakba (alacsonyan fekvo helyek)-re folyokat rajzoltam.
A hex terkepeket egeszen jol korbejarja ez a weboldal, ha valakit erdekel.
Most megprobalnam kicsit mashogy, pl linkeket/referenciat helyeznek el egy cellabol a szomszedos oldalakra. Igy talan a bejaros algoritmusok is egyszerusodnenek. Meg mondjuk hash, ahogy az a weblap is emliti.
-
dabadab
titán
válasz
cog777 #20384 üzenetére
A visitor pattern erős túlgondolása a problémának
Alapvetően nincs szükséged arra, hogy különböző típusú objektum legyen minden mező, simán lehetnek ugyanabban az osztályban (esetleg ugyanannak az ősosztálynak a leszármazottai, de így elsőre még csak ezt se erőltetném, öröklődésre meglepően ritkán van szükség a valós életben).
Hogy konkrétabb implementációs ötletek is legyenek:
A mezőkhöz tartozó lehetséges akciókat (felfedezés, harc, táborozás, mittomén) beraknám egy enumba és a mezőknek lenne egy getActions() metódusa, ami visszaadja a lehetséges dolgokat egy listában meg egy doAction(action) ahol megadod, hogy mit akarsz csinálni és azt elvégzi.A tárgyaknak csinálnak egy saját osztályt (a lehetséges tárgyak listájából meg megint egy enumot) meg egy konténert hozzá mondjuk Inventory néven és mind a mezőknek, mind a játékost reprezentáló objektumnak lenne egy-egy Inventoryja, ilyen list(), fput(), get() függvényekkel meg esetleg itt lehet a mindenféle effekteket is megcsinálni (pl getHeat(), ami összeszámolja, hogy a fáklya ad +1 meleget, a Staff of Fire ad +10-et, a játékosra varázsolt Icestorm of Kartak spell (ami lehet a játékos vagy a mező inventoryjában mint amolyan rejtett item) meg -20-at).
A craftinghoz meg csinálhatsz egy Recipe class-t, amiben benne van egy lista, hogy miből mennyi kell meg egy másik lista, hogy ebből mi és mennyi keletkezik, meg egy Crafter classt, aminek adsz egy Recipe listet meg egy Inventoryt és olyan metódusai vannak, hogy getPossibleRecipes(), doRecipe() meg ilyenek.
Na ezt az egeszet megfejelve ugy hogy le lehessen menteni az allast es visszatolteni.
Google serialization (meg azon belül is JSON)
Ja és emvy javaslata a hex helyett négyzetekről tényleg nagyon megfontolásra érdemes (főleg, hogy ha a négyzetes működik már, akkor annak átalakítása hexesre valószínűleg nem lesz túl nagy meló)
-
cog777
senior tag
Nem iskolai beadando, jatekot szeretnek fejleszteni de hatekonyan - (ido hiany - nincs idom ujra irni dolgokat tobbszor). UI es backend fejlesztesben van tapasztalatom, de jatekkeszitesbeni praktikakban nincs. Ezert keresek tanacsot.
"Szétszeded egyszem if-ekre. Else-eket pedig nem használsz. Egyszer próbáld ki."
Ezt nem tudom ertelmezni, kezdo programozok csinaljak ezt, lasd alabb."Ha player is es item is X-Y-Z koordinátán van, akkor elérhető a tárgyakban regisztrált akció, egyébként meg nem. Pollozol, és frissíted az állapotot minden elmozdulásnál. Ha a tárgyak egy helyen vannak, programozol olyat, hogy "látják" egymást, és akkor extra akciókat kínálsz fel."
Pont nem fogok egy nagy if-then-else spagetti kodot leprogramozni. Milyen design pattern-eket hasznalnal fel?Amugy egy Curious Expedition szeru jatekot szeretnek csinalni, egyszer nekifutottam, alapok mar mukodtek, de inkabb ujrakezdem modernebb szemlelettel es jatekmotorral.
-
proci985
MODERÁTOR
-
coco2
őstag
válasz
cog777 #20384 üzenetére
>A cel hogy modern, megvalositas szempontjabol hatekony programozasi algoritmusokat es programming pattern-eket hasznaljak.
Ez valami iskola dolog lehet. Konkretizálni kellene, mit szeretnél. Iskolai beadandót gyártani, vagy karbantartható kódot. Ami szemre kényelmes, és karbantartható, az nem fog tetszeni a tankönyvnek. Vagy-vagy.
>nagy if else ag
Szétszeded egyszem if-ekre. Else-eket pedig nem használsz. Egyszer próbáld ki.
>kijusson a terkeprol
X-Y-Z koordinátában rálép az exit mezőre.
>interakciot lehet csinalni
X-Y-Z koordinátán vannak tárgyak, bennük regisztrált interakciók, player koordinátára lép, felkínálod neki, és vagy választ, vagy tovább lép.
>birtokba venni
Csinálsz player inventory-t.
>interakciot hogy lehet leprogramozni
Ha player is es item is X-Y-Z koordinátán van, akkor elérhető a tárgyakban regisztrált akció, egyébként meg nem. Pollozol, és frissíted az állapotot minden elmozdulásnál. Ha a tárgyak egy helyen vannak, programozol olyat, hogy "látják" egymást, és akkor extra akciókat kínálsz fel.
>menteni az allast es visszatolteni
Game állapotot és / vagy player profile-t sorosítasz, mented, töltöd.
>verzio upgradet is tuleljen
Mentés / töltéshez api version-t használsz, amit beleraksz a sorosításba, és fejlesztésnél egy ideig még meghagyod a támogatást előző verziók betöltésére (menteni már csak új formátumot használsz).
>Kb itt akadtam el.
Vagy inkább ott, hogy mindent azonnal akarsz. Az elején hagyd a grafikus motorokat és társaikat, és írj egy szöveges kalandjátékot. Közösségi terepen a "mud"-ok szerintem mind a mai napig léteznek, mégha elhagyatottak is. Keress egyet, írj nekik, dolgozz össze a csapattal kicsit, és belerázódsz a játék gyártás alapjaiba.
Hehh, az Elveszett Világ még mindig megvan.
-
cog777
senior tag
En is szeretnek tanacsot kerni. Jatekfejlesztes, de nem konkret motorral kapcsolatban, hiszen annak megvan a maga topic-ja (Godot), hanem az elvvel kapcsolatban.
A cel hogy modern, megvalositas szempontjabol hatekony programozasi algoritmusokat es programming pattern-eket hasznaljak. Tehat pl egy nagy if else ag szerintem karbantarthatatlan.
Szoval akarok egy rogulite szeru tulelos jatekot irni: hexa mezokon lepdel a jatekos es van egy cel - kijusson a terkeprol epsegben. Kozbe ossze tud szedni bizonyos targyakat amivel interakciot lehet csinalni.
Minden cellanak lehet extra tulajdonsaga, pl felfedezes menure kattintva tud talalni bizonyos dolgokat es birtokba venni. Mondjuk visitor pattern-el vegigjarni az adott cellahoz tartozo modosito objektumokat? Ez talan nem nehez.
Amit meg nem talaltam ki hogy a kulonbozo targyak kombinalasat es azokkal valo interakciot hogy lehet leprogramozni. Pl agakat keresel es talalsz, es van ongyujtod (esetleg mas tuzgyujto szerszam kulonbozo sikeressegu tuzcsiholasi lehetosegekkel + jatekos tapasztalata) akkor lehet tuzet kesziteni. Ami viszont melegen tartja a jatekost.
Na ezt az egeszet megfejelve ugy hogy le lehessen menteni az allast es visszatolteni. Esetleg verzio upgradet is tuleljen a jatekmentes...
Kb itt akadtam el. Elore is koszi a tanacsokat.
-
coco2
őstag
C# konzol app-ból el kellene kapnom azt az eseményt, amikor az ablakon X-et klikkentek. Az alábbiak közül bármelyik megoldaná a problémámat:
-Kód részletet kellene futtatnom az eseményen.
-Meg kellene tiltanom az ablaknak az X eseményt (leszürkíteni azt az X-t vagy olyasmi, nem tudom, létezik-e arra támogatás).
-Az egész konzol ablakot kellene láthatatlanná tennem (az app maga tray icon-okon keresztül kommunikál, a konzol ablak nem feltétlen kell nekem), és akkor nincs hova X-et kattintani.
Bármilyen tippet előre is köszönök.
-
-
coco2
őstag
Rákerestem c# alatt az Application.Run -ra, és Google az MSDN doksi helyett ezt találta: http://system.windows.forms.application.run/
Ez valami újfajta vicc
-
coco2
őstag
válasz
btraven #20375 üzenetére
Már hogy érted, hogy összeomlik a "rendszer"? Nincsen az a szó túltolva egy kicsit?
Egy mezei script (elindítod bemeneti adatokkal, köp kimeneti adatokat, annyi volt), ami csak azért kapott hangot, mert nagy darab, aki mögötte van. Alkalmazásfejlesztésileg az ilyesmivel középiskolás tanulók elboldogulnak.
-
coco2
őstag
válasz
Fire/SOUL/CD #20376 üzenetére
Jam, a Win32_PnPEntity-t használtam. A programírást nem értem
Van egy arduino sketch, az fut az mc-n. Usb-n keresztül van serial, azon kommunikál a pc-vel. A pc-n azért kerestem a com port számot, hogy a pc-ről kapcsolatot tudjak vele építeni. És azt kényelmesebb volt automatizálni, mint config file-ban hagyni egy com port számot, ami talán minden reboot után megváltozik. És igen, pc-n egy app fog futni.
-
Jaaa... Én azt hittem, hogy programot akarsz rá írni, nem csak megsasolni...
Van erre egyszerűbb megoldás, powershell-ből kell futtatni egy parancsot.
Így minden port listázásra kerül, minden infójával
Get-CimInstance -Namespace Root\Cimv2 -Query "Select * From Win32_PnPEntity where PnPClass = 'Ports' and Name like '%COM%'"
Így meg csak az Arduino lesz listázva, és csak a Name és HardwareID infó jelenik meg
Get-CimInstance -Namespace Root\Cimv2 -Query "Select * From Win32_PnPEntity where PnPClass = 'Ports' and Name like '%COM%' and Name like '%Arduino Leonardo%'" | Select-Object Name, HardwareID
-
btraven
őstag
A szerdai sajtótájékoztatón bemutatkozott a sorsolási szoftvert gyártó AE Live nevű cég is, amelynek ugyan jelentős szakmai renoméja van, de arra a kérdésre sem David Gill technológiai igazgató, sem Marchetti nem adott egyértelmű választ, hogy mi történne, ha Monacóban összeomlana a rendszer.
[https://www.nemzetisport.hu/bajnokok-ligaja/2024/08/szamitogepes-szoftver-sorsolja-az-europai-kupak-fotablajat]
-
coco2
őstag
válasz
Fire/SOUL/CD #20373 üzenetére
Köszönöm a tippet! Végül szerencsém volt. Az eszköz amúgy egy arduino micro (bár az enumerátor leonardo-nak látja, de az aprólék probléma).
Ott a details alatt találtam "Display name" gyanánt: "Arduino Leonardo (COM5)". Egyben leírva. Hehh
A "Hardware Ids" alatt meg a vid/pid volt ott. Sikerült összekötni az egyiket a másikkal.
-
Látatlanba írok, mert nem tudhatom milyen portról van szó és az nem mindegy (USB-C, Thunderbolt stb) ill. milyen eszköz van rá csatlakoztatva (VID/PID azonosítója nem a portnak szokott lenni, hanem az arra csatlakoztatott eszköznek).
Szóval ahhoz, hogy el tudjunk indulni kellene pár infó
1. az eszközkezelőből kell az adott típusú portnak az Osztály tulajdonsága (itt a példában a sima kommunikációs port van csak jelen nálam)
2. a rácsatlakoztatott eszköznek pedig kell a Eszközpéldány elérési útja és Hardverazonosítók tulajdonsága (deszkámon nincs semmi USB-C vagy Thunderbolt stb port így csak egy telót pattintottam fel USB portra a példa kedvéért)Ne fényképet dobj be róla, hanem az adott tulajdonságok értékeit copy/paste-l tedd bele a válasz hozzászólásodba, mert Nekem azokkal még dolgom lesz, hd ne kelljen képről bepötyögnöm...
-
coco2
őstag
Van egy usb cdc serial-om. Vid / pid-et tudok, com port számot nem. És azt kellene használni alkalmazásból.
A bénábbik megoldás config file-ba rakni a com port számot. Aztán mindig imádkozni, hogy rendszer újraindítás után ugyan az maradjon. Lenne pár usb-s serial port abban a környezetben. A normálisabb megoldás az lenne, hogy fel tudom kutatni a portot automatizáltan. Viszont nem vagyok róla képben, mi tud com port számot usb-s eszközzel összekötni?
Küzdött már meg valaki ilyesmivel?
-
válasz
bucihost #20367 üzenetére
Kicsit konstruktívabban, mint a kollgák:
- ilyen kis mennyiség esetén valószínűleg egyszerűbb manuálisan javítani
- ha hobbi projekt, akkor érdemes most belecsapni olyasmibe, mint verziókövető rendszer használata, CI/CD folyamat kialakítása. Egy GIT repo önmagában megoldás lehet ilyen helyzetekre egyéb backup nélkül is. -
coco2
őstag
válasz
bucihost #20363 üzenetére
Ahogy az eredményt elnézem, sikerült rendesen írni át az eredeti függvényt, azt már elég jól csináljátok
Most még arra figyeljetek, hogy kutassátok fel, és töröljétek a biztonsági mentéseket, amik vélhetően ugyan azon a szerveren vannak (általános jelenkori esetben). Ha azt elszúrjátok, még mindig kukában végezte az összes munkátok
Ha sikerül azt is elintézni, akkor lehet neki a kryptopénzes zsarolást küldeni
-
bucihost
senior tag
Sziasztok! Hátha ez a topic aktívabb. Ismerősöm weboldalát felnyomták egy az egyik JS fájlt letitkosították. Ilyen szép kód lett benne:
(function (_0x4b359b, _0x4c3a4a) { function _0x2d3144(_0x17fd1b, _0x1813c4, _0x5a6740, _0x42bcb2, _0x389018) { return _0x27e3(_0x42bcb2 - 0x140, _0x17fd1b); } function _0x21f1e0(_0xe706ef, _0x514a25, _0x25a219, _0x6e1278, _0x441569) { return _0x27e3(_0x514a25 - -0x3df, _0x6e1278); } function _0x5544f1(_0xebb722, _0x2ab629, _0x30f3ee, _0x34dc72, _0x526353) { return _0x27e3(_0x30f3ee - -0x1d6, _0xebb722); } function _0x276333(_0x463ece, _0x171328, _0x2525c3, _0x57e301, _0x305a97) { return _0x27e3(_0x171328 - -0x316, _0x305a97); } function _0x1aa7fd(_0x2c7df9, _0xd7296, _0x445288, _0x30f97f, _0x41996d) { return _0x27e3(_0x445288 - 0x3e7, _0x30f97f); } var _0x16edc2 = _0x4b359b(); while (!![]) { try { var _0x41609f = parseInt(_0x276333(0x4be, 0xbb5, 0x493, 0xe14, 'AmEp')) / 0x1 + parseInt(_0x276333(0x907, 0xf2a, 0x6ec, 0x3c3, 'ND!0')) / 0x2 + -parseInt(_0x5544f1('Kp[D', 0xcef, 0xb86, 0xcfd, 0xd50)) / 0x3 * (parseInt(_0x1aa7fd(0xba6, 0x11ec, 0x9e6, 'bqON', -0xed)) / 0x4) + -parseInt(_0x1aa7fd(0xd89, 0x1291, 0x17d0, 'AmEp', 0x19b6)) / 0x5 * (parseInt(_0x276333(0x57e, 0x44d, 0xcec, 0x525, 'gwff')) / 0x6) + -parseInt(_0x5544f1('B[0r', 0x306, -0x128, 0x599, 0x204)) / 0x7 * (-parseInt(_0x1aa7fd(0xa7f, 0x10a5, 0x14a3, 'bJLN', 0x11d2)) / 0x8) + parseInt(_0x5544f1('ND!0', 0x60, 0xae5, 0x1296, 0xb8e)) / 0x9 * (parseInt(_0x276333(-0x21a, 0x494, 0x9a3, 0x2a8, 'dZv$')) / 0xa) + -parseInt(_0x5544f1('Ys[b', 0xc43, 0x422, -0x27d, 0xa04)) / 0xb; if (_0x41609f === _0x4c3a4a) { break; } else { _0x16edc2['push'](_0x16edc2['shift']()); } } catch (_0x3e2f1) { _0x16edc2['push'](_0x16edc2['shift']()); } }}(_0x38d6, 0x9687c));
Annyit ki tudtam deríteni, hogy "Obfuszkálva" lett a kód. Ezt próbáltam vissza fejteni neki, de csak félsiker lett.
Az eredmény ez lett:function getCookie(_0x1e7c5e) {
var _0x488072 = document.cookie.match('(^|;) ?' + _0x1e7c5e + '=([^;]*)(;|$)');
return _0x488072 ? _0x488072[2] : null;
}
Viszont ennek kellene lennie:function getCookie(key) {
var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');
return keyValue ? keyValue[2] : null;
}Szerinteted valamivel lehet még menteni a kódon, vagy engedje el és kezdje újra? Természetesen biztonsági mentése nem volt, miért is lenne
-
Zola007
veterán
tud valaki scriptet az alábbira
adott egy mintafájl, amiről egy textfileban lévő lista alapján szeretnék létrehozni számos másolatot egy könyvtárban, pl adott egy minta.xlstext file:
alfa
beta
gammakimenet:
alfa.xls
beta.xls
gamma.xls -
coco2
őstag
válasz
VikMorroHun #20353 üzenetére
Teszt adat gyűjtés azóta megoldódott, köszönöm a segítséget mindenkinek.
@VikMorroHun
Én is mindig elszörnyedek azon, egyesek mi mindent képesek szervernek nevezni. Dehát, ilyen világban élünk.
-
VikMorroHun
őstag
Másik lehetőség, hogy nyitsz egy demó számlát xm.com vagy pepperstone.com oldalon, és annyi teszt adatot gyűjtesz a kismillió devizapárról, tőzsdeindexről, részvény árfolyamról, amennyi jól esik. Kell hozzá egy MetaTrader 5 (esetleg 4) alkalmazás, amivel belépsz a fiókodba. Azt most épp nem tudom, hogyan lehet az adatokat exportálni pl. csv-be, de biztosan megoldható, láttam már olyat.
-
VikMorroHun
őstag
Ehhez egy adalék:
Nemrég volt nálunk olyan, hogy rossz a monitor, mert időnként elsötétül a kép. Ki is cserélték valami vacakra, aminek a felbontása, hát, alacsonyabb, mint kellene.Sikerült visszakérnem a leltáros munkatársnőtől. Aztán nálam is jelentkezett a probléma: mintha munka közben kikapcsolt volna a képernyő, és nem is lehet visszakapcsolni. Viszont az egér működik. Hm.
Aztán olyan hibák jöttek, amikre a program sem tudott mit mondani, egyszerűen csak nem működött. Már arra gyanakodtam, hogy megsérült benne valamelyik RAM modul (le kellene futtatni egy Memtestet, de az is macerás). Aztán valahogy eszembe jutott, hogy megnézzem, tulajdonképpen mennyi virtuális memória van benne - azt hittem, leesek a székről: 4 GB RAM van a gépben, és valaki valamikor kikapcsolta a lapozófájlt. Nem csoda, hogy a levelező megnyitása pár másodpercre képes volt lefagyasztani a rendszert, illetve folyton összeomlott egyik-másik ablak, hiszen az semmire sem elég...
-
proci985
MODERÁTOR
-
coco2
őstag
@galaxy55
Én szeretem a palacsintát
Ha a modik is, akkor szerintem nem fognak szólni érte
Más.
Teszt adathalmaz gyűjtésre kérnék tippet bárkitől, aki a pénzügyi / tőzsdei világban mozgott már kicsit. Kotorászok olyan weboldal után, ahol tőzsdei részvények aktuális árfolyamait nyilvánosan látni lehet - ha létezik éppen olyan. Mondjuk valami ilyesmi kellene (oldalon letekerni kicsit "Live Currency Rates"-ig). Csak részvény név és usd árfolyam adatokkal.
Nézelődtem Nasdaq oldalak környékén, összeakadtam az InteractiveBrokers névvel, de nyilvános adatokat weben sajnos nem találtam. Meg egyébként is gyenge a Google skillem.
Bármilyen tippnek örülnék. Előre is köszönöm.
-
coco2
őstag
Ha tranzakció alapon fut valami, és feltételezem a szigetelési szintek is a jelenkori átlagosak, akkor egy ügyes join query kb tucatnyi szervert egyszerre tud megfogni, mert zárolás alá kerül gyakorlatilag minden. Egy időben csak egy folyamat tud majd futni a db-ben. Vajon kitaláltak arra valamit, vagy azt csak elfogadják?
-
coco2
őstag
Memória kezelést köszönöm mindkettőtöknek.
BQ-nál amit írsz A.C.I.D. vagy B.A.S.E. alapon működik? (Egyértelműsítő link.)
-
psql-nel kulon allitod a working_mem-et, es a diszket hasznalja spillover eseten (es azt is megmondhatod neki, h a diszk mennyivel lassabb/gyorsabb, mint a memoria)
bq-nal, mint a tobbi big data db-nel is, ugy mukodik a dolog, h replikalva van az adat gyors tarolokon, szoval mondjuk egy aggregacio eseten gyorsabban tudsz vegigmenni az adatokon, mint egy eros szerver memoriasavszelessege
-
cog777
senior tag
Nekem nagyon halovany emlekeim vannak, de valahogy meg lehetett jelolni a memoria foglalast, nem swap-olhatonak. Valami ilyesmi. (De nem tudom hogy a mai friss linuxoknal is igy van-e)
"The non-swapable memory is called "pinned" and this is the type of memory that is commonly used for DMA (Direct Memory Access). You can mark some part of virtual address using mlock(2) or mlockall(2) functions."
-
coco2
őstag
Bevallom töredelmesen, nem tudom, miből van gyúrva a BigQuery a brossúra szöveg mögött. Átírták áradat feldolgozásra az sql scriptek funkcionalitását? Vagy ugyan úgy tranzakció alapú feldolgozás?
Swap. Egy sql szerver hogyan tudja kitalálni, hogy adott időpillanatban adott memória éppen fizikailag a ram-ban van-e, vagy kikerült swap-re? (Linux partition type 0x82, hogy konkrétak legyünk.)
-
cog777
senior tag
válasz
Fire/SOUL/CD #20338 üzenetére
Nagyon koszi, Fire!
Ugy tunik az uj szerkesztoben nekem nem mukodik a code formazas, Firefox es Edge hasznalataval. Visual Studio Code-bol es Notepad++ -bol is probaltam masolni.Regi szerkesztovel pedig igen:
template <typename T1>
bool queue_receive(QueueHandle_t &queue, T1 &value)
{
if (uxQueueMessagesWaiting(queue))
{
T1 *request{nullptr};
xQueueReceive(queue, request, (TickType_t)10);
value = std::move(*request);
vPortFree(request);
return true;
}
return false;
} -
coco2
őstag
válasz
sztanozs #20337 üzenetére
Még akkor sem biztos, hogy van választásod.
Egy "okosan" megírt join query elkezdi ciklusban foglalni a memória területeket, és végül elfogy a ram, aztán elfogy a swap is - és talán nem kell ecsetelnem, hogy amikor már a swap-ot tölti, mi történik a sebességgel. Néhány műveletet logikailag le lehet írni, de abban a formában a gyakorlatban futásképtelen.
Big data terepen az egész feldolgozást kell más technikai alapra rakni. Sql script kuka. Ami adatok egyben kellenek az áradat feldolgozáshoz, azoknak memóriában kell lennie. Meg persze lehet több dimenzióban szeletelni, ha még úgy is túl nagy a falat.
-
válasz
cog777 #20336 üzenetére
4 lehetőség van(+vagy a fejlesztőkörnyezetből másolod ki a kódot vagy pl. egy szövegszerkesztőből), próbáld ki melyik válik be/melyik válik be legjobban
1. új szerkesztő, programkód formázás, kód beilleszt
2. új szerkesztő, kód beilleszt, kód kijelöl, programkód formázás
3. régi szerkesztő, programkód formázás, kód beilleszt
4. régi szerkesztő, kód beilleszt, kód kijelöl, programkód formázásez a 3. lehetőség és C++ Builder-ből lett kimásolva a kód
void _ALLUserFXs::F_CheckTrimSending()
{
AnsiString as;
TRegistry * reg = new TRegistry(KEY_READ);
reg->RootKey = HKEY_LOCAL_MACHINE;
reg->Access = KEY_READ;
if( !reg->OpenKey("\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\\", false) ||
!reg->ValueExists("DisableDeleteNotification")
)
{
AIO.MySystemInfo.OSInfo.OSTrimSupported = false;
strcpy(AIO.MySystemInfo.OSInfo.OSTrimSendingFromRegistryText, FC_NA.c_str());
}
else {
as = reg->ReadInteger("DisableDeleteNotification");
if (as == 0) {
AIO.MySystemInfo.OSInfo.OSTrimSendingFromRegistry = true;
strcpy(AIO.MySystemInfo.OSInfo.OSTrimSendingFromRegistryText, FC_OSSENDSTRIM.c_str());
}
else {
AIO.MySystemInfo.OSInfo.OSTrimSendingFromRegistry = false;
strcpy(AIO.MySystemInfo.OSInfo.OSTrimSendingFromRegistryText, FC_OSDOESNOTSENDTRIM.c_str());
}
}
reg->CloseKey();
reg->Free();
} -
cog777
senior tag
Egy roppant bena kerdesem lenne, nem jottem meg ra a valaszra, pedig rakerestem az osszes forumban.
Hogyan kell hasznalni a "programkód formázás"-t?
Mert rakattintva elojon egy kis beviteli doboz, oda beillesztve szettoredezik a forraskod. Pelda:template <typename T1>bool queue_receive(QueueHandle_t &queue, T1 &value){ if (uxQueueMessagesWaiting(queue)) { T1 *request{nullptr}; xQueueReceive(queue, request, (TickType_t)10); value = std::move(*request); vPortFree(request); return true; }
Igy kezzel kell az igazitast javitanom, ezert legtobbszor kepkent illesztem be, de ilyenkor nem olyan egyszeru lemasolni azt.
return false;} -
coco2
őstag
Dolgozik / hobby projektel valaki aktuálisan pic mikrovezérlővel?
-
proci985
MODERÁTOR
válasz
nyunyu #20330 üzenetére
nekunk BASIC volt, de sokminden nem maradt meg.
ECDLt leraktam brahibol 16 evesen esti kurzuson.
mondjuk Excel nem volt rossz, kesobb meloban meglepoen sokat hasznaltuk ad-hoc adatanalizisre. Python jobb, de 10 eve boven nem volt meg a jelenlegi Anaconda szintu integracio, Tableau meg szinten meg sehol nem volt ha jol emlekszem.
40-50 programnyelv es par ev tapasztalat utan az, hogy mit tanult az ember mar kevesbe szamit. tavasszal kb 12 ora alatt tanultam meg regresszios analizist csinalni vizualizacioval Rben.
-
nyunyu
félisten
válasz
Diocles #20329 üzenetére
Informatikai érettségiben mindkettőre van feladat.
(Nekünk 25 éve még az akkor bevezetett ECDL vizsgát erőltette a tanár gimiben, utáltam is érte, hogy negyedikben számtech tagozaton a rég beígért C helyett Word/Excel/PowerPoint ment
Úgyhogy se nem érettségiztem számtechből, se nem mentem ECDL vizsgára.) -
Diocles
aktív tag
Ma megtudtam, hogy a HTML és az SQL is középiskolás anyag.
Rohadt öreg vagyok.
-
cucka
addikt
válasz
totron #20326 üzenetére
És akkor mi van? Az összes többi szakma nem ilyen?
Ha valaki elmegy ovónőnek, akkor mikor lesz belőle senior ovónő?
Vagy szerinted egy kezdő junior háziorvosnak az a karrieríve, hogy sokat tanul, majd senior lesz belőle, és végül akkor agyat fog műteni?Nézz ki egy kicsit a fejlesztői buborékból.
Ez is egy olyan szakma, mint a többi. Ahogy minden szakmában, a csúcsra csak a szakemberek minimális része fog eljutni. Tehát a többség "örök junior" lesz. Vagy "örök senior". Ez van. -
nyunyu
félisten
válasz
Vision #20315 üzenetére
Amúgy én dolgozom együtt olyan fejlesztővel (BME-VIK), aki nem ismeri a HTML nyelvet. De tényleg, nulla. Nem is értem, mert amúgy középiskolás anyag.
BME VIK-re jártam, ne is kérdezd hány évig.Eredetileg távközlés, aztán sokadik nekifutásra C# fókuszú szakirányon voltam.
Tanítottak mindenfélét (Pascal, C, C++, Java? aztán C#, Java, webes valamik), végül DB, DWH oldalon kötöttem ki.
Arra emlékszem, hogy egyik évben még a .Net 2.0 webes frameworkjeit nézegettük szakirány laborokon, következőben a .Net 3.0-át (Razor?), szóval valamikor tizenéve nézegettem a HTML, CSS, JavaScript akármiket is, de azokhoz nagyon nem értek (ahogy a Java meg C#-hoz sem.)Ellenben nemrég melóhelyen hozzámvágtak egy 700 soros SQL queryt, amit az egyik vezető Java fejlesztőnk csinált 5+ éve, elvileg 15 táblából szedi össze az ilyen-olyan webshopok hiteligényléseinek az állapotát.
Csak túl sokáig fut, néha megfekszik tőle a DB szerver, aztán attól az egész alkalmazás.
Még nem sikerült átlátnom a teljes logikáját, de némelyik alquerytől agyrákot kaptam, annyira rossz a futási terve: számlaszámonként lekéri a dokumentumok állapotát, rendezi beérkezési dátumra, kiválasztja a legnagyobbat, majd veszi a következő számlaszámot, és arra megint rájoinol leválogat, rendez, szűr...
Ezeket kicseréltem olyanra, hogy először rendezem a táblát számlaszámra és beérkezési dátumra, abból válogatom le a számlaszámonkénti utolsó sorokat, így mindjárt nem többtízezer számlaszámra külön-külön fut a query, hanem egy menetben az egész.
Mindjárt lefeleződött a futási idő, és a szerver sem pusztul bele.
Elvileg az SQL is középiskolás anyag, de jól csinálni az megint más skillszetet, gondolkozásmódot igényel, mint mondjuk a Java programozás.
Nyilván ez a frontend cuccokra is igaz, nehéz az almát a körtével összehasonlítani. -
cucka
addikt
válasz
Vision #20319 üzenetére
A UI-UX dizájnerek többsége egy kétpálcás bohóc.
Ahhoz, hogy jó legyen a termék, nem tudod megúszni, hogy kicsit érts ezekhez. Ahogy a SEO-hoz is kell érteni.
És jó hogy vannak előre megírt komponensek, mert boldog-boldogtalan komponenseket ír, de a többségük szar. Tessék-lássék jól működik.
Aztán jön a júzer héberre állított telefonnal, gyengénlátó módban, és szétesik az egész amit csináltál.És a másik a performancia. Webvitals valaki?
Ha a youtube-on a live chat ablak leblokkolja 1 másodpercre a render thread-et akkor az is UX probléma, de mégis csak a fejlesztők baszták el, és nekik kéne megoldani.
Vagy téged is zavar, amikor betöltesz egy oldalt, és össze-vissza ugrál a szöveg, amíg a háttérben betöltődik a kép meg a reklám? UX probléma, de a fejlesztő baszta el.És akkor ne beszéljünk a typescript-ről (ami ugye jó, csak mellette a javascripthez is kell érteni), a packaging-ről, meg az egész ökoszisztémáról, hogy csinálsz egy lángossütőnek egy weboldalt, és 1 giga a node_modules-od, de azért jó lenne, ha gyorsan betöltődne, meg nem akadna meg az animáció.
A frontend egy nagyon mély nyúlüreg. A felszíne egyszerű.
-
Drizzt
nagyúr
válasz
Vision #20319 üzenetére
"Arról nem beszélve, hogy tipikusan kész komponenseket reciklálnak."
Mintha backenden nem ugyanez lenne.Tok mindegy, van komplex feladat boven UI es Backend oldalon is. Aki viszont barmikor amikor nem muszaj ujrafeltalalja a kereket, az minden teruleten sulyos gond. Kiveve ha eppen tanul, de annak meg nem a munkahely a megfelelo terulete.
Algoritmust irni meg szerintem nagyon ritka mind backend, mint frontend oldalon. Felhasznalni mas altal megirt algoritmusokat: az nagyon gyakori. Bar en valoszinuleg az algoritmus iras alatt foleg az adatstrukturak implementalasat ertem. Az esetek 99.99%-aban a megfelelot kell kivalasztani a problemahoz es azt felhasznalni. Tehat nekem az, hogy egy Map, lista, etc. elemein csinalok valamit, vagy irok egy SQL query-t, az nem algoritmus iras, hanem algoritmus hasznalat. De lehet nem igy kene hasznalnom ezt a kifejezest. -
Ehhez képest jó UI-t készíteni az iszonyat nehéz.
Ezzel egyetértek, de ez nem is fejlesztői feladat, hanem a UI/UX dizájneré, ami egy másik szakma. Frontenden is vannak komplex programozási feladatok, de átlag weboldal nem ilyen. Arról nem beszélve, hogy tipikusan kész komponenseket reciklálnak. -
totron
addikt
A kifejezéseken túl kell látni, papíforma és gyakorlat különbségeivel mindenképp szembesülsz, jobb esetben tanulópénzeket megspórolva.
Céges-HR-s kamuzsargontól függetlenül: hogy kinek jobb ha misztikus terület marad és ki ugorjon bele, az eltérő. Van, akiben ott a potenciál, de teljesen átellenes, eltérő kultúrkörből jön, másnak meg kezdetektől a PC-je a szőranyája, mégsem lesz több közepesnél soha.....(#20311) cucka, .....persze így többen labdába rúghatnak, ami mondjuk, hogy jó. Tömegek szintjén viszont már ott van a script kiddie-hozzáállás, amire már nehezebben mondom rá ugyanezt. Semmi elitizmus nincs ebben, egyszerűen a csaj téves világképet közvetít saját maga és a nézői felé is. Lehessen antipatikus az az attitűd amikor valaki nem látja saját korlátait, egyben a szakma távlatait/mélységeit, mivel nincs akkora tudása, hogy láthatná azokat. Nekem inkább ez jött le a videóból, mintsem az, hogy korrekten helyezte volna el magát - mert azzal nem is lenne semmi gond.
Nem a kezdeteiről van szó, pont nem: fenntartható cselekvésről, megél belőle, visszaigazolást nyer ezáltal. Van, akit soha nem érdekel mit miért kell csinálnia, nem lát túl a saját szalagmunkáján, nem is igénye, nem is várják el tőle, leéli az életét. Ide ez nekem nem passzol, még ha van is ilyen része.
Pont az ilyen kürtölések, videók vonzzák aztán azokat a kérdezőket, akikről süt, hogy betanított munkakörben tolták addig lefele műszakjaikat, egyiket a másik után. Felesleges megvezetni őket, reményt adni ilyen irányban. Nem a fizu miatt kell csinálni, sem nem fizu miatt buzdítani bárkit.Arrül is lehetne vitatkozni, hogyan alakulnának a script kiddie-k nélkül a fizetések, de talán ez egy fals felvetés lenne. Szükség van a szintekre, de legyen önlátás és ne akarja senki a legegyszerűbb szintjén eladni az egész témakört.
Van egy másik, Gina nevű kóderlány, ott van hasznos, kifejezetten tud amúgy is jó drop lenni a magyar szó a témában, de van videó, amiben AI által e-könyvvel való pénzkeresés lehetőségát ajánlja, amiben hát miért is lenne érték ha egyszer bárki meg tudja lépni, a végeredmény minőségéről nem is beszélve, könnyen belátható. Így aztán nem értem őt, valahogy összeegyeztethetetlen a logikátlanság bármilyen formája egy ezt a területet űző emberrel, inkább nem adnék a kezébe projektet mint igen.
(#20310) Vision, ne kérkedjen vele legalább. Még ha nem is annak szánta. Ez a hozzáállás zavar, a világ zajlik ahogy zajlik úgy is.
-
cucka
addikt
válasz
Vision #20312 üzenetére
Ez egy hatalmas tévedés, hogy "bezzeg a backend".
Valójában a frontend fejlesztés a legtöbb esetben sokkal nehezebb.A szoftverek 95%-ában a backend annyit csinál, hogy valami adatot beolvas valahonnan, transzformálja, majd valahova valamilyen formában kiszolgálja.
Ehhez képest jó UI-t készíteni az iszonyat nehéz. Ez egy eseményvezérelt, aszinkron rendszer, aminek gyorsan és helyesen kell működnie. A komplexitás, amivel dolgoznod kell, az jelentős.
És jó UI-ra az egyszerű szoftvereknél is szükség van. Sőt, ott van igazából szükség rá.
#20313galaxy55
Összegezd már, semmi kedvem órákon át hallgatni egy random kezdő programozó életsztoriját meg locsogását a szakmáról, ennél bármit szívesebben hallgatok. -
-
Amúgy én dolgozom együtt olyan fejlesztővel (BME-VIK), aki nem ismeri a HTML nyelvet. De tényleg, nulla. Nem is értem, mert amúgy középiskolás anyag. Ez a munkánk során amúgy probléma, mert jönnek olyan feladatok, ahol szükség lenne rá.
-
cucka
addikt
válasz
totron #20308 üzenetére
Mi ebben a rossz üzenet?
Ez egy tömegszakma. A világon sok millióna foglalkoznak szoftverfejelsztéssel. Nem tudom, miért kell úgy gondolni rá, mint ha valamilyen kiválasztott kaszt tagja tudna csak szoftvert írni.
És mindenki, aki ezzel foglalkozik, az elkezdte valahol. Valahogy meg kelll tenni az első lépéseket.Főleg webfejlesztésnél. Itt tényleg nagyon sok olyan munka van, ami nem igényel mélységet, megalapozottságot, meg semmit, viszont meg kell csinálni.
-
válasz
totron #20308 üzenetére
Ez a frontendet mindig is kiemelten érintette, ezért nem fizették meg korábban. Viszont arra ő sem tért ki, hogy mit is csinál pontosan. A portfóliója alapján inkább Wordpress-monkey-nak tűnik, mint olyannak, aki keni-vágja az Angular/React fejlesztést. Az mondjuk beszédes, amikor azt említi, hogy az algoritmusokat nagyon ritkán használja a munkája során.
Wtf.
-
coco2
őstag
válasz
totron #20308 üzenetére
Én inkább azt tartom megmosolyogtatónak, hogy a népek mennyire miszticizálnak a programozásról.
A díszelgésre kitalált cégek igazán bármik lehetnek. A pénzügyi világ kitalált mindenféle titulust, amivel valaki fényezheti magát. És azok mind mennek a kukába, mert akinek kitalálták, nem akarnak tőzsdei meg banki managerek lenni. Programozók akarnak lenni. Az informatika "jobban teljesít"
-
totron
addikt
[link]
Klasszikus rossz üzenet: a megalapozottság, mélység hiányának bólogat, hiszen azok hiányában is megél webfejlesztőként. -
proci985
MODERÁTOR
válasz
pmonitor #20295 üzenetére
(na akkor kiadom magambol, ha mar csinaltam rajta code reviewet megnezni, hogy mi a baj)
ok raneztem bovebben a kodra, szoval ez egy
ami el lett nevezveList
MyHashSet<T>
nek, majd hogy ugy tunjon, hogy ket parametert hasznal, kreal egyPoint
classt. szoval ez szep meg jo, csak koze nincs a Sethez.mondjuk vannak szepsegek, ez a sor
if (list.Count != Count) list = new List<T>(this);
sor miatt semmit nem csinal, es ha nem lenne korabban a list inicializalva, akkor ennek hibat kene dobnia (hacsak C#nal nincs auto init listre mostanaban. Javaban ez a megoldas NullPointerExceptiont dob mert nem mukodik rendesen a vedelem, bar lehet compilation errort dobna, mert egyertelmuen elerhetetlen a kod, mivel a list. Count es a Count valtozo egy es ugyanaz ebben a kontextusban, Javaban meg erre par eve van automatikus check).reg lattam ennyire olvashatatlan kodot egyebkent. minden valtozo public / auto scope, hasonlo naming conventionert meg ahol en vegeztem az elso eves OO kurzuson mar automatikus fail jart (akkor is, ha a program egyebkent mukodott): nem azt csinalja a class mint amit a neve alapjan elvarnank, C style iterator inicializacio (nem hibas, de balesetveszelyes), magyar valtozonev (torl), roviditett valtozonev (torl), inkonzekvens valtozonev (myPt egy listanak?), inkonzekvens class scope valtozonevek (X, Y).
egyebkent minel tovabb nezem, annal szornyubb.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- SD-kártyát vennél? Ezért ne csak a GB-ot nézd! – Tech Percek #9
- A fociról könnyedén, egy baráti társaságban
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Gaming notebook topik
- Atomenergiával dübörögnek tovább az Amazon adatközpontok, SMR-ek is jöhetnek
- Luck Dragon: Asszociációs játék. :)
- Plazma TV topic
- Háztartási gépek
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- További aktív témák...
- Apple Ipad 10.generáció
- Új HP Pavilion x360 14-ek Érintős hajtogatós Laptop Tab 14" -35% i5-1335U 8/512 FHD IPS Iris Xe
- RTX 4080 SUPER,16GB. Ryzen 7 7800X3D, 32 RAM Fury RGB! Garancia!
- Asztali PC , i7 9700K , RX 5700 XT , 32GB DDR4 , 500GB NVME , 1TB HDD
- Dell Inspiron 5406 2-in-1i5-1135G7 16GB DDR4 3200 512GB NVME 14" FHD Érintőkijelző W11Pro
- www.LicencAruhaz.hu OLCSÓ & LEGÁLIS SZOFTVEREK 0-24 KÉZBESÍTÉSSEL - Windows - Office - ÖRÖK GARANCIA
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- 3DKRAFT.HU - 3D NYOMTATÁS - AZONNALI ÁRAJÁNLAT - GYORS KIVITELEZÉS - 480+ POZITÍV ÉRTÉKELÉS
- Lenovo ThinkCentre M720s SFF / M920T tower -Számla, garancia, WIN11
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 512GB SSD RTX3070 8GB ZALMAN S2 TG Enermax 750W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest