Hirdetés

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

  • norby10
    csendes tag

    Sziasztok, kezdő vagyok a JSben és épp egy problémába ütköztem...

    [link]

    Mi lehet a gond?

  • Sk8erPeter
    nagyúr

    Hat, elotted a lehetoseg, tudom, hogy neked is vannak olyan kodjaid/eseteid amik megernenek egy fuggvenyt ;)

    En folyamatosan bovitgetem, de ugye ez lassan megy, mivel egyedul csinalom. Ellenben biztos vagyok benne, hogy hasznos dolog (legalabbis nekem).

    Pl ma is

    [link]
    function easyToUseBadLogicalAND(arr) {
    return arr && arr.length;
    }

    Az egesz abbol indult ki, hogy review-oltam, es volt egy ilyen a kodban (egyszerusitve persze szv pl a valtozok miatt ne szoljatok be:) )

    var y = x && x.length ? true : false;

    Ami nyilvanvaloan egy antipattern, lenne, de megsem az. Akkor lenne igazan antipattern, ha

    var y = x && x.length > 0 ? true : false;

    De mivel az && nem biztos, hogy mindenki szamara egyertelmuen mukodik, ezert megert egy kis kodot szerintem :)

    Szerintem bad practice-eket megosztani Smarty.js néven nem túl jó ötlet... :U Akkor már írd oda, hogy mit NE, és mit IGEN. Ne csak a NE-megoldás legyen ott... :D
    Nem beszélve arról, hogy már csak azért is rossz a kód, mert nincs típusellenőrzés sem, nem biztos, hogy az átadott változónak (ami nem biztos, hogy típushelyes) létezik egyáltalán .length property-je. :)

  • Jim-Y
    veterán

    "Szóval igen, erre is gondoltam, csak úgy voltam vele, hogy ezt így hosszadalmasabb levezetni, mint példának felhozni a CMS-t, ahol ez szükségképpen eleve így van."
    Tudod, hogy szeretek korrigálgatni bizonyos mondatokat CMS-témában (amik félrevezetőek lehetnek annak, aki csak (rossz) hírből hallott a CMS-ekről), még akkor is, ha tudom, hogy teljesítmény terén tényleg sokszor nagyon gyatra tud lenni. :DDD A korrekciók oka nálam igazából csak az, hogy míg aktívan CMS-eztem, akkor rá kellett jönnöm, hogy mivel a CMS-ek népszerűek, nagy közösség áll mögöttük, meg relatíve egyszerű is elindulni az úton velük (aztán bizonyos esetekben annál nehezebb tovább is haladni), ezért a nagy merítésből sok is a kókler, van jópár modul, amit sokan használnak, mégis rettentő szarul vannak megírva, erőforrás-pazarlóak, a lehető legrosszabb teljesítményt nyújtó adatbázis-kezelési technikákat alkalmazzák (a "kedvencem": a PHP-vel szerializált óriásadathalom egyben történő beerőltetése egy darab mezőbe, a széjjelrobbbantandó stringek beerőltetése egy darab mezőbe (kettősponttal, pipe-pal, pontosvesszővel, tökömtudjamivel "elválasztott" retkek)), így a CMS alapvető működéséből (ti. hogy épp a rugalmasság biztosítása érdekében lényegében a legtöbb dolgot adatbázisban tároljuk, illetve onnan kérjük le; moduláris felépítésből következő bizonyos redundáns kódrészletek, stb.) következő teljesítményromlást még jóval tovább rontják bizonyos emberkék, így nagy általánosságban nem túl jó a CMS-ek renoméja. (Hozzáteszem, pl. a Drupal OOP-vel kevert procedurális kódja sem túl nyerő, bár sztem talán a PHP-s legnépszerűbbek közül még ez a legrugalmasabb CMS.)
    Pedig sokszor a CMS maga az API-ján keresztül jóval igényesebb módszereket is kínálna, mint ahogy azt sok fejlesztő kihasználja. És ez gáz. A korábbi, JS-kódokat az adatbázisba benyomorító példám is erre vonatkozott: lehet ezt csinálni tisztességesen is, úgy, hogy szépen egy fájlt szerkeszt a fejlesztő, ahogy illik, a CMS egyetlen dolga pedig csupán ezt a fájlelérési utat betenni a script tag src-attribútumába, majd a kliensoldali kódot a moduláris kódszervezési minta alapján betölteni, meg lehet csinálni gusztustalanul is, hogy a PHP-kódba valahol be van nyomorítva az inline JS-kód egy stringként.
    Szóval nincs így szükségképp eleve a CMS-ben, ennyit akartam korrigálni ezzel a hosszas felvezetéssel, korán van még. :DDD

    Hát így a kód nem hangzik rosszul, bár maradhatott volna a kolléga, hogy vele tudjuk megbeszélni a dolgot, ha már tanulni akar belőle. :D

    (#4370) Jim-Y :
    A Crockford-idézetre:
    "This feature was added for people who were beginners, so if you want to look like a beginner, then leave the semicolons out."
    Hmm, hát igen, de sosem értettem, hogy miért kell egy nyelvet eleve úgy megalkotni, hogy az amatőrök is felszabadultan tákolhassanak, miért nem kötelező az utasítás végén eleve a pontosvessző? Ha valamit a fejlesztő szarul csinál, rá kell vágni a kezére, ez a toleránsnak tűnni akaró szemlélet elég káros lehet.

    (#4371) :
    Ez a Smarty projekt alapvetően jó ötletnek tűnik, de tényleg kéne pár ember, aki ezt update-elgeti, nehogy elhaljon a dolog.
    Megcsillagoztam GitHubon a repót. :DDD

    Hat, elotted a lehetoseg, tudom, hogy neked is vannak olyan kodjaid/eseteid amik megernenek egy fuggvenyt ;)

    En folyamatosan bovitgetem, de ugye ez lassan megy, mivel egyedul csinalom. Ellenben biztos vagyok benne, hogy hasznos dolog (legalabbis nekem).

    Pl ma is

    [link]
    function easyToUseBadLogicalAND(arr) {
    return arr && arr.length;
    }

    Az egesz abbol indult ki, hogy review-oltam, es volt egy ilyen a kodban (egyszerusitve persze szv pl a valtozok miatt ne szoljatok be:) )

    var y = x && x.length ? true : false;

    Ami nyilvanvaloan egy antipattern, lenne, de megsem az. Akkor lenne igazan antipattern, ha

    var y = x && x.length > 0 ? true : false;

    De mivel az && nem biztos, hogy mindenki szamara egyertelmuen mukodik, ezert megert egy kis kodot szerintem :)

  • Sk8erPeter
    nagyúr

    Ez egyre inkább off topik, de per pillanat is tudok mutatni olyan főállásban PHP fejlesztőt, aki pont olyan szarul írja a PHP kódját mindenféle framework, meg CMS nélkül is, mint ahogy írtad ;]
    Szóval igen, erre is gondoltam, csak úgy voltam vele, hogy ezt így hosszadalmasabb levezetni, mint példának felhozni a CMS-t, ahol ez szükségképpen eleve így van.

    Az eredeti kódban meg olyanok voltak, hogy itt - ott, egy - egy if ág végén, ahol nyilván return akart volna lenni, mert teljesen egyértelmű volt, hogy a cél akkor az adott funkcióból kilépés lett volna, event.preventDefault-ok álltak pl. xy string hosszának ellenőrzésekor, azaz amikor validációs hiba történt ;] ;] ;] :C :C :C :Y :Y :Y
    Akkor direkt nem akartam ezen élvezkedni, de addig provokáltál...

    Finoman, némi hint-tel megszórva próbáltam a kollégát rávenni, hogy szánja már rá azt a 10 percet némi javascript doksi olvasására. Mivel időközben levette pastebin-ről, így gondolom sikerült is a rávezetés. Kár, hogy nem tudtad te is megnézni, biztosan okozott volna neked is pár vidám / sírva röhögős / fej falba verős percet.

    "Szóval igen, erre is gondoltam, csak úgy voltam vele, hogy ezt így hosszadalmasabb levezetni, mint példának felhozni a CMS-t, ahol ez szükségképpen eleve így van."
    Tudod, hogy szeretek korrigálgatni bizonyos mondatokat CMS-témában (amik félrevezetőek lehetnek annak, aki csak (rossz) hírből hallott a CMS-ekről), még akkor is, ha tudom, hogy teljesítmény terén tényleg sokszor nagyon gyatra tud lenni. :DDD A korrekciók oka nálam igazából csak az, hogy míg aktívan CMS-eztem, akkor rá kellett jönnöm, hogy mivel a CMS-ek népszerűek, nagy közösség áll mögöttük, meg relatíve egyszerű is elindulni az úton velük (aztán bizonyos esetekben annál nehezebb tovább is haladni), ezért a nagy merítésből sok is a kókler, van jópár modul, amit sokan használnak, mégis rettentő szarul vannak megírva, erőforrás-pazarlóak, a lehető legrosszabb teljesítményt nyújtó adatbázis-kezelési technikákat alkalmazzák (a "kedvencem": a PHP-vel szerializált óriásadathalom egyben történő beerőltetése egy darab mezőbe, a széjjelrobbbantandó stringek beerőltetése egy darab mezőbe (kettősponttal, pipe-pal, pontosvesszővel, tökömtudjamivel "elválasztott" retkek)), így a CMS alapvető működéséből (ti. hogy épp a rugalmasság biztosítása érdekében lényegében a legtöbb dolgot adatbázisban tároljuk, illetve onnan kérjük le; moduláris felépítésből következő bizonyos redundáns kódrészletek, stb.) következő teljesítményromlást még jóval tovább rontják bizonyos emberkék, így nagy általánosságban nem túl jó a CMS-ek renoméja. (Hozzáteszem, pl. a Drupal OOP-vel kevert procedurális kódja sem túl nyerő, bár sztem talán a PHP-s legnépszerűbbek közül még ez a legrugalmasabb CMS.)
    Pedig sokszor a CMS maga az API-ján keresztül jóval igényesebb módszereket is kínálna, mint ahogy azt sok fejlesztő kihasználja. És ez gáz. A korábbi, JS-kódokat az adatbázisba benyomorító példám is erre vonatkozott: lehet ezt csinálni tisztességesen is, úgy, hogy szépen egy fájlt szerkeszt a fejlesztő, ahogy illik, a CMS egyetlen dolga pedig csupán ezt a fájlelérési utat betenni a script tag src-attribútumába, majd a kliensoldali kódot a moduláris kódszervezési minta alapján betölteni, meg lehet csinálni gusztustalanul is, hogy a PHP-kódba valahol be van nyomorítva az inline JS-kód egy stringként.
    Szóval nincs így szükségképp eleve a CMS-ben, ennyit akartam korrigálni ezzel a hosszas felvezetéssel, korán van még. :DDD

    Hát így a kód nem hangzik rosszul, bár maradhatott volna a kolléga, hogy vele tudjuk megbeszélni a dolgot, ha már tanulni akar belőle. :D

    (#4370) Jim-Y :
    A Crockford-idézetre:
    "This feature was added for people who were beginners, so if you want to look like a beginner, then leave the semicolons out."
    Hmm, hát igen, de sosem értettem, hogy miért kell egy nyelvet eleve úgy megalkotni, hogy az amatőrök is felszabadultan tákolhassanak, miért nem kötelező az utasítás végén eleve a pontosvessző? Ha valamit a fejlesztő szarul csinál, rá kell vágni a kezére, ez a toleránsnak tűnni akaró szemlélet elég káros lehet.

    (#4371) :
    Ez a Smarty projekt alapvetően jó ötletnek tűnik, de tényleg kéne pár ember, aki ezt update-elgeti, nehogy elhaljon a dolog.
    Megcsillagoztam GitHubon a repót. :DDD

  • Jim-Y
    veterán

    Ez egyre inkább off topik, de per pillanat is tudok mutatni olyan főállásban PHP fejlesztőt, aki pont olyan szarul írja a PHP kódját mindenféle framework, meg CMS nélkül is, mint ahogy írtad ;]
    Szóval igen, erre is gondoltam, csak úgy voltam vele, hogy ezt így hosszadalmasabb levezetni, mint példának felhozni a CMS-t, ahol ez szükségképpen eleve így van.

    Az eredeti kódban meg olyanok voltak, hogy itt - ott, egy - egy if ág végén, ahol nyilván return akart volna lenni, mert teljesen egyértelmű volt, hogy a cél akkor az adott funkcióból kilépés lett volna, event.preventDefault-ok álltak pl. xy string hosszának ellenőrzésekor, azaz amikor validációs hiba történt ;] ;] ;] :C :C :C :Y :Y :Y
    Akkor direkt nem akartam ezen élvezkedni, de addig provokáltál...

    Finoman, némi hint-tel megszórva próbáltam a kollégát rávenni, hogy szánja már rá azt a 10 percet némi javascript doksi olvasására. Mivel időközben levette pastebin-ről, így gondolom sikerült is a rávezetés. Kár, hogy nem tudtad te is megnézni, biztosan okozott volna neked is pár vidám / sírva röhögős / fej falba verős percet.

    Meg amúgy is az egész furcsa volt. Szerintem végig a form (f) parameteren hívta a preventdefaultot.

  • martonx
    veterán

    Hmm, hát nem tudom sajnos, mi volt az eredeti kódban, így nem tudom, mit csinált rosszul, de mondjuk így segíteni is nehéz az illetőnek, hogy törölte. :D

    Ja, a CMS-es mondatod akkor valóban félreérthető volt, azt hittem, arra gondolsz, amikor egy magát fejlesztőnek tartó valaki behányja inline módon az adatbázisba a kódokat, azt meg ki kell túrni, berakni a HTML-kimenetbe, script-tagek közé, természetesen az inline-sága miatt ez(ek) a kódrészlet(ek) nem is cache-elhető(ek), így a betöltést értelemszerűen lassítja, mivel a böngésző gyorsítótárazását sem tudja kihasználni. Lett volna alapja egyébként, ha erre gondolsz, sajnos láttam már pár ilyen módon megírt, hányadék modult. Miközben persze már a modul írásakor is régen voltak olyan módszerek, amikkel tisztességesen be lehet tölteni a kódokat modulárisan, de fájlokból... :) Az az ilyen "nekiesek, hadd szóljon" típusú fejlesztő. :D (Aki nem hajlandó eltölteni plusz egy órát a dokumentáció/hasznos tutorialok olvasgatásával, mert haladni akar, cserébe csinál egy kupac szart.)

    Ez egyre inkább off topik, de per pillanat is tudok mutatni olyan főállásban PHP fejlesztőt, aki pont olyan szarul írja a PHP kódját mindenféle framework, meg CMS nélkül is, mint ahogy írtad ;]
    Szóval igen, erre is gondoltam, csak úgy voltam vele, hogy ezt így hosszadalmasabb levezetni, mint példának felhozni a CMS-t, ahol ez szükségképpen eleve így van.

    Az eredeti kódban meg olyanok voltak, hogy itt - ott, egy - egy if ág végén, ahol nyilván return akart volna lenni, mert teljesen egyértelmű volt, hogy a cél akkor az adott funkcióból kilépés lett volna, event.preventDefault-ok álltak pl. xy string hosszának ellenőrzésekor, azaz amikor validációs hiba történt ;] ;] ;] :C :C :C :Y :Y :Y
    Akkor direkt nem akartam ezen élvezkedni, de addig provokáltál...

    Finoman, némi hint-tel megszórva próbáltam a kollégát rávenni, hogy szánja már rá azt a 10 percet némi javascript doksi olvasására. Mivel időközben levette pastebin-ről, így gondolom sikerült is a rávezetés. Kár, hogy nem tudtad te is megnézni, biztosan okozott volna neked is pár vidám / sírva röhögős / fej falba verős percet.

  • Sk8erPeter
    nagyúr

    "Pedig annyiból nem mondott hülyeséget, hogy valóban megakadályozhatja egy form elküldését, ha mondjuk a submit buttonre (buttonökre) van kötve az event handler, és hív egy event.preventDefault()-ot; ugyanígy a linkre is igaz. Mondjuk annyiból nem volt pontos a meghatározása, hogy a metódushívás inkább az eventet érvényteleníti/törli, DE az esemény további felszivárgását nem akadályozza meg. Szóval tulajdonképpen az alapértelmezett viselkedést lehet vele módosítani, úgyhogy nagyon nem lőtt mellé. Vagy csak most hirtelen nekem nem ugrik be, mire gondoltál."

    Egyrészt igazad van, mert amit mondott önmagában annyira nem volt hülyeség, de nem is mondtam, hogy hülyeség. Viszont ha ehhez megnézed az adott példa kódját (hopsz most olvastam tovább a hsz-ed, és látom, hogy időközben törölte a kódot), akkor meg láthatod, hogy gyakorlatilag fingja sincs, hogy mit csinál, és mi a különbség az event.preventDefault és egy szimpla return között. Ergo fogalma sincs mit csinál, mire jó, még ha lexikálisan nézve nagyjából ismeri is a preventDefault meghatározását.

    A CMS-es megjegyzésemet félreértetted. Arra gondoltam, hogy a CMS kismillió dolgot kérdez le a DB-ből, ahhoz, hogy egy hello world oldalt kigeneráljon. Ez esetében szükséges működés, de nyilván teljesítmény optimalizáláls szempontjából rossz működés. Mondhatni szükséges rossz. De ezt már százszor kitárgyaltuk. :R

    Hmm, hát nem tudom sajnos, mi volt az eredeti kódban, így nem tudom, mit csinált rosszul, de mondjuk így segíteni is nehéz az illetőnek, hogy törölte. :D

    Ja, a CMS-es mondatod akkor valóban félreérthető volt, azt hittem, arra gondolsz, amikor egy magát fejlesztőnek tartó valaki behányja inline módon az adatbázisba a kódokat, azt meg ki kell túrni, berakni a HTML-kimenetbe, script-tagek közé, természetesen az inline-sága miatt ez(ek) a kódrészlet(ek) nem is cache-elhető(ek), így a betöltést értelemszerűen lassítja, mivel a böngésző gyorsítótárazását sem tudja kihasználni. Lett volna alapja egyébként, ha erre gondolsz, sajnos láttam már pár ilyen módon megírt, hányadék modult. Miközben persze már a modul írásakor is régen voltak olyan módszerek, amikkel tisztességesen be lehet tölteni a kódokat modulárisan, de fájlokból... :) Az az ilyen "nekiesek, hadd szóljon" típusú fejlesztő. :D (Aki nem hajlandó eltölteni plusz egy órát a dokumentáció/hasznos tutorialok olvasgatásával, mert haladni akar, cserébe csinál egy kupac szart.)

  • martonx
    veterán

    Pedig annyiból nem mondott hülyeséget, hogy valóban megakadályozhatja egy form elküldését, ha mondjuk a submit buttonre (buttonökre) van kötve az event handler, és hív egy event.preventDefault()-ot; ugyanígy a linkre is igaz. Mondjuk annyiból nem volt pontos a meghatározása, hogy a metódushívás inkább az eventet érvényteleníti/törli, DE az esemény további felszivárgását nem akadályozza meg. Szóval tulajdonképpen az alapértelmezett viselkedést lehet vele módosítani, úgyhogy nagyon nem lőtt mellé. Vagy csak most hirtelen nekem nem ugrik be, mire gondoltál. :B

    (#4372) Zedz :
    Szívesen ránéztem volna, de törölted a kódodat pastebinről, úgy meg nehéz. :D

    (#4381) PumpkinSeed :
    "Azért lokálisan tesztelek webszerver nélkül, mert órai feladatra készül és ott nem szabad olyan kódot alkotni ami webszerver nélkül nem működik"
    Jézusom, milyen degenerált módszer. Ahelyett, hogy ahhoz szoktatnának, amit az ember élesben és a gyakorlatban használ... Azért ha webfejlesztésről van szó, talán nem a lokális, webszerver nélküli tesztelést kellene erőltetni. Kíváncsi lennék, mégis mi az oka, hogy így találták ki a házit nektek...
    Amúgy tényleg elkeserítő, hogy csomó visszajelzés alapján azt hallani, hogy ezek a tanfolyamok vagy elavultak, vagy valami kicsavart gondolkodás mentén elcseszik az oktatás módját.

    (#4388) martonx :
    "Simán lehet, hogy a szerver oldalon van valami elcseszve (mondjuk a legtriviálisabb dolgokat is sql-ből kérdezgeti le, erre nagyon jó tipikus rossz példa a cms-ek működése), [...]"
    Mondjuk a CMS-nél is egy normális fejlesztő JavaScript-fájlokat szerkesztget, nem inline kódokat tol fel az adatbázisba, úgyhogy szerintem ez rossz példa, mert a fejlesztői gányolásokért nem a CMS a hibás. :D (Bár való igaz, hogy sokszor lehetőséget is ad rá.)
    Félreértés ne essék, tény, hogy a CMS sok mindent tölt be adatbázisból, ahogy ezt sok topicban átrágtuk, de a CMS-eknél van JS-fájlok betöltéséért felelős metódus, vagy épp a modul valamely fájljában is lehet deklarálni, hogy mely JS-fájlokra lesz valószínűleg szükség.

    "Pedig annyiból nem mondott hülyeséget, hogy valóban megakadályozhatja egy form elküldését, ha mondjuk a submit buttonre (buttonökre) van kötve az event handler, és hív egy event.preventDefault()-ot; ugyanígy a linkre is igaz. Mondjuk annyiból nem volt pontos a meghatározása, hogy a metódushívás inkább az eventet érvényteleníti/törli, DE az esemény további felszivárgását nem akadályozza meg. Szóval tulajdonképpen az alapértelmezett viselkedést lehet vele módosítani, úgyhogy nagyon nem lőtt mellé. Vagy csak most hirtelen nekem nem ugrik be, mire gondoltál."

    Egyrészt igazad van, mert amit mondott önmagában annyira nem volt hülyeség, de nem is mondtam, hogy hülyeség. Viszont ha ehhez megnézed az adott példa kódját (hopsz most olvastam tovább a hsz-ed, és látom, hogy időközben törölte a kódot), akkor meg láthatod, hogy gyakorlatilag fingja sincs, hogy mit csinál, és mi a különbség az event.preventDefault és egy szimpla return között. Ergo fogalma sincs mit csinál, mire jó, még ha lexikálisan nézve nagyjából ismeri is a preventDefault meghatározását.

    A CMS-es megjegyzésemet félreértetted. Arra gondoltam, hogy a CMS kismillió dolgot kérdez le a DB-ből, ahhoz, hogy egy hello world oldalt kigeneráljon. Ez esetében szükséges működés, de nyilván teljesítmény optimalizáláls szempontjából rossz működés. Mondhatni szükséges rossz. De ezt már százszor kitárgyaltuk. :R

  • Sk8erPeter
    nagyúr

    Nem talált. Kérlek olvass utána!

    Pedig annyiból nem mondott hülyeséget, hogy valóban megakadályozhatja egy form elküldését, ha mondjuk a submit buttonre (buttonökre) van kötve az event handler, és hív egy event.preventDefault()-ot; ugyanígy a linkre is igaz. Mondjuk annyiból nem volt pontos a meghatározása, hogy a metódushívás inkább az eventet érvényteleníti/törli, DE az esemény további felszivárgását nem akadályozza meg. Szóval tulajdonképpen az alapértelmezett viselkedést lehet vele módosítani, úgyhogy nagyon nem lőtt mellé. Vagy csak most hirtelen nekem nem ugrik be, mire gondoltál. :B

    (#4372) Zedz :
    Szívesen ránéztem volna, de törölted a kódodat pastebinről, úgy meg nehéz. :D

    (#4381) PumpkinSeed :
    "Azért lokálisan tesztelek webszerver nélkül, mert órai feladatra készül és ott nem szabad olyan kódot alkotni ami webszerver nélkül nem működik"
    Jézusom, milyen degenerált módszer. Ahelyett, hogy ahhoz szoktatnának, amit az ember élesben és a gyakorlatban használ... Azért ha webfejlesztésről van szó, talán nem a lokális, webszerver nélküli tesztelést kellene erőltetni. Kíváncsi lennék, mégis mi az oka, hogy így találták ki a házit nektek...
    Amúgy tényleg elkeserítő, hogy csomó visszajelzés alapján azt hallani, hogy ezek a tanfolyamok vagy elavultak, vagy valami kicsavart gondolkodás mentén elcseszik az oktatás módját.

    (#4388) martonx :
    "Simán lehet, hogy a szerver oldalon van valami elcseszve (mondjuk a legtriviálisabb dolgokat is sql-ből kérdezgeti le, erre nagyon jó tipikus rossz példa a cms-ek működése), [...]"
    Mondjuk a CMS-nél is egy normális fejlesztő JavaScript-fájlokat szerkesztget, nem inline kódokat tol fel az adatbázisba, úgyhogy szerintem ez rossz példa, mert a fejlesztői gányolásokért nem a CMS a hibás. :D (Bár való igaz, hogy sokszor lehetőséget is ad rá.)
    Félreértés ne essék, tény, hogy a CMS sok mindent tölt be adatbázisból, ahogy ezt sok topicban átrágtuk, de a CMS-eknél van JS-fájlok betöltéséért felelős metódus, vagy épp a modul valamely fájljában is lehet deklarálni, hogy mely JS-fájlokra lesz valószínűleg szükség.

  • martonx
    veterán

    Hmm.. az adott elem alap tulajdonságát akadályozza meg? Szóval formnál a form elküldését, linknél nem visz át az új címre? :B

    Nem talált. Kérlek olvass utána!

  • cSuwwi
    senior tag

    Van pár ökölszabály:

    1. scripteket mindig a body végére tesszük. Ez alól a ga script az egyetlen (általam ismert) kivétel, noha ez is simán megy az oldal alján is, de a gugli azt javasolja, hogy a mérések pontossága érdekében inkább menjen a head-be. A ga script egyébként csak egy async loader, szóval szerencsére csak minimálisat fog az oldalad betöltődésén lassítani.
    2. ne foglalkozz az async - defer attribútumokkal. Ha ezekre vagy szorulva, akkor az azt jelenti, hogy valamit elég rendesen elbaltáztál. No de miért? Mert egy rendesen optimalizált oldalon egy szál minifikált bundle-özött js található (na jó az egy szál, az bizonyos esetekben, mikro optimalizációknál lehet akár 2-3 is), ergo ezekre az attribútumokra nincs is érdemben szükség.
    3. ha már optimalizálás, akkor cdn-ről használod azt az egy szál minifikált, bundle-özött js-edet? Sőt menjünk tovább, minden statikus tartalmat (css - ami ugye szintén bundle-özött, minifikált, képek - amik ugye lehetőség szerint sprite-okban vannak). A cdn-ben be van állítva a gzip, illetve valami jó nagy expiary date? A cdn már csak azért is fontos, mert a böngésző azonos domain-ról sorrendben szedi le / várja be a kért cuccok letöltődését. Ellenben ha valamit másik domain-re teszel ki, pl. cdn-re, akkor annak a letöltése, feldolgozása hirtelen párhuzamossá válik.
    4. ha már kismillió js file-od van, akkor használj valamilyen loader scriptet, amivel szabályozni tudod, hogy mikor épp melyik js töltődjön be, így minden oldal csak a számára szükséges minimális js-t fogja letölteni, használni.
    5. egy oldal pagespeed-jén ritka az, amikor maga a js betöltés ront. Simán lehet, hogy a szerver oldalon van valami elcseszve (mondjuk a legtriviálisabb dolgokat is sql-ből kérdezgeti le, erre nagyon jó tipikus rossz példa a cms-ek működése), valami nincs cache-elve, szar a html struktúra, túlbonyolított a css, és ez miatt extra köröket fut a renderelés stb...

    Az analytics előrerakáson kívül nekem újdonságot szerencsére nem mondtál.

    Async/defert nem használok, csak érdekelt hogy van-e létjogosultsága egy átlagos sitenál.
    Minify, image sprite alap. Ahol megoldható külön aldomainről mennek a static dolgok, de ez egy pofon a szarnak, mert a cookiekat ugyanúgy elküldi neki. Ideális esetben lenne egy cookieless domain staticnak.
    Átlag 2 js-t használok, egy framework.js-t (benne a külsős cuccok, jQ vagy ami éppen kell), illetve egy js amiben a saját cuccok vannak.

    Szerveren gzip, normális expire time van, js/css-nél ?v=dátum paraméter is van, hogy változás esetén frissüljön.

  • Zedz
    addikt

    "Én eddig csak a submit megakadályozására használtam."

    No jó, akkor játszuk így apró lépésenként. Szerinted mit akadályoz meg a - példa kedvéért egy submit eseményen - a preventDefault?

    Hmm.. az adott elem alap tulajdonságát akadályozza meg? Szóval formnál a form elküldését, linknél nem visz át az új címre? :B

  • martonx
    veterán

    Optimalizálás témakörbe: külső js fileokat head-be, vagy body vége elé?
    Jómagam csak az oldalak végére pakolom (elvileg ide illene, illetve már megszokásból, inline js-t kerülöm, csak diszkrét js van az oldalaimban)
    Viszont a "csoda" seo-sunk szerint előre kellene, és az analytics mérőkódot is.
    Az átlag magyar siteokat elnézve a fejlesztőbrigádtól függ éppen hova kerül. Van valami előnye a headbe tenni?

    Illetve az async/defer gyakorlatban is beválik? Gyorsabb lesz a betöltődés?
    Itt ahogy látom az async-nál párhuzamosan letölti és le is futtatja (addig áll az oldal renderelés), defernél is hasonló, csak a sorrend is számít. [link]
    Eddig remekül megvoltam ezek nélkül is, kérdés hogy gyakorlati haszna van-e (bizonyára), használja valaki?

    Van pár ökölszabály:

    1. scripteket mindig a body végére tesszük. Ez alól a ga script az egyetlen (általam ismert) kivétel, noha ez is simán megy az oldal alján is, de a gugli azt javasolja, hogy a mérések pontossága érdekében inkább menjen a head-be. A ga script egyébként csak egy async loader, szóval szerencsére csak minimálisat fog az oldalad betöltődésén lassítani.
    2. ne foglalkozz az async - defer attribútumokkal. Ha ezekre vagy szorulva, akkor az azt jelenti, hogy valamit elég rendesen elbaltáztál. No de miért? Mert egy rendesen optimalizált oldalon egy szál minifikált bundle-özött js található (na jó az egy szál, az bizonyos esetekben, mikro optimalizációknál lehet akár 2-3 is), ergo ezekre az attribútumokra nincs is érdemben szükség.
    3. ha már optimalizálás, akkor cdn-ről használod azt az egy szál minifikált, bundle-özött js-edet? Sőt menjünk tovább, minden statikus tartalmat (css - ami ugye szintén bundle-özött, minifikált, képek - amik ugye lehetőség szerint sprite-okban vannak). A cdn-ben be van állítva a gzip, illetve valami jó nagy expiary date? A cdn már csak azért is fontos, mert a böngésző azonos domain-ról sorrendben szedi le / várja be a kért cuccok letöltődését. Ellenben ha valamit másik domain-re teszel ki, pl. cdn-re, akkor annak a letöltése, feldolgozása hirtelen párhuzamossá válik.
    4. ha már kismillió js file-od van, akkor használj valamilyen loader scriptet, amivel szabályozni tudod, hogy mikor épp melyik js töltődjön be, így minden oldal csak a számára szükséges minimális js-t fogja letölteni, használni.
    5. egy oldal pagespeed-jén ritka az, amikor maga a js betöltés ront. Simán lehet, hogy a szerver oldalon van valami elcseszve (mondjuk a legtriviálisabb dolgokat is sql-ből kérdezgeti le, erre nagyon jó tipikus rossz példa a cms-ek működése), valami nincs cache-elve, szar a html struktúra, túlbonyolított a css, és ez miatt extra köröket fut a renderelés stb...

  • martonx
    veterán

    Én eddig csak a submit megakadályozására használtam.

    "Én eddig csak a submit megakadályozására használtam."

    No jó, akkor játszuk így apró lépésenként. Szerinted mit akadályoz meg a - példa kedvéért egy submit eseményen - a preventDefault?

  • cSuwwi
    senior tag

    Optimalizálás témakörbe: külső js fileokat head-be, vagy body vége elé?
    Jómagam csak az oldalak végére pakolom (elvileg ide illene, illetve már megszokásból, inline js-t kerülöm, csak diszkrét js van az oldalaimban)
    Viszont a "csoda" seo-sunk szerint előre kellene, és az analytics mérőkódot is.
    Az átlag magyar siteokat elnézve a fejlesztőbrigádtól függ éppen hova kerül. Van valami előnye a headbe tenni?

    Illetve az async/defer gyakorlatban is beválik? Gyorsabb lesz a betöltődés?
    Itt ahogy látom az async-nál párhuzamosan letölti és le is futtatja (addig áll az oldal renderelés), defernél is hasonló, csak a sorrend is számít. [link]
    Eddig remekül megvoltam ezek nélkül is, kérdés hogy gyakorlati haszna van-e (bizonyára), használja valaki?

  • Zedz
    addikt

    1. a preventDefault-ot teljsen rosszul használod. Csak 1 kell belőle, és az legfelülre.
    2. nem lehetne jsfiddle-re, hogy esetleg ki is javítsuk? Bár nekem bőven jó az az 1-es pont hintje alapján kijavítod magad ;]

    A kódod alapján adódik a kérdés, hogy tudod-e, mit csinál a preventDefault? Ha a válaszod igen lenne erre, akkor kérlek először olvass utána, hogy mit csinál, és értsd is meg, hogy mit csinál.

    Én eddig csak a submit megakadályozására használtam.

  • martonx
    veterán

    Sziasztok,

    Elkezdtem szabadidőmben egy regisztrációs és login rendszert írni, Ajax segítségével. Olyan problémába ütköztem, hogyha a mellékelt kódban lévő ajax.done-ba rakom a preventDefaultot, akkor nem fogja meg a submitot és elküldi a formot.

    Hogyan tudnám megcsinálni azt, hogyha a kapott válasz 0, akkor preventeljen, ha nem, akkor submitolja el az egészet?

    Kód.

    1. a preventDefault-ot teljsen rosszul használod. Csak 1 kell belőle, és az legfelülre.
    2. nem lehetne jsfiddle-re, hogy esetleg ki is javítsuk? Bár nekem bőven jó az az 1-es pont hintje alapján kijavítod magad ;]

    A kódod alapján adódik a kérdés, hogy tudod-e, mit csinál a preventDefault? Ha a válaszod igen lenne erre, akkor kérlek először olvass utána, hogy mit csinál, és értsd is meg, hogy mit csinál.

  • PumpkinSeed
    addikt

    Irigyellek egy kicsit, nálunk tilos volt bármit is használni, csak a natív JS kapott osztályzatott. :D

    Hát elvben JS-nek se szabadna benne lennie, mert HTML CSS-t tanítanak csak első félévben. :)

  • Zedz
    addikt

    Azért lokálisan tesztelek webszerver nélkül, mert órai feladatra készül és ott nem szabad olyan kódot alkotni ami webszerver nélkül nem működik, ezért az osztályozás is webszerver nélküli teszt alapján megy, így én is anélkül tesztelek. :)

    Irigyellek egy kicsit, nálunk tilos volt bármit is használni, csak a natív JS kapott osztályzatott. :D

  • PumpkinSeed
    addikt

    Azért azt nem árt kihangsúlyozni, hogy lokálisan nem működik... :)
    De nem is így szokás tesztelni fejlesztéskor, úgyhogy nem hiszem, hogy ez releváns kellene, hogy legyen (egy helyi webszervert feltenni pár kattintás, akár IIS-ről, akár Apache-ról van szó).
    A második megoldás is JÓ, sőt, akár jobb is lehet! Annyiban egyszerűsít a dolgokon, hogy az aktuálisan használt protokollt fogja használni a betöltött URL-eknél is, akár pl. http-ről, akár https-ről van szó, nem kell bedrótoznod a használt protokollt! (Létezik olyan oldal, ami elérhető http-n és https-en is. Ezzel a módszerrel nem kell kutyulni a használt protokollokat.)

    Persze nem meglepő módon van szócikk erről is stackoverflow.com-on:
    http://stackoverflow.com/questions/9646407/two-forward-slashes-in-a-url-src-href-attribute

    Azért lokálisan tesztelek webszerver nélkül, mert órai feladatra készül és ott nem szabad olyan kódot alkotni ami webszerver nélkül nem működik, ezért az osztályozás is webszerver nélküli teszt alapján megy, így én is anélkül tesztelek. :)

  • Jim-Y
    veterán

    Azért azt nem árt kihangsúlyozni, hogy lokálisan nem működik... :)
    De nem is így szokás tesztelni fejlesztéskor, úgyhogy nem hiszem, hogy ez releváns kellene, hogy legyen (egy helyi webszervert feltenni pár kattintás, akár IIS-ről, akár Apache-ról van szó).
    A második megoldás is JÓ, sőt, akár jobb is lehet! Annyiban egyszerűsít a dolgokon, hogy az aktuálisan használt protokollt fogja használni a betöltött URL-eknél is, akár pl. http-ről, akár https-ről van szó, nem kell bedrótoznod a használt protokollt! (Létezik olyan oldal, ami elérhető http-n és https-en is. Ezzel a módszerrel nem kell kutyulni a használt protokollokat.)

    Persze nem meglepő módon van szócikk erről is stackoverflow.com-on:
    http://stackoverflow.com/questions/9646407/two-forward-slashes-in-a-url-src-href-attribute

    Igazad van ez igy tenyleg jobb magyarazat :R

  • Sk8erPeter
    nagyúr

    Te tudod..

    Mukodik:
    <html>
    <head>
    <script src='http://code.jquery.com/jquery-1.11.1.min.js'></script>
    <script src='http://code.jquery.com/jquery-migrate-1.2.1.min.js'></script>
    </head>
    <body>
    <h1>Test</h1>
    <script>
    console.log($('h1').text());
    </script>
    </body>
    </html>

    Nem mukodik:
    <html>
    <head>
    <script src='//code.jquery.com/jquery-1.11.1.min.js'></script>
    <script src='//code.jquery.com/jquery-migrate-1.2.1.min.js'></script>
    </head>
    <body>
    <h1>Test</h1>
    <script>
    console.log($('h1').text());
    </script>
    </body>
    </html>

    Azért azt nem árt kihangsúlyozni, hogy lokálisan nem működik... :)
    De nem is így szokás tesztelni fejlesztéskor, úgyhogy nem hiszem, hogy ez releváns kellene, hogy legyen (egy helyi webszervert feltenni pár kattintás, akár IIS-ről, akár Apache-ról van szó).
    A második megoldás is JÓ, sőt, akár jobb is lehet! Annyiban egyszerűsít a dolgokon, hogy az aktuálisan használt protokollt fogja használni a betöltött URL-eknél is, akár pl. http-ről, akár https-ről van szó, nem kell bedrótoznod a használt protokollt! (Létezik olyan oldal, ami elérhető http-n és https-en is. Ezzel a módszerrel nem kell kutyulni a használt protokollokat.)

    Persze nem meglepő módon van szócikk erről is stackoverflow.com-on:
    http://stackoverflow.com/questions/9646407/two-forward-slashes-in-a-url-src-href-attribute

  • Jim-Y
    veterán

    Te tudod..

    Mukodik:
    <html>
    <head>
    <script src='http://code.jquery.com/jquery-1.11.1.min.js'></script>
    <script src='http://code.jquery.com/jquery-migrate-1.2.1.min.js'></script>
    </head>
    <body>
    <h1>Test</h1>
    <script>
    console.log($('h1').text());
    </script>
    </body>
    </html>

    Nem mukodik:
    <html>
    <head>
    <script src='//code.jquery.com/jquery-1.11.1.min.js'></script>
    <script src='//code.jquery.com/jquery-migrate-1.2.1.min.js'></script>
    </head>
    <body>
    <h1>Test</h1>
    <script>
    console.log($('h1').text());
    </script>
    </body>
    </html>

  • PumpkinSeed
    addikt

    + egy apró hiba, bár a működést nem befolyásolja, és nem JS téma, de a title a head-en kívülre került.

    Köszönöm a segítségeket neked is illetve Jim-Y-nek is.

  • DS39
    nagyúr

    En atneznem a helyedben a link protokolokat, mert azokkal lesz a gond

    A kepen file:// es utana egy webcim
    A szerveren is
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

    Normalisan kene megadni az src attributomot.

    + egy apró hiba, bár a működést nem befolyásolja, és nem JS téma, de a title a head-en kívülre került.

  • PumpkinSeed
    addikt

    En atneznem a helyedben a link protokolokat, mert azokkal lesz a gond

    A kepen file:// es utana egy webcim
    A szerveren is
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

    Normalisan kene megadni az src attributomot.

    Látom már mi a hiba.

  • Jim-Y
    veterán

    Üdv,

    Olyan kérdésem lenne, hogy kizárólag lokális megnyitás alatt kapom ezeket:

    Ha webszerverre felteszem akkor probléma nélkül működik.

    En atneznem a helyedben a link protokolokat, mert azokkal lesz a gond

    A kepen file:// es utana egy webcim
    A szerveren is
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>

    Normalisan kene megadni az src attributomot.

  • PumpkinSeed
    addikt

    Üdv,

    Olyan kérdésem lenne, hogy kizárólag lokális megnyitás alatt kapom ezeket:

    Ha webszerverre felteszem akkor probléma nélkül működik.

  • Zedz
    addikt

    Sziasztok,

    Elkezdtem szabadidőmben egy regisztrációs és login rendszert írni, Ajax segítségével. Olyan problémába ütköztem, hogyha a mellékelt kódban lévő ajax.done-ba rakom a preventDefaultot, akkor nem fogja meg a submitot és elküldi a formot.

    Hogyan tudnám megcsinálni azt, hogyha a kapott válasz 0, akkor preventeljen, ha nem, akkor submitolja el az egészet?

    Kód.

  • Jim-Y
    veterán

    Ha valaki érdekelt az ilyenben, csináltam egy GitHub repot, ahova kollaboránsokat keresek. Valahol el kell kezdeni a netes jelenlétet, és hát, kezdjük kicsiben, az is több mint a semmi :))

    Smarty

    A Smarty egy olyan repo amiben a hasznos, ötletes, mások számára is érdekes JavaScriptes megoldásokat gyüjtöm (folyamatosan). Ha neked is van hasonló, akkor esetleg összedobhatnánk amink van ;)

  • Jim-Y
    veterán

    Haha..

    "This feature was added for people who were beginners, so if you want to look like a beginner, then leave the semicolons out."

    hallas utan
    Crockford
    agree

  • Speeedfire
    félisten

    A ko mapping pluginre soha nem volt szükségem. Ahogy switch case-re se, se ko, se angular alatt.
    Ha anno ko alatt ennyi volt a modelled, pláne nem értem, hogy mi nem volt ezen átlátható? ;]

    Egyáltalán nem volt átlátható. :N

    Kipróbáltam a knockout-ot, mert főnök azt mondta mennyi jó. 1 hét alatt kellett megoldani a projektet (ko tanulással együtt) és ez lett belőle...működött meg minden, csak...

    Lehet adnom kellene neki még egy esélyt az újabb ko-val és átnézni a teljes doksit hozzá.

  • martonx
    veterán

    Nézegettem még frameworköket. Használtál már Backbonet vagy Embert? Ezek is ugyanarra jók mint például a Knockout? Vagy vannak speciális területek amikben egyik jobb mint a másik?

    Ugyanarra jók. Mindig érdekeltek, de sose jutottam el oda, hogy érdemben kipróbáljam őket. Igaziból a knockoutjs-el 100%-ban elégedett vagyok, az angularjs-t kipróbáltam a hype miatt. Nem hiszem, hogy érdemben kiderülhetne bármelyik más frameworkről is, hogy sokkal jobbat tudna mint ezek.

  • DS39
    nagyúr

    Sziasztok, megtudnátok mondani, hogy Windows 8-ban hogyan tudom a rendszerváltozókat szerkeszteni? A szerkesztés gomb nem működik a többivel együtt. (szürke mind)

    ez a JavaScript (programozás) topic. a kérdésedet itt kellene feltenni: [link]

  • Zedz
    addikt

    A Grunt-tal a kliens oldali framework-öd build-jét tudod automatizálni (pl. html-ek minifikálása, js-ek egybegyúrása, minifikálása, css-ek, stb...). Mint ASP.NET fejlesztő bevallom még sose használtam, mert az ASP.NET - Visual Studio alapból nagyon erős ezekben.
    Nodejs-es, PHP-s világban viszont elég elterjedt.

    Nézegettem még frameworköket. Használtál már Backbonet vagy Embert? Ezek is ugyanarra jók mint például a Knockout? Vagy vannak speciális területek amikben egyik jobb mint a másik?

  • Daws
    csendes tag

    Sziasztok, megtudnátok mondani, hogy Windows 8-ban hogyan tudom a rendszerváltozókat szerkeszteni? A szerkesztés gomb nem működik a többivel együtt. (szürke mind)

  • Jim-Y
    veterán

    "By the way ... [link]"
    Fasza, és tényleg működik:
    https://www.jetbrains.com/student/
    Megkaptam a visszaigazoló e-mailt @hszk.bme.hu-s címmel regisztrálva, ez a "JetBrains Product Pack for Students" licenc 2015 szeptemberéig érvényes ezekre a termékekre:
    IntelliJ IDEA
    ReSharper
    AppCode
    PhpStorm
    PyCharm
    RubyMine
    WebStorm
    dotCover
    dotTrace
    dotMemory

    Ez így korrekt. Na, ha már ilyen rendesek voltak, adok még egy esélyt majd a WebStormnak/PHPStormnak. :D A ReSharper meg Visual Studio-ban C#-kódoláshoz állítólag komoly mankó tud lenni.

    Hát ja, csak beszélnünk kellett róla, hogy drága erre akciózzák, ugye a kapcsolatok... :D
    Én is most aktiváltam a lejárt verziómat, bár érdekes, de egy augusztus elején lejárt verziót simán tudtam használni..no mindegy, így a tiszta :)

    Egész komoly időbe telik míg beállítom a JsHintet és a JS Inspection-öket a saját szájízem szerintire :U De azért megéri, így legalább be tudok állítani egy olyan lintelést ami követi a saját stílusomat.

  • Sk8erPeter
    nagyúr

    Igen, nálam itthon ST2 van JSHint pluginnal, tényleg ugyanazt tudja mint a grunt-contrib-jshint, illetve WebStorm is erős ebben, még jobb is, ettől függetlenül azért még bőven van olyan task amire jó a grunt/gulp, sőt..

    By the way ... [link]

    "By the way ... [link]"
    Fasza, és tényleg működik:
    https://www.jetbrains.com/student/
    Megkaptam a visszaigazoló e-mailt @hszk.bme.hu-s címmel regisztrálva, ez a "JetBrains Product Pack for Students" licenc 2015 szeptemberéig érvényes ezekre a termékekre:
    IntelliJ IDEA
    ReSharper
    AppCode
    PhpStorm
    PyCharm
    RubyMine
    WebStorm
    dotCover
    dotTrace
    dotMemory

    Ez így korrekt. Na, ha már ilyen rendesek voltak, adok még egy esélyt majd a WebStormnak/PHPStormnak. :D A ReSharper meg Visual Studio-ban C#-kódoláshoz állítólag komoly mankó tud lenni.

  • martonx
    veterán

    Elképzelhető, hogy én szerveztem rosszul, nincs kizárva. :N
    Alapvetően én a visszakapott json adathalmazt egy változóba tettem bele.

    var AppViewModel = function(data) {
    var self = this;
    self.available = ko.observableArray([1,2]);
    self.dataSource = ko.mapping.fromJS(data);

    Én mondjuk nem vagyok nagy js-es, nekem olyan max 2k lehetett eddig a legnagyobb kód jquery-ben. Viszont van egy új projekt, ahol annyi mindent bind-olok már jquery-vel, hogy valami másikat használnék a jquery helyett.

    "és kiegészítőket kellett leszedni hozzá" - ko-hoz kiegészítőt kellett leszedned? Miért angular-hoz nem kell? Ok, routingot és DI-t valóban tud az angular alapból, de ezeket a komponenseket bármikor ko mellé is oda tudod tenni.

    Konkrétan ez a 2 kiegészítő kellett:
    - SWITCH/CASE binding for Knockout
    - Knockout Mapping plugin

    A ko mapping pluginre soha nem volt szükségem. Ahogy switch case-re se, se ko, se angular alatt.
    Ha anno ko alatt ennyi volt a modelled, pláne nem értem, hogy mi nem volt ezen átlátható? ;]

  • Zedz
    addikt

    Szia

    Ami repetitív munka arra nagy valószínűséggel van grunt plugin. Könnyű konfigurálni, és jó pár fejlesztőkörnyezet is támogatja.

    Mire használatos?

    Amire szinte mindig:

    * Lintelés, például jshint.
    * Minifikálás, például uglify
    * Unit tesztek automatikus futtatására, pl Jasmine, vagy Mocha, vagy QUnit
    * LiveReload, pl grunt-watch. Ez utóbbi azt jelenti, hogy ha előre beállított fájlokat szerkesztesz, és elmented őket, akkor előre beállított taskok automatikusan lefutnak. Például ha a core *.js fájlaidat szerkeszted, akkor automatikusan lefut a lintelés, vagy ha browserify-t használasz akkor a bundling stb...
    * Konkatenálás

    És akkor van még ami ritkábban:

    * https://github.com/gruntjs/grunt-contrib

    A JavaScriptes munka már rég nem csak annyiból áll, hogy megnyitsz szerkesztővel egy js fájlt és írsz pár függvényt ami csinál valamit a dommal, esetleg behúzod a jQuery-t.. Nagyon jó ökoszisztéma alakult ki az évek alatt, nagyon hasznos eszközökkel amik megkönnyítik a munkát.

    Egyrészt ami régen nem volt, és most van, jó IDE-k. Jó build toolok, szerver oldali js környezet, npm, bower, browserify...

    Akkor egy kicsit le vagyok maradva, én a JS-t még mindig csak annyira használom, hogy variálok valamit a DOM-mal, esetleg Ajaxozok. Van akkor még bőven mit tanulnom, hirtelen nem is tudom hol kezdjem el. :D Kezdem érteni miért fizetik meg a jó javascriptes szakembereket. :K

  • Jim-Y
    veterán

    A grunt (vagy akkor már inkább gulp) automatizált dolgainak jó része kiváltható egy jól beállított editorral.

    Én pl. Sublime 3-at használok, lintelés (js, php) pár kattintással megoldható. Jobb is, mert kódírás közben már jelez ha gond van. Atommal is jól mennek az erős(?) nodejs támogatás miatt, bár W7-en tragikusan lassú.

    Gulppal marad a minify, uglify, de főleg a sass konvertálás. Jó dolgok ezek, tényleg sok a helper tool mostanság. Aki még dolgozott a "hőskorban", amikor nem volt firebug meg egyéb toolok, akkoriban egy élmény volt debugolni de simán sitebuildeni is.

    Igen, nálam itthon ST2 van JSHint pluginnal, tényleg ugyanazt tudja mint a grunt-contrib-jshint, illetve WebStorm is erős ebben, még jobb is, ettől függetlenül azért még bőven van olyan task amire jó a grunt/gulp, sőt..

    By the way ... [link]

  • cSuwwi
    senior tag

    Szia

    Ami repetitív munka arra nagy valószínűséggel van grunt plugin. Könnyű konfigurálni, és jó pár fejlesztőkörnyezet is támogatja.

    Mire használatos?

    Amire szinte mindig:

    * Lintelés, például jshint.
    * Minifikálás, például uglify
    * Unit tesztek automatikus futtatására, pl Jasmine, vagy Mocha, vagy QUnit
    * LiveReload, pl grunt-watch. Ez utóbbi azt jelenti, hogy ha előre beállított fájlokat szerkesztesz, és elmented őket, akkor előre beállított taskok automatikusan lefutnak. Például ha a core *.js fájlaidat szerkeszted, akkor automatikusan lefut a lintelés, vagy ha browserify-t használasz akkor a bundling stb...
    * Konkatenálás

    És akkor van még ami ritkábban:

    * https://github.com/gruntjs/grunt-contrib

    A JavaScriptes munka már rég nem csak annyiból áll, hogy megnyitsz szerkesztővel egy js fájlt és írsz pár függvényt ami csinál valamit a dommal, esetleg behúzod a jQuery-t.. Nagyon jó ökoszisztéma alakult ki az évek alatt, nagyon hasznos eszközökkel amik megkönnyítik a munkát.

    Egyrészt ami régen nem volt, és most van, jó IDE-k. Jó build toolok, szerver oldali js környezet, npm, bower, browserify...

    A grunt (vagy akkor már inkább gulp) automatizált dolgainak jó része kiváltható egy jól beállított editorral.

    Én pl. Sublime 3-at használok, lintelés (js, php) pár kattintással megoldható. Jobb is, mert kódírás közben már jelez ha gond van. Atommal is jól mennek az erős(?) nodejs támogatás miatt, bár W7-en tragikusan lassú.

    Gulppal marad a minify, uglify, de főleg a sass konvertálás. Jó dolgok ezek, tényleg sok a helper tool mostanság. Aki még dolgozott a "hőskorban", amikor nem volt firebug meg egyéb toolok, akkoriban egy élmény volt debugolni de simán sitebuildeni is.

  • Jim-Y
    veterán

    Nos, az MVC támogatása már szimpatikus nekem is, PHP oldalon egy ideje előszeretettel kalapálom így a kódjaim. Szerintem utánanézek először ennek a knockoutnak. :)

    Találtam még egy ilyet, hogy Grunt, és ahogy olvastam ez az automatizálást segíti. Kliens oldalon ezt hogyan kell érteni? Mert szerver oldalon X időközönként ha lefut egy kód azt értem, vagy ha a Linuxal csináltatunk péládul napi dolgokat.. de kliens oldalon? :F

    Szia

    Ami repetitív munka arra nagy valószínűséggel van grunt plugin. Könnyű konfigurálni, és jó pár fejlesztőkörnyezet is támogatja.

    Mire használatos?

    Amire szinte mindig:

    * Lintelés, például jshint.
    * Minifikálás, például uglify
    * Unit tesztek automatikus futtatására, pl Jasmine, vagy Mocha, vagy QUnit
    * LiveReload, pl grunt-watch. Ez utóbbi azt jelenti, hogy ha előre beállított fájlokat szerkesztesz, és elmented őket, akkor előre beállított taskok automatikusan lefutnak. Például ha a core *.js fájlaidat szerkeszted, akkor automatikusan lefut a lintelés, vagy ha browserify-t használasz akkor a bundling stb...
    * Konkatenálás

    És akkor van még ami ritkábban:

    * https://github.com/gruntjs/grunt-contrib

    A JavaScriptes munka már rég nem csak annyiból áll, hogy megnyitsz szerkesztővel egy js fájlt és írsz pár függvényt ami csinál valamit a dommal, esetleg behúzod a jQuery-t.. Nagyon jó ökoszisztéma alakult ki az évek alatt, nagyon hasznos eszközökkel amik megkönnyítik a munkát.

    Egyrészt ami régen nem volt, és most van, jó IDE-k. Jó build toolok, szerver oldali js környezet, npm, bower, browserify...

  • Speeedfire
    félisten

    Összetett adatmodelleknél valóban gázos volt a knockout vagy te szervezted rosszul a kódot? Pl. egyik legnagyobb eltérés a ko vs angular között, hogy ko alatt úgy szervezed a kódod ahogy akarod. Az angular viszont sokkal jobban belekényszerít az adott homokozóba.

    A legutóbbi angularjs-es projektem több hónapig tarott. Végült most hagy ne számoljam meg, de több tucat js file-ból és fogalmam sincs hány ezer / tízezer kódsorból áll.

    Ugyanilyen nagyságrendű ko-s projekteken is szoktam dolgozni.

    Megnéztem az általad belinkelt tutorialt, erről beszéltem. Ilyen szinten még minden szép és jó.

    "és kiegészítőket kellett leszedni hozzá" - ko-hoz kiegészítőt kellett leszedned? Miért angular-hoz nem kell? Ok, routingot és DI-t valóban tud az angular alapból, de ezeket a komponenseket bármikor ko mellé is oda tudod tenni.

    Elképzelhető, hogy én szerveztem rosszul, nincs kizárva. :N
    Alapvetően én a visszakapott json adathalmazt egy változóba tettem bele.

    var AppViewModel = function(data) {
    var self = this;
    self.available = ko.observableArray([1,2]);
    self.dataSource = ko.mapping.fromJS(data);

    Én mondjuk nem vagyok nagy js-es, nekem olyan max 2k lehetett eddig a legnagyobb kód jquery-ben. Viszont van egy új projekt, ahol annyi mindent bind-olok már jquery-vel, hogy valami másikat használnék a jquery helyett.

    "és kiegészítőket kellett leszedni hozzá" - ko-hoz kiegészítőt kellett leszedned? Miért angular-hoz nem kell? Ok, routingot és DI-t valóban tud az angular alapból, de ezeket a komponenseket bármikor ko mellé is oda tudod tenni.

    Konkrétan ez a 2 kiegészítő kellett:
    - SWITCH/CASE binding for Knockout
    - Knockout Mapping plugin

  • martonx
    veterán

    Nos, az MVC támogatása már szimpatikus nekem is, PHP oldalon egy ideje előszeretettel kalapálom így a kódjaim. Szerintem utánanézek először ennek a knockoutnak. :)

    Találtam még egy ilyet, hogy Grunt, és ahogy olvastam ez az automatizálást segíti. Kliens oldalon ezt hogyan kell érteni? Mert szerver oldalon X időközönként ha lefut egy kód azt értem, vagy ha a Linuxal csináltatunk péládul napi dolgokat.. de kliens oldalon? :F

    A Grunt-tal a kliens oldali framework-öd build-jét tudod automatizálni (pl. html-ek minifikálása, js-ek egybegyúrása, minifikálása, css-ek, stb...). Mint ASP.NET fejlesztő bevallom még sose használtam, mert az ASP.NET - Visual Studio alapból nagyon erős ezekben.
    Nodejs-es, PHP-s világban viszont elég elterjedt.

  • Zedz
    addikt

    1. kód szervezésben. Bevallom szeretem az MVC / MVVM kód szervezést. Amikor jön egy json adat, az már megy is bele egy jó kis modellbe, és ezt bindolom a megfelelő helyekre.
    2. a modellek változása realtime megjelenik a böngészőben, átvezetődik más modelleken, stb...
    3. nagyon szépen lehet velük template-elni, pl. valamilyen lista elemeket kell generálnod a kapott jsonból. Ezt e frameworkök nélkül jobbára kénytelen vagy elkezdeni js kóddal foreach-ekkel megírni, és összerakosgatni string részletekből. Ha láttál már ilyen js kódot, akkor érteni fogod, hogy mire gondolok.
    4. szépen el lehet velük szeparálni a különböző kód rétegeket (html - js és js-en belül a class-ok, service-ek, controller-ek)
    5. a html-eidet is szépen kis darabokra tudod szedni, ezáltal sokkal átláthatóbb lesz a kódod
    6. segítenek a routingban, DI-ban (ez mondjuk csak az angularjs-re igaz, aminek viszont a DI-át százszor is elátkoztam, szóval ez azért nem mindig előny). Knockouthoz meg azt húzol be pluszban, amit jól esik pl. pagejs + requirejs.
    7. összességében, jóval kisebb kód mennyiséget eredményeznek, lásd Jim-Y esetét. Mondjuk angular-t telefonra a gyatra teljesítménye miatt én se mernék bevállalni, de egy 30Kb-os knockout-ot már volt, hogy használtam telefonon, és tök szépen, gyorsan tette a dolgát, pedig ez még az okostelefonok őskorában volt, amikor 1 magos 600Mhz-ez szutykokon futottak a mobilos böngészők első verziói.

    Mindezek ellenére abszolút nem azt mondom, hogy akkor most mindenki kezdjen el valamilyen js framework-öt használni, hiszem hogy a webes projektek jelentős részének nincs rájuk szüksége. De egy picit is jelentősebb projektet én már nem kezdenék el knockoutjs (rosszabb esetben angularjs) nélkül.

    Nos, az MVC támogatása már szimpatikus nekem is, PHP oldalon egy ideje előszeretettel kalapálom így a kódjaim. Szerintem utánanézek először ennek a knockoutnak. :)

    Találtam még egy ilyet, hogy Grunt, és ahogy olvastam ez az automatizálást segíti. Kliens oldalon ezt hogyan kell érteni? Mert szerver oldalon X időközönként ha lefut egy kód azt értem, vagy ha a Linuxal csináltatunk péládul napi dolgokat.. de kliens oldalon? :F

  • honda 1993
    senior tag

    Javascript-el meg lehet irni hozza a tobbit? (tehat hogy ne csak ott legyenn az oldalamon, hanem mukdjon is.)
    Vagy ezt csak php val lehet?

    Meg lehet JS-ben is írni, ha a szerveren NodeJS fut, és te abban valósítod meg a rendszeredet, de te valószínűleg nem erre gondoltál. A megoldás lehet PHP, Ruby, Python, ASP.NET vagy bármilyen szerveroldali megoldás, az a lényeg, hogy ehhez nem elég a kliensre letöltődő HTML + JS, hanem kell egy kiszolgáló és rajta futó logika.

    Nem tudom hogy a"kijelentkezest hogy lehet megirni. Vagy ez csak akkor fog latszani ha javascriptel vagy phpval megirom hozza a tobbit?
    Session alapú megoldás kell neked, esetleg REST implementációnál ticketek használata. De úgy érzem, mindkettőtől még nagyon messze állsz, előbb a kliensoldali JS-tel kellene képbe kerülnöd, és látni, mi a kliens feladata, mi a szerver feladata, mi fut a kliensen, mi fut a szerveren, a kettő hogyan kommunikál.

    Sk8erPeter: csak 15 perc, mert egy másik feladványra elkészült előtte egy hasonló stílusú Ascii85 megoldásom, és azt donornak felhasználtam. Jó móka volt az egész, és úgy éreztem, a végeredmény kellően sokkoló lett első pillantásra ahhoz, hogy egy uglifieren ne küldjem még keresztül a kódot ;)

    Koszi a valaszt.

    A xamp telepitve van, es regebben mar irtam egy amolyan egysoros php kodot is amit a sikerult lefuttatnom azutan hogy a bongeszobe beirtam hogy "localhost".
    De aztan valamiert abbahagytam es most a javascriptet tanulgatom (mintha ez picit egyszerubb lenne)

    Es majd csak kesobb fogok hozza a phphez.

    Vegul is meg csak 3 honap telt el azota hogy a HTML ES A CSS nyelveket elkezdtem tanulni.

  • martonx
    veterán

    És ezeknél az oldalaknál például miben voltak nagy hasznodra ezek a keretrendszerek? Az oldalaknál csak azt látja a user, hogy "húú ez de jól működik". Angulart nemrég nézegettem, de igazából azon kívül hogy real-time be tudott tölteni egy másik HTML állományt, nem sok minden fogott meg benne.

    (#4344) Jim-Y Úr isten! :Y Hogy látjátok át? :D És szabad tudnom, miben dolgozik egy kód? :D

    1. kód szervezésben. Bevallom szeretem az MVC / MVVM kód szervezést. Amikor jön egy json adat, az már megy is bele egy jó kis modellbe, és ezt bindolom a megfelelő helyekre.
    2. a modellek változása realtime megjelenik a böngészőben, átvezetődik más modelleken, stb...
    3. nagyon szépen lehet velük template-elni, pl. valamilyen lista elemeket kell generálnod a kapott jsonból. Ezt e frameworkök nélkül jobbára kénytelen vagy elkezdeni js kóddal foreach-ekkel megírni, és összerakosgatni string részletekből. Ha láttál már ilyen js kódot, akkor érteni fogod, hogy mire gondolok.
    4. szépen el lehet velük szeparálni a különböző kód rétegeket (html - js és js-en belül a class-ok, service-ek, controller-ek)
    5. a html-eidet is szépen kis darabokra tudod szedni, ezáltal sokkal átláthatóbb lesz a kódod
    6. segítenek a routingban, DI-ban (ez mondjuk csak az angularjs-re igaz, aminek viszont a DI-át százszor is elátkoztam, szóval ez azért nem mindig előny). Knockouthoz meg azt húzol be pluszban, amit jól esik pl. pagejs + requirejs.
    7. összességében, jóval kisebb kód mennyiséget eredményeznek, lásd Jim-Y esetét. Mondjuk angular-t telefonra a gyatra teljesítménye miatt én se mernék bevállalni, de egy 30Kb-os knockout-ot már volt, hogy használtam telefonon, és tök szépen, gyorsan tette a dolgát, pedig ez még az okostelefonok őskorában volt, amikor 1 magos 600Mhz-ez szutykokon futottak a mobilos böngészők első verziói.

    Mindezek ellenére abszolút nem azt mondom, hogy akkor most mindenki kezdjen el valamilyen js framework-öt használni, hiszem hogy a webes projektek jelentős részének nincs rájuk szüksége. De egy picit is jelentősebb projektet én már nem kezdenék el knockoutjs (rosszabb esetben angularjs) nélkül.

  • dqdb
    nagyúr

    Hali.

    Html-ben megirtam a bejelentkezo feluletet.

    1.kerdes:
    Javascript-el meg lehet irni hozza a tobbit? (tehat hogy ne csak ott legyenn az oldalamon, hanem mukdjon is.)
    Vagy ezt csak php val lehet?
    Illetve ha javascriptel is meg lehet irni akkor a ketto kozul melyikkel erdemes nekivagni?

    2.kerdes:
    Nem tudom hogy a"kijelentkezest hogy lehet megirni. Vagy ez csak akkor fog latszani ha javascriptel vagy phpval megirom hozza a tobbit?

    Javascript-el meg lehet irni hozza a tobbit? (tehat hogy ne csak ott legyenn az oldalamon, hanem mukdjon is.)
    Vagy ezt csak php val lehet?

    Meg lehet JS-ben is írni, ha a szerveren NodeJS fut, és te abban valósítod meg a rendszeredet, de te valószínűleg nem erre gondoltál. A megoldás lehet PHP, Ruby, Python, ASP.NET vagy bármilyen szerveroldali megoldás, az a lényeg, hogy ehhez nem elég a kliensre letöltődő HTML + JS, hanem kell egy kiszolgáló és rajta futó logika.

    Nem tudom hogy a"kijelentkezest hogy lehet megirni. Vagy ez csak akkor fog latszani ha javascriptel vagy phpval megirom hozza a tobbit?
    Session alapú megoldás kell neked, esetleg REST implementációnál ticketek használata. De úgy érzem, mindkettőtől még nagyon messze állsz, előbb a kliensoldali JS-tel kellene képbe kerülnöd, és látni, mi a kliens feladata, mi a szerver feladata, mi fut a kliensen, mi fut a szerveren, a kettő hogyan kommunikál.

    Sk8erPeter: csak 15 perc, mert egy másik feladványra elkészült előtte egy hasonló stílusú Ascii85 megoldásom, és azt donornak felhasználtam. Jó móka volt az egész, és úgy éreztem, a végeredmény kellően sokkoló lett első pillantásra ahhoz, hogy egy uglifieren ne küldjem még keresztül a kódot ;)

  • honda 1993
    senior tag

    kevered a szezont a fazonnal.

    bejelentkezési folyamat részeként JavaScriptet max a validáláshoz használj, a kliens-szerver adatkommunikációt, PHP-vel (vagy ASP.NET vagy JSP) kell megoldani. illetve a bejelentkezettséghez, kijelentkezéshez session változókat kell kezelj.

    Sajnos ezt egyenlore nem igazan ertem.

    De majd ha elkezdek foglalkozni a php val is akkor majd belejovok

  • DS39
    nagyúr

    Hali.

    Html-ben megirtam a bejelentkezo feluletet.

    1.kerdes:
    Javascript-el meg lehet irni hozza a tobbit? (tehat hogy ne csak ott legyenn az oldalamon, hanem mukdjon is.)
    Vagy ezt csak php val lehet?
    Illetve ha javascriptel is meg lehet irni akkor a ketto kozul melyikkel erdemes nekivagni?

    2.kerdes:
    Nem tudom hogy a"kijelentkezest hogy lehet megirni. Vagy ez csak akkor fog latszani ha javascriptel vagy phpval megirom hozza a tobbit?

    kevered a szezont a fazonnal.

    bejelentkezési folyamat részeként JavaScriptet max a validáláshoz használj, a kliens-szerver adatkommunikációt, PHP-vel (vagy ASP.NET vagy JSP) kell megoldani. illetve a bejelentkezettséghez, kijelentkezéshez session változókat kell kezelj.

  • honda 1993
    senior tag

    Hali.

    Html-ben megirtam a bejelentkezo feluletet.

    1.kerdes:
    Javascript-el meg lehet irni hozza a tobbit? (tehat hogy ne csak ott legyenn az oldalamon, hanem mukdjon is.)
    Vagy ezt csak php val lehet?
    Illetve ha javascriptel is meg lehet irni akkor a ketto kozul melyikkel erdemes nekivagni?

    2.kerdes:
    Nem tudom hogy a"kijelentkezest hogy lehet megirni. Vagy ez csak akkor fog latszani ha javascriptel vagy phpval megirom hozza a tobbit?

  • Jim-Y
    veterán

    Milyen rendszer igényel ekkora JS-t maga alá? Elég komoly kliens oldali dolog lehet ekkora bázisú kóddal.

    Hybrid mobile app, uzleti szektor.

  • Zedz
    addikt

    Kozben rajottem, hogy ebbe beleszamoltam a dependenciakat is, igy azert jocskan lecsokkent a sorszam, de meg igy is 100K folott van. Amugy nem tudom, hogy ez JS-ben mennyinek szamit, szerintem kozepesnek. Atlatni, hasznalunk RequireJS-t, igy azert konnyebb. Hogy erted, hogy "miben dolgozik egy kód"?

    Milyen rendszer igényel ekkora JS-t maga alá? Elég komoly kliens oldali dolog lehet ekkora bázisú kóddal.

  • Jim-Y
    veterán

    És ezeknél az oldalaknál például miben voltak nagy hasznodra ezek a keretrendszerek? Az oldalaknál csak azt látja a user, hogy "húú ez de jól működik". Angulart nemrég nézegettem, de igazából azon kívül hogy real-time be tudott tölteni egy másik HTML állományt, nem sok minden fogott meg benne.

    (#4344) Jim-Y Úr isten! :Y Hogy látjátok át? :D És szabad tudnom, miben dolgozik egy kód? :D

    Kozben rajottem, hogy ebbe beleszamoltam a dependenciakat is, igy azert jocskan lecsokkent a sorszam, de meg igy is 100K folott van. Amugy nem tudom, hogy ez JS-ben mennyinek szamit, szerintem kozepesnek. Atlatni, hasznalunk RequireJS-t, igy azert konnyebb. Hogy erted, hogy "miben dolgozik egy kód"?

  • Zedz
    addikt

    Single page application-ökhöz. Eddig kettő nagyobb ilyen projekten dolgoztam. Egy CRM rendszeren, amit knockout-tal csináltunk, és egy média library-s, rendelő oldalon ami angularjs-el készült (mielőtt páran felnyögnének, ez egy elég sajátságos terület, elég sajátságos megoldásokkal, így nem volt kérdés, hogy mindenből custom-ot kellett írnunk).
    Kisebb ko-s projektjeim voltak még, mint pl. online repülőjegy foglaló rendszer (ezt ide is tudom linkelni, mert ez publikus link), ahol a járat keresés résznél mindent a knockout vezérel, illetve per pillanat egy pénzügyi szektoros fejlesztésen dolgozok, ami szintén publikus lesz, ha elkészül.

    És ezeknél az oldalaknál például miben voltak nagy hasznodra ezek a keretrendszerek? Az oldalaknál csak azt látja a user, hogy "húú ez de jól működik". Angulart nemrég nézegettem, de igazából azon kívül hogy real-time be tudott tölteni egy másik HTML állományt, nem sok minden fogott meg benne.

    (#4344) Jim-Y Úr isten! :Y Hogy látjátok át? :D És szabad tudnom, miben dolgozik egy kód? :D

  • Jim-Y
    veterán

    Milyen és mekkora projektekhez kellenek ekkora frameworkök? Jelenleg még nem tudom elképzelni, hogy még a JS-hez is fw-t használjak. Ahogy eddig néztem PHP-nál segítik az adatbázis kezelést, a védelmet, url kezelés...stb, de itt nem nagyom tudom mire használják a profibbak. :S

    En most egy olyan projekten dolgozok, ahol 382 JS file van a kliens oldalon ez ~170.000 javascript kodsort jelent. Nem hasznalunk frameworkot, csak libraryket.

  • martonx
    veterán

    Milyen és mekkora projektekhez kellenek ekkora frameworkök? Jelenleg még nem tudom elképzelni, hogy még a JS-hez is fw-t használjak. Ahogy eddig néztem PHP-nál segítik az adatbázis kezelést, a védelmet, url kezelés...stb, de itt nem nagyom tudom mire használják a profibbak. :S

    Single page application-ökhöz. Eddig kettő nagyobb ilyen projekten dolgoztam. Egy CRM rendszeren, amit knockout-tal csináltunk, és egy média library-s, rendelő oldalon ami angularjs-el készült (mielőtt páran felnyögnének, ez egy elég sajátságos terület, elég sajátságos megoldásokkal, így nem volt kérdés, hogy mindenből custom-ot kellett írnunk).
    Kisebb ko-s projektjeim voltak még, mint pl. online repülőjegy foglaló rendszer (ezt ide is tudom linkelni, mert ez publikus link), ahol a járat keresés résznél mindent a knockout vezérel, illetve per pillanat egy pénzügyi szektoros fejlesztésen dolgozok, ami szintén publikus lesz, ha elkészül.

  • Zedz
    addikt

    Összetett adatmodelleknél valóban gázos volt a knockout vagy te szervezted rosszul a kódot? Pl. egyik legnagyobb eltérés a ko vs angular között, hogy ko alatt úgy szervezed a kódod ahogy akarod. Az angular viszont sokkal jobban belekényszerít az adott homokozóba.

    A legutóbbi angularjs-es projektem több hónapig tarott. Végült most hagy ne számoljam meg, de több tucat js file-ból és fogalmam sincs hány ezer / tízezer kódsorból áll.

    Ugyanilyen nagyságrendű ko-s projekteken is szoktam dolgozni.

    Megnéztem az általad belinkelt tutorialt, erről beszéltem. Ilyen szinten még minden szép és jó.

    "és kiegészítőket kellett leszedni hozzá" - ko-hoz kiegészítőt kellett leszedned? Miért angular-hoz nem kell? Ok, routingot és DI-t valóban tud az angular alapból, de ezeket a komponenseket bármikor ko mellé is oda tudod tenni.

    Milyen és mekkora projektekhez kellenek ekkora frameworkök? Jelenleg még nem tudom elképzelni, hogy még a JS-hez is fw-t használjak. Ahogy eddig néztem PHP-nál segítik az adatbázis kezelést, a védelmet, url kezelés...stb, de itt nem nagyom tudom mire használják a profibbak. :S

  • honda 1993
    senior tag

    Az egy JavaScript-kód. ;] [link], utolsó bekezdés, nehogy elkezdj rajta agyalni, tök felesleges.

    Arra magamtol is rajottem hogy javascript kod.
    A kerdesem arra iranyult hogy pontosan milyen kod is ez.

    (tehat mit eredmenyez a kod) nem tudom maskeppen megfogalmazni.

    Es azert nem masoltam be es probaltam ki mert most telefonrol vagyok

  • martonx
    veterán

    Ez nem hangzik túl jól. :(

    Amikor a knockout-ot próbálgattam, akkor még a 2.2-es verzió volt fent. Egyszerű dologra jó volt, de összetett adatmodellnél még gázos volt és kiegészítőket kellett leszedni hozzá. Sebességben nem veszek észre semmit, gyorsnak tűnik a codeschool példa.
    Milyen nagyobb projektre gondolsz? Vagy mi volt az amit meg akartál valósítani benne, de nem tudtad csak körülményesen?

    Ez a planjs nagyon jónak tűnik. :K

    Összetett adatmodelleknél valóban gázos volt a knockout vagy te szervezted rosszul a kódot? Pl. egyik legnagyobb eltérés a ko vs angular között, hogy ko alatt úgy szervezed a kódod ahogy akarod. Az angular viszont sokkal jobban belekényszerít az adott homokozóba.

    A legutóbbi angularjs-es projektem több hónapig tarott. Végült most hagy ne számoljam meg, de több tucat js file-ból és fogalmam sincs hány ezer / tízezer kódsorból áll.

    Ugyanilyen nagyságrendű ko-s projekteken is szoktam dolgozni.

    Megnéztem az általad belinkelt tutorialt, erről beszéltem. Ilyen szinten még minden szép és jó.

    "és kiegészítőket kellett leszedni hozzá" - ko-hoz kiegészítőt kellett leszedned? Miért angular-hoz nem kell? Ok, routingot és DI-t valóban tud az angular alapból, de ezeket a komponenseket bármikor ko mellé is oda tudod tenni.

  • Sk8erPeter
    nagyúr

    Mármint úgy érted, hogy belekötsz mindenbe? ;] :P

    Inkább mondj te is valami okosat a manapság népszerű data-bind-os mvv/mvvm-ekkel kapcsolatban.

    Nem kötöttem beléd, csak nem értettem, hogy értetted azt, hogy nagyon jónak tűnik a plain JS, úgyhogy ezért visszakérdeztem. :DDD

  • Speeedfire
    félisten

    "Ez a planjs nagyon jónak tűnik. :K"
    Mármint úgy érted, tetszik a plain JS? :DDD

    (#4316) Jim-Y, (#4319) dqdb :
    Jól hangzik, majd kipróbálom, kösz. :)

    dqdb, ezt mennyi idő alatt sikerült összehozni? :DD

    Mármint úgy érted, hogy belekötsz mindenbe? ;] :P

    Inkább mondj te is valami okosat a manapság népszerű data-bind-os mvv/mvvm-ekkel kapcsolatban.

  • honda 1993
    senior tag

    "Ez a planjs nagyon jónak tűnik. :K"
    Mármint úgy érted, tetszik a plain JS? :DDD

    (#4316) Jim-Y, (#4319) dqdb :
    Jól hangzik, majd kipróbálom, kösz. :)

    dqdb, ezt mennyi idő alatt sikerült összehozni? :DD

    Amit linkeltel az micsoda?

    D

  • Sk8erPeter
    nagyúr

    Ez nem hangzik túl jól. :(

    Amikor a knockout-ot próbálgattam, akkor még a 2.2-es verzió volt fent. Egyszerű dologra jó volt, de összetett adatmodellnél még gázos volt és kiegészítőket kellett leszedni hozzá. Sebességben nem veszek észre semmit, gyorsnak tűnik a codeschool példa.
    Milyen nagyobb projektre gondolsz? Vagy mi volt az amit meg akartál valósítani benne, de nem tudtad csak körülményesen?

    Ez a planjs nagyon jónak tűnik. :K

    "Ez a planjs nagyon jónak tűnik. :K"
    Mármint úgy érted, tetszik a plain JS? :DDD

    (#4316) Jim-Y, (#4319) dqdb :
    Jól hangzik, majd kipróbálom, kösz. :)

    dqdb, ezt mennyi idő alatt sikerült összehozni? :DD

  • Speeedfire
    félisten

    Az angularjs egy agyonhypeolt fos szerintem (pont, mint az almás termékek). Felületesen nézve persze sok mindent tud, és nem is olyan rossz, aztán gyorsan kiderül, hogy ebből is egy kicsit tud, meg abból is, a singleton megvalósítás se feltétlenül nyerő és a többi. Teljesítményben pedig a katasztrofálishoz közelít knockoutjs-el összehasonlítva. Anno komoly knockoutjs tapasztalattal a hátam mögött nekivágtam az angularjs-nek, mert a csapból is az folyt hogy az milyen jó. Aztán pár hét elég volt, hogy kiderüljön, a pistike projektek, meg a tutorialok szintjén tényleg szép és jó, de picit is mélyebb vizekre merészkedve, már nem más mint szopás halom.

    Én részemről maradok továbbra is a knockout (egy hónapja jött ki a 3.2-es ami már tudja a komponensek létrehozását, kezelését ala angularjs direktívák) + jquery (ezt mondjuk egyre inkább, egyre könyebben lehet zeptojs-re váltani, vagy plainjs-re) + pagejs (ez csinálja az SPA routingot, kemény 1Kb) kombónál.

    Ez nem hangzik túl jól. :(

    Amikor a knockout-ot próbálgattam, akkor még a 2.2-es verzió volt fent. Egyszerű dologra jó volt, de összetett adatmodellnél még gázos volt és kiegészítőket kellett leszedni hozzá. Sebességben nem veszek észre semmit, gyorsnak tűnik a codeschool példa.
    Milyen nagyobb projektre gondolsz? Vagy mi volt az amit meg akartál valósítani benne, de nem tudtad csak körülményesen?

    Ez a planjs nagyon jónak tűnik. :K

  • Jim-Y
    veterán

    Ki milyen js libary-t ajánl? Most az anjular-ral kezdtem el ismerkedni, egész jónak tűnik. Jóval többet tud, mint a jquery és a knockout együtt.

    Nekem nincs nagy js-lib tapasztalatom, inkább csak vanilla js, de annyi biztos, hogy ennek a kérdésnek nincs értelme. Azért nincs, mert feladattól függ, hogy melyiket kell használni. Van amilyen feladatra ez a jó, más feladatra meg a másik. Itt max annyit tudsz kérdezni, hogy kinek mi jött be, és milyen feladatra használta. Legalábbis szerintem, és a 'zinternet szerint is :)

  • martonx
    veterán

    Ki milyen js libary-t ajánl? Most az anjular-ral kezdtem el ismerkedni, egész jónak tűnik. Jóval többet tud, mint a jquery és a knockout együtt.

    Az angularjs egy agyonhypeolt fos szerintem (pont, mint az almás termékek). Felületesen nézve persze sok mindent tud, és nem is olyan rossz, aztán gyorsan kiderül, hogy ebből is egy kicsit tud, meg abból is, a singleton megvalósítás se feltétlenül nyerő és a többi. Teljesítményben pedig a katasztrofálishoz közelít knockoutjs-el összehasonlítva. Anno komoly knockoutjs tapasztalattal a hátam mögött nekivágtam az angularjs-nek, mert a csapból is az folyt hogy az milyen jó. Aztán pár hét elég volt, hogy kiderüljön, a pistike projektek, meg a tutorialok szintjén tényleg szép és jó, de picit is mélyebb vizekre merészkedve, már nem más mint szopás halom.

    Én részemről maradok továbbra is a knockout (egy hónapja jött ki a 3.2-es ami már tudja a komponensek létrehozását, kezelését ala angularjs direktívák) + jquery (ezt mondjuk egyre inkább, egyre könyebben lehet zeptojs-re váltani, vagy plainjs-re) + pagejs (ez csinálja az SPA routingot, kemény 1Kb) kombónál.

  • Speeedfire
    félisten

    Ki milyen js libary-t ajánl? Most az anjular-ral kezdtem el ismerkedni, egész jónak tűnik. Jóval többet tud, mint a jquery és a knockout együtt.

  • Zedz
    addikt

    Sziasztok,

    Napokban kezdtem el olvasgatni a Javascript OOP után, és máris lenne egy kérdésem, amit jobb ha valaki megválaszol mielőtt még megkavarodik bennem a dolog. :DDD Szóval ahogy én eddig értelmeztem a dolgot, vannak a constructor féle és literal féle object. Mikor melyiket használjak? Az előbbit ha több példányt is akarunk, utóbbit ha csak elég 1 példány?

  • honda 1993
    senior tag

    a print és az echo mióta kiírató parancsok a javascriptben? :N

    Hat... En nekem azt mondtak hogy a php-ben es a javascript-ben is mukodik az echo es a print parancs is.

    De ezek szerint nem. Xd

  • martonx
    veterán

    udv.

    az lenne a kerdesem hogy az

    "alert, a print es az echo" tag-eken kivul vannak e meg ilyen kiirato parancsok a javascriptben.

    ha valaki linkelne egy oldalt ahol minden megtalalhato a temaval kapcsolatban,akkor azt is megkoszonnem.
    :R

    ui: sorry ha a js-ben nem tag-nek hivjak ezeket a karaktereket,nem tudtam maskeppen megfogalmazni a kerdesemet

    a print és az echo mióta kiírató parancsok a javascriptben? :N

  • #81999360
    törölt tag

    udv.

    az lenne a kerdesem hogy az

    "alert, a print es az echo" tag-eken kivul vannak e meg ilyen kiirato parancsok a javascriptben.

    ha valaki linkelne egy oldalt ahol minden megtalalhato a temaval kapcsolatban,akkor azt is megkoszonnem.
    :R

    ui: sorry ha a js-ben nem tag-nek hivjak ezeket a karaktereket,nem tudtam maskeppen megfogalmazni a kerdesemet

  • honda 1993
    senior tag

    udv.

    az lenne a kerdesem hogy az

    "alert, a print es az echo" tag-eken kivul vannak e meg ilyen kiirato parancsok a javascriptben.

    ha valaki linkelne egy oldalt ahol minden megtalalhato a temaval kapcsolatban,akkor azt is megkoszonnem.
    :R

    ui: sorry ha a js-ben nem tag-nek hivjak ezeket a karaktereket,nem tudtam maskeppen megfogalmazni a kerdesemet

  • CSorBA
    őstag

    Nagyon jó móka, és kiválóan alkalmas a kevés szabadidőd elszúrására :) Röviden arról van szó, hogy valaki kitalál egy feladványt, megírja hozzá a unit testeket, és neked olyan kódot kell írni, ami átmegy a teszteken (természetesen a teszteket, valamint mások megoldásait csak azután ismered meg, miután megoldottad a feladatot).

    Érdemes megnézni mások megoldásait, lehet belőlük tanulni. És persze hirtelen ötlettől vezérelve, pusztán szórakozásból lehet alkotni tömör, de lassú és erőforrás-pocsékoló, tökéletesen karbantarthatatlan kódot, mint a for ciklustól mentes Base64 megoldásom :D

    Ooóóó, ez tök jó oldal. Tök sokat lehet abból tanulni, hogy látod más hogy csinálta meg. Ez tetszik :)

  • PumpkinSeed
    addikt

    Azt hogy tudom kivitelezni, hogy adott egy ilyen struktúra:

    #home
    #about_us
    #contact

    szépen egymás alatt. Ha a menüben elkattintok a pl. az about_us-ra akkor jelenjen meg egy kis nyíl jobb alsó sarokba, hogy a #home-ra szeretnék vissza ugrani. Milyen eseményt kell figyeljek, ha minden #home elhagyás esetén szeretném, hogy ez a kis nyíl felvillanjon?

  • PumpkinSeed
    addikt

    Azt hogy tudom kivitelezni, hogy adott egy ilyen struktúra:

    #home
    #about_us
    #contact

    szépen egymás alatt. Ha a menüben elkattintok a pl. az about_us-ra akkor jelenjen meg egy kis nyíl jobb alsó sarokba, hogy a #home-ra szeretnék vissza ugrani. Milyen eseményt kell figyeljek, ha minden #home elhagyás esetén szeretném, hogy ez a kis nyíl felvillanjon?

  • #81999360
    törölt tag

    A 8 illetve 7 kyus feladványok teljesen kezdőknek valók, az 5, 4, 3 az már nehezebb :)

    A helyedben ezekkel próbálkoznék ha teljesen kezdő vagy: [link]

    Áhh, még annyira kezdő vagyok, hogy a regisztrációhoz szükséges feladatokat sem tudom megoldani. :DDD

  • dqdb
    nagyúr

    Ezmiezezez? Még nem használtam, regelni kéne hozzá, és nem tudom, hogy megéri-e. Annyi lejött, hogy fejlesztőtréningelő valami.

    Nagyon jó móka, és kiválóan alkalmas a kevés szabadidőd elszúrására :) Röviden arról van szó, hogy valaki kitalál egy feladványt, megírja hozzá a unit testeket, és neked olyan kódot kell írni, ami átmegy a teszteken (természetesen a teszteket, valamint mások megoldásait csak azután ismered meg, miután megoldottad a feladatot).

    Érdemes megnézni mások megoldásait, lehet belőlük tanulni. És persze hirtelen ötlettől vezérelve, pusztán szórakozásból lehet alkotni tömör, de lassú és erőforrás-pocsékoló, tökéletesen karbantarthatatlan kódot, mint a for ciklustól mentes Base64 megoldásom :D

  • Jim-Y
    veterán

    Akkor ha jól értem ez nem teljesen kezdőknek való? :P

    Azért regeltem, úgyis terveztem mostanában beleásni magam a JavaScriptbe, aztán meglátjuk hogy mennyire lesznek nehezek. :K

    A 8 illetve 7 kyus feladványok teljesen kezdőknek valók, az 5, 4, 3 az már nehezebb :)

    A helyedben ezekkel próbálkoznék ha teljesen kezdő vagy: [link]

  • #81999360
    törölt tag

    Ez egy olyan oldal, ahol a kozosseg kitalal feladvanyokat, es azt masok megoldhatjak, ha sikeresen megoldjak, akkor kapnak erte pontot es mennek elore a rangletran, kozben meg tanulnak/gyakorolnak. Aki feltesz egy feladvanyt, az teszteseteket is megad, es csak azok a megoldasok mennek at a rostan, amik megfelelnek a teszteseteknek.

    Tobb nyelv is tamogatott az oldalon. Van JS, Python, Ruby, Haskell, Clojure meg meg talan par. Bar en eddig csak a JavaScriptes feladvanyokat neztem. Igazan szorakoztato igy elutni a feles idot (sorozes, edzes meg asszony utan persze :) ). Szerintem mindenkepp regelj ;)

    Ha megoldasz egy feladvanyt, akkor meg tudod nezni masok megoldasait, es ertekelni is tudod azokat, mint
    * Best Practice
    * Clever
    Itt santit amugy az oldal, mert sosem az a best practice amit epp arra szavaztak, helyen kell kezelni es akkor nem zavaro.

    Ja igen, amit pedig linkeltem az az elso "feladvanyom" amit csinaltam, mikor csinalsz egyet az nem lesz rogton eles, hanem csak beta, es a kozosseg tagjai tudjak megszavazni a nehezseget, meg jelezni a hibakat stb..

    Akkor ha jól értem ez nem teljesen kezdőknek való? :P

    Azért regeltem, úgyis terveztem mostanában beleásni magam a JavaScriptbe, aztán meglátjuk hogy mennyire lesznek nehezek. :K

  • Jim-Y
    veterán

    Ezmiezezez? Még nem használtam, regelni kéne hozzá, és nem tudom, hogy megéri-e. Annyi lejött, hogy fejlesztőtréningelő valami.

    Ez egy olyan oldal, ahol a kozosseg kitalal feladvanyokat, es azt masok megoldhatjak, ha sikeresen megoldjak, akkor kapnak erte pontot es mennek elore a rangletran, kozben meg tanulnak/gyakorolnak. Aki feltesz egy feladvanyt, az teszteseteket is megad, es csak azok a megoldasok mennek at a rostan, amik megfelelnek a teszteseteknek.

    Tobb nyelv is tamogatott az oldalon. Van JS, Python, Ruby, Haskell, Clojure meg meg talan par. Bar en eddig csak a JavaScriptes feladvanyokat neztem. Igazan szorakoztato igy elutni a feles idot (sorozes, edzes meg asszony utan persze :) ). Szerintem mindenkepp regelj ;)

    Ha megoldasz egy feladvanyt, akkor meg tudod nezni masok megoldasait, es ertekelni is tudod azokat, mint
    * Best Practice
    * Clever
    Itt santit amugy az oldal, mert sosem az a best practice amit epp arra szavaztak, helyen kell kezelni es akkor nem zavaro.

    Ja igen, amit pedig linkeltem az az elso "feladvanyom" amit csinaltam, mikor csinalsz egyet az nem lesz rogton eles, hanem csak beta, es a kozosseg tagjai tudjak megszavazni a nehezseget, meg jelezni a hibakat stb..

  • Sk8erPeter
    nagyúr

    Ha esetleg valakinek lenne kedve tesztelni http://www.codewars.com/kata/typer-dot-js Thx :)

    Ezmiezezez? Még nem használtam, regelni kéne hozzá, és nem tudom, hogy megéri-e. Annyi lejött, hogy fejlesztőtréningelő valami.

  • martonx
    veterán

    Ezt annyival egészíteném ki, hogy elvileg lehet már VS Express-hez is Web Essentials-t telepíteni (én is nemrég hallottam egy ms oktató videóban): http://madskristensen.net/post/web-essentials-on-visual-studio-web-express

    Hopp-hopp-hopp. Ezt nem is tudtam. Ez esetben immár tényleg semmi indok nem szól a többi IDE mellett.

  • martonx
    veterán

    Koszonom szepen, biztos hasznos lesz masoknak is, en pusztan azert kerdeztem, mert irtad, hogy van nem fizetos valtozata ami erdekes lehet sokak szamara.

    En is teszek valamit a kozosbe, hatha ez is segit valakinek. En cca 3,4 honapja hasznalok egy JetBrains termeket javascript fejlesztesre, foleg js fajlokban matatok, css-ben es html-ben kevesebbet.

    Webstorm
    =======

    Amit szeretek benne:

    - szoros integraltsag svn-el. Rogton az elejen megadod a mar letezo projektet, o felismeri, hogy version kontrol alatt vagy, es ezt jelzi is a fajloknal. Uj fajl letrehozasanal megkerdezi, hogy hozza szeretned-e adni a projekthez, ha igen zold lesz a fajl (neve a projekt strukturaban, es a taboknal is), amugy meg piros, ha egy under version control fajlt modositasz akkor pedig kek. Ugyanez kodszinten is megvan, Jelzi a valtoztatasokat kekkel (update), zolddel (added). Hasznos tud lenni.
    Ugyancsak svn, van egy csillivilli osszehasonlito ablak, ahol a current copy-t tudod osszehasonlitani (es mergelni) a head-el. Nagyon egyszeru a mergeles, nyilacskakkal at tudod huzni a merged fajlba a valtoztatast. Eleg tuti :)

    - Amit surun szoktam hasznalni, navigacio a fajlok kozott, fajlhoz ugras, sorhoz ugras, usage search (ez nem tudom, hogy mi magyarul :B ), find in path, illetve a Refactoros Rename. Ez is nagyon hasznos. Bar ez tuti masban is igy van, de pl az egyszeru szerkesztokhoz kepest, Sublime, Brackets, Atom ez tobbet tud, es kenyelmesebb.

    - Live templates: Ez olyan mint ST2-nel a Snippets. Itt is tudsz elore definialni kodreszleteket, amiket utana be tudsz illeszteni es konfiguralni. Pl us -> TAB -> 'use strict', vagy
    for -> TAB -> es beilleszt egy kesz for ciklust stb...

    - Jok a code quality beallitasok. JSHint + JSLint + configuralhato Javascript inspections.
    Ez utobbi peldaul olyan hogy beallithatod hogy milyen merteku nestingnel szoljon, avgy ha tul sok parameteres a fuggvenyed akkor is szoljon, meg meg ezer ilyen code quality beallitas.

    - A potencialis hibakat is jelzi az editor. Lehet inspection-t vegezni. Pl jelzi a unused valtozokat.

    - Van beepitett Grunt consol. Ezt is hasznosnak talaltam.

    Talan ezek a fontosabbak, vagyis amik nekem eddig jol jottek.

    CSS
    ====

    Itt talan azt erdemes kiemelni, hogy a hexa kodokat megjeleniti az ide egy kis negyzetben a sorszamozas mellett.

    Kb ennyi :)

    Nálam jóval részletesebb voltál. Ezek szerint akkor a Webstorm mégse tud semmi különlegeset :) a Netbeans-hez képest. A VS is tudja ezeket, csak lusta voltam ténylegesen így felsorolni. Illetve a jslint, jshint részt csak a Webessential-al tudja, azaz a fizetős verzióban.

  • j0k3r!
    őstag

    Jim - Y kérésére írok egy rövid összefoglalót ide a JS toikba, hogy milyen szolgáltatásokat ad a Visual Studio tisztán html (plusz nyilván css, js, de semmiképpen sem .Net) fejlesztés esetében. Először is szögezzük le, hogy legalább két verziója van a VS-nek:

    1. ingyenes VS Express, aminek a funkcionalitása majdnem az, mint a Pro verziója, viszont nem lehet hozzá plugineket telepíteni, ami pont a webfejlesztés szemszögéből nézve elég nagy hiányosság.
    2. fizetős VS (Pro, Ultimate), ahol a Pro kb. mindenre elég, hacsak nem teszt automatizálással, meg mindeféle brutális funkcionális teszt írásával foglalkozunk. A Pro-ból az egyetlen számomra hiányzó funkció a web oldalak beépített load test-je, ami az Ultimate-ben benne van.

    No, de mi az, amit az ingyenes is tud:

    Kód kiegészítés js, css, html - a html kiegészítése szvsz a VS-nek a legjobb az összes eddig általam próbált rendszer közül, ami lássuk be pusztán az Eclipse, Netbeans vonalra korlátozódik, szóval lehet, hogy a PHPStrom, Webstorm ugyanilyen jó html-ben. CSS-ben segítget, js-ben egészen jó, bár kellően bonyolult jó sok js-re bontott projekt struktúránál, azért meg tudja adni magát a js kódkiegészítés. Emellett természetesen minden általános IDE funkció benne van, projektben keresés, szűrés, navigálás, verzió kezelőkkel integráltság stb...

    Fizetős mivel tud többet: van egy Web Essentials nevű hivatalos MS által supportált plugin. Aminek a tudása elég emberes, nem is sorolnám fel, nézze meg mindenki maga: link

    Hozzáteszem én pusztán html kódot nem szoktam fejleszteni, ASP.NET-ezek, így részemről alap volt a VS mint IDE választása.

    Ezt annyival egészíteném ki, hogy elvileg lehet már VS Express-hez is Web Essentials-t telepíteni (én is nemrég hallottam egy ms oktató videóban): http://madskristensen.net/post/web-essentials-on-visual-studio-web-express

  • Sk8erPeter
    nagyúr

    Hát nézd, az egyik Java-ra íródott, de fel lehet okosítani pluginekkel, hogy valahogy működjön js fejlesztésre, a másik meg direkt erre készül, ha az összefoglalóból az jön le, hogy a Netbeans is tudja ugyanazt akkor lehet úgy is van. Én egyetemen végig Netbeanst használtam, utána pedig Eclipse-t Java fejlesztésre, most meg Webstormot JS-re, a három közül egyértelműen a WS a legjobb IDE ha személyes véleményemet kérdezed. Eclipse nekem logikátlan, lassú, és nem is tetszik a kezelőfelülete, Netbeanst már jobban szeretem, az jobban bejött mint IDE, de ott meg picit sem foglalkoztam a konfigurálhatóságával. A WS-nek tényleg az a legnagyobb gondja, hogy fizetős, de cserébe van rendes support is :)

    Nem úgy "okosítod fel" a NetBeans-t, hogy "valahogy" működjön JS-fejlesztésre, hanem faszán működik JavaScripthez is. Hidd el, nem mondanám, ha nem használtam volna már sok-sok órát. Debuggoltam is már benne JavaScript-kódot, ehhez kapcsolódót itt írtam:
    http://prohardver.hu/tema/weblap_keszites/hsz_10596-10596.html
    Az Eclipse-et én sem szeretem, nem találom kézenfekvőnek, csúnyának is találom (mindig meglepődöm, amikor valaki Eclipse-kedvelőként a NetBeans-re mondja ugyanezt :D), úgyhogy azt alapvetően én sem annyira szeretem használni, pedig nagyon komoly pluginek vannak hozzá, és sokszor bizonyos projektekhez vagy bizonyos munkahelyeken kikerülhetetlen. (Egyébként engem a különutas megoldásai is idegesítenek, pl. ha 3 IDE-ben megegyezik egy bizonyos billentyűkombináció, akkor az tuti, hogy az Eclipse-ben defaultból valami tök más. De ez csak egy példa, mert ez még könnyen átállítható, de sok helyen az elrendezése is valahogy "olyan Eclipse-es". :D)
    A WebStormot (vagy PHPStormot) elég rövid ideig próbálgattam, jónak tűnt, emlékeim szerint tetszetős volt a felülete, de nem sikerült rájönnöm, hogy miért is érné meg ezért fizetnem, amikor a NetBeans számomra ugyanezeket tudja. Félreértés ne essék, nem akarok senkit lebeszélni a WebStormról (vagy PHPStormról), de szerintem nem biztos, hogy azonnal rohanni kell a pénztárhoz, ha van ingyenes alternatíva is. :)

  • Jim-Y
    veterán

    Szerencsére ezeket mind tudja a NetBeans is. :) Git-, SVN-támogatás, meg sok egyéb is lehet egy-egy plugin formájában, ha már az egész moduláris. Érdemes a Git toolbart is felrakni hozzá.

    Nekem az a bajom a WebStormmal, hogy nem ingyenes. Fizetős, miközben ezeket ingyen tudja a NetBeans és valószínűleg az Eclipse is (csak plugineket kell felrakni hozzá, ami mondjuk a WebStormban alapból benne van), plusz mint a Wikipédiás lapról kiderül, ez a program is Javában íródott, tehát a JVM overheadje ennél is ugyanúgy jelen van, így nem látom, mit tudunk nyerni ezzel a fejlesztőkörnyezettel a másik kettővel szemben. Persze ettől még elhiszem, hogy kényelmes, biztos a különbségek fejlesztés közben derülnek ki. Sokan szeretik a WebStormot JavaScript-fejlesztésre, de érdekelne, hogy milyen pluszt tud az ingyenes alternatívákhoz képest, mert én még nem fedeztem fel olyat, ami ne lehetne pótolható pluginnel NetBeans-ben és Eclipse-ben (én az előbbit szoktam használni gyakrabban).

    Egyébként, te is tehetnél vele egy próbát, van 30 napos free licensz, nálam ezen tesztidőszak eredménye -> [link] :D

    Én meg igérem, hogy megnézem a közeljövőben a Netbeans ilyen téren is :) Btw Dracula theme ftw. Sajnos ST2-höz nem találtam, nincs is olyan color-scheme ami ne zavarna :(

  • Jim-Y
    veterán

    Szerencsére ezeket mind tudja a NetBeans is. :) Git-, SVN-támogatás, meg sok egyéb is lehet egy-egy plugin formájában, ha már az egész moduláris. Érdemes a Git toolbart is felrakni hozzá.

    Nekem az a bajom a WebStormmal, hogy nem ingyenes. Fizetős, miközben ezeket ingyen tudja a NetBeans és valószínűleg az Eclipse is (csak plugineket kell felrakni hozzá, ami mondjuk a WebStormban alapból benne van), plusz mint a Wikipédiás lapról kiderül, ez a program is Javában íródott, tehát a JVM overheadje ennél is ugyanúgy jelen van, így nem látom, mit tudunk nyerni ezzel a fejlesztőkörnyezettel a másik kettővel szemben. Persze ettől még elhiszem, hogy kényelmes, biztos a különbségek fejlesztés közben derülnek ki. Sokan szeretik a WebStormot JavaScript-fejlesztésre, de érdekelne, hogy milyen pluszt tud az ingyenes alternatívákhoz képest, mert én még nem fedeztem fel olyat, ami ne lehetne pótolható pluginnel NetBeans-ben és Eclipse-ben (én az előbbit szoktam használni gyakrabban).

    Hát nézd, az egyik Java-ra íródott, de fel lehet okosítani pluginekkel, hogy valahogy működjön js fejlesztésre, a másik meg direkt erre készül, ha az összefoglalóból az jön le, hogy a Netbeans is tudja ugyanazt akkor lehet úgy is van. Én egyetemen végig Netbeanst használtam, utána pedig Eclipse-t Java fejlesztésre, most meg Webstormot JS-re, a három közül egyértelműen a WS a legjobb IDE ha személyes véleményemet kérdezed. Eclipse nekem logikátlan, lassú, és nem is tetszik a kezelőfelülete, Netbeanst már jobban szeretem, az jobban bejött mint IDE, de ott meg picit sem foglalkoztam a konfigurálhatóságával. A WS-nek tényleg az a legnagyobb gondja, hogy fizetős, de cserébe van rendes support is :)

  • Sk8erPeter
    nagyúr

    Koszonom szepen, biztos hasznos lesz masoknak is, en pusztan azert kerdeztem, mert irtad, hogy van nem fizetos valtozata ami erdekes lehet sokak szamara.

    En is teszek valamit a kozosbe, hatha ez is segit valakinek. En cca 3,4 honapja hasznalok egy JetBrains termeket javascript fejlesztesre, foleg js fajlokban matatok, css-ben es html-ben kevesebbet.

    Webstorm
    =======

    Amit szeretek benne:

    - szoros integraltsag svn-el. Rogton az elejen megadod a mar letezo projektet, o felismeri, hogy version kontrol alatt vagy, es ezt jelzi is a fajloknal. Uj fajl letrehozasanal megkerdezi, hogy hozza szeretned-e adni a projekthez, ha igen zold lesz a fajl (neve a projekt strukturaban, es a taboknal is), amugy meg piros, ha egy under version control fajlt modositasz akkor pedig kek. Ugyanez kodszinten is megvan, Jelzi a valtoztatasokat kekkel (update), zolddel (added). Hasznos tud lenni.
    Ugyancsak svn, van egy csillivilli osszehasonlito ablak, ahol a current copy-t tudod osszehasonlitani (es mergelni) a head-el. Nagyon egyszeru a mergeles, nyilacskakkal at tudod huzni a merged fajlba a valtoztatast. Eleg tuti :)

    - Amit surun szoktam hasznalni, navigacio a fajlok kozott, fajlhoz ugras, sorhoz ugras, usage search (ez nem tudom, hogy mi magyarul :B ), find in path, illetve a Refactoros Rename. Ez is nagyon hasznos. Bar ez tuti masban is igy van, de pl az egyszeru szerkesztokhoz kepest, Sublime, Brackets, Atom ez tobbet tud, es kenyelmesebb.

    - Live templates: Ez olyan mint ST2-nel a Snippets. Itt is tudsz elore definialni kodreszleteket, amiket utana be tudsz illeszteni es konfiguralni. Pl us -> TAB -> 'use strict', vagy
    for -> TAB -> es beilleszt egy kesz for ciklust stb...

    - Jok a code quality beallitasok. JSHint + JSLint + configuralhato Javascript inspections.
    Ez utobbi peldaul olyan hogy beallithatod hogy milyen merteku nestingnel szoljon, avgy ha tul sok parameteres a fuggvenyed akkor is szoljon, meg meg ezer ilyen code quality beallitas.

    - A potencialis hibakat is jelzi az editor. Lehet inspection-t vegezni. Pl jelzi a unused valtozokat.

    - Van beepitett Grunt consol. Ezt is hasznosnak talaltam.

    Talan ezek a fontosabbak, vagyis amik nekem eddig jol jottek.

    CSS
    ====

    Itt talan azt erdemes kiemelni, hogy a hexa kodokat megjeleniti az ide egy kis negyzetben a sorszamozas mellett.

    Kb ennyi :)

    Szerencsére ezeket mind tudja a NetBeans is. :) Git-, SVN-támogatás, meg sok egyéb is lehet egy-egy plugin formájában, ha már az egész moduláris. Érdemes a Git toolbart is felrakni hozzá.

    Nekem az a bajom a WebStormmal, hogy nem ingyenes. Fizetős, miközben ezeket ingyen tudja a NetBeans és valószínűleg az Eclipse is (csak plugineket kell felrakni hozzá, ami mondjuk a WebStormban alapból benne van), plusz mint a Wikipédiás lapról kiderül, ez a program is Javában íródott, tehát a JVM overheadje ennél is ugyanúgy jelen van, így nem látom, mit tudunk nyerni ezzel a fejlesztőkörnyezettel a másik kettővel szemben. Persze ettől még elhiszem, hogy kényelmes, biztos a különbségek fejlesztés közben derülnek ki. Sokan szeretik a WebStormot JavaScript-fejlesztésre, de érdekelne, hogy milyen pluszt tud az ingyenes alternatívákhoz képest, mert én még nem fedeztem fel olyat, ami ne lehetne pótolható pluginnel NetBeans-ben és Eclipse-ben (én az előbbit szoktam használni gyakrabban).

  • Jim-Y
    veterán

    Jim - Y kérésére írok egy rövid összefoglalót ide a JS toikba, hogy milyen szolgáltatásokat ad a Visual Studio tisztán html (plusz nyilván css, js, de semmiképpen sem .Net) fejlesztés esetében. Először is szögezzük le, hogy legalább két verziója van a VS-nek:

    1. ingyenes VS Express, aminek a funkcionalitása majdnem az, mint a Pro verziója, viszont nem lehet hozzá plugineket telepíteni, ami pont a webfejlesztés szemszögéből nézve elég nagy hiányosság.
    2. fizetős VS (Pro, Ultimate), ahol a Pro kb. mindenre elég, hacsak nem teszt automatizálással, meg mindeféle brutális funkcionális teszt írásával foglalkozunk. A Pro-ból az egyetlen számomra hiányzó funkció a web oldalak beépített load test-je, ami az Ultimate-ben benne van.

    No, de mi az, amit az ingyenes is tud:

    Kód kiegészítés js, css, html - a html kiegészítése szvsz a VS-nek a legjobb az összes eddig általam próbált rendszer közül, ami lássuk be pusztán az Eclipse, Netbeans vonalra korlátozódik, szóval lehet, hogy a PHPStrom, Webstorm ugyanilyen jó html-ben. CSS-ben segítget, js-ben egészen jó, bár kellően bonyolult jó sok js-re bontott projekt struktúránál, azért meg tudja adni magát a js kódkiegészítés. Emellett természetesen minden általános IDE funkció benne van, projektben keresés, szűrés, navigálás, verzió kezelőkkel integráltság stb...

    Fizetős mivel tud többet: van egy Web Essentials nevű hivatalos MS által supportált plugin. Aminek a tudása elég emberes, nem is sorolnám fel, nézze meg mindenki maga: link

    Hozzáteszem én pusztán html kódot nem szoktam fejleszteni, ASP.NET-ezek, így részemről alap volt a VS mint IDE választása.

    Koszonom szepen, biztos hasznos lesz masoknak is, en pusztan azert kerdeztem, mert irtad, hogy van nem fizetos valtozata ami erdekes lehet sokak szamara.

    En is teszek valamit a kozosbe, hatha ez is segit valakinek. En cca 3,4 honapja hasznalok egy JetBrains termeket javascript fejlesztesre, foleg js fajlokban matatok, css-ben es html-ben kevesebbet.

    Webstorm
    =======

    Amit szeretek benne:

    - szoros integraltsag svn-el. Rogton az elejen megadod a mar letezo projektet, o felismeri, hogy version kontrol alatt vagy, es ezt jelzi is a fajloknal. Uj fajl letrehozasanal megkerdezi, hogy hozza szeretned-e adni a projekthez, ha igen zold lesz a fajl (neve a projekt strukturaban, es a taboknal is), amugy meg piros, ha egy under version control fajlt modositasz akkor pedig kek. Ugyanez kodszinten is megvan, Jelzi a valtoztatasokat kekkel (update), zolddel (added). Hasznos tud lenni.
    Ugyancsak svn, van egy csillivilli osszehasonlito ablak, ahol a current copy-t tudod osszehasonlitani (es mergelni) a head-el. Nagyon egyszeru a mergeles, nyilacskakkal at tudod huzni a merged fajlba a valtoztatast. Eleg tuti :)

    - Amit surun szoktam hasznalni, navigacio a fajlok kozott, fajlhoz ugras, sorhoz ugras, usage search (ez nem tudom, hogy mi magyarul :B ), find in path, illetve a Refactoros Rename. Ez is nagyon hasznos. Bar ez tuti masban is igy van, de pl az egyszeru szerkesztokhoz kepest, Sublime, Brackets, Atom ez tobbet tud, es kenyelmesebb.

    - Live templates: Ez olyan mint ST2-nel a Snippets. Itt is tudsz elore definialni kodreszleteket, amiket utana be tudsz illeszteni es konfiguralni. Pl us -> TAB -> 'use strict', vagy
    for -> TAB -> es beilleszt egy kesz for ciklust stb...

    - Jok a code quality beallitasok. JSHint + JSLint + configuralhato Javascript inspections.
    Ez utobbi peldaul olyan hogy beallithatod hogy milyen merteku nestingnel szoljon, avgy ha tul sok parameteres a fuggvenyed akkor is szoljon, meg meg ezer ilyen code quality beallitas.

    - A potencialis hibakat is jelzi az editor. Lehet inspection-t vegezni. Pl jelzi a unused valtozokat.

    - Van beepitett Grunt consol. Ezt is hasznosnak talaltam.

    Talan ezek a fontosabbak, vagyis amik nekem eddig jol jottek.

    CSS
    ====

    Itt talan azt erdemes kiemelni, hogy a hexa kodokat megjeleniti az ide egy kis negyzetben a sorszamozas mellett.

    Kb ennyi :)

  • martonx
    veterán

    Jim - Y kérésére írok egy rövid összefoglalót ide a JS toikba, hogy milyen szolgáltatásokat ad a Visual Studio tisztán html (plusz nyilván css, js, de semmiképpen sem .Net) fejlesztés esetében. Először is szögezzük le, hogy legalább két verziója van a VS-nek:

    1. ingyenes VS Express, aminek a funkcionalitása majdnem az, mint a Pro verziója, viszont nem lehet hozzá plugineket telepíteni, ami pont a webfejlesztés szemszögéből nézve elég nagy hiányosság.
    2. fizetős VS (Pro, Ultimate), ahol a Pro kb. mindenre elég, hacsak nem teszt automatizálással, meg mindeféle brutális funkcionális teszt írásával foglalkozunk. A Pro-ból az egyetlen számomra hiányzó funkció a web oldalak beépített load test-je, ami az Ultimate-ben benne van.

    No, de mi az, amit az ingyenes is tud:

    Kód kiegészítés js, css, html - a html kiegészítése szvsz a VS-nek a legjobb az összes eddig általam próbált rendszer közül, ami lássuk be pusztán az Eclipse, Netbeans vonalra korlátozódik, szóval lehet, hogy a PHPStrom, Webstorm ugyanilyen jó html-ben. CSS-ben segítget, js-ben egészen jó, bár kellően bonyolult jó sok js-re bontott projekt struktúránál, azért meg tudja adni magát a js kódkiegészítés. Emellett természetesen minden általános IDE funkció benne van, projektben keresés, szűrés, navigálás, verzió kezelőkkel integráltság stb...

    Fizetős mivel tud többet: van egy Web Essentials nevű hivatalos MS által supportált plugin. Aminek a tudása elég emberes, nem is sorolnám fel, nézze meg mindenki maga: link

    Hozzáteszem én pusztán html kódot nem szoktam fejleszteni, ASP.NET-ezek, így részemről alap volt a VS mint IDE választása.

  • honda 1993
    senior tag

    Ez esetben a megoldás adott: első körben fel kell hoznod az angolodat legalább olyan szintre, hogy azt értsd, ami tutorialban le van írva. Ha komolyan gondolod a programozást (az eddigi hsz-eidből az tűnik ki, mégha én személy szerint inkább a kőműves szakmát javasolnám is neked), akkor muszáj lesz angolul valamennyire megtanulnod.

    igen tisztaban is vagyok vele.

    csak az a problemam hogy ezeket a "szak kifejezeseket " nem igazan ertem,mig tarsalgasi szinten megyeget az angol

    es pont ezek a szak kifejezesek azok amiket lassan/nehezen tudok megerteni a sok angol nyelvu tutorialbol.

    ekkor szoktam itt segitseget kerni.

  • martonx
    veterán

    basszus.

    ertem en hogy mit akartok mondani,es igazatok is van.

    es igen,azert teszem fel itt (is) a kerdeset,mert egyszerubb.es gyorsabb is ( persze nem mindig)

    mivel nem vagyok tul jo angolbol,ezert kicsit nehezen igazodok ki az angol nyelvu tutorialokon.
    ezt szerintem talan meg is lehet erteni,hiszen egy olyan dologrol van szo az esetemben amiben teljesen kezdo vagyok.

    magyar nyelven pedig keves tutorial van a neten,es azok kozul sem mindegyik olyan jo.

    Ez esetben a megoldás adott: első körben fel kell hoznod az angolodat legalább olyan szintre, hogy azt értsd, ami tutorialban le van írva. Ha komolyan gondolod a programozást (az eddigi hsz-eidből az tűnik ki, mégha én személy szerint inkább a kőműves szakmát javasolnám is neked), akkor muszáj lesz angolul valamennyire megtanulnod.

  • honda 1993
    senior tag

    basszus.

    ertem en hogy mit akartok mondani,es igazatok is van.

    es igen,azert teszem fel itt (is) a kerdeset,mert egyszerubb.es gyorsabb is ( persze nem mindig)

    mivel nem vagyok tul jo angolbol,ezert kicsit nehezen igazodok ki az angol nyelvu tutorialokon.
    ezt szerintem talan meg is lehet erteni,hiszen egy olyan dologrol van szo az esetemben amiben teljesen kezdo vagyok.

    magyar nyelven pedig keves tutorial van a neten,es azok kozul sem mindegyik olyan jo.

  • Jim-Y
    veterán

    Nem jó buli, sőt! Mindenki sokkal jobban élvezi, ha olyan kérdést tesz fel valaki, amiből lejön, hogy érdemben próbálkozott, nem csak szart bele, aztán várja, hogy mások a saját szabadidejüket erre áldozva majd szépen elmagyarázzák az illetőnek szájbarágósan a dolgokat (mert hát úgy nyilván sokkal kényelmesebb). Nálad a soktopicos tevékenységed alapján az látszik, hogy az első akadálynál feladod, és rohansz azonnal a fórumra segítségért. Így nem lehet fejlődni!

    Finoman fogalmaztál.. én már írtam egy min 50 soros hsz-t arról, hogy nekünk mennyire nem célunk őt bántanbi, meg, hogy ilyen hozzáállással milyen rossz lesz neki majd a nagybetűsben, stb.. aztán 60 sornál CTR+A + DEL.. egész egyszerűen van akinek lenne értelme 50 sornyi segítséget írni, meg van akinek nincs. Gondolj bele ha már itt a fórumon ilyen szociális gondjai vannak, akkor milyen lehet az életben, nem mi fogjuk a helyes útra sodorni, meg nem mi fogunk tudni neki segíteni abban, hogy önállóbb legyen, szóval ja.. kitöröltem a cuccost, és szerintem finoman fogalmaztál :D

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

Hirdetés