- Milyen billentyűzetet vegyek?
- Fujifilm X
- Azonnali alaplapos kérdések órája
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- AMD Navi Radeon™ RX 9xxx sorozat
- Milyen belső merevlemezt vegyek?
- Milyen notebookot vegyek?
- SD-kártyát vennél? Ezért ne csak a GB-ot nézd! – Tech Percek #9
-
PROHARDVER!
Új hozzászólás Aktív témák
-
válasz
Drizzt #20692 üzenetére
Oke, adom, hogy valojaban nincs baj a tartalommal ugy altalaban -- a bajom leginkabb a dogmakkal van, ami nagyon jellemzo a szakmara. Az egesz programozoi vilag tele van anekdotalis fassagokkal, igazabol nincsenek reprodukalhatoan jol mukodo mintaink.
OOP, clean code, agile ... szerintem mindenki latja, hogy mennyi szarsagot csinaltak mar a vilagban ezen elvek 'neveben'. Amikor a Telekomnal megvan 2.5 evre elore a pontos szkop es a pontos hatarido, de minden heten eljatsszak az agile ceremoniakat. Amikor bejon a 'tapasztalt programozo' csavo a ceghez, ranez egy tenyleg szar kodra, 2 honapot refaktoral, a vegen lesz clean code, acyclic visitor, decoupling meg minden, de ugyanugy nincsenek jol megcsinalva a tranzakciohatarok, mint korabban; es ezzel csak annyit ert el, hogy meg nehezebb lesz megcsinalni jora.
Nahat, nekem ezekkel van bajom, megutaltam a dogmakat.
-
válasz
Drizzt #20538 üzenetére
Google, Twitter es Amazon backendjeinek nagy resze. Bazel. Az osszes JetBrains IDE. Minecraft. Lenyegeben a teljes Android okoszisztema (bar most Kotlin lett a meno, de az azert szinte Java). Az osszes Atlassian termek. Oracle. SAP nagy resze. Netflix backendjeinek nagy resze. LinkedIn backend. Salesforce nagyresze.
Az a helyzet, hogy a Java megnyerte az OOP backend kategoriat. Az OOP mostmar kezd kevesbe nepszeru lenni, igy csokken a Java nepszerusege is.
-
coco2
őstag
válasz
Drizzt #20243 üzenetére
Az adatátvitelben van cache-elés? Legalább opcionálisan?
Ha feliratkozok egy queue-ra, azt valami háttér szolgáltatás időnként kérdezgeti, és automatán áttölti helyi adattárolóra, vagy a rákérdezés pillanatában fog szinkronban elmenni távolra, megnézni, van-e új üzenet, és akkor kezdi letölteni?
A kérdés akár egyszerűbb is lehet annyival, hogy tartozik-e minden állomáson folyamatosan futó dedikált háttér szolgáltatás (ntservice / daemon / akármi) a rabbitmq-hoz, vagy nincsen olyan?
-
coco2
őstag
-
-
totron
addikt
válasz
Drizzt #19157 üzenetére
Nem kevés ifjonti munkavállaló gondolta-gondolja azt, hogy a C++ egy holtnyelv. Általános vélekedés és egyébként is a Javába/C#-ba születettek és tanultak bele, minek turkáljanak a múltban. Főleg, ha megélnek a jelen tudásukból. Ettől függetlenül meredeknek érzem a szakmán belüli ilyen mértékű fogalmatlanságot, de oda se neki. Akikkel én beszéltem a "nem is gondoltam volna, hogy még használják"-féle személyiségtípusok voltak zömében, tehát nincs ebből harag.
-
coco2
őstag
válasz
Drizzt #19154 üzenetére
Az a trollkodás dolog kölcsönös. Időnként olvasok itt olyan véleményeket, hogy nem tudom biztosan, valaki csak fáradt gőzt ereszt le, vagy rossz kedve van, vagy viccnek szánta, és csak túl fáradtan fogalmazta meg, vagy mifene. Szóval azt inkább eleresztem. Senkinek sem jó azon rugózni.
Szóval ami nagyobb céges projectet látsz, azért mégsem teljesen dokumentálatlan, és az sem c++-ban van, hanem c-ben. Azt értem. Amit nem értek, te minek véded a c++-t? Hiszen neked sem kell semmire.
-
coco2
őstag
válasz
Drizzt #19149 üzenetére
C-t a mai világban már csak a céltudatosabb népek használnak, és ők dokumentálnak. C++-ban ma már senki sem kezd el új projectet. Vagy legalább is nem akkorát. C-ben még mindig.
Ami a "kivételt" illeti, díjazom, hogy pont a linux kernelt hozod fel példának. Gigabyte feletti C alkalmazás aligha passzol bármi másra, mint a linux kernelre. Természetesen van annak is dokumentációja, csak nem neked. A fejlesztők azt nem szeretik kiadni. Az a harc a GPL-el kezdődött. A GPL előírja a nyílt forráskódot, de nem írja elő a nyílt dokumentációt. A fejlesztők azzal rúgnak alá a GPL-nek, hogy nesztek, itt a kód, meg lehet nézni, le tudja fordítani bárki, de úgyse tud senki ahhoz támogatást adni. Bárki megpróbál hozzányúlni, pillanatok alatt leak meg crash lesz belőle. És abból úgy nem lehet stabil üzletet csinálni, hogy valami fejleszthetetlen. GPL vagy nem GPL. Az eredeti fejlesztője tud hozzá nyúlni, és hibamentesen fejleszteni, mert neki van hozzá dokumentációja. És legyünk őszinték, ha te védeni akarod a sokezer beleölt munkaórádat a GPL ellenében, te pontosan ugyan azt teszed, amit ők. Szóval csak ne szidd őket. Abszolút érthető a véleményük, és amit tesznek. Az a kód az övék. És azért.
@cog777
Nem szaladt el egy kicsit a paci azzal a 15 millió sorral freertos alatt? A freertos-t én csak Cortex-M/R mikrovezérlőkön láttam, és azokon program memória sincsen annyi, hogy 15 millió sornyi kódnak hely legyen - ha csak nem tisztán dokumentáció és komment az a 15 millió sor -
cog777
senior tag
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.
-
coco2
őstag
válasz
Drizzt #18816 üzenetére
Ma reggel arra ébredtem, hogy erre anno rácsodálkoztam win xp vagy win 7 időben. Már nem emlékszem biztosan, melyik volt, és hogy win crt vagy dotnet volt-e. A kettő közül valamelyik ragasztott. És most abba futottam bele, hogy ha ragasztás esetével összetalálkozom a jövőben, nagyon fog leverni a víz. Hogy valami framework ragaszt, az nem a legnagyobb probléma. Linux-on a Berkeley socket nem ragaszt - teszteltem. Az a legfontosabb. Win 10-et mindjárt megnézem, 11-em nekem még nincsen. Ami megnyugtató lett volna, ha a standard kerek-perec kijelenti, hogy tilos kernel space és user space közé bármilyen csomag manipulációs réteget iktatni be, ami a datagram-okat darabolni vagy ragasztani tudja, mert amelyik os olyat csinál, annak a pöcse le lesz vágva. De sajnos nem találtam olyan explicit kijelentést.
-
coco2
őstag
válasz
Drizzt #18814 üzenetére
A küldő még biztosan két külön csomagban adja fel. Nem tcp hanem udp.
És igen, egybe ragasztás alatt azt értem, hogy a helyi oprendszer socket kezelése két egymás után beérkező csomagot egybe ragaszt. A helyi user space app azt látja, hogy a küldő címéről X hosszú csomag érkezett, és nem egy 4 hosszú csomagot kap, és utána egy 8 hosszú csomagot, hanem egy darab 12 hosszú csomagot kap.
És hogy miért zavarna? Mondjuk mert az udp-ről én úgy látom, hogy kényelmes dolog teljesítménnyel döngetni ami a csövön kifér, és akkor se kelljen csomag méretek megállapítására extra cpu-t használnom a túloldalon.
-
coco2
őstag
válasz
Drizzt #18431 üzenetére
A split brain problémát vizsgálom, arra vonatkozó doksit keresek. Hardver konfig, és a vonatkozó adatkezelési koncepció. A linket köszönöm.
Közben felleltem egy blogot, ami elárulja egyben, amire kíváncsi voltam.
-
cucka
addikt
válasz
Drizzt #18410 üzenetére
Ha a rendszered tranzakciókat dolgoz fel, akkor az a legjellemzőbb, hogy
1. Folyamatos, nagy mennyiségű, írási műveleted van, ahol a fő szempont a gyorsaság.
2. Kevés olvasási művelet, amelyek komplexek, és ezáltal nem is gyorsak.Azt nem tudom, mit jelent a "kiegyensúlyozott alkalmazás", gondolom ezt a faszság tantárgyon tanítják, azokra az órákra nem jártam be.
-
-
coco2
őstag
válasz
Drizzt #17118 üzenetére
>Nálam ott kezdődik a senioritás, hogy korlátozott mértékű leírás alapján is el tudjon kezdeni valamit az ember csinálni,
Szóval jön az ügyfél a kész munka után, és 20ezer számra sorolja, hogy de ezt ő nem így gondolta, meg azt nem úgy mondta, meg hogy de hiszen egyértelmű volt hogyan kellett volna csinálni, és társai. Gyakorlatilag a beleidet kidolgoztad a lehetetlen határidő tartására, elméletben viszont kárt okoztál a cégnek a "hozzá nem értéseddel", mert semmit sem csináltál meg "úgy, ahogyan az ügyfél kérte", csak "elpocsékoltad az időt".
Én értem a zengzetes felvetést, de amit írsz, az csak nagyon ügyfélevő cégnél engedhető meg. Minden más cégnél olyan hozzáállással zsinórban kapnád az üzleti pofonokat.
-
válasz
Drizzt #16816 üzenetére
Ilyesmire már nincs idő. Banki core rendszerekről van szó, nagyon sok hívásról. Az architectek már törik a fejüket a dolgon, bár az első fos megoldást is ők találták ki.
Szerencsére nem nekem kell ezt megoldanom, én csak szenvedő alanya vagyok a dolognak.
#16815mobal
Hát, bekesseled az egész banki adattárházat? Az a gond, hogy számtalan szolgáltatásra hivatkozik a kompozit service, és elágazások is vannak benne. Hja, PL/SQL jobokat is hív. -
Ispy
nagyúr
válasz
Drizzt #16694 üzenetére
Sokszor fordul elő olyan az emberrel, hogy már 5 éve csinál valamit valamilyen módon, aztán egyszercsak véletlenül megismer rá egy sokkal egyszerűbb módszert
Pláne, ha közben a frissítések hoznak be folyamatosan új dolgokat, ms sql-ben rengetek ilyen van, persze ilyenkor meg a legacy code tud problémákat okozni. Nekem például az utolsó ilyen a json natív támogatása volt, persze ott meg szívás van, ahol az ügyfél nem hajlandó új sql szervert venni, szóval ilyenkor marad a visszafelé kompatibilitás megoldása.
-
opr
nagyúr
válasz
Drizzt #16029 üzenetére
Jo, de ez nyilvanvalo. De olyat, hogy nem szabad kommentet irni ugy egyaltalan meg nem is hallottam, mekkora baromsag mar. Nyilvan soronkent szetkommentezni a kodot baromsag, de siman lehet olyan helyzet, ami az utanad kovetkezo emberkenek mar nem trivialis, hogy miert az/ott/ugy, es olyankor nem kommentelni konkretan hiba.
-
t256
őstag
válasz
Drizzt #15539 üzenetére
Köszönöm a sok sok választ!
Szóval a "jatekter" egy for ciklussal fel van töltve. Minden sorban és oszlopban '_' van.
Elvileg elég lenne ennyi:
static void egyJeletVeletlenLerak()
{
int bekertSor = rnd.Next(0, 3);
int bekertOszlop = rnd.Next(0, 3);
char jel = rnd.NextDouble() > 0.5 ? 'X' : 'O';
if (jatekter[bekertSor, bekertOszlop] == '_')
{
jatekter[bekertSor, bekertOszlop] = jel;
}
}
?Beleraktam egy elágazást, ami megvizsgálja, hogy a tömb indexének értéke '_'-e, ha igen tovább megy. Így is elég ritka esetben rak le 5 jelet. Ahol nem talál '_' karaktert, ott egyszerűen kihagyja?
Kéne egy else ág, ami megmondja, hogy mit csináljon, ha 'O' vagy 'X' jel van ott? Pl, rakja a sorban következő indexbe. Ezt, hogy fogalmazom meg programnyelven?else { jatekter[bekertSor+1, bekertOszlop+1] = jel; }
?Szeptember óta tanulom ezt munka mellett. Nehezen érzek rá a logikára.
-
Silεncε
őstag
válasz
Drizzt #15469 üzenetére
Az IntelliJ egy érdekes kérdés. Én sokszor próbáltam meg használni, több néven is (IntelliJ, Android Studio, PyCharm), egyszer sem sikerult megbarátkozni vele. Egészen egyszerűen nekem már sok. Tulkomplikalt, túl okos. De azt aláírom, hogy Javahoz ezerszer inkább IntelliJ, mint a retek Eclipse (egyetemen az volt a kötelező IDE, virtuális gépeken nagy élmény volt használni
).
-
martonx
veterán
válasz
Drizzt #15452 üzenetére
Egyrészt többnyire igazad van, kár, hogy ezek kb. bármelyik nyelvre elmondhatóak, hogy fejlődnek, és van hozzájuk csomó library python, php, c#, go, javascript stb... Semmi értelme ezeket a nagy általánosságokat puffogtatni. Én a két nyelv közötti különbségekre próbáltam rámutatni, egyik nyelvet sem fikázva, objektívan.
Hol írtam, hogy kihalóban van? Pont azt írtam, hogy nem fog kihalni sosem. Olvasd már el, hogy mit írtam -
Livius
őstag
válasz
Drizzt #15452 üzenetére
Nekem egy dolog nagy gond benne. Sokkal körülményesebb a usernek kulcsrakészen kiadni egy felhasználói programot Java-ból fejlesztve. Ahhoz hogy fusson, végig kell kézzel szájbarágósan telepítgetni a Java run-time dolgait vagy akár még más extra cuccokat is. Ezzel szemben ha a programod C#-ban van megírva a MS .NET-vel, a usernek akár adhatsz egy portable exe-t vagy mappát is, és már egyből kulcsra készen futtaható Windows 7, 8, 10-en, mert az MS kérdés nélkül minden .NET függést belerak az OS-be, és még a win update folyton erőltetve frissíti is.
Persze ez most csak az az eset, ha valamit csak Windows usereknek kell fejleszteni, de ebben az esetben a Java szerintem csak hátrányt hoz, előnyt nem. -
válasz
Drizzt #14853 üzenetére
Köszi a tippeket.
PHP Laravel a környezet.
A Docker layerekkel és multi-step buildekkel tisztában vagyok, és a dependencyket külön layerbe rakom mindig pontosan a tárhely és újrahasznosíthatóság miatt, de jó tipp. Köszi.
Az alkalmazás környezeti változói jelenleg egy .env fájlban vannak minden szerveren. Ennek automatizálása is cél, és a k8s ebben is fog segíteni.
Esetleg arról is van infód, hogy nálatok milyen branching strategy vált be, és ha van automatizált telepítés, akkor mi triggereli az egyes környezetek frissítését?
Gondolkodtan egy olyan lehetőségen is, hogy masterbe mergelődnek a featurek, ami egyből telepítődik staging/UAT környezetbe és amikor kézzel tagelünk egy commitot egy verziószámmal akkor az kiküldi productionbe a kódot, de ezzel a korábban tárgyalt probléma van, hogy a fejlesztőn múlik, hogy ő patchnek vagy minor changenek itéli-e a PRját, vagy pedig a csapat senior tagjainak kell törni a fejét, hogy ez egy patch vagy minor verzió legyen mergelés után.
Jelenleg nincsenek verzió tagek. Simán a master branch van telepítve. Ezzel az a legnagyobb vaj, hogy csak a telepítésvezérlő környezetben látszik, hogy mikor mi lett telepítve, gitben erről nincs visszajelzés tagek formájában.
-
Ispy
nagyúr
válasz
Drizzt #13647 üzenetére
Szerintem a konstansnak nem az a lényege, hogy nem változhat, hanem az, hogy a kód fordításakor fix értéke van, viszont menendzselhető és olvasható marad tőle a kód, ha kell csak átírod az értékét kézzel és kész. A lényeg, hogy futásidőben már nem változik. De az enum valóban nagyon hasznos cucc, lényegében egy konstans list. Persze ha már adatbázis is van a kód mögött, akkor sok paraméter már inkább meta adat és táblában tároljuk, jellemzően a nagyon kódhoz kötött dolgok mennek konstansba. Például a program veriószáma egy konstans.
-
Victor Súgó
tag
válasz
Drizzt #12490 üzenetére
Beleolvasva nem biztos, hogy ez kell, de majd átrágom rajta magam alaposabban.
Viszont adtál egy jó ötletet. Mivel a szavak sorrendje kötött, ha hasonló sorokról beszélünk, első szűrésnek az is jó, ha az eltérő szavak számát veszem alapul és ennek alapján döntöm el, hogy lehet-e szó hasonlóságról. Azt hiszem, első körben ez elég is lehet. Egy részét mesterséges intelligencia híján úgy is nekem kell átnéznem. -
FehérHolló
veterán
Nem hinném. A PHP stringfeldolgozása bekavarhat a verziótól függően. Mindjárt keresek példát php.net-en.
Szerk.:
Always use quotes around a string literal array index. For example, $foo['bar'] is correct, while $foo[bar] is not. But why? It is common to encounter this kind of syntax in old scripts:
<?php
$foo[bar] = 'enemy';
echo $foo[bar];
// etc
?>This is wrong, but it works. The reason is that this code has an undefined constant (bar) rather than a string ('bar' - notice the quotes). PHP may in future define constants which, unfortunately for such code, have the same name. It works because PHP automatically converts a bare string (an unquoted string which does not correspond to any known symbol) into a string which contains the bare string. For instance, if there is no defined constant named bar, then PHP will substitute in the string 'bar' and use that.
Ezek szerint tényleg mindegy. Ettől függetlenül kipróbálnám " jellel.
-
cucka
addikt
-
Miracle
senior tag
ellenorzes alatt mit ertesz? azt, hogy megfelelo adatot olvastal-e be? akkor a legjobb megoldas talan stringbe olvasni, es onnan a <cstdlib> -ben talalhato atoi, es tarsai fuggvenyekkel tudod azza konvertalni, ahonnan es amive akarod.
filekezeles lehetseges a standard c++ libben talalhato <fstream> headerben talalhato ifstream, es ofstream osztalyokkal, ezek platformfuggetlenek, ami most ugye erdektelen, de mindemellett baromi rugalmasak, es nagyon egyszeruen hasznalhatoak (mint a cin, es cout) ha rakeresel, h ''ifstream exapmle''@google akkor 30000000 oldalt talalsz, barmelyik jo neked. egyebkent meg a www.cppreference.com oldaon talalsz egy kis egyszeru kivonatot a standard library-ban talalhato dolgokbol, szerintem mindenkeppen erdemes ha lehet ezeket hasznalni, mert ezek a legtobbet hasznalt c++ libek, nagyon jol mukodnek.
grafikus kepernyo kezelese: hat a visual studio 6-ban erre lehetoseged van, win32 API fuggvenyek hasznalataval proceduralisan(ez nagyon rossz otlet, csak mint erdekesseg emlitettem), aztan van lehetoseged a MFC-on keresztul, ami mar egy fokkal jobb, de szereny velemenyem szerint ezzel sem kellene kulturembernek foglalkozni, de ez mar hasznalhato. de ha jot akarsz, akkor erdemes elokeresni egy borland c++ buildert, vagy delphit, es abban elkesziteni a GUIt. ha ez nem megoldas, akkor a helyedben feltelepitenek egy ingyenes QTt, es azzal foglalkoznek, mert sokkal kenyelmesebb (IMHO) mint a MFC. -
TheVeryGuest
senior tag
Pedig igaza van. Kevered a kétfajta operátor megadási módot:
Az egyik módon magában a classban lehet definiálni az operátort, ekkor egyoperandusú. Itt semmi értelme sincs friend-ezni, mert method hozzáférhet minden belső member-höz.
A másik, amikor a class namespace-en kívűl adod meg mondjuk a globális namespaceben, ekkor kell kétoperandusúként definiálni. Ilyenkor van értelme a friend mechanizmusnak, ha protected memberhez akarsz hozzáférni ilyen külső cuccból.
Tehát:
class vektor {
bool operator<(const vektor &other) const;
};
illetve
bool :perator<(const vektor &first,
const vektor &second) const;
Valahova töltsd fel a file-t úgy biztos meg tudjuk mondani, hogy mi vele a gáz. -
VladimirR
nagyúr
ha jol emlekszem, akkor csak egy operadnust kell megadni, mert a masik operandus maga az erintett egyed
tehat az x < y, az az x egyed < operatorat hivja meg y operandussal (vagy mi -- elnevezeseket nem vagom, de igy mukodnie kell)
tehat:
bool operator< (vektor a) {
return this.norm<a.norm;
}; -
VladimirR
nagyúr
delay nem jo, mert kozben nem tudod lekezelni a billentyuzetet, csak a vegen nezi meg a buffert, es akkor minden egyszerre lesz ertelmezve (vagy hasonlo)
ha ciklussal csinalod, akkor csinald valahogy igy:
repeat
repeat
mozgatas;
until keypressed;
billentyuleutes ellenorzese es platform mozgatasa
until az elozo billenytuzet #27; (esc)
igy a belso ciklusbol ha kilep egy billenytuleutes miatt, akkor mozgatod a platformot, majd visszamesz a labda mozgatasahoz
ha azonban esc-et utsz, az egeszbol kilep
delay helyett inkabb hasznalj mondjuk sajat idozitot (gettime es mented az idot, majd ujabb gettime-nal; ellenorzod, mennyi telt el), vagy hasznalj ures ciklusokat (pl i=1-100000), de ez utobbi sebessege fugg a geptol -
khalox
őstag
Az időzítő olvassa a billentyűzetet is és szükség szerint cselekszik. (Összetettebb lesz, mert a mozgatás mellett azt is kezelnie kell, hogy merre mozogjon az ütő.)
(Ha nem volt billentyűlenyomás, akkor 'csak' a labdát kell mozgatni, ha volt, akkor a platformot is...)
[Szerkesztve]
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új Apple iPhone 16 Pro 128GB, Kártyafüggetlen, 3 Év Garanciával
- Honor Magic7 Lite 512GB, Kártyafüggetlen, 1 Év Garanciával
- Honor 400 lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- HP Prodesk 600G4 SFF - i5-8500, 16GB DDR4, 512GB NVMe SSD, ATI R5 430 2GB eladó!
- Samsung Galaxy A52s 128GB, Kártyafüggetlen, 1 Év Garanciával
- Beszámítás! Apple Mac mini 2023 M2 Pro 16GB 512GB SSD számítógép garanciával, hibátlan működéssel
- Samsung Galaxy A15, 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- LG 65B4 - 65" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged