Ugrás a fő tartalomra

Újabb tanulságos nap és furcsaságok

    Mostanság úgy vagyok ,hogy mindig tanulok valami újat. Ez főleg annak köszönhetem ,hogy van egy projektem ,amin szoktam dolgozni. Általában ,amikor ezen dolgozok ,akkor WebStorm IDE-t használok ,mivel ahogy tapasztaltam ez a legjobb IDE webfejlesztésre ,habár van néhány hiányossága ,de még így is veri a mezőnyt. Megjegyzésként hozzá teszem ,hogy olyan webfejlesztésre gondolok ,hogy html+js+css ,node.js ,dart(habár itt megjegyzem ,hogy Darthoz van ingyenesen egy elég tisztességes IDE) ,szóval nem .net vagy java.
WebStorm mostani újabb verzió is a node.js vonalat erősíti nagyon komolyan ,ami szerintem nagyon jó irány hiszen ilyen irányban haladnak a trendek. Sajnos viszont fizetős és nincs belőle ingyenes változat mint mondjuk az Intellij vagy PyCharm -nál a community edition.

   Szóval mostanság úgy voltam vele ,hogy WebStorm nem is olyan okos , hiszen azt vettem észre ,hogy néhány változómnál azt írta ,hogy kétszer deklaráltam ,vagyis ,hogy kétszer sikerült ugyanazt a változót létrehozni ,amit furcsálltam ,mivel úgy voltam vele ,hogy igaza van de ezek a változók teljesen más blokkban(pl.:{var a}{var a}) voltak , sőt néha  két egymás utáni for ciklusban lévő ciklus változóra(pl.: for(var i=0;;){} for(var i=0;;){}) is kiírta ugyanezt ,ami még inkább megerősítette bennem ,hogy ez baromság hiszen más nyelvekben sem volt gond(itt gondolok java és c++ stb..) ,sőt elő sem jött ilyen.
Ez a dolog hibát nem okozott hanem inkább zavart engem ,de nem fordítottam rá túl sok időt ,mert volt elég dolgom ,mint egy ilyen kis figyelmeztetésre figyelni ,ami nem okoz semmi gondot.

   Aztán egyik nap gondoltam és olvasgatni volt kedvem és ilyenkor általában valami szakmai könyvet olvasok ,hogy úgy érezem ,hogy csinálok is valamit. :D  Így egyik nap elkezdtem olvasni Javascript: The Definitive Guide című könyvecskét ,ami röpke 1000 oldalas ,egy csöppet száraz de úgy is csak az első száz oldalon suhantam át és akkor megakadt a szemem a Function Scope and Hoisting részen ,ami arról szólt ,hogy a szokásos OO nyelvek blokk scope-ot használnak ,ami azt jelenti ,hogy a változó csak abban a blokkban látszódik ,amiben van ,viszont a Javascript Function Scope-ot használ ,ami azt jelenti ,hogy a változók láthatók a teljes függvényben ,amiben vannak. Na és ezt olvasva jöttem rá ,hogy nem a Webstorm volt a hülye ,hanem én ,mert nem ismertem elégé a nyelvet.

   Hiszen Webstorm okkal figyelmeztettet ezekre hiszen function scope-ban tényleg úgy látszódik a dolog ,hogy többször hoztuk létre ugyan azt a változót ,ezért jogosan figyelmeztet ámde teljesen feleslegesen ,hiszen hibát nem okoz.(Mármint eddig nálam nem okozott)

   Nálam például ez azért alakult ki ,mert néhány függvényem nagyon hosszú és a for ciklusoknál ,mindig ugyanazt a változó neveket használom ,ahogy ezt eddig tanultam. Szokásosan i,j,k,l -t szoktam ciklusváltozónak használni.
Persze meg kell jegyeznem ,hogy kerülni kell a túl hosszú függvényeket ,mivel ezek rontják a fenntarthatóságot ,de ahogy lenni szokott valahogy az ember néha ezeket figyelmen kívül hagyja lustaságból.

Összegezve: JS Function Scope-ot használ ,szóval vigyázat. Ez nem okoz hibát viszont zavaró tud lenni azoknak ,akik már programoztak olyan nyelvben ,ami blokk scope-ot használ.

Még egy érdekesség, amit olvastam ,hogy ha egy "var" típusú változót a globális névtérben hozzunk létre például: var a=10; ,akkor ezt képtelenek leszünk törölni ,viszont b=20; vagy this.c=30; változókat simán lehet törölni.

Furcsaságok:
Néhány furcsaság található itt ,szerintem a legviccesebbek a vége felé vannak.
Még több érdekesség.
Ezt már közzétettem G+-on ,de ide is berakom ,mert az egyik kedvencem :D
Videóban lévő néhány dolog már nem úgy működik ahogy , viszont végén lévő ütős dolog igen.


Megjegyzések

Népszerű bejegyzések ezen a blogon

Python kezdőknek

Itt a nyár és mivel lehetne ezt a legjobban megünnepelni, mint egy kígyóról elnevezett programozási nyelv bemutatásával. Következőkben tehát a Python programozási nyelvről lesz szó és annak lehetséges alkalmazásairól.

Miért tartsunk otthon Python-t? Python pályafutása 1991-ben kezdődött el egy Guido van Rossum nevű fejlesztőnek hála, aki egy olyan általános programozási nyelvet akart készíteni, amit nagyon könnyen el lehet sajátítani és használni. Az elmúlt év tizedek alatt a Python nyelv az egyik legjobb és legnépszerűbb általános programozási nyelvé nőtte ki magát, amit bizonyít, hogy számos operációs rendszeren(linux, mac os) alapból megtalálható a nyelv. De nézzük meg, hogy mitől ilyen népszerű: Egyszerűség: A nyelvnek az egyik legnagyobb előnye, hogy nagyon egyszerű és ezért például nagyon sok egyetemen a kezdő programozó legényeket Python segítségével vezetik be a programozás világába.Dinamikus: Mint minden dinamikus nyelvnek úgy Python-nak is van egy beépített REPL-je, ami nagyo…

HTML5 játék fejlesztés alapjai

Ahogy a cím is sugallja a HTML5 játék fejlesztés alapjairól lesz szó ,hogy mi is kell hozzá.
Az én tudásom ebben a témában még elég kicsi ,de egyre növekszik ,talán egyszer majd én is össze fogok szedni annyi tapasztalatot a témából ,hogy akár még könyvet is írhatnék róla. Na persze egy izgalmas könyvet. :D

Na akkor vágjunk is bele!
    Első kérdés ,hogy mi a legalapvetőbb dolog ,amit ehhez meg kell tanulni? Persze sokan mondhatják ,hogy html , javascript ,css ismerete ,ebben igazat is adnék ,de nekünk még van ennél sokkal alapibb tudás ,ami a magyar programozókra főként igaz ez pedig az angol tudás.
Ezt nagyon sokszor tapasztalja az ember ,hogyha nem elég jó az angolja ,akkor egyetlen mondat is megtudja akasztani ,ahol az író nagyon szakmai akart lenni.
Főleg emiatt szeretem azokat az írókat ,akik semmi köntörfalazás nélkül belevágnak a lecsóban és simán és egyszerűen elmagyarázzák a dolgokat.

   Ha az első szint megvan akkor jöhet a HTML tanulása ,ami elég gyorsan letudható ,hiszen c…

Javascript kezdő lépések

Ma kis bejegyzésem arról fog szólni ,hogy mit érdemes kezdő lépésenként megtanulni ,illetve ,hogyan érdemes haladni Javascripttel és néhány érdekesség is lesz node.js-sel kapcsolatban.

Tanulás
   Szerencsére olyan világba élünk már ,ahol a web és webes technológiák nagyon gyorsan fejlődnek és ezért ezeknek a tanulása is egy fajta fejlődésen ment keresztül. Már nem könyvből kell tanulni ,hanem vannak olyan oldalak ahol interaktív módon lehet egy nyelvet megtanulni ,ami tökéletes a tanulás szempontjából. Előző cikkemben raktam be anyagokat ahhoz ,hogy mit érdemes elolvasni ,ha a tanuló inkább olvasós fajta és volt bent 2 interaktív.  Én például codecademy segítségével tanultam meg Jquery-t használni. Javascripthez Eloquent és codeacademy-t használtam.

   Mivel a Javascript elég megengedő ezért nagyon sok fajta stílusban kódolnak hozzá és ezek a stílusok  néha teljesen eltérőék. Szóval aki tanult már Java ,c vagy c++-t annak is lehet újdonság ,mivel ezeknél a nyelveknél nagyon szépen megv…