Hirdetés
- Sűrűn visszaküldött figyelmeztetést kapott a Surface Laptop 7 az Amazonon
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- 30 évre csökkentette lemaradását a litográfiai eszközök területén Oroszország
- Milyen billentyűzetet vegyek?
- Milyen egeret válasszak?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- TCL LCD és LED TV-k
- Sony MILC fényképezőgépcsalád
- Apple MacBook
- Vezeték nélküli fülhallgatók
Új hozzászólás Aktív témák
-
smallmer
őstag
Sziasztok!
Szeretnék elmenni egy automata tesztelő képzésre. Van valami ötletetek, hogy melyik hasznos? Tényleg olyat szeretnék, ahol tanítanak is valamit gyakorlati példákon keresztül.
-
válasz
husztiimi #20810 üzenetére
> Ha meg át lesznek téve, akkor majd megmérjük, hogy mi legideálisabb inputtól függő választás? openMP + GPU? MPI + GPU? MPI + openMP + GPU
Ezeket szerintem ki lehet számolni, következik a feladat struktúrájából. Például belefér-e a mátrix a GPU memóriájába? Ha igen, mennyi idő megcsinálni vs mennyi idő 1) feltölteni 2) odavinni a node-ra? Ha jól láttam, 200 gbps interkonnekt van, azért az nem nagyon gyors (késleltetést nem tudom). Szóval én először biztos csinálnék papíron egy esztimaciot.
-
proci985
MODERÁTOR
válasz
husztiimi #20810 üzenetére
Ezért mondtam, hogy én ránéznék az authorlistákra. Nekem is volt, hogy egy PhD thesisből vagy egy régi repoból kellett visszafejteni mit csináltak, de még mindig egyszerűbb, mint ilyen szinten belemászni az optimizációba.
Egyébként adott esetben megpróbálni felvenni a kapcsolatot az authorokkal is működhet.
-
husztiimi
csendes tag
válasz
proci985 #20809 üzenetére
Sok-sok cikket elolvasgattunk, de jellemzően nem írják le a cikkekben (PRC, J. Phys. G), hogy a konkrét kód CPU-n futott-e, vagy sem?! Meg azt sem, hogy CPU-n milyen módon (openMP, vagy MPI)? Meg azt sem, hogy a kód milyen nyelven íródott?! Úgyhogy azt gondolom, hogy előbb-utóbb majdcsak megoldjuk valamilyen úton-módon a GPU-ra való átrakását a mátrixdiagonalizációknak. Ha meg át lesznek téve, akkor majd megmérjük, hogy mi legideálisabb inputtól függő választás? openMP + GPU? MPI + GPU? MPI + openMP + GPU? Ha meg esetleg GPU-val valami nem várt csoda folytán mégis lassulás lesz a „hozadék” például az adatmozgatások miatt, akkor meg úgy fogjuk fel, hogy milyen jó ujjgyakorlat volt a GPU-ra való kódrész implementációja...
-
proci985
MODERÁTOR
válasz
husztiimi #20805 üzenetére
(nem mozgok HPC területen)
leírás alapján tippre lehet bele kéne nyúlni a pipelinebe, hogy nyerjetek is valamit.
GPUn mátrix transzformációnak gyorsabbnak kéne lennie, de a kérdés, hogy mennyi idő megy el az adatmozgatással.
ha kutatási terület, én ránéznék a környezeti publikációkra, hogy ki futtat hasonló HPC környezetben. cikkeknél nem mindig írják le, hogy mit hogy oldottak meg tartalmi okok miatt, de pl egy master vagy phd thesis esetén van esély, hogy lesz egy github repo és egy rendes leírás is.
-
husztiimi
csendes tag
MPI-hoz a Komondor gépet használjuk: https://hpc.kifu.hu/hu/komondor
Ha a "probléma" nem indokolja az MPI használatot (ez néha-néha azért előfordul), és elegendő hozzá az openMP is, akkor arra pedig van két darab számítási nódusunk: az egyik AMD EPYC 9554 64-Core procikkal és 2.5TB memóriával, a másik pedig Intel(R) Xeon(R) CPU E7-8880 v2 procikkal és 3TB memóriával.
-
husztiimi
csendes tag
Ja igen, "szuperszámítógépen futtatjuk" - az a napi nagyot mondás gyakorlatod volt?
Nagyon szomorúan látom, hogy bejegyzésed nem segítő szándékkal, csupán csúfolódási szándékkal született. Így a tisztánlátás érdekében kifejtem inkább egy kicsit: Képzeld el, hogy nemcsak olyan programok léteznek, amelyek asztali platformra vannak "megálmodva", hanem vannak olyan progik is, amik sokkal nagyobb erőforrásokat igényelnek. Pl. a saját fejlesztésű programunk, amit a kollégáimmal együtt évek óta fejlesztgetünk-csiszolgatunk pont ilyen. (Dokumentációt is írtunk hozzá, amelyet igyekszünk frissíteni, amikor új részek/rutinok kerülnek a kódba.)
A programot arra használjuk, hogy kiszámolunk vele ezt-azt, azután pedig ha szerencsénk van, akkor évente 1-2 cikket publikálunk azokból az eredmény(ek)ből, ami a programnak az eredményeiből levont konklúzió. A program képes openMP és MPI módokon futni. (Remélem ezekről már hallottál.) Viszont bemenő inputtól függően (bemenő input = probléma paraméterei) a futási idő rettenetesen sok lenne egy asztali számítógépen. (Asztali gépen csak az openMP-nek lenne amúgy is értelme, az MPI-nak nem.) Így a programot olyan esetben, ahol az input úgy kívánja, szuperszámítógépen futtatjuk hibrid módon (hibrid = MPI + openMP). A futási idő tetemes részét a hatalmas méretű mátrixdiagonalizációk viszik el. Ezért jött az ötlet, -ha már eleve HPC környezetben futtatjuk a kódot (amennyiben az input ezt kívánja), akkor miért nem fejlesztjük fel eme kódot úgy, hogy a futási idő redukálásában a GPU is segítsen? (Azaz a sok-sok dsyev mátrixdiagonalizáció szubrutin-hívásokat a GPU végezze.) Eredeti bejegyzésem ezért született… (Sőt, a bejegyzésben lévő egy darab 100x100-as méretű eset csak egy "állatorvosi ló". -Nem igazi eset... Ilyen kicsi mátrix élő esetben nincs... )Nem gondoltam, hogy az általam felvetett "problémához” ennyi magyarázat szükséges lett volna. Egyszerűen csak bíztam benne, hogy hátha olvassa ezt a topikat olyan HPC user is, aki pont nvfortrant használ a saját kutatásához/szimulációihoz mint mi és már találkozott ilyesmi problémával. Benne volt a pakliban, hogy esetleg nem találok a fórumban segítséget; -ezzel nincs is gond. De véleményem szerint a kicsúfolásod felesleges volt... A fórumbeli bejegyzéseidben sem HPC használatra utaló nyomokat, sem (openMP, vagy MPI) parallelizációt nem látok. Nem tudom, hogy te miket fejlesztesz, meg hol és minek, de tuti, hogy ha leírnád, akkor többen is bele tudnának kötni.
-
coco2
őstag
válasz
husztiimi #20802 üzenetére
A chatgpt google skill-t helyettesíteni jó, azon túl teljesen megbízhatatlan. Olyan esetekben használható, amikor semmi sem múlik azon, hogy működni fog-e, vagy sem.
Chat gpt vicc:
eval(await OpenAI("fix this:"+ErrorMessage))
Kicsit komolyabban a 10k sor önmagában úgy hangzik, mint 2 emberhónapnyi munka. Ha azon egy szoftver cég kiakad, húzza le a rolót. Ami konkrétan azt a 10k sort illeti, a kérdés inkább az, létezik-e még elő ember, dokumentáció, szájhagyomány útján terjedő akármi, amiből meg lehet érteni a bemeneti adatot, és a feldolgozásának a miértjét? Ha már nem létezik, akkor az a probléma nem arra van tervezve, hogy azt bárki megoldja. Aki mégis azzal foglalkozik, fordítva ül a lovon.
Ja igen, "szuperszámítógépen futtatjuk" - az a napi nagyot mondás gyakorlatod volt?
-
husztiimi
csendes tag
Sajnos pont ettől tartottam... A chatgpt egyik válasza a sok közül nekem is az volt, hogy felajánlotta, hogy ír egy olyat, ami a C-s modult használja... De amit írt nekem az nem fordítható le. Sajnos a neked írt kód sem fordul le. (Írtam eredeti posztomban, hogy: "Sajnos az AI (chatgpt) ebben nem tud segíteni.")
Félreértés ne essék, én is használom sokmindenre a chatgpt-t, pl. keresse meg a hibát egy adott kódrészletben, vagy írjon egy-egy kisebb részt. Néha ezeket jól megcsinálja. De sajna néha kurvára nem. Sajna a te "megoldásod" az utóbbiak táborát erősíti.
-
coco2
őstag
válasz
VikMorroHun #20782 üzenetére
Arduino micro-ra van mouse stack, abból nem nehéz programozott egeret gyártani. Igaz, külső áramkört igényel.
-
válasz
husztiimi #20797 üzenetére
o3-high-t probaltad?
program cusolver_demo use iso_c_binding implicit none interface function cusolverDnCreate(handle) bind(C, name="cusolverDnCreate") import :: c_ptr, c_int type(c_ptr), intent(out) :: handle integer(c_int) :: cusolverDnCreate end function cusolverDnCreate function cusolverDnDestroy(handle) bind(C, name="cusolverDnDestroy") import :: c_ptr, c_int type(c_ptr), value :: handle integer(c_int) :: cusolverDnDestroy end function cusolverDnDestroy function cusolverDnDsyevd(handle, jobz, uplo, n, d_A, lda, d_W, d_work, lwork, d_devInfo) & bind(C, name="cusolverDnDsyevd") import :: c_ptr, c_int, c_double, c_char type(c_ptr), value :: handle character(c_char), value :: jobz character(c_char), value :: uplo integer(c_int), value :: n type(c_ptr) :: d_A integer(c_int), value :: lda type(c_ptr) :: d_W type(c_ptr) :: d_work integer(c_int), intent(inout) :: lwork type(c_ptr) :: d_devInfo integer(c_int) :: cusolverDnDsyevd end function cusolverDnDsyevd function cusolverDnDsyevd_bufferSize(handle, jobz, uplo, n, d_A, lda, d_W, lwork) & bind(C, name="cusolverDnDsyevd_bufferSize") import :: c_ptr, c_int, c_char type(c_ptr), value :: handle character(c_char), value :: jobz character(c_char), value :: uplo integer(c_int), value :: n type(c_ptr) :: d_A integer(c_int), value :: lda type(c_ptr) :: d_W integer(c_int), intent(out) :: lwork integer(c_int) :: cusolverDnDsyevd_bufferSize end function cusolverDnDsyevd_bufferSize end interface integer(c_int) :: n, lda, lwork, status type(c_ptr) :: handle type(c_ptr) :: d_A, d_W, d_work, d_devInfo real(c_double), allocatable :: h_A(:,:), h_W(:) character(c_char) :: jobz, uplo integer :: i, j n = 100 lda = n allocate(h_A(n,n)) allocate(h_W(n)) do i = 1, n do j = 1, n h_A(i,j) = i + j end do end do jobz = 'V' uplo = 'U' status = cusolverDnCreate(handle) if (status /= 0) then write(*,*) "Hiba: cusolverDnCreate" stop end if ! GPU-memória allokálás, pl.: ! call cudaMalloc(d_A, n*n*sizeof(real(c_double))) ! call cudaMalloc(d_W, n*sizeof(real(c_double))) ! Másolás: h_A -> d_A (cudaMemcpy) ! Lekérdezzük a szükséges workspace méretet: status = cusolverDnDsyevd_bufferSize(handle, jobz, uplo, n, d_A, lda, d_W, lwork) if (status /= 0) then write(*,*) "Hiba: Buffer méret lekérdezés" stop end if ! GPU workspace allokálása a lwork méret alapján: ! call cudaMalloc(d_work, lwork*sizeof(real(c_double))) ! call cudaMalloc(d_devInfo, sizeof(integer(c_int))) ! Eigen-dekompozíció meghívása: status = cusolverDnDsyevd(handle, jobz, uplo, n, d_A, lda, d_W, d_work, lwork, d_devInfo) if (status /= 0) then write(*,*) "Hiba: cusolverDnDsyevd" stop end if ! Eredmények visszamásolása: pl. ! call cudaMemcpy(h_W, d_W, n*sizeof(real(c_double)), cudaMemcpyDeviceToHost) ! Ha az eigenvektorokra is szükség van: call cudaMemcpy(h_A, d_A, n*n*sizeof(real(c_double)), cudaMemcpyDeviceToHost) ! GPU erőforrások felszabadítása: ! call cudaFree(d_A); call cudaFree(d_W); call cudaFree(d_work); call cudaFree(d_devInfo) status = cusolverDnDestroy(handle) if (status /= 0) then write(*,*) "Hiba: cusolverDnDestroy" end if write(*,*) "Eigenértékek:" write(*,*) h_W end program cusolver_demo
-
husztiimi
csendes tag
Sziasztok!
Picit esélytelennek érzem a "kérdés-felrakását", mert nem sok kódot látok ebben a kiemelt topikban, de azért hátha…
Ért valaki a CUDA nvfortran cusolver csomagjához? Van egy kb. 10e soros saját fejlesztésű programunk, amit többnyire szuperszámítógépen futtatgatunk MPI-ban. De rájöttem arra, hogy a kód viszonylag sokszor meghív egy lapack rutint (melynek neve dsyev) ami nagyméretű mátrixokat diagonalizál. Arra gondoltam, hogy a dsyev rutinokat kiváltanám CUDA alatt valamivel.., Meg is találtam a cusolver-ban a dsyev rutint, ámde sajnos képtelen vagyok a cusolver-ben megírni 1 darab dsyev hívást. Sajnos az AI (chatgpt) ebben nem tud segíteni.
Aki esetleg tud, az mutassa már meg nekem, hogy az alábbi egyszerű, lebutított programnak mi lenne a megfelelője nvfortran alatt? (Esetleg cusolver-ben vagy akár bármi másban: CUDA-MAGMA, SLATE, cuBLAS, akármi...)
program PHdemo
implicit none
integer :: lwork,info
real*8, allocatable, dimension(:) :: w,work
character :: jobz,uplo
integer :: ujp,i,j
real*8, dimension(:,:), allocatable :: pn_redmat
ujp=100
allocate(pn_redmat(ujp,ujp))
do i=1,ujp
do j=1,ujp
pn_redmat(i,j)=i+j
enddo !j
enddo !i
jobz='v'
uplo='u'
lwork=3*ujp-1
allocate(work(lwork),w(ujp))
call dsyev(jobz,uplo,ujp,pn_redmat,ujp,w,work,lwork,info)
write(*,*)w
end program
Sajna az nem opció, hogy a 10e soros programot írjuk át más nyelvre... -
VikMorroHun
őstag
Ez vicces.
Bár utánanézve annyi történt, hogy 700+ sornyi kódot kellett volna átnéznie az MI-nek egyszerre, és az már sok neki. Meg egyébként is - valószínűleg rosszul szervezték meg a projektet. -
hiperFizikus
senior tag
válasz
hiperFizikus #20784 üzenetére
https://forum.index.hu/Article/viewArticle?a=169205485&t=9251304
=> pedig :
Egy 3D nyomtatóval kell készíteni 3 mm - 0.3 mm szálú függőlegesen lógatható spagetti köteget esetleg némi keresztszálas megerősítéssel, és ha ezt légritka térbe tesszük, akkor a légáramlatok se ingatják majd meg !
És le lehet lesz olvasni 3D szkennerrel !
Ehhez kellene szórakozásból programot írni és persze a valóságban is letesztelni !
-
hiperFizikus
senior tag
Itt két alternatíva van/:
1. a Földönkívüliek mint intelligens fajok,
2. gyík emberek, mint több 100 ezer évvel ezelőtt a Földön ragadt intelligens idegenek,A MI gyakorlatának ismeretében ha nem is tudható, de gyanítható, hogy nem minden olyan vidám odakint a csillagok között !
https://player.hu/galeria/275/4
"A tíz legjobb film a világvégéről" -
biker
nagyúr
válasz
hiperFizikus #20789 üzenetére
minden második videóban, Fermi paradoxon, hol van mindenki és társai
Mikor az intelligens létformát keresik, "sosem számolunk a gondolkodó sziklákkal, mert nem tudjuk miről ismerjük fel"
Ezt természetesen viccnek szánja, de ezek szerint van aki komolyan gondol rá -
sztanozs
veterán
válasz
hiperFizikus #20784 üzenetére
Ezeknek szvsz inkabb csinalj logout bejegyzeseket mint szakmai topikokat - bar nem lesz ott se tobb reakcio, mint itt - de szerintem is sokkal inkabb oda valo...
-
proci985
MODERÁTOR
válasz
hiperFizikus #20784 üzenetére
ChatGPT nem ért a területhez, bár egész szürreálisan kezdett összehaluzni mindent egy ponton.
Másik topikot zártam, ezt pedig itt engedjük el, mert ez egy szakmai topik.
-
hiperFizikus
senior tag
Kvázi számítógépet szürreális kristályokból !
A kvantum számítógépekhez külön programozási paradigmák vannak !
Ehhez a tiszta kristályt bescenerelő - ChatGPT által segített - technológiámhoz teljesen új programozási paradigma kellene, szerintetek milyen is legyen ?
Oda válaszoljatok nekem ! -
martonx
veterán
válasz
VikMorroHun #20782 üzenetére
Ezt hívják automata UI teszteknek
-
VikMorroHun
őstag
válasz
whatsthecred #20779 üzenetére
Én már láttam olyan programot, ami átvette az irányítást az egér fölött, de ha jól emlékszem, Windows 7 után már nem nagyon működött a dolog. Aztán lehet, hogy a Copilot olyat is tud, amit én nem.
-
proci985
MODERÁTOR
-
válasz
whatsthecred #20779 üzenetére
Javaslom a ChatGPT-t vagy Claude-ot.
-
whatsthecred
újonc
Sziasztok,
Nekem egy olyan kérdésem lenne, hogy valaki tudna írni nekem egy rövid scriptet, vagy programot?
A részleteket privátban elküldeném, röviden annyiról lenne szó, hogy oda kattintson az egerem ahova printscreenelt kép alapján szeretném, ha nem az a kép ugrik fel amit várok akkor várjon és máshova kattintson.
Vagy esetleg valami leírást, hogy én is meg tudjam csinállni -
coco2
őstag
válasz
VikMorroHun #20776 üzenetére
Engem érdekelne, hogyan lehet azt megtenni. Tudod csak amolyan "etikus hacker" alapon
-
biker
nagyúr
válasz
VikMorroHun #20776 üzenetére
Mindezt úgy, hogy nem tudja a másik jelszavát? Föleg 2fa esetén?
-
axioma
veterán
Nem voltam, nem tudom szakmai szempontbol mennyire erdekes. Az en high level kepzettarsitasom inkabb, hogy az ujdonsagok reklamozasa, meg egy kicsit reszletesebb elmagyarazasa megy, de foleg b2b termekek szempontjabol. Aztan lehet hogy nem igy van... vagy hogy az is erdekes lehet [piackutatasnak, eszkozvalasztasnal].
-
biker
nagyúr
válasz
VikMorroHun #20770 üzenetére
Például mire gondolsz? nem lehet, hogy csak félreértesz valamit a használatban?
-
axioma
veterán
válasz
hiperFizikus #20771 üzenetére
adatvedelmi incidensben nem az ugyfelszolgalat az illetekes, ha tovabb is kuldik, akkor is egy problema eseten perceket szoktak szamolni... igy meg napok mire odajut
-
hiperFizikus
senior tag
válasz
VikMorroHun #20770 üzenetére
azt szeretnéd ha egy kapus válaszolna neked ?
-
VikMorroHun
őstag
Pár hete írtam a Belügyminisztériumnak, hogy akkora biztonsági rés van az Ügyfélkapu+ rendszerben, mint egy ház (ami szerintem kimeríti a nemzetbiztonsági kockázat fogalmát). Leírtam pár példát is, hogyan kerülik meg (kb.) naponta a védelmet, illetve milyen egyszerű megoldással lehetne befoltozni. Kaptam választ: továbbították a levelemet az ügyfélszolgálatnak. Tök jó.
-
axioma
veterán
Azt meg meg lehetne vizsgalni, h az autokat kihagyni a problemabol, ha jellemzoen nem sok a sofor-auto tiltas: egy dimenzioval kevesebb, es akkor valoszinuleg minden beosztashoz letezik jo auto-kiosztas.
-
inf3rno
nagyúr
válasz
dabadab #20765 üzenetére
Ha sikerül pontozni a jóságát egy-egy felállásnak, akkor lehet olyan algoritmust tervezni, ami a nagyobb jóság felé viszi fokozatosan az adott megoldást. Elvileg a gépi tanulás is így működik. Nem muszáj full randomnak lennie, az nagyon fapados.
A fenti problémánál azt is el tudom képzelni, hogy van valami egyszerűbb algoritmus, amivel jó eredmények érhetőek el és ami könnyen automatizálható. De annyira most nincs időm belefolyni.
-
proci985
MODERÁTOR
válasz
AndrewTdi #20756 üzenetére
Végiggondolva:
[link] VROOM pl erre néznék rá, ahogy nézem a constraintek jórészét amit leírtál tudja. Van pár algoritmusa és valószínűleg ugyan nem kapsz optimális eredményt, ugyanakkor nem fog elmenni egy (fél) nap a beosztás összerakásával.
JoinR meglátása egyébként stimmel, ez nem az a probléma, amire gyorsan össze lehet egy egyszerű megoldást dobni, ha automatizálni akarod.
-
JoinR
őstag
válasz
AndrewTdi #20756 üzenetére
Én pályakezdőként írtam anno hasonló programot (cégen belül műszakokban voltunk, hétvégét is ütemezni kellett, stb.)
Figyelmbe venni minden jogi feltételt nem annyira bonyolult, de azért utána kellett járni (pl. nem említetted, hogy havonta legalább egy heti pihenőnapot vasárnapra kell beosztani), viszont az autók beosztása (és korlátozása) azért érdekes fűszer az algoritmusba.
Szóval a válasz egyértelműen igen, lehetséges, de nem olyan egyszerű, hogy csak 1-2 óra alatt össze lehessen dobni.
Még ha manuálisan is csinálod, sokat segíthet, hogyha a bemenő paramétereket megfelelő minőségben tudod rögzíteni. Én azt mondanám, hogy ossz szét mindenkinek egy műszakokra bontott naptárat, amiben be tudják jelölni, hogy ki mikor szeretne/tud/nem tud az adott műszakban dolgozni (akár a 12-24 órás beosztást is külön kezelheted). Az én tippem, hogy egyébként ekkora létszámmal elkerülhető a 24 órás műszak és garantálható a 24 órás pihenőidő is. -
-
-
axioma
veterán
válasz
AndrewTdi #20758 üzenetére
Legegyszerubb az lenne, ha visszavezetned egy altalanos optimalizalasi problemara, arra meg vannak nyilvanos csomagok pl Google-nel az OR-Tools . A problemabol a megjelenites szamit legkevesbe...
Az viszont tenyleg munkas, hogy hogyan teszed ezeket a felteteleket egy egyenletrendszerbe. Pl. x_s,i,j az s slotban az i. kocsin a j.sofor ul-e [0-1]. Feltetel arra h pont 1 ulhessen az szumma x_s,j,i_n =1 [ejszakai slot-okban a megfelelo auto fix 0]. A ki melyik kocsira nem ulhet is fix 0, a max 12 orat vallalonak az x_s,i,j+x_[s+1],i,j<=1 minden s-re, ugyanugy 24-nel minden 3-ra <=2, a 12 oras muszak utani 10 ora szunet az nem is feltetel [ha 12-est vallalt akkor a fenti <=1 megoldja azt, h 12 van elotte es utana is], a 24-es feltetel az barmely 4 egymast koveto slotbol max 2 de kell olyan h ha egy slot van, akkor valamelyik szomszedja is, ez pl. s-[s-1]-[s+1]<=0 minden s-re [vezetore szummazva a kocsikat akkor kocsit is valthat, ha kulon-kulon feltetel per kocsi, akkor nem]. Es utana leirhatod, mire optimalizaljon, pl a soforok 'egyenletesen' legyenek terhelve az a barmely ket sofor slotjai kozti kulonbseg minimalizalasa. Ezt mint egyenlotlenseg-rendszert + optimalizalasi fuggvenyt beadod, kikop egy eredmenyt.
Persze ez is programozas a vegen, de nehogy valaki ujra meg akarja irni az optimalizalast egy olyan feladatra nativ keresessel, ami messzirol latszik, hogy tul nagy a keresesi ter; azt a megkozelitest lekodolni ami a meglevo csomagokban megvan, tok felesleges lenne barkinek.
Sajnos nincs kapacitasom ennel jobban belemenni. -
AndrewTdi
addikt
válasz
hiperFizikus #20757 üzenetére
Van ami tiszta, valami egyatalan nem.
Köszönöm, hogy végig olvastad és foglalkoztál vele!
Van e kérdés? Talalhatok itt valakit akivel ennek a megalkotasaval kapcsolatban tudnék beszélni? -
hiperFizikus
senior tag
válasz
AndrewTdi #20756 üzenetére
Gyerekjáték /:
1. Ebből nem tudsz egy értelmes táblázat-rendszert összehozni, ezért inkább notesz szerű kiíratást képzelj el táblázat helyet, akár HTML DOM is jó lesz neki .
2. A feltétel készletedet oszd 2 db részre: fontos feltételekre és mellékes feltételekre
3. avval is sokra mész, ha csak e fontos feltételeket programoztatod le, a mellékeseket nem .
4. ne 1 db nyomógombot használj a kiszámításukhoz, hanem többet - nem sokat
5. elmentésre használhatod a billentyűzet PrtSc_SysRq billentyűjét is !
Van kérdésed ? -
AndrewTdi
addikt
Sziasztok!
Nem tudom jó helyen járok e. Egyszerű alkalmazást vagy egy szakit keresnék beosztás készítő alkalmzás / program / táblázat készítéshez.
Konkrét leszek, hátha így könnyebb.
Egy régiós mentőállomás dolgozóinak havi beosztását kell írnom minden hónapban egy sima excell táblázatba, elég sok mindenre figyelve, de az fordult meg a fejemben, hogy esetleg lenne e lehetőség valamilyen módon autómatizálni ezt bizonyos feltételekre való tekintettel.
Először leírnám röviden, aztán ha lenne valakinek erre ötlete / megoldása, akkor valamilyen módon kifejteném mélyebben.
Szóval adott 18 sofőr a mentőállomáson. Adott 3 autó, ami éjjel nappal fut, illetve adott 1 autó, ami minden nap, de csak nappal. vannak 12 illetve 24 órás szolgálatok. A havi munkaóra szám alapján kell elosztanom az embereket az autókon az alábbi feltételekkel:
- minden autónak minden nap futnia kell
- 1 ember 12 (reggel7-től este 7-ig vagy este 7-től reggel7ig), vagy 24 órás (reggel 7-től másnap reggel 7ig) szolgálatokat vállal (opcionális, hogy ki melyiket választja)
- 1 ember 24 órás szolgálat után minimum 20 órán belül nem dolgozhat, 12 órás szolgálat utána 10 órán belül nem dolgozhat.
- vannak kérések, hogy melyik ember melyik napon nem szeretne dolgozni.
- nem minden autón dolgozhat minden sofőrÉs még sorolhatnám.
Nem értek a programozáshoz. Azt sem tudom mi fán terem. Fenti feltételek mellett össze lehet e hozni valamilyen programot / alkalmazást, ami a fenti szabályokat figyelembe veszi, kérések és szolgálatok napja módosítható, de mindenkinek meg kell legyen akötelző munkaóra adott hónapra, és mindezt akár 1 kattintással autómatikusan létrehozza?Tudom, elég specifikus, és elég sok, ez egyelőre csupán érdeklődés.
-
Reno7
senior tag
Sziasztok
Gépészmérnök vagyok és azon gondolkodom hogy belevágnék egy villamosmérnök vagy mérnökinfós mesterbe, érdekelnek a beágyazott rendszerek, emiatt mostanában nézegettem hogy milyen lehetőségek lennének, nekem nagyon úgy tűnik hogy rosszul fizetett szegmense ez az iparnak, ráadásul még bekerülni is nehéz válság nélkül is. Van valaki aki esetleg ebben a szektorban tevékenykedik és megosztaná hogy mit gondol róla? Sosem dolgoztam programozóként, a programozási ismereteim kimerülnek a python+arduinoban.
-
hiperFizikus
senior tag
-
flash-
veterán
válasz
martonx #20749 üzenetére
Jelenleg van főallasom de sok a szabadnapom es azt szeretném filmezés helyett valami normálisabb módon eltölteni. Valamit tanulnék de ha nem is főiskola egyetem, valami ami úgy nem olyan "bonyolult" nem feltétlen a programozás de igazából nem tudom milyen ágai vannak a programozasnak. Mostanában merre erdemes elindulni.
Esetleg tech it support? Erre is van valami olyan megoldás cegeknel hogy "beugrósként" csinálni? -
martonx
veterán
válasz
flash- #20744 üzenetére
Ennyit egy buszvezető is megkeres. Vagy pizzafutár. Nem kell mindenáron programozónak lenni.
Egyébként ez tipikusan olyan téma, amit akár otthon is meg lehet tanulni, ha van az embernek affinitása hozzá. De be is iratkozhatsz egyetemre, vagy sok pénzért magán képzésekre (ha nem szűntek még meg mind az ilyenek?). -
flash-
veterán
Sziasztok!
Programozással kapcsolatban szeretnek valami olyan szakágban tanulni amivel aztán kömnyedém meg kereshetek alkalmazottkent 400-500 ezer forint nettót.
Nem tudom hogy ilyen azintre ami ilyen keresetet ad mennyi idő eljutni de muszaj lenne tanulnom hogy legyen valami piacképes szakmám. Merre hova hogyan induljak el.?
Menne az ozzoni tanulás, otthoni munka is mert olyan a beosztás hogy sokat vagyok itthon.
Megkoszonnem ha valaki "utbairamyitana" -
gergo5991
őstag
tudnátok javaslatot adni?
van egy google sheetsem, amiben app script-el be lett téve egy funkció.
A sheetsben van egy elküldés gomb, ami a bevitt adatokat a cellában áthelyezi egy másik sorba, és hyperlinkekeli a cella tartalma alapján.
A probléma ott kezdődik, ha megosztom a sheetset, hogy a kolegák is tudják használni, akkor a google teljes hozzáférést kér minden a drivejukon tárult dokumentumhoz.
Így félek velük megosztani, mert ha valamilyen data-leak történne, akkor egyből engem fognak elővenni, hogy mert az én sheetsem okozta.
Hogy lehetne megoldani, hogy a google ne kérjen hozzáférést, és így is tudják használni a sheets-et és futtatni a scriptet? -
inf3rno
nagyúr
Ritkán vannak, napi 1 deadlock volt mostanában. Ez is új fejlesztés eredménye. Most beleírtam a kódba, hogy legyen retry ilyenkor, aztán rendben van. Nem tudom még mit lehet kezdeni az ilyen deadlockokkal. Jó lenne, ha nem tábla szinten lenne a lock, de ránézésre a key-ek is rendben, úgyhogy nem tudom még mit lehetne tenni.
Még arra gondoltam, hogy újra lehetne tervezni az egészet és bekötni a sorba azt is, ami a deadlockot okozza. Végülis nem sürgős műveletről van szó, úgyhogy megvárhatja a többit.
-
válasz
inf3rno #20737 üzenetére
Milyen adatbaziskezelo ez?
Eleg meredeknek hangzik, amit irsz, es szerintem nagy terheles eseten ennek lassabnak kene lennie, mintha minden egyes muvelet kulon tranzakcioban van. Valamilyen MVCC implementacio biztosan van az RDBMS-ben, szoval ha sokaig vannak nyitva a nagy tranzakcioid, az jo esellyel megszivatja a vacuum folyamatokat.
Szoval szinte biztos, h amit csinaltok, az rossz otlet, de mivel nem irtal le eleg reszletet, ezert nem tudom, hogy mi a rendes megoldas.
-
inf3rno
nagyúr
Az van, hogy 100-asával szórjuk be tranzakcióba az egymástól nagyjából független SQL-eket, aztán így kötegelve küldjük be az adatbázisba, mert így nem ül le tőle az adatbázis szemben azzal, ha egyesével küldjük be őket. Aztán ha valamilyen SQL hibára fut, akkor elnyeljük a hibát, hogy ne veszélyeztesse a teljes tranzakciót. Ha mondjuk out of range okozza a hibát, akkor rendben bekerülnek a változtatások commitnál egyedül azt hagyja ki, aminél a hibát dobta. Azoknál a kivételeknél, mint pl. deadlock, ahol elszáll a teljes tranzakció, ott muszáj újrapróbálni az egészet, hogy ne legyen adatvesztés. Aztán ezért kellett különbséget tennem a két hibatípus között. De közben találtam egy drupal kódrészletet, ami alapján megírtam a saját ellenőrzőt hozzá, úgyhogy rendben van. Most várom az out of range hibákat, mert enélkül a fejlesztés nélkül esélytelen volt debuggolni őket. A deadlockra már nagyjából rájöttem, hogy mi okozhatja, de nem javítható, teljesen újra kellene tervezni az egész rendszert hozzá. Úgyhogy ma sem unatkozom.
-
válasz
inf3rno #20735 üzenetére
Egyaltalan nem vilagos szamomra, hogy mit akartok elerni, mit ertesz 'tehermentesites' alatt, mi az, hogy 'nagyjabol fuggetlen', stb.. Leirnad a kontextust? Az se vilagos, hogy lehet tranzakciot committalni, ha hiba tortenik a tranzakcio kozben. Milen adatbazisrol van szo egyaltalan?
-
inf3rno
nagyúr
Van egy CRON-om, ami batch-ekben 100-asával küldi tranzakcióban az SQL-eket. Ezek egymástól nagyjából függetlenek, szóval ha elakad az egyik, akkor a többinek van értelme továbbmennie. Elvileg így tehermentesítjük írás szempontjából a szervert, legalábbis exkolléga szerint ezt így kell. Most belefutottam egy olyanba, hogy egyszer out of range errorral száll el a CRON, másszor meg deadlockal. Az első esetben nincs értelme újrapróbálni, csak naplózni az SQL-t, és mehet commit a tranzakcióra, a második esetben viszont jó, ha elszáll az egész, mert akkor később újrapróbálja a CRON. Ezeket a scenariokat szeretném szétválasztani, de ha már itt tartunk, akkor jó lenne a kapcsolat megszakadásakor is ugyanúgy újrapróbálni, és még nem tudom milyen esetek vannak, amikor van értelme. Láttatok már ilyen kódot, ami szétválasztja az olyan PDOException-öket, ahol van értelme újrapróbálni, és ahol nincsen? Így fapados megoldásnak az tűnik, ha ellenőrzöm az error code-ot vagy az sqlstate kódot, és az alapján a dokumentációból megcsinálom az if-elset, de ha már van készen valakinél ilyen, akkor feleslegesen nem csesznék el rá egy napot... SO-n próbáltam már keresni, semmi eredmény, feltettem kérdésnek is, de a sok hülye lehurrogott, hogy így szar úgy szar, amit csinálunk.
-
classic B
senior tag
Köszi mindkettőtöknek a hozzászólást!
-
-
JoinR
őstag
válasz
classic B #20731 üzenetére
Cél nélkül nincs értelme nyelvekről beszélni, az "informatikát szeretem" nem lesz elég, hogy megtudjuk, pontosan mit is szeretnél.
Sok IT-s roadmap van, ami segíthet dönteni, de a pályakezdőként könnyű elhelyezkedés manapság nem realitás. Közgázosként szerintem a Data Analyst/Engineer/Scientist a legközelebbi vonal, ami szóba jöhet, de mi nem tudjuk, hogy mi is érdekelne valójában. -
classic B
senior tag
Sziasztok!
Olyan kérdésem lenne hozzátok, hogy ha ma kezdenétek el tanulni a programozást, akkor melyik nyelvet választanátok?Illetve az is kérdés, hogy más IT szakmát tanulnátok-e?
Azért is kérdezem ezeket, mert szeretnék valami olyan IT szakmát kitanulni, ami érdekes, és könnyen el lehet helyezkedni vele a munkaerőpiacon. Közgazdász vagyok egyébként, de már elegem van ebből. Az informatikát szeretem.
Remélem elfér itt ez a bejegyzés. Ha esetleg valaki inkább privátban szeretne válaszolni, azt is megköszönöm. -
gergo5991
őstag
mindmap készítésre tudtok ajánalni egy ingyenes online progit?
1 appban az összes választható opciót mappelni akarom, és ahol hiba van oda lehetőleg lehessen kommentet is csatolni.
1 főmenüből 5 kisebb almenü van azon belül még 5 kis menü és még ott is oda vissza kattingatás és az egész 3*. -
NYPD
aktív tag
Köszönöm mindenkinek az érdemi választ (#20723 neked is köszi, de ebbe a kategóriába sorry, most nem kerültél bele), a kérdés igazából azért merült fel bennem (és több kollégában is), mivel a program ezen funkciója kritikus az ügyellátáshoz, kívülről intézni plusz adminisztrációs terhet ró a munkatársakra és jelentősen lassítja az ügyintézést, illetve a felelős csapat kizárólag ennek a programnak a fejlesztésével foglalkozik. A program egyébként kötelezően használandó országos szinten - nincs alternatíva - , jogi eljárásban.
-
dabadab
titán
Hozzászólnák, mint olyasvalaki, aki csinált már ilyesmit.
Ha még soha nem használt mondjuk CEF-et (Chromium Embedded Framework), akkor simán benne van ez. Mivel az alapján, amit mondasz, a weboldal meg a program kommunikál, ezért nem elég simán berakni a programba a CEF-et, hanem a protokoljával is meg kell ismerkedni, az egész addigi exploreres programoldali kódot lecserélni CEF-esre, lehet, hogy az oldal javascript kódjába is bele kell nyúlni, tesztelni: én ebben simán látom a négy hetet. -
NYPD
aktív tag
Sziasztok.
Egy teljesen általános kérdésem lenne, kíváncsi vagyok, hogy vajon tényleg hülyének nézik-e az embert egy cégnél. Adott egy elég komplex ügyvitei program, sajnos nem tudom milyen, nyelven íródott. Az egyik funkciója az, hogy programon belül meg lehet nyitni egy weboldalt, ami egy nyilvántartás, a kitöltendő adatokat a program saját adatbázisból gombnyomásra be tudja tölteni, a lekérdezett eredményt pedig pdf-ben tárolni és nyomtatni. Az adott weboldal egyébként kívülről, böngészőből is használható, maunálisan. A program elmondás szerint a feladatra internet explorert használ, azonban mióta az explorer használata elmondásuk szerint le lett tiltva (gyanítom a nyilvántartónál központilag), ennek okán a programból a továbbiakban nem használható a funkció.
A kérdésem arra irányul, hogy általánossában, meg lehet-e határozni, hogy milyen fejlesztési idő szükséges ahhoz, hogy pl. a program egy másik, használható böngészővel dolgozzon? A fejlesztő legalább egy hónapot mondott, én bár nem értek a programozáshoz, de ezt egy kissé eltúlzottnak érzem... -
hiperFizikus
senior tag
válasz
hiperFizikus #20710 üzenetére
#49 , ennek a II- része lenne :
A kvázi argumentumok a programozásban !
-
VikMorroHun
őstag
Így már egész jó. Most azzal küszködik, hogy egy bizonyos ellenőrzési feladatot a több példányban futó program közül csak egynek kellene elvégeznie. Van, amikor jó. Meg olyan is van, hogy az egyik jelentkezik, hogy most ő intézi a dolgokat, addig a többiek várakoznak. Órákon át.
Arra már sikerült rájönnöm, hogy amikor tárolom a rendszer által biztosított egyedi azonosítót, az nem biztos, hogy egyedi, illetve van, hogy nem képes megtalálni, amit 1-2 perccel korábban tárolt...
-
btraven
őstag
Jaj, a szívem!
Unity C# mintaprogramban ezt találtam:
float m_TargetCharacterHeight;
const float k_JumpGroundingPreventionTime = 0.2f; -
cucka
addikt
válasz
VikMorroHun #20717 üzenetére
azt akarom, hogy egymás után állítsa be őket a program.
Akkor írj egymás után 3 if-et. Nem értem, miért vannak az if-ek egymásba ágyazva. -
VikMorroHun
őstag
Ezt nem értem. Van három flag, azt akarom, hogy egymás után állítsa be őket a program.
Eredmény: egyszerre beállítja az összeset, kivéve, ha return utasítással direkt kiléptetem az adott elágazásból. Mit csinálok rosszul?if ( this.GetIsFlagSet( flag_var, iFlagExcessTimer3 ) == 0 ) //same as if ( ( flag_var & iFlagExcessTimer3 ) == 0 )
{
if ( this.GetIsFlagSet( flag_var, iFlagExcessTimer2 ) == 0 )
{
if ( this.GetIsFlagSet( flag_var, iFlagExcessTimer1 ) == 0 )
{
if ( this.SetFlag( flag_var, iFlagExcessTimer1 ) < 1 )
{
Print( " Validating problem, ExcessTimer1 flag is not set." );
return; // without return all flags are set at once. Why??
}
Print( " Validating updated, ExcessTimer1 flag is set." );
return;
}
else if ( this.SetFlag( flag_var, iFlagExcessTimer2 ) < 1 )
{
Print( " Validating problem, ExcessTimer2 flag is not set." );
return;
}
Print( " Validating updated, ExcessTimer2 flag is set." );
return;
}
else if ( this.SetFlag( flag_var, iFlagExcessTimer3 ) < 1 )
{
Print( " Validating problem, ExcessTimer3 flag is not set." );
return;
}
Print( " Validating updated, ExcessTimer3 flag is set." );
} -
proci985
MODERÁTOR
Egészen, részben mert emberi nyelv, részben meg mesterséges nyelveknél nem szokás kivételeket csinálni hacsak nem nagyon muszáj, mert szívás.
Természetes nyelveknél viszont az interakciók és a használat során változások történnek. A magyarban meg azért bőven van (nehezen formalizálható) kivétel.
-
proci985
MODERÁTOR
válasz
hiperFizikus #20710 üzenetére
Ha ennyire bele akarod ásni magad a témába, én ránéznék a formális nyelvek területére. Kb a Chomsky-Turing ami összeköti a (gyakorlati) Turing gépet a nem-mesterséges nyelvekkel, amely utóbbi halmazba a magyar is beletartozik.
Magyarul talán a Bach féle "Formális nyelvek" volt ami egész jól végigment a témán, de egyrészt nagyon száraz, másrészt pedig elég elméleti, harmadrészt pedig a gyakorlatban sem egy kezdő könyv. A lényeg mondjuk a Recursively enumerable (Type-0) grammars, ami a Wikin gyönyörűen egy paragrafusban össze van foglalva.
-
hiperFizikus
senior tag
válasz
hiperFizikus #20707 üzenetére
https://erdosattilask01.lapunk.hu/Újmagyar Mézga-nyelv-a-szép-Újvilágban Huxley-1214593
Újmagyar(Mézga+BCPL) nyelv a Szép újvilágban(Huxley) !Imádom a magyar nyelvet !
A magyar elleneseket meg utálom, hagyj ne soroljam fel őket !Két dolgot szeretek benne igazán :
1. gyakran használ irányt adó (szavakat, szó szerkezeteket, mondatrészeket, mondatokat, ill. szövegrészeket) ; és
2. gyakran használ hiányos mondatokat, amit a hallgatónak kell opcionálisan fejben kipótolnia !Ugye ismertek a gravitáció képletét, már Newton is megállapította ;az okosabbak most Einstein térgörbületének képletével is előhozakodhatnak ! De ha egy galaxis belső szerkezetét kell kiszámolni velük, már mint hogy spirál kar, csomósodás, darabolódás, többszöröződés: akkor paff "itt a végállomás, a vonat nem megy tovább" !
...
Az eddigieket összefoglalva /:
Kaptunk egy formalizmust, ami a matematikai algebra és az imperatív programnyelvek közé esik, és jobban megfelel a leíró elméleti fizika részére, hiszen például a galaxis szerkezete egész könnyen értelmezhető általa !Próbáljuk meg alkalmazni az elemi fizikában is !
...A társadalom csak úgy fejlődhet, ha az embereknek a feje is és a hasa is tele van ♥
És még hasonló bölcsességek vannak benne, kattints érte a linkemre ♥+
Tehát ezeket a rövidítéseimet nagyon ügyesen kell előre megválogatni magadnak a további elméleti fizikás és más reáltudományos képletekhez, mert utána hónapok - évek múlva is ráfogsz kényszerülni, nehéz lenne később - a megszokásod miatt - változtatnod rajtuk ! -
proci985
MODERÁTOR
válasz
VikMorroHun #20705 üzenetére
Nyelv és IDEfüggő. VS és Eclipse alatt IDE listázza az összes odatartozó változót. Innentől redundáns és ha változtatni kéne a változót, akkor mehet a refaktor (ami továbbra is szívás). Persze ettől még pattern szinten prefixek vannak használatban, C#nál az I prefixnek van értelme, Javanál redundáns.
Pl Minix kernel használja (Linuxban nem vagyok biztos) és ott tényleg van értelme arra, amire eredetileg ki lett találva, de C# vagy Java esetén felesleges. Viszont, jellemzően első-másodéves BScn nem ez a fő probléma.
dabadab: Így, ezzel a pontosítással.
-
hiperFizikus
senior tag
válasz
VikMorroHun #20705 üzenetére
-
cucka
addikt
válasz
VikMorroHun #20705 üzenetére
Az a baj vele, hogy a grafikus IDE-k, az intellisense, és az azonnali statikus type checking egyszerűen elavulttá tette. Azok a problémák, amiket megold, nagyrészt nem léteznek.
A másik, hogy nagyon korlátozott a felhasználhatósága, leginkább C-ben előforduló primitívekre van kitalálva. Ha ennél fejlettebb típusrendszert használsz (ami azért előfordul
) akkor nem jó semmire.
A Robert C Martin hivatkozás a wikin pont arról szól, hogy nem javasolja a használatát. Ahogy Linus vagy Stroustrup sem.
-
VikMorroHun
őstag
válasz
proci985 #20701 üzenetére
"se hungarian notationt"
Kíváncsi voltam, mi a baj ezzel. Wikipédián találtam is egy vicces felsorolást.
Főleg ezek a pontok tetszenek:
- Most of the time, knowing the use of a variable implies knowing its type.
Talán igen, talán nem.
- Furthermore, if the usage of a variable is not known, it cannot be deduced from its type.
Igaz, de nem is ezért találták ki.
- It makes code less readable, by obfuscating the purpose of the variable with type and scoping prefixes.
Tehát egy változó elnevezési gyakorlat, ami segíti a kód olvashatóságát, megnehezíti a kód olvashatóságát. Aha.
- The additional type information can insufficiently replace more descriptive names. E.g. sDatabase does not tell the reader what it is. databaseName might be a more descriptive name.
Az sDatabaseName az meg nem lehetséges, ugye.
- It's harder to remember the names.
Miért is?További érdekesség: a hivatkozott irodalomban szerepel a Clean Code egy bizonyos Robert Cecil Martintól.
-
martonx
veterán
Clean Code témához: emvy abszolút a szívemből beszélsz! Nemrég volt szerencsém egy vegytiszta clean code rajongótól elkészült kódot átvenni, értelmezni, és borzalmas volt.
Amikor mindenhol dekorátor patternek hemzsegnek, CQRS-ek repkednek, mert semmi nem függhet semmitől, soha sehol nem lehet semmi 10 sornál hosszabb, 4 szintű öröklések záporoznak mindenhonnan, akkor azt mondom, hogy az a kód komolyan csoda volt, hogy működött.
Ettől függetlenül önmagában a Clean Code könyvet jó kiindulási alapnak tekintem. Sőt az is jó, ha egy programozó legalább az alap dizájn patternekkel tisztába van.
A gond ott kezdődik, amikor mindezt való életbeli problémákra rugalmatlanul, ámde maximálisan rá akarja erőltetni, mindig mindenhol mindre valamilyen tanult patternt akar ráhúzni, rágörcsöl, hogy minden előírást betartson a clean code-ról tanultakról, na akkor születnek a borzalom kódok.
Amik a spagetti kódok ellentétei, ámde azoknál semmivel sem jobbak, sőt megkockáztatom, hogy rosszabbak.Szóval szerintem az igazság valahol középen van. Érdemes szem előtt tartani a Clean Code meglátásait, bizony sokszor egy-egy pattern már pont azért született, hogy ne kelljen újra és újra feltalálnunk a spanyolviaszt, de legyünk rugalmasak, és írjuk meg olvashatóra, értelmezhetőre, az üzleti elvárást minél jobban lemodellezőre a kódunkat, ne pedig a SOLID elveken, meg YAGNI, meg KISS, meg mitudomén mi minden elveken görcsöljünk.
-
proci985
MODERÁTOR
Ahol én végeztem ott első éves OO kurzuson pár kritérium erősen ezen alapul. Pl elvárták az értelmes változóneveket, az értelmes kommentárokat, a rendesen felosztott rendszert.
Értsd, az
int värde = 5 // sätter värde till 5
szintű dolgokat izomból irtották, mert olvashatatlan. 10+ éve is és ahogy hallom, most is. -
cucka
addikt
válasz
proci985 #20701 üzenetére
De jó is lenne, ha az egyetemről kikerülők kennék-vágnák a clean code témát. Sajnos a valóság ennél sokkal lelombozóbb.
Velem előfordult már, hogy "senior" programozó sok év tapasztalattal és millió feletti fizetéssel, és én kellett neki elmagyarázzam, hogyan kell megírni egy unit tesztet.
-
proci985
MODERÁTOR
kb BSc masodev vegi szinten egy jo konyv, jo otletekkel.
amiket felhozol problemaknak azzal jellemzoen a konyv is explicit modon tisztaban van. avagy ha szorol szora betartod, valoszinuleg hasznalhatatlan lesz a kod. de ezt emlekeim szerint tenyleg, tobbszor emliti es emlekezteti az olvasot.
ettol fuggetlenul kezdeni valahol el kell kezdeni, hogy mondjuk ne hasznaljon magyar valtozoneveket, se hungarian notationt, se ekezeteket. meg olyan dolgok, mint az egyseges nevezektan, a (komponens szinten) egyseges scope azert modellezes szempontbol nem az ordogtol valo. ez nem a te szinted, es nem is egy senior szintje (sot jobb esetben, nem is egy juniore mert ezekkel erdemes lenne tisztaban lenni).
plusz az is stimmel, hogy foleg OO teruletre jo.
"there is no silver bullet"
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Precision 7770 17.3" FHD IPS i7-12850HX RTX A3000 32GB 1TB NVMe ujjlolv IR kam gar
- Samsung Galaxy S10e 6/128GB, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Xiaomi Poco M4 Pro 6/128GB, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Xiaomi Redmi Note 12s 8/256GB, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Huawei P30 Pro 8/256GB, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Honor 9X Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Huawei Matebook 14 - i7-10GEN I 16GB I 512SSD I Nvidia I 14" 2K Touch I Cam I W11 I Gari!
- BESZÁMÍTÁS! MSI B450 R5 3600 16GB DDR4 512GB SSD RX 6500XT 4GB Zalman S2 TG Zalman 500W
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
- LG 55C4 - 48" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - A9 Gen7 CPU
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest