JS alapok, hogyan kezdjek neki (absolute beginner)

Az utolsó programozgatós etapom kb 25 éve volt turbo pascallal, de sokáig nem jutottam, előtte CPC basic :D

A problémám, amit meg szeretnék oldani:

Egy (később több) weboldal, ami egy hosszabb szövegtörzset generál a megadott radio buttonok/checkboxok/select-listek és textboxok értékei függvényében, majd a végén egy gomb, hogy copy to clipboard. Lennének olyan opciók is, amik attól függően jelennének meg, hogy korábban milyen értéket adott egy opció.

 Főleg ingyenes webes tutorial érdekelne, vagy példákkal sűrűn illusztrált könyv, ami könnyen elérhető.

-Ha nem a js a célszerszám erre, ne tartsd magadban!

Hozzászólások

Szerkesztve: 2021. 12. 02., cs – 07:47

Udemy-n kezdtem el még korábban egy JS tanfolyamot. Nekem jónak tűnik. Előtte már megcsináltam egy Java, egy Python és egy beágyazott C tanfolyamot is náluk.

Ill. Wes Bos névre keress, ott is találtam jót JS témában.

Bár nem ingyenes, de szerintem is az Udemy az egyik legjobb forrás a gyors és hatékony tanuláshoz. Legalábbis az IT világban.

Tudom ajánlani Brad Traversy kurzusait, elsősorban ezt. Illetve van egy youtube csatornája is traversymedia néven, ott elérhető egy nagy rakás ingyenes tananyag is, bár lehet, hogy nem olyan átfogóan, mint az imént linkelt.

A másik, aki nagyon jó még az Maximilian Schwarzmüller. Bár ő szereti nyújtani a témákat, mint a rétestésztát, szóval kvázi gyorstalpalónak az ő anyagait nem javasolnám, de ha szeretnél belemenni a részletekbe arra kiváló.

Why are Norwegians so good at editing files on Linux? Because their ancestors were vi-kings. ;)

Ez teljesen igaz, mint a legtöbb platformon itt is megvan a selejt, de akiket linkeltem azoktól eddig csak minőségi dolgokat láttam. A kezdő kollégáknak mindig őket szoktam ajánlani és eddig bevált.

Why are Norwegians so good at editing files on Linux? Because their ancestors were vi-kings. ;)

A pénzt visszakérheted, ha nem tetszik az anyag (én még nem éltem vele)

A másik trükk, hogy ha inkognító ablakban mész, akkor új felhasználónak hisz és felkínál néha 90%-os árengedményt. Én Sketchup tanfolyamot kerestem így, három hét után 13€-t megvettem.
De ha berakod a kívánságlistádba is, előbb utóbb olcsóbban is felkínálja. Igazából szerintem erre 15€-ra vannak kalibrálva, de drágábban hirdetik, hogy legyen hova lealkudni.

Örülök, hogy valakinek hasznos volt a hozzászólásom! :D

A js nekem is bejön és amennyire látom ez a jövő (és egyre inkább a jelen) programozási nyelve a weben. Bár sokan szokták szidni és igaz, ami igaz, ES6 előtt (~2017) elég szívás volt js-t fejleszteni, de mára már szépen kinőtte ezeket a hosszúra nyúlt gyermekbetegségeit. :D

Ha esetleg webes vonalon tervezel mozogni érdemes beletanulni legalább egy modern js framework-be (ajánlom a VUE-t) és ránézni a Node.js-re, ami behozza a javascriptet a backendre.

Why are Norwegians so good at editing files on Linux? Because their ancestors were vi-kings. ;)

Anno én is innen tanultam, igaz akkoriban még, sok évvel ezelőtt, 2000-es évek eleje, közepe még a JS egy egyszerűbb dolog volt, csak böngészőben szolgált néhány soros dinamikus kiegészítésre, egy nagyon primitív, típus nélküli nyelv volt, semmi OOP, meg funkcionális paradigma, meg framework framework hátán. Azóta viszont annyit fejlődött és változott, hogy nekem is elölről kéne tanulnom. Nem csak w3scools meg Udemy, de a YouTube-on is van fent egy csomó ingyenes JS kurzus, fél órás alapozótól, a 10 órás részletes-haladó anyagokig minden, ahol nem csak megmutatják a szintaxist, de példakódokat is írnak, futtatnak, magyaráznak, élőben követi az ember, még azt is megmutogatják, hogy különbőző OS-ekre honnan töltsön, telepítsen az ember futatókörnyezetet, IDE-ket, plugineket, libeket hozzá, hogy kell ezeket beállítani. Állítólag Brilliant, Curiosity, stb. oldalakon is vannak online oktatások matek, fizika, programozás, mindenféle más informatikai témában is, ez fizetős, még nem próbáltam. Egy dolog, aminek egyértelműnek kéne lennie, de azért a félreértések elkerülése érdekében: mind angolul van, de ezt a békát le kell nyelni, főleg aki programozással, meg IT-vel akar foglalkozni, és tényleg érteni akar hozzá. Igazából szerintem ez nem is hátrány, hanem még előny is, mert a programozás mellett egyben a nyelvet is gyakorolja vele az ember, ami sose árt.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

MDN-en van néhány tutorial listázva felkészültségi szintnek megfelelően. Egyébként is az MDN-t javaslom mint referenciát, a W3Schoolst jobb elkerülni.

Erre is van StackOverflow kérdés, a válaszokban szépen leírják, mi a probléma. Röviden: sokszor pontatlan, elavult, vagy egyszerűen csak hibás információt tartalmaz, arányaiban gyakrabban, mint más oldalak.

Bár tény, hogy az utóbbi években legfeljebb véletlenül tévedtem arra, ezért elképzelhetőnek tartom, hogy mára javult a helyzet.

Erre a problémára (egyszerű frontend) szerintem bármilyen HTML/JS "képeskönyv" jó lesz az utóbbi 10 évből. A JS programozás általánosan ma már jóval nagyobb falat, mint a másik szálon emlegetett Python programozás.

Szia!

Én kb. akkor írtam utoljára JS kódot amikor jQuery újdonság volt.

Úgy döntöttem, hogy kicsit felfrissítem a HTML/CSS/JS tudásomat és akkor találtam meg ezt a youtube csatornát:

https://www.youtube.com/TraversyMedia

 

Szerintem nagyon jó videók vannak itt. Számomra is érthető módon mutatja be a különdőző frameworköket (Vue, React stb.) de vannak vanilla HTML/JS videók is.

Jó szórakozást és tanulást hozzá! :)

Lehet hogy nem lenne rossz ötlet már az elejétől TrueScriptezni

(bár nem tudom, nem ismerek senkit, aki ne később tanulta volna meg évekkel a JS után...)

“Any book worth banning is a book worth reading.”

Nem ad semmit

Rengeteg időt megspórol, hogy fordítási, sőt, gépelési időben kiderül, ha a kódban hiba van. Nem egy futásidejű hibából kell visszanyomozni, hogy mi lett elrontva. Itt le van írva pontosabban.

cserébe 6x többet kell írni

Azért van a type inference, hogy ne kelljen. Rengeteg esetben el lehet hagyni a típust, pl. változó deklarációk, függvény visszatérési értékek, stb.

nem lehet a kódot interaktívan tesztelni-vizsgálni

Dehogynem lehet, erre van a watch opció (tsc, webpack), van sourcemap generálás (tsc, webpack), stb.

Aha. Biztos.

Mindenesetre egy nyelvvel való ismerkedéshez REPL-et szoktak ajánlani, (esetleg notebookot hogy maradjon nyoma), parancsok azonnali lefuttatását és az eredmény azonnali kiköpését. A kérdező célja ez:

Egy (később több) weboldal, ami egy hosszabb szövegtörzset generál a megadott radio buttonok/checkboxok/select-listek és textboxok értékei függvényében, majd a végén egy gomb, hogy copy to clipboard. Lennének olyan opciók is, amik attól függően jelennének meg, hogy korábban milyen értéket adott egy opció.

DOM-ra lesz szüksége, javascriptből értékadásra/elágazásra. A typescript ezt, és a nyelvvel való ismerkedést _nehezíti_, és nem pedig könnyíti. Amit megkönnyít, az az, hogy több ember dolgozzon egy nagyobb projecten, ahol nem tudod, hogy mi micsoda. (Nyilván attól függ, hogy a kérdezőnek mit akar ezzel, valami saját POC lesz ismerkedni a nyelvvel, esetleg valami szervezetnek nyilvános weboldal, bár abszolút beginnerként, aki utoljára 25 éve pascalozott..) Addig a typescript nem ad semmit, viszont folyamatosan az útjában áll, és elveszi a böngészős inspectort-console-t.

Szerkesztve: 2021. 12. 08., sze – 22:24

Még egy gondolat: Douglas Crockford: JavaScript: The Good Parts! Van könyv is és találsz videó előadást is. Én ezzel kezdeném, még mielőtt valaki megmérgezne. Igenis jó nyelv, a tervezési hibái ellenére is! Ha szegény Brendannak több ideje lett volna rá... A nyelvnek megvannak a hibái. Ha az ember megtanulja kezelni ezeket, ennél rugalmasabb nyelvvel nem nagyon találkoztam még.

Nem, nem vagyok programozó, csak egyszerűen érdekelnek a programozási nyelvek. Nagyon sok könyvet/cikket/hírt elolvastam. Nagyon sok videót megnéztem. Nem ebből élek, nem programozok! DE! Ha programoznék, akkor ezek közül választanék: Common Lisp, Forth, JS és újabban Rust. Azt, ami legjobban illik az adott feladathoz.

Ha a többiekre hallgatsz: Fogj egy erőforráspazarló, bloated JS framework-öt, 16 GB RAM-ot és divatbuziskodd össze benne valami menő™ indiai uDemy-csávó divatos megoldásaival.

Amit leírtál, gyakorlatilag egy 20 éves böngészőben is megvalósítható, 10-20 soros HTML-be ágyazott javascripttel. W3Schools-t ajánlom.

Az alábbiakból össze tudod legózni.

https://www.w3schools.com/howto/howto_js_display_checkbox_text.asp
https://www.w3schools.com/jsref/prop_radio_checked.asp
https://www.w3schools.com/tags/tag_select.asp
https://www.w3schools.com/JSREF/dom_obj_textarea.asp
https://www.w3schools.com/jsref/dom_obj_select.asp
https://www.w3schools.com/howto/howto_js_copy_clipboard.asp
 

Ha a többiekre hallgatsz: Fogj egy erőforráspazarló, bloated JS framework-öt,

Mutasd már meg, hogy melyik hozzászólásban írtuk a posztolónak, hogy használjon js keretrendszert az általa vázolt feladathoz.

valami menő™ indiai uDemy-csávó divatos megoldásaival

Nem csak indiaiak vannak udemy-n... sőt, ha jól látom a linkelt anyagok kizárólag angol forrásból származnak.

erőforráspazarló, bloated JS framework-öt, 16 GB RAM-ot és divatbuziskodd össze benne

Lerí a hozzászólásodból, hogy nem értesz a modern webfejlesztéshez. Leragadtál valahol fél úton a web1 és a web2 között, holott már lassan a web3-nál tartunk és lenézel mindenkit, aki nem 5+ éves technológiával oldja meg a feladatait.

Why are Norwegians so good at editing files on Linux? Because their ancestors were vi-kings. ;)

Mutasd már meg, hogy melyik hozzászólásban írtuk a posztolónak, hogy használjon js keretrendszert az általa vázolt feladathoz.

Te írtad:

Ha esetleg webes vonalon tervezel mozogni érdemes beletanulni legalább egy modern js framework-be (ajánlom a VUE-t) és ránézni a Node.js-re, ami behozza a javascriptet a backendre.

mikabak írta:

Szerintem nagyon jó videók vannak itt. Számomra is érthető módon mutatja be a különdőző frameworköket (Vue, React stb.) de vannak vanilla HTML/JS videók is.

Ne próbáld úgy beállítani, hogy nem tereltétek a divatbuzi, bloated framework-ök felé, mert pontosan ezt csináltátok.

Lerí a hozzászólásodból, hogy nem értesz a modern webfejlesztéshez.

Nem is akarok. Szánalmas kóklerkedés és nettó divatbuziskodás, amit modern webfejlesztésként emlegettek.

lenézel mindenkit, aki nem 5+ éves technológiával oldja meg a feladatait.

Csak azokat, akik modernnek csúfolt, erőforráspocsékoló eszközökkel oldanak meg olyan feladatokat, amiket sokkal egyszerűbben és kompatíbilisebben is meg lehet, csak egyes szélsőségesen idealista, fejlődésmániás elemek attól érzik magukat menőnek™, kortárs elitnek, hogy a legegyszerűbb feladatot is erőforráspazarló framework-ben kívánják megoldani.

Szerintem senki nem terelt semerre, bemutattak különböző opciókat, ha mégis kedvem lesz továbbmenni ebbe az irányba.

Egyébként egészségügybe készül saját használatra 10+ éves gépekre, ahol korlátozott a hozzáférésem bármihez is, ezért a web+js irány, bloat az pedig biztosan nem lehet, mert megőszülnék.

mikabak írta:

A hozzászólása nem arra vonatkozott, hogy használjon a kérdező keretrendszert, hanem csak megemlítette, hogy érthető módon vannak ezek bemutata. Sőt, ha megnézed utána írja is, hogy vannak vanilla html, js videók is.

Te írtad:

Nem a posztolónak írtam, hanem egy a témához kapcsolódó megkezdett beszélgetés szálra, továbbá rögtön azzal kezdtem, hogy HA valaki webes vonalon tervez mozogni... Értsd: ha valaki komolyan (professzionális szinten) szeretne ezzel foglalkozni, akkor legalábbis erősen ajánlott, ha nem egyenesen megkerülhetetlen ezeket megtanulni. És mondom ezt úgy, hogy napi rendszerességel fejlesztek vanilla js-ben, node-ban, meg különböző js framework-ökben is (frontend és backend oldalon egyaránt), pontosan látom, hogy mikor jó az egyik, mikor jobb a másik és nem félinformációkra és elavult tech stack tudásra alapozva teszek valótlan állításokat, mint te.

Ne próbáld úgy beállítani, hogy nem tereltétek a divatbuzi, bloated framework-ök felé, mert pontosan ezt csináltátok.

Szövegértelmezésben nem vagy túl erős.

Nem is akarok. Szánalmas kóklerkedés és nettó divatbuziskodás, amit modern webfejlesztésként emlegettek.

A szánalmas az amikor egy it területen tevékenykedő ember nem hajlandó haladni a korral, megtanulni az új technológiákat olyan semmitmondó okokra hivatkozva, hogy "divatbuziskodás". Ilyen alapon gondolom neked a git, a docker, a cloud computing, a nosql stb is "divatbuziskodás", mert te ezekhez nem értesz.

erőforráspocsékoló eszközökkel oldanak meg olyan feladatokat, amiket sokkal egyszerűbben és kompatíbilisebben is meg lehet

Ebben a részben egyetértünk. A kérdező által vázolt feladathoz overkill framework-öt használni, ha csak nem tanulásra szánja valaki, és pontosan ezért nem is terelte senki ebbe az irányba. De úgy látszik ez csak neked nem jött át, és jössz és mindenkit, aki segíteni próbált leszólsz olyan stílusban, hogy itt mindenki hülye, csak te vagy a f@szagyerek.

Why are Norwegians so good at editing files on Linux? Because their ancestors were vi-kings. ;)

A hozzászólása nem arra vonatkozott, hogy használjon a kérdező keretrendszert, hanem csak megemlítette, hogy érthető módon vannak ezek bemutata.

Ez egy hogyan kezdjek neki kérdésre adott válaszként nagyjából ugyanazt jelenti.

Nem a posztolónak írtam, hanem egy a témához kapcsolódó megkezdett beszélgetés szálra

Ez meg egy ócska kifogás. A kérdező a szálakat is elolvassa, hiszen az ő topikjába írtad.

Ilyen alapon gondolom neked a git, a docker, a cloud computing, a nosql stb is "divatbuziskodás", mert te ezekhez nem értesz.

Nem akkor divatbuziskodás, ha én nem értek hozzá. Akkor divatbuziskodás, ha jól működő rendszereket akarunk velük helyettesíteni úgy, hogy sokszorta annyi erőforrást elpazarlunk, az egyoldalú kényelmeskedésért cserébe. Egyébként git-et és dockert is használok, hol napi, hol heti rendszerességgel és elég merésznek érzem összehasonlítani a modern™ webes technológiákkal. Linus Torvalds forog a sírjában, pedig még meg sem halt. A cloud computing-nak is megvan a helye az IT-világban szerintem, de az, amennyire mostanában erőlteti mindenki és a csapból is folyatja, azt valóban erősen divatorientáltnak érzem. Ahogy az IoT-t és az 5G-t is. Ezek elsősorban marketingvágányon futtatott projektek, mintsem akkora nagy fejlődés™ és ha ezt nem látod, akkor nagyon erősen takar a szemellenződ.

A szánalmas az amikor egy it területen tevékenykedő ember nem hajlandó haladni a korral

Az minden, csak nem a korral való haladás, hogy egy 100x annyi erőforrást pocsékoló megoldást választasz csak azért, mert arra odaírták, hogy 2021™. A kérdező igényei egyszerű JS-betétekkel megoldhatók, framework-ökben való kényelmeskedés nélkül. Továbbra is az a szánalmas, hogy egy technológiát a modernitása miatt választasz, meg esetleg azért, mert X Y milliárdos multi azt használja (vagy reklálmozza) és más szempontokat alig veszel figyelembe.

mert te ezekhez nem értesz

Elnézve az ezekkel készített felhozatalt, úgy általában a modern weboldalakat, a használhatatlanságukat, a UX-ökör design trendeket, a többszáz megabájt memóriahasználatot, a CPU-tekergetést az előtérben és háttérben is, nem is biztos, hogy baj hogy nem értek hozzájuk. Vannak olyan technológiák, amik max. a fejlesztőknek kényelmesek, de ezentúl rendkívül kártékonyak. Ilyenek a modern™ webes framework-ök. A docker csak szélsőséges esetekben ilyen. A git egyáltalán nem ilyen.

ha csak nem tanulásra szánja valaki

Ha tanulásra szánja, akkor se framework-ben tanuljon, mert csak magát bassza át, hogy ért hozzá, miközben tucatnyi számítógép többlet-erőforráshasználata, lassulgatása látja a kárát később.

Üdv!

Alap html/js/php -ben írtam az oldalam, itt tudsz tanulmányozni nagyon egyszerű js forráskódot: https://fellegis.hu/

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.