-
Mobilarena
Új hozzászólás Aktív témák
-
cog777
őstag
Meglepoen jo a copilot, neha az ellenkezoje
. Ameddig hosszabb elmagyarazni egy bonyolult feladatot neki mint megcsinalni ember kodolonak, addig nem aggodom.
Igaz, speci teruleten, custom hardverrel dolgozunk seniorkent.
Az MI-nek ismernie kellene a hardvert is ahhoz hogy komplett megoldast tudjon adni a mi esetunkben. -
-
cog777
őstag
válasz
hiperFizikus #20421 üzenetére
Erdekes, majd olvasgatom.
Esetleg van valamilyen forrasod integralas, derivalas, mas fontos matek aminek van gyakorlat haszna? Egyetemen utaltam ezt a temat - tul szarazon es elmeleti sikon oktattak - es utanna igyekeztem elfelejteni - sikerrel.
De parszor jol jott volna, igy most mar szivesen vennek par linket olvasgatni.
Pl szabalyozas? PID? stb...Nyilvan en is talalnek egy csomo talalatot + chatgpt, de ha van egy jol bejaratott, altalad hasznosnak itelt linked, akkor azt megneznem.
-
cog777
őstag
válasz
cog777 #20417 üzenetére
ChatGPT-t megkerdeztem es ez lett a valasza - hatha mast is erdekel:
Certainly! As a C++ network developer focusing on network analysis, there are several key areas you’ll want to explore:
1. Network Protocols and Fundamentals:
o Understand common network protocols such as TCP/IP, UDP, HTTP, and DNS.
o Learn about OSI layers and how data flows through the network stack.
2. Packet Capture and Analysis:
o Familiarize yourself with libraries like libpcap for capturing network packets.
o Explore packet analysis techniques, including dissecting headers and payload data.
3. C++ Programming Skills:
o Strengthen your C++ knowledge, including memory management, pointers, and data structures.
o Practice writing efficient and optimized code.
4. Linux Networking Tools:
o Get hands-on experience with Linux networking utilities like tcpdump, Wireshark, and netstat.
o Understand how to use these tools for network troubleshooting and analysis.
5. Socket Programming:
o Learn about socket programming in C++ for creating network applications.
o Understand concepts like sockets, IP addresses, and port numbers.
6. Multithreading and Asynchronous I/O:
o Explore multithreading techniques to handle concurrent network connections.
o Study asynchronous I/O using libraries like boost.asio.
7. Security and Encryption:
o Understand network security principles, including encryption (SSL/TLS) and authentication.
o Learn about common security vulnerabilities (e.g., buffer overflows, injection attacks).
8. Build Automation and Tools:
o Use tools like CMake for building your C++ projects.
o Explore version control systems (e.g., Git) for collaborative development.
9. Real-Time Data Display:
o Consider using libraries like ncurses for real-time data visualization.
o Learn how to create interactive terminal-based interfaces.
10. Contributing to Open Source Projects:
o Contribute to existing network-related open-source projects on platforms like GitHub1.
o Gain practical experience by working on real-world codebases.
Remember that practical hands-on experience is crucial. Try implementing a simple network packet analyzer in C++ using libraries like libpcap. Good luck with your interview preparation! 🚀Certainly! When it comes to network programming in C++ or C, there are several key algorithms and patterns you’ll encounter. Let’s explore some of them:
1. Socket Programming:
o Sockets are fundamental for network communication. You’ll use functions like socket(), bind(), listen(), accept(), and connect() to create and manage sockets.
o The client-server model involves creating a socket server (listening for connections) and socket clients (connecting to the server).
2. TCP and UDP:
o TCP (Transmission Control Protocol): Reliable, connection-oriented protocol. Use it for applications where data integrity is crucial (e.g., file transfer, web browsing).
o UDP (User Datagram Protocol): Connectionless, lightweight protocol. Suitable for real-time applications (e.g., video streaming, online gaming).
3. Packet Handling and Parsing:
o When analyzing network packets, you’ll need to parse headers (e.g., IP, TCP, UDP) and extract relevant information.
o Algorithms for handling fragmented packets and reassembling them are essential.
4. Multithreading and Asynchronous I/O:
o Use multithreading to handle multiple client connections concurrently.
o Asynchronous I/O (e.g., using select(), poll(), or modern libraries like boost.asio) allows non-blocking communication.
5. Buffer Management:
o Efficiently manage send and receive buffers to avoid overflows or underflows.
o Circular buffers (ring buffers) are commonly used.
6. Error Handling and Recovery:
o Implement robust error handling mechanisms (e.g., timeouts, retries).
o Detect and handle network errors gracefully.
7. Security and Encryption:
o If your network application deals with sensitive data, consider implementing SSL/TLS encryption.
o Algorithms like RSA, AES, and HMAC are relevant.
8. IPv4 and IPv6:
o Understand both IP versions. IPv6 adoption is increasing, so ensure compatibility.
o Learn about address resolution (DNS) and IP routing.
9. Network Libraries and Frameworks:
o Explore libraries like libpcap (for packet capture), asio (for asynchronous I/O), and Winsock (Windows-specific).
o Frameworks like Qt provide networking components.
10. Testing and Debugging:
o Write unit tests for your network code.
o Use tools like Wireshark to analyze network traffic during development. -
cog777
őstag
Uj kerdesem lenne. A jatekfejlesztes egyelore hobbi
, meloskent embedded software developerkent huzom az igat.
Szoval jelentkeztem egy halozati eszkozoket fejleszto ceghez, ahonnan tulajdonkeppen megkerestek es aztan jelentkeztem
Elmondtam par dolgot az elso koros interjun, benne hogy en bizony csak a felso retegeivel foglalkoztam a halo programozasnak, csomagokkal direktben nem. Azt mondtak nem baj, ott megtanulhatom es szeretettel varnak a helyszinen a kovetkezo korben jovo heten.
Na most, kerdesem hogy milyen praktikakat, teruletet nezzek at? Embedded linux alapuak a halozati eszkozeik, ezzel mondjuk pont foglalkoztam par evet (tovabba c++), de azon kivul kivancsi lennek a tanacsaitokra, elsosorban programozassal kapcsolatban. (de akar linuxxal - bammeg ket x? teljes hasonulas? - kapcsolatban is)
-
cog777
őstag
válasz
VikMorroHun #20414 üzenetére
Koszi!, Mentettem a linket.
-
cog777
őstag
válasz
proci985 #20410 üzenetére
"jatekfeljesztes atment C++rol C#ra"
Ja ja... az csak egy pelda volt, barmilyen nyelvben ertendo amit irtak.
En most pl GDScript-ben irom a jatekot.Nem is performancra optimalizalok most, ugy sem lesz nagy a jatek, hanem megvalositasi es karbantartasi koltsegre, illetve konnyen elerheto adat strukturakra. Marmint ugy hogy megmaradjon az eredeti koncepciom - mert vannak jatekmotorok amik csak egy fajta jatektipusra optimalizaltak, de nem illik bele a elgondolasomba.
Hexat mar implementaltam, mukodott, valoban volt vele munka, de a grafokkal csak egyszerusitenem az implementaciot - szerintem (hires utolso mondatok haha).
+ van nagyon szep hex tile set-emelegge inspiralo.
Hexmap terrain generator ChatGPT-4 segitsegevel.
YT pelda - ez pl negyzetracsos
-
cog777
őstag
válasz
dabadab #20409 üzenetére
Van, jo ficsorjei vannak a GDScriptnek. Tobbfele megoldas van elmenteni es visszatolteni az adatokat, itt a srac nagyon jol osszefoglalja + binaris serialization.
Ettol fuggetlenul tovabbra sem egyszeru szamomra, mert foglalkozni kell a scene tree-vel, azok nodjaival, azok tulajdonsagaival etc...
-
cog777
őstag
válasz
proci985 #20407 üzenetére
Na igen, jatekoknal nepszeru a DOD, ezert is lettem megkeveredve kicsit.
Szoval ezt talaltam az OOP vs DOD osszehasonlitasaban:
Labdat akarunk implementalni.OOP
class Ball {
Point position;
Color color;
double radius;
void draw();
};
vector<Ball> balls;DOD
class Body {
Point position;
double radius;
};
class Balls {
vector<Body> bodies;
vector<Color> color;
void draw();
};Ez utobbi hatekonyabb a CPU cache szempontjabol.
Gondolom egy interpreteres nyelv eseten ez nem annyira szamit, mert sokkal tobb mindent takar egy utasitas / magasabb szintu.Illetve meg van a Data Driven Development (implicit vettem a Stak Overflow oldalrol, ahol a srac DOD-nak jelolte meg de valaki ramutatott hogy ez DDD.
typedef struct
{
int Index;
void (*Perform)();
}AnimationIndice;
// build my animation dictionary
AnimationIndice AnimationIndices[] =
{
{ 0,PerformMoveForward }
{ 1,PerformMoveBack }
}
// when its time to run, i use my dictionary to find my logic
int animation; // this value is the animation index
AnimationIndices[animation].Perform();Ugy gondolom hogy valoszinuleg ezek nagyon is beleillenek a jatekfejlesztes eszkozkeszletebe.
UML valszeg segiteni fog. Data layer viszont fontos, nagyban segit a jatekallas menteseben. Kulon DOD szeruen is lehet tarolni a tulajdonsagokat, meg OOP-ben is. Na utobbi eleg remalomszeru - sok melo, gyakorlatilag minden kulonbozo osztalythoz meg kel csinalni a szerializaciot manualisan. Jo lenne itt egyszerusiteni es egy algoritmus csak importalna/exportalna az adatokat. A verzio ugrast is segitene.
Jo hogy emlitetted a DOD-t. Ez szerintem segit.
cucka emlitette a grafot, a hex terkepet abba probalom eltarolni.
-
cog777
őstag
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
őstag
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
őstag
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
őstag
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.
-
cog777
őstag
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.
-
cog777
őstag
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.
-
cog777
őstag
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."
-
cog777
őstag
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;
} -
cog777
őstag
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;} -
cog777
őstag
Nem kell fejlesztenem utkozben, cegnel egesz jo setupom van. De sokszor kimegyek a parkba es onnan dolgozom - covid lezaras hatasa
Inkabb a sajat home projektjeimet nyuvom szabadidomben.
Olemben nem fejlesztek, keptelen vagyok a razkodo vonaton, repcsin v buszon fejleszteni.
Majd valami asztalon.
Masreszt rasszoktam a remote fejlesztesre, vscoddal remote megnyitom a projektet-600 cmake fajl, megcsinalom a valtoztatast aztan leforditom es feltoltom az stm32-re. embedded cuccokkal, freertossel foglalkozom.
Otthon az rpi4-re esp32 van csatlakoztatva, a fajlokat latjak az ipad appok, a feltoltest meg nem kiserleteztem ki.Na, vege a nyaralasnak, indulunk haza (1500 km), majd irok a tapasztalatokrol.
-
cog777
őstag
Persze, vannak, VSCode-ot is lattam a web editor valtozatot. Mostanaban lehet elerni a progiknak a fajlrendszert, gondolom az segit.
Termeszetesen igazad van hogy egy olcsobb noti jobb, nekem mindig workstation-jeim voltak, azok dog nehezek.
Apamnak vettem lenovo ideapad-ot netezni meg 1-2 progira, meglepodtem hogy a full muanyag mennyire konnyu.
Ennek ellenere business tripre mar nem hoznek notit, mar kinottem belole -
cog777
őstag
Hasznal valaki ipad-et fejlesztesre? Kaptam egyet es kivancsi vagyok a gyakorlati tapasztalatokra.
Termeszetesen van rendes gepem, igy csak hosszabb utazas alkalmaval vinnem magammal. Billentyuzetet a Logitech K380-at neztem ki.Ugye kerdes hogy mire fejleszt az ember. 2 fo tema ami erdekel:
-esp32-re lattam hogy az Arduino web ide mukodik. Valoszinuleg ez pipa.
-Godot-ra keresek IDE-t a web ide nem indul el, esetleg VSCode mukodhet.Shellfish-t mar felfedeztem, siman elerem az RPi4-en levo fajlokat VPN-en keresztul. Collabora Office olvassa a libreoffice fajlokat.
Editorokban nincs tapasztalatom, VSCode-hoz szoktam de lehet mas szerkeszto is jo.
-
cog777
őstag
válasz
VikMorroHun #19394 üzenetére
Nem rossz a Qt, tobb mint 10 evet lenyomtam Qt-vel foglalkozva. Most mar mas erdekel.
-
cog777
őstag
válasz
VikMorroHun #19392 üzenetére
Nice, a prototipus keszites utan jon as optimalizalas.
Miben irtad meg. -
cog777
őstag
C++-ban meg lehet kulonboztetni az egyszeru tipusokat es az osztalyokat. Egyszeru tipus eseten, a fordito visitni fog, ha megsertesz valami szabalyt pl kisebb szam tipusba teszel nagyot.
Osztaly eseten ertekadaskor meghivodik a megfelelo operator fuggveny - ha van. Ha nincs akkor nem tudod leforditani a programot.
Tehat nagyon alacsonyszintu az egesz, es a programozonak kell gondoskodnia sok mindenrol, tipus konverziorol, ertekadasrol stb.
Persze bizonyos frameworkok es abban levo osztalyok mar felvannak keszitve kulonbozo tipusu ertekadasokra.C++ az erosen tipusos, a fordito mar a korai szakaszban visit ha valami nem osszeegyeztetheto/nincs lekezelve.
Az elonye az eros tipusossagnak hogy nem a szoftver kozepen robban a bomba es crashel, mert valahonnan a halozatrol erkezett egy adat es atment 100 retegen kereszult es pont ott nem lehetett lekezelni. Hanem egybol szol ha tipus osszeferhetetlenseg van.
A peldat a szomszed programozo srac meselte, ahol tobb csapat dolgozott ossze es kulonbozo helyekrol jottek mentek az adatok...
Amit irtal az nem alja meg a helyet. -
-
cog777
őstag
válasz
Micsurin #19343 üzenetére
Ha jol ertelmezem, akkor az ardinot keslelteted a soros port atkuldesenel.
Igazabol ezt sem kell mert a PC annyival gyorsabb illetve a soros port annyival lassabb... Tehat nincs szukseg szinkronizalni idozitesekkel a ket oldalt. Soros portban ugyis van buffer.De orulok hogy most mukodik.
-
cog777
őstag
válasz
pmonitor #19337 üzenetére
Ha a pythonra utalsz, akkor azt nem kifejezetten szamitasokra keszitettek, de tud hivni c konyvtarakat, tehat lehet optimalizalni.
A halozatkezelesi sebessege viszont jo, Netflix azt hasznalja.Cegtol fugg hogy mit latnak jonak az adott cel erdekeben es persze be lehet-e szerezni az adott hardvert. Aranyszabaly hogy a feladatnak futnia kell idoben, utana lehet optimalizalni mert az uzleti utemtervtol valo elteres dragabb lehet mint a hardver.
A cegemnel stm32-vel dolgozom es ezeket kezeli: 8x can bus port, automotive internet, web szerverek ,guival es anelkul, kinematika szamitasok meg csomo apro dolog. Par MB memoriaja van. FreeRTOS fut rajta.
Igen rendesen ki van hasznalva a proci. -
cog777
őstag
válasz
racskobalazs #19177 üzenetére
Irj jatekot
En most Godotozok es egesz jo.
-
cog777
őstag
válasz
Diocles #19172 üzenetére
"Ha a videojátokok érdeklik, akkor bizony C++-ban fog programozni, " Azert a market share eleg nagy resze Unity/C# (mintha 43%-ot lattam volna)
"de ha konkrétan az érdekel valakit, hogy elkezdjen fejleszteni egy grafikai engine-t"
Kezdok kesz engine-t hasznalnak, eleg nagy munka azt megirni. -
cog777
őstag
Valoban nem az ossz 15m sor fut (cloc ennyit dobott ki), bootloader, freertos, tobb platform tamogatasa, tobb procira levo kod van benne. De pl egy korabbi hardveren futott rendszer komplett megoldasat bele integraltak, ami a kis kepernyo helyett webes feluleten jelenitodik meg.
Cegek soha nem dobjak el a korabbi termekeiket ha lehet.
Cortex M7-en fut a cucc, kulso es belso memoria par MB, custom panelon.Ami miatt hozzaszoltam hogy kezdonek no go zona a C, mert nagyon alacsony szintu mindenfele vedelem nelkul, kiveve ha nagyon elkotelezett a mikrokontrollerek es a HW programozasara.
C++ jobb, sokat fejlodott mostanaban (persze kolosszalis spagettit lehet itt is irni), de a kezdoket a report nelkuli crash itt sem segiti. Ezert ajanlottam a script nyelveket, ahol latod konkretan mi tortent.
-
cog777
őstag
válasz
Drizzt #19149 üzenetére
+1 A cuccunkon 15 millio soros c/c++ kevert kod fut freertos alatt. Egyik kulsos csapat megvaltoztatott valamit, azota esik kel a cucc, kollega 1 honapja probalja megtalalni a problemat. C-ben nincs vedelem, undefined behavior befigyel. Az address sanitizer segit, de ARM-on nincs
C++ egy fokkal jobb, nincs direkt memoria menedzsment, de sajna a kompatibilitas es a szamtalan kulso library miatt siman elojonnek a C-s dolgok, ott csuszik el a dolog.
Kezdonek mindenkeppen egy egyszerubb script nyelvet javasolnek ami segiti a hibakeresesben es passzol az erdeklodesi korevel.
-
cog777
őstag
válasz
rgeorge #18934 üzenetére
Milyen fajlrendszer van az sftp szerveren es milyen operacios rendszer?
Linux alatt pl lehet figyelni a fajl valtozast, es ha a valtozas utan eltelt egy kis ido akkor feltetelezhetjuk hogy vegzett az aktualis irassal es akkor fel lehet dolgozni a fajlt. Azt hiszem inotify-tools tud ilyesmit es talan bizonyos programnyelveknek is tamogatjak ezt.
"de ha véletlenül a logolás hibára fut az eszközön, akkor az nagy dráma (is) lehet. "
Hat, akkor javaslok valami komolyabbat ami mogott adatbazis van es szervert REST API-val, MQTT-val stb. Mindegyik eleg egyszeru, meg ESP32-nek is van library ezekhez.
Az adatbazis biztositja a konkurens hozzaferest, az utobbiak a megbizhato kommunikaciot.
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- ÚJ BONTATLAN iPad Air 6 13 méretben iPad Air 13 512GB Wi-Fi+Cellular Azonnal Átvehető DEÁK Térnél.
- MSI Thin A15 B7VF 15.6" FHD IPS Ryzen 7 7735HS RTX 4060 16GB 512GB NVMe magyar vbill gar
- TUF A17 FA706IU 17.3" FHD IPS Ryzen 7 4800H GTX 1660 Ti 16GB 512GB NVMe gar
- Lenovo Thinkpad X13 Gen4 - AMD R5 7450U/32GB/1TB
- ELADÓ - LENOVO LEGION SLIM 7i 16IAHV - 40GB RAM, 1.5 TB SSD
- MacBook felvásárlás!! MacBook, MacBook Air, MacBook Pro
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 7600 XT 16GB GAMER PC termékbeszámítással
- Samsung Galaxy S22 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Dell Latitude E6440 - i5-4GEN I 8GB I 320GB I 14" HD I HDMI I Cam I W10 I Garancia!
- Telefon felvásárlás!! Samsung Galaxy A22/Samsung Galaxy A23/Samsung Galaxy A25/Samsung Galaxy A05s
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest