Új hozzászólás Aktív témák

  • husztiimi
    csendes tag

    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

    Neked ez milyen kapcsolóval fordult le? És milyen compilerrel?

  • coco2
    őstag

    É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.

    Arduino micro-ra van mouse stack, abból nem nehéz programozott egeret gyártani. Igaz, külső áramkört igényel.

  • emvy
    félisten

    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...

    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

    Kvázi számítógépet szürreális kristályokból !
    :D

    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 ?
    :F

    Oda válaszoljatok nekem !

    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 !
    :W

  • hiperFizikus
    senior tag

    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á :D

    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"

    :Y

  • proci985
    MODERÁTOR

    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á :D

    "gondolkodó sziklák" -> [link] Everything Everywhere all at Once vonatkozó jelenete megvolt? :DDD

    Persze még ott vannak a monolitikus chipek, bár azokat nem hinném, hogy bárki is sziklának hívná.

  • biker
    nagyúr

    Linkeld már be, vagy linkelj hozzá már valamit ?
    :)

    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á :D

  • hiperFizikus
    senior tag

    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...

    Én inkább azt tapasztaltam, hogy van egy rövid ideig tartó látogatási többlet, aztán a végtelen csend következik .
    :DDD

  • hiperFizikus
    senior tag

    Az otthon is készíthető repülő csészealjas cikke volt eddig a legjobb.

    A járművek karosszériái hasonlíthatók a limonádés flakonhoz !
    Ha tudsz karosszériát csinálni vagyis ilyesmi flakont, akkor szinte minden fajta járművet is tudsz csinálni, a motort-generátort meg megvásárolod hozzá !
    :K

  • hiperFizikus
    senior tag

    Komolyan vette Kiss Lászlót, aki mindig gondolkodó sziklákat emleget :)

    Linkeld már be, vagy linkelj hozzá már valamit ?
    :)

  • martonx
    veterán

    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...

    Az otthon is készíthető repülő csészealjas cikke volt eddig a legjobb.

  • biker
    nagyúr

    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...

    Komolyan vette Kiss Lászlót, aki mindig gondolkodó sziklákat emleget :)

  • sztanozs
    veterán

    Kvázi számítógépet szürreális kristályokból !
    :D

    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 ?
    :F

    Oda válaszoljatok nekem !

    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

    Kvázi számítógépet szürreális kristályokból !
    :D

    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 ?
    :F

    Oda válaszoljatok nekem !

    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 !
    :D

    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 ?
    :F

    Oda válaszoljatok nekem !

  • martonx
    veterán

    É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.

    Ezt hívják automata UI teszteknek :D

  • VikMorroHun
    őstag

    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 :D

    É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

    Javaslom a ChatGPT-t vagy Claude-ot.

    esetleg deepseek és copilot.

    copilot jellemzoen jobb programozasi feladatokra, mint a sima gpt, ahogy lattam. nagyobb valoszinuseggel kell ujrapromptolni, cserebe ha szintaktilailag oke, akkor szemantikailag nagyobb esellyel fogja azt csinalni, amit kell.

  • emvy
    félisten

    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 :D

    Javaslom a ChatGPT-t vagy Claude-ot.

  • 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 :D

  • coco2
    őstag

    Ha egy felhasználó egy IT rendszerbe alapfokú számítógépes ismeretekkel több másik felhasználó nevében be tud lépni tetszőleges alkalommal, ott szerintem komoly gondok vannak.

    Engem érdekelne, hogyan lehet azt megtenni. Tudod csak amolyan "etikus hacker" alapon ;]

  • biker
    nagyúr

    Ha egy felhasználó egy IT rendszerbe alapfokú számítógépes ismeretekkel több másik felhasználó nevében be tud lépni tetszőleges alkalommal, ott szerintem komoly gondok vannak.

    Mindezt úgy, hogy nem tudja a másik jelszavát? Föleg 2fa esetén?

  • VikMorroHun
    őstag

    Például mire gondolsz? nem lehet, hogy csak félreértesz valamit a használatban?

    Ha egy felhasználó egy IT rendszerbe alapfokú számítógépes ismeretekkel több másik felhasználó nevében be tud lépni tetszőleges alkalommal, ott szerintem komoly gondok vannak.

  • axioma
    veterán

    axioma, Google Next-en voltal mar? Erdemes menni?

    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].

  • emvy
    félisten

    adatvedelmi incidensben nem az ugyfelszolgalat az illetekes, ha tovabb is kuldik, akkor is egy problema eseten perceket szoktak szamolni... igy meg napok mire odajut

    axioma, Google Next-en voltal mar? Erdemes menni?

  • biker
    nagyúr

    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ó. :)

    Például mire gondolsz? nem lehet, hogy csak félreértesz valamit a használatban?

  • axioma
    veterán

    azt szeretnéd ha egy kapus válaszolna neked ?
    :(

    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

    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ó. :)

    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ó. :)

  • inf3rno
    nagyúr

    Ja, sima k-means hasonló problémákra működik.

    dabadab: belegondolva igaz :DDD

    Ja, hallod azt használtam is, de már totál elfelejtettem. :D

  • proci985
    MODERÁTOR

    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.

    Ja, sima k-means hasonló problémákra működik.

    dabadab: belegondolva igaz :DDD

  • 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

    Annak idején egy haverom csinált ilyesmit amolyan jófejség projektként, neki az volt a megoldása, hogy random generált megoldásokat vizsgált meg, hogy mennyire jók.

    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.

  • dabadab
    titán

    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.

    Annak idején egy haverom csinált ilyesmit amolyan jófejség projektként, neki az volt a megoldása, hogy random generált megoldásokat vizsgált meg, hogy mennyire jók.

  • proci985
    MODERÁTOR

    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. :R

    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

    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. :R

    É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.

  • proci985
    MODERÁTOR

    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. :R

    Ahogy axioma irja, ez egy optimizacios problema es egy eleg bonyolult darab. Online tool lehet, hogy van, arra neznek ra.

    Megoldast lehet ra irni, de bonyolult lesz, gyakorlatilag a Knapsack problema egy variansanak tunik igy olvasva.

  • AndrewTdi
    addikt

    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.

    Ehhez kellett nekem jópár perc mire megpróbáltam értelmezni, de a végén sikerült. :U Még olvasni is bonyolult volt.
    Sajnos nincs kapacitasom ennel jobban belemenni. Egyáltalán nincs is rá szükség, azt is köszönöm, hogy ennyi energiát is szántál rá. :R

  • hiperFizikus
    senior tag

    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? :N :R

    írjál nekem privátban
    ;)

  • axioma
    veterán

    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? :N :R

    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

    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 !
    :K

    Van kérdésed ?

    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? :N :R

  • hiperFizikus
    senior tag

    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. :R

    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 !
    :K

    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. :R

  • Tüphón
    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

    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?

  • Vision
    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"

    Engedd el!

  • dabadab
    titán

    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?

    Én csak a programozással kapcsolatban tudok nyilatkozni: ha már felnőtt vagy és eddig annyi érdeklődésed se volt a témával kapcsolatban, hogy magadtól nekiállj otthon babrálni vele, akkor ez szinte biztosan nem a te pályád.

  • martonx
    veterán

    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?

    fogalmam sincs

  • flash-
    veterán

    ez esetben hajrá önképzés, netán egyetem vagy fizetős magánképzés, mint anno volt a GreenFox.

    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

    valami otthon végezhető it munka érdekel. ez van.

    ez esetben hajrá önképzés, netán egyetem vagy fizetős magánképzés, mint anno volt a GreenFox.

  • flash-
    veterán

    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?).

    valami otthon végezhető it munka érdekel. ez van.

  • martonx
    veterán

    Kesobb esetleg jobb karriert lehet befutni kulfoldon fejlesztokent.
    En anno rengeteget tanultam otthon es csinaltam sajat projekteket kesobb bedolgoztam cegeknek majd ez lett a foallasom - kulfoldon.

    Jelenleg programozókból pont túlkínálat van mindegy, hogy külföld vagy itthon.
    Persze aki igazán jó, az azért továbbra is talál munkát. Aki ebből csak el akar lenni, közel nulla munkával, jó pénzt keresni, annak egyre nehezebb.

  • cog777
    őstag

    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?).

    Kesobb esetleg jobb karriert lehet befutni kulfoldon fejlesztokent.
    En anno rengeteget tanultam otthon es csinaltam sajat projekteket kesobb bedolgoztam cegeknek majd ez lett a foallasom - kulfoldon.

  • martonx
    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"

    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"

  • martonx
    veterán

    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?

    Microsoft Office-ra átállással.

  • 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

    Ok, annak kb. ismerem az MVCC implementaciojat. Ha nincsenek konkurrens tranzakciok, akkor vszeg jo a ti megoldasotok. Ha vannak, akkor problemas.

    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.

  • emvy
    félisten

    Mariadb-t használunk. Én bízok az exkollégában, hogy tudta, hogy mit csinál. Amúgy nekem is megfordult már a fejemben, hogy van e egyáltalán ennek értelme, de majd kicsit mélyebben utána olvasok, esetleg írok rá tesztet.

    Ok, annak kb. ismerem az MVCC implementaciojat. Ha nincsenek konkurrens tranzakciok, akkor vszeg jo a ti megoldasotok. Ha vannak, akkor problemas.

  • inf3rno
    nagyúr

    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.

    Mariadb-t használunk. Én bízok az exkollégában, hogy tudta, hogy mit csinál. Amúgy nekem is megfordult már a fejemben, hogy van e egyáltalán ennek értelme, de majd kicsit mélyebben utána olvasok, esetleg írok rá tesztet.

  • emvy
    félisten

    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. :DDD

    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

    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?

    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. :DDD

  • emvy
    félisten

    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.

    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.

  • inf3rno
    nagyúr

    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. :R

    Power BI, amire viszonylag gyorsan át tudod képezni magad és jól fizet. Melléje még Pythont érdemes tanulni. Aztán el tudsz indulni a data analyst vonalon. A nulláról váltás manapság nem nagyon fog menni, nem keresettek most a kezdők.

  • JoinR
    őstag

    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. :R

    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. :R

  • inf3rno
    nagyúr

    Simán lehet, hogy maga a keretrendszer nagyon ősi, amibe van beágyazott internet explorer. És pusztán ennek frissítése magával vonja a keretrendszer frissítését is. Ami simán lehet egy hónap, akár több is.

    Így már szerintem is lehet. Erre a részére nem gondoltam.

  • martonx
    veterán

    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.

    Simán lehet, hogy maga a keretrendszer nagyon ősi, amibe van beágyazott internet explorer. És pusztán ennek frissítése magával vonja a keretrendszer frissítését is. Ami simán lehet egy hónap, akár több is.

  • 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
    senior 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

    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...

    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.

  • inf3rno
    nagyúr

    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...

    Úgy tudom webkittel szokás megoldani ezt. Szerintem 1 hét lehet max, de én is egy hónapot mondanék, ha van más munkám is mellette.

  • nevemfel
    senior 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...

    A fejlesztő legalább egy hónapot mondott, én bár nem értek a programozáshoz, de ezt egy kissé eltúlzottnak érzem...

    A fejlesztő valószínűleg nem tudja, hogy mennyi időbe telik, és ez egy biztonsági időintervallum.

  • hiperFizikus
    senior 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...

    igazad van, keres egy másik programot, ezt meg hagyd a francba
    :((

  • NYPD
    senior 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

    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) !
    :W

    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 !

    #49 , ennek a II- része lenne :
    A kvázi argumentumok a programozásban !
    :D

  • VikMorroHun
    őstag

    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.

    Í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

    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." );
    }

    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." );
    }

  • coco2
    őstag

    És hát tiszta természetesnek érződik valami, amit elkezdtek gondolkodva megmoddolni. Mondjuk ahhoz képest, hogy inkább ne tették volna.

  • dabadab
    titán

    Hmm, mintha olvastam volna valahol arról, hogy egykoron a Magyar Tudományos Akadémia miért jött létre, és hogy kik voltak azok az ortológusok meg neológusok.

    Igen, és?

  • coco2
    őstag

    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.

    Hmm, mintha olvastam volna valahol arról, hogy egykoron a Magyar Tudományos Akadémia miért jött létre, és hogy kik voltak azok az ortológusok meg neológusok.

  • proci985
    MODERÁTOR

    A magyar nem mesterséges nyelv? Biztos vagy benne?

    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.

  • coco2
    őstag

    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.

    A magyar nem mesterséges nyelv? Biztos vagy benne?

  • proci985
    MODERÁTOR

    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) !
    :W

    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 !

    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

    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) !
    :W

    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

    "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. :)

    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.

  • dabadab
    titán

    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"

    A hungarian notation teljesen jó dolog, ha arra használja az ember, amire Simonyi kitalálta, nem pedig az MFC-féle abominációt

  • hiperFizikus
    senior tag

    "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. :)


    :K

    , képforrás ,

    Ehhez mit szóltok ?

  • cucka
    addikt

    "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. :)

    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

    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"

    "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

    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.

    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

    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"

    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

    Par problema, csak igy hasbol:

    - tulzottan preszkriptiv, es foleg a kozepes programozokban azt az erzetet kelti, hogy a kod attol lesz strukturalt es atlathato, hogy pl. sok rovid metodus van (valosag: a kod attol lesz jo, hogy korrektul modellezi a problemat)
    - tudomanytalan: semmilyen bizonyitek nincs arra, hogy 10 darab 10 soros fuggveny atlathatobb/karbantarthatobb, mint 1 db 100 soros. Neha igen, neha nem - kezdoket jo otlet erre biztatni, de komplett cegek komplett kozepes programozohadseregei gondoljak azt, hogy ez a 'megoldas'
    - DRY DRY DRY: ebbol van az, hogy kozepes programozonk meglat ket metodust, ami 98%-ban ugyanazokat a sorokat tartalmazza, es refaktoralja egy metodussa. Azt nem fogja fel, hogy ha a ket metodus valojaban masra volt jo (szemantikailag/modellezes-ugyileg) innentol ugy nez ki a kod, mintha tenyleg ugyanaz lett volna a ket metodus feladata, es megteveszti az olvasot
    - OOP-t eleve sokkal kevesbe tartjuk manapsag 'mindenre alkalmas' modszernek, mint regen
    - a konyv tele van olyan kovetendo (!) peldakkal, ahol a metodusoknak abszolut varatlan side effectjei vannak
    - a konyv az elozo ket pont miatt total rossz tananyag multicore/multithread vilagban

    Felreertes ne essek: van benne egy csomo jo meglatas. A baj az, hogy ossze van keverve egy csomo haszontalan tanaccsal, es ez felrevezeto.

    Egyebkent olyan cegeknel szoktak nagyot menni ezek a konyvek, mint pl. az EPAM. Aki olyan helyen szeretne dolgozni, annak hajra.

    ----

    Szoval szemely szerint azt gondolom, hogy a programozok legfobb feladata a vilag (domain, uzleti problema, technikai problema) megertese. Otmilliofelekeppen le lehet kodolni dolgokat, de legfokepp attol szarodnak el a projektek, hogy a programozo nem erti, hogy mit is kene megcsinalnia. Ha vilagosan erti, es a program azt fejezi ki, amit kell, akkor lehet OOP, funkcionalis, Haskell, J2EE, Javascript -- valoszinuleg jo lesz.

    Talan az egyetlen orokervenyu szabaly az egyszeruseg. Konyvbol meg pl. a Domain Driven Design.

    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