L

Egyperces: Google Drive

A Google Drive-ot már régóta használom, talán azóta, hogy elérhetővé tették. Kifejezetten szeretek vele dolgozni. Egyrészt azért, mert ingyenes, csak egy Gmail fiókkal kell rendelkezned. Másrészt a mindennapi feladatokat simán el lehet benne látni.

A Google Drive legtöbb helyen Dropbox alternatívaként jelenik meg. Ennek ellenére én szeretek benne dokumentumokat kezelni is. Például online tartom karban az Önéletrajzom, vagy ide hozok létre mások számára is látható dokumentumokat.

Egyperces: KDE Plasma - Linux Asztalkezelő

A KDE Plasma a legfejlettebb asztalkezelő a számítógépes világban. A Windows asztala selejtesnek tűnhet a KDE mellett.

A Plasma modern technológiákat alkalmaz, mint a Qt, ami egészen népszerű más szegmensekben is, mint az autoiparban. A Palsmának rengeteg gyöngyszeme van, például a Dolphin, ami a KDE alapértelmezett fájlkezelő alkalmazása. A legfejlettebb és legerőteljesebb fájlkezelő, amit ma megtalálhatunk a piacon. A Plasma kapott egy erőteljes vezérlőpultot, amivel szinte minden részletét átalakíthatjuk az asztalunknak. Ezáltal a KDE az egyik legjobban testreszabható asztalkezelőnek mondható. A rengeteg beállítási lehetőséget egy elegáns és könnyen kezelhető felületen módosíthatjuk, mellyel nincs lehetetlen a Plasma asztalokon.

LibreOffice bemutatása - röviden, tömören, egyszerűen

Ubuntu alapú rendszereket használóknak nem lehet ismeretlen a LibreOffice. Direkt nem egypercesre írtam, mert azért 6 programot fogok nagyjából bemutatni.

Nem megyek bele a részletekbe, csak egyszerűen kicsit körbejárom a programot, töltök fel néhány képernyőképet, leírom a főbb tudnivalókat, esetleg linkelek hivatalos leírásokat.

Miért nem szeretem a Wordpress oldalakat?

Aki ismer, tudja, hogy szó szerint utálom a Wordpress és a Joomla alapú oldalakat. Egyrészt mára a "webfejlesztő" cégek elpofátlanodtak. Képesek egy Wordpress alapú oldalt eladni saját fejlesztésként, megvezetve a felhasználókat, és mindezért elkérnek 150-200 ezer körüli összegeket. Mi ezzel a bajom? Az, hogy egy büdös nagy átverés az egész. Megvezetik a tudatlan vásárlókat. Nem egy céget ismerek, akik ilyen alapokon dolgoznak.

Megveszi a templatet - mondjuk $20-ért - meg letölt 2 plugint és kész az oldal. A hülye is meg tudja csinálni. A tapasztalatlan, weboldalak terén kevésbé jártas megrendelő pedig kifizeti érte a pénzt. 1 nap munka behoz nagyjából 100 ezernyi tiszta hasznont.

Registry Design - PHP - Miért kedveltem meg?

Eddig a blog főleg kisebb dolgokról szólt, css trükkökről, sitebuild megoldásokról, kisebb-nagyobb php problémákról. Most megpróbálok olyan dolgokat is leírni, amik kicsit mélyebben belenyúlnak a PHP világába, hiszen mindig azt hangoztatom, hogy nem vagyok egy túl erős sitebuilder, mégis a blogom nagyobb része erről szól.

Tehát a mai téma: Registry Design Pattern

Amikor nagyobb projecteken dolgozol gyakran szembesülhetsz egy problémával, ugyanazt az osztályt kell használnod másik osztályokon belül. Legjobb példa erre az adatbázis osztály. Használod felhasználók kezelésekor, termékek, cikkek lekérdezésekor, szóval szinte bárhol. Ha a kódod objektum orientált, és minden feladat a saját osztályában foglal helyet, akkor általában mindig azzal kezded az osztályt, hogy:

public function __construct(){
    $this->db=new DataBase();
}

Vagy másik általános megoldás, hogy globális változókban tárolod az osztályt, így mindenhol elérhetővé válik. Bármelyik megoldást is használod, rossz. Ha minden alkalommal újra inicializálod az adatbázis osztályt, akkor baromi sok memóriát fogsz elhasználni.

Singleton Design - PHP - Hogyan használjuk?

A Singleton Pattern egy Design minta, amit azért használunk, hogy egy adott osztályt ne tudjunk bizonyos esetekben újra inicializálni. Ez annyit jelent, hogy ha egy osztályt implementálunk Singletonként, akkor ez az osztály nem fog kétszer létezni, tehát újra inicializáláskor már a meglévő osztályt fogjuk visszakapni, így nem fog dupla vagy akár tripla helyet elfoglalni. A legjobb alkalmazási területei például beállítások kezelése vagy a már említett Registry.

Minden webaplikációnak vannak olyan területei, amiket többször több helyen is (például: beépülő modulokban, külső könyvtárakban) használunk. Ha minden alkalommal, mikor szükségünk van egy osztályra újrainicializáljuk, rengeteg felesleges memóriát fogunk felemészteni. Hogy ezt kivédjük, biztosnak kell lennünk, hogy az osztályunk csak egyszer létezik és globálisan elérhető. Elsőként le kell tiltanunk, hogy az osztály kivülről inicializálható legyen, így a konstruktort priváttá kell tennünk.

A cache probléma végleges megoldása

Közel 3 hete foglalkoztam a blogon utoljára a kérdéssel, mi legyen a cache-sel. Akkor csak körvonalakban volt meg, hogy mit szeretnék, közben teljesen rendet raktam a káoszban. Első fő kérdés, hogyan tároljam az értékeket. Két lehetőségem volt, serialize vagy json_encode. Ezután végeztem egy mérést, hogy melyik a gyorsabb. A tesztnél fontos volt, hogy a letárolás és visszaolvasás együttes sebessége legyen gyorsabb. Így végül a serialize - unserialize páros nyerte a versenyt.

Ezután felvetettem a kérdést, hogy letároljam-e a teljes HTML kimenetet. Ökörség lett volna ezt is szerializálni, úgyhogy ez a lépés kimaradt, helyette kapott a cache egy bővítést, így képes letárolni a teljes HTMLt is. Ezen még majd módosítani kell kicsit, de jelenleg teljesen tökéletesen végzi a dolgát.

Ismét új blogmotor, de ez most saját

LeoamrosLeoamros 2015.04.26.

Ennek a blognak már annyi motorja volt, hogy fel sem tudom sorolni. Elsőként egy Wordpress volt. Elég jól elvoltam, de hiába szórakoztam vele, egyre több robot jött és próbálta törni az adminját. Persze, mert kinn volt, hogy ez egy WP install. WP alapokon kb 2 évig volt az oldal, eközben rengeteg problémám volt vele, úgyhogy egy idő után meguntam, letöröltem az admint és mindent, amivel bárki hozzáférést szerezhet az adminhoz.

Ezután (2 évvel később), a saját gépemen fejleszteni kezdtem a saját blogmotoromat. Rengetegszer töröltem és kezdtem újra, mert kb 2 napig fejlesztettem, utána 2 hónapra kiesett, így mire visszanéztem a régebbi kódot, mindig egy káosz volt. Így a javítás helyett inkább újrakezdtem. Ennek az lett az eredménye, hogy soha nem értem a végére a fejlesztésnek. Így készült kb. 10 különböző, félkész blogmotor.

Egyperces: Több soros stringek JavaScriptben

Mivel a JavaScript automatikusan zárja a sorokat ; jellel, így a PHP-ban megszokott több soros stringek nem fognak működni.

Ha egy hosszú stringet az olvashatóság kedvéért több sorba szeretnénk törni, PHP-ban simán nyomunk egy entert:

<?php
    $string='Ez itt egy
        nagyon hosszú
        string';

JavaScriptben ez nem működik:

var str='Ez itt egy
    nagyon hosszú
    string';

Hiba. Mivel a JS minden sor végét automatikusan zárja.

Gyorsítsunk az oldal betöltésen

A közösségi portálok gyors és egyszerű kódokkal segítik a szolgáltatásaik beágyazását weboldalunkba. Egyszerű copy-paste (másolás-beillesztés) az egész. De ezzel van egy aprócska probléma. Minden ilyen közösségi oldal JavaScript kódot használ, ennek a "gördülékeny" megoldásához. Persze van lehetőség iframeben beilleszteni vagy egyéb finomságokkal játszani, de vegyük az átlagos esetet, mikor egyszerűen a Facebook HTML5 kódját használjuk. Tehát ehhez mindenképp kelleni fog egy JS kód is.

A JavaScript használata egyetlen gondot fog nekünk okozni, mégpedig, újabb lekéréseket fog indítani a céloldal felé. Ezzel növeli a betöltési időt, még több HTTP lekérést indít. Tehát egyetlen szóval: rossz.

Mi a jó megoldás? Használjuk helyette a megosztás linkeket.

Miért jó ez nekem? Most persze szintén a Facebookból indulok ki, és a saját megfigyeléseimből. Tehát, ha megosztasz valamit a Facere, akkor az a hírfolyamodban egyből megjelenik, hogy "XY shared a link". Végig görgetem a hírfolyamot és sehol sem látok olyat, hogy "XY liked a link", ez persze a chat felett jelenik meg a Tickerben. Arra nagyjából hetente 1x nézek rá, amikor az online ismerőseim között keresem azt, akire rá szeretnék írni.

Leoamros

X

Üdv! Ha még személyesen nem ismerjük egymást, Smajda László vagyok, de szólíts csak egyszerűen Laccának vagy Leoamrosnak. Olyan netbúvároknak osztom az észt, akik szárnyaikat próbálgatják a PHP, MySQL, JavaScript világában, és elakadnak valamelyik folyamat során. Főleg a saját tapasztalatokat írom le, ettől függetlenül kérdezhetsz bátran, lehetőségeimhez mérten válaszolok.

Kategóriák
Címkék
Social Media
Eszközök