Ezt a bejegyzést a JavaScript öröklődésről szóló folytatásának szánom. Azért döntöttem úgy, hogy bejegyzést írok erről a témáról, mert végre találtam egy olyan megoldást, ami a lehető legkevesebb mellékhatással valósítja meg mindezt.
35444 items (32819 unread) in 65 feeds
seo
(12771 unread)
onlinemarketing
(10782 unread)
grafika
(75 unread)
sitebuild
(62 unread)
honlapkeszites
(757 unread)
webketto
(600 unread)
flash
(65 unread)
internet
(6099 unread)
fejlesztes
(639 unread)
google
(31 unread)
ekereskedelem
(30 unread)
egyeb
(40 unread)
szoftver
(30 unread)
wireless
(20 unread)
cms
(713 unread)
Ezt a bejegyzést a JavaScript öröklődésről szóló folytatásának szánom. Azért döntöttem úgy, hogy bejegyzést írok erről a témáról, mert végre találtam egy olyan megoldást, ami a lehető legkevesebb mellékhatással valósítja meg mindezt.
Bár tudom, hogy legtöbbetek Linux alatt fejleszt, de azért remélem, hogy vannak néhányan, akik hozzám hasonlóan Windows-t használnak, és nekik hasznos lehet ez a blogbejegyzés.
Nem egy tipikus probléma, de azért előfordul, hogy Windows alatt szükség van a Git shell nyújtotta szolgáltatásokra. Nálam ez a akkor merült fel, amikor találtam egy pre-commit hookot (a commit előtt automatikusan lefutó Git bash parancsokat tartalmazó kis fájl), ami a benne megadott MySQL adatbázist dumpolta. Az adatbázis szerkezetének mentésével lehetőség nyílik az adatbázis verziókövetésére, ami, valljuk be, nagyon hasznos dolog. Ami nekem nem tetszett ebben a hookban, hogy minden egyes commit előtt lefut, ezért aztán megoldást kerestem, hogy hogyan tudnám dupla kattintással futtatható formába hozni.
PHP-ben a beépített munkamenet-kezelő átírásáról nem található elegendő információ a kézikönyvben, ezért gondoltam összeszedem az ismereteimet ezzel kapcsolatban, hogy másnak már könnyebben menjen. (Az itt leírtak PHP 5.2.17-re érvényesek.)
Néhányszor belefutottam abba a problémába JavaScriptnél, hogy csak nehezen lehet létrehozni objektum kulcsos mapeket ill. seteket. Ezért úgy döntöttem, hogy írok egy kis bejegyzést ennek a mikéntjéről. Ez a probléma többek között abban az esetben merül fel, amikor van két objektumokat tartalmazó gyűjteményünk, és a kettő metszetére van szükségünk úgy, hogy az nem tartalmazhatja kétszer ugyanazt az objektumot. Erre a leghétköznapibb példa, ha több CSS kiválasztót használunk egy lekérdezésben.
Sok könyben olvastam már, hogy 10-20-50 sor az ideális függvény/metódus hossz, és hogy egy osztályban 8-10-15 metódusnál ne legyen több. Persze mindenki kicsit mást ír, de a lényeg ugyanaz, van egy ideális függvény/metódus hossz és osztály méret.

Ebben a részben az osztályok közötti öröklést valósítjuk meg. Mint azt látni fogjuk, ez nem is annyira egyszerű feladat. A javascriptes öröklődésre több megoldás született. Létezik olyan, ahol másoljuk a prototípusok tulajdonságait, és olyan is, ahol a leszármazott osztály prototípusa az ős osztály egy példánya. Vizsgáljuk meg ez utóbbit kicsit közelebbről.

Nemrég tett közzé Farkas Máté (fmate14) blogbejegyzést tömb bejárási problémákról, amelyhez kapcsolódóan Galiba Péter (Poetro) szóba hozta, hogy létezik egy hasOwnProperty() nevű Object metódus. Kicsit jobban utánajártam, és kiderült, hogy MSIE nem támogatja, a többi nagyobb böngésző viselkedése pedig néhány esetben eltérő, ezért úgy döntöttem, hogy egy az egyben felülírom ezt a metódust.

Jelen cikksorozatban egy javascriptes keretrendszer alapjait fektetem le. Konkrétan arról lesz szó többek között, hogy hogyan lehet JavaScriptben használhatóbbá tenni az osztályokat, csomagokat létrehozni, és egyszerűsíteni a típusellenőrzést.
Egyke (singleton) ősosztály írása PHP-ben nem is olyan egyszerű, mint elsőre gondolná az ember. Több buktatója is van az ilyen osztály létrehozásának, ezért gondoltam, hogy írok róla pár sort.
Elég sűrűn használom az egyke mintát a most leírt örökléssel. Jobb szeretem így, mint gyár (factory) mintával kombinálva, persze ízlések és pofonok. Az örökléses megoldásnak annyi a hátulütője, hogy nem lehet szabadon megválasztani az ősosztályt, mindig az egyke (vagy annak leszármazottja) kell, hogy legyen.
Sokat agyaltam azon, hogy milyen rendszerrel lehet megoldani a CSRF védekezést hatékonyan: most megszületett a megoldás.
Ami nyilvánvaló, hogy pusztán a HTTP referrer nem elég, mert nem támogatja az összes böngésző, emiatt ki kell küldeni egy olyan azonosítót, amit POST-ban visszaküld a felhasználó az űrlappal, és ezzel érvényesíti a kérését.
Írtam egy nagyon egyszerű kódot a JavaScript típusossá tételére, és azt nem értem, hogy ez eddig miért nem jutott másnak is eszébe.
Jelen cikkben a sablonnyelvekről, illetve a sablonkezelő rendszerek felépítéséről szeretnék leírást adni. Az utóbbi néhány hónapban sokat foglalkoztam egy saját sablonkezelő rendszer fejlesztésével, most pedig megpróbálom összefogni az így szerzett tapasztalataimat. Próbáltam nagyon az alapoktól elindulni – és hogy minél közérthetőbb legyen a dolog – egy már sokak számára jól ismert leíró nyelvet, az XML-t választottam a példákban bemutatott sablonnyelv alapjának.