Advanced PHP Trickery

napísal , 22 Jan 2012

Viete čo sú v PHPčku anonymné funkcie, closures, ako fungujú statické premenné vo funkciách a načo je register_shutdown_function()? Ak nie, ste na správnom mieste, za 2 minúty to budete vedieť a budú z vás neporaziteľní mágovia PHP. Ak to už viete, môžte sa spokojne potľapkať po chrbte, znamená to, že ste asi s PHP strávili viac času, ako by bolo zdravé :)

Poďme si tieto 4 veci vysvetliť na krátkom príklade "zo života". Predstavte si, že máme triedu na odosielanie SMSiek. Ale predtým než začneme posielať SMSky, sa treba prostredníctvom triedy pripojiť k serveru a po doposielaní všetkých SMS sa treba odhlásiť.

My sa však nechceme zaoberať takými blbinami ako pripájanie a odpájanie. Cheme mať len globálnu funkciu send_sms(). Na to použijeme celkom elegantné riešenie, v ktorom budú obsiahnuté všetky spomínané advanced koncepty.

Statické premenné vo funkciách

function send_sms($number, $text)
{
	static $connection = false;

	if (!$connection)
	{
		require_once('extensions/SMS/connect.php');
		$connection = new SMSConnect();
		if (!$connection->create("login","heslo")) return false;

Statická premenná vo funkcii si zachováva hodnotu v rámci všetkých volaní danej funkcie. Pri prvom spustení bude obsahovať hodnotu false. Podmienka nižšie sa teda vykoná, do premennej $connection strčíme SMSkovú triedu a pripojíme sa k serveru. Pri ďalšom spustení funkcie bude v premennej SMSková trieda a celý tento blok "if" sa preskočí.

V OOP sa zvyknú používať statické premenné vo vnútri tried, každopádne je dobré vedieť, že sa dajú použiť aj vo vnútri funkcií. V manuále nájdete ďalšie príklady využitia.

		$callback = function() use($connection)
		{
			$connection->Logout();
		};

		register_shutdown_function($callback);

Na tomto čudnom kúsku sa nachádzajú zvyšné 3 koncepty. V skratke docielime, že keď dobehne PHP skript, zavolá sa odhlasovacia metóda SMSkovej triedy.

Klávesové skratky pre švárnych junákov

napísal , 17 Jan 2012

Ak ste ako ja, neustále prepínate medzi slovenskou a anglickou klávesnicou, pretože keď sa tvárite, že programujete, tak ste anglický a inak ste slováčisko, pretože "dž" a "ä" a tieto veci. Ak ste ako 81403, programujete na slovenskej, pretože ste divní. Tieto skratky môžu pomôcť:

alt + , <
alt + . >
alt + f [
alt + g ]
alt + b {
alt + n }
alt + p '
alt + 3 ^
alt + q \
alt + w |
alt + e
alt + v @
alt + ô $
alt + - *
Fn + p *
alt + 1 ~
"ô" je to napravo od "L"
"-" je to naľavo od pravého shiftu
"fn + p" nemusí fungovať všade

Ak nefungujú, skúsiť pravý alt :) Alebo ctrl + ľavý alt.
Pretože pravý alt je ctrl + ľavý alt.

Pozn. 81403: situácia je taká, že na starých klávesniciach boli všetky tieto znaky vypísané (okrem ' < > a *), ale v dnešnej dobe by toto mohlo byt aj relatívne užitočné, lebo napríklad ja nemám na klávesnici napísané žiadne ALTové kombinácie... so yeah.

Takže sa učte a dajte vedieť ďalším súcim devám.

Ako vznikalo " Nauč sa písať "

napísal , 13 Jan 2012

Nauč sa písať mal byť pôvodne projekt o niečo väčších rozmerov a plánoval som spolu s jeho uvedením začať sériu článkov, podrobne popisujúcich jeho tvorbu. Chcel som začať prvotnou myšlienkou a skončiť podrobným tutoriálom pre každú z použitých technológií. Medzitým by bola rozobraná "analýza" a "návrh" a videli by sme screenshoty vyvíjajúceho sa dizajnu s okomentovaním každej zmeny a tak vôbec. Prvý článok som písal už počas tvorby stránky, potom som sa na pár mesiacov zasekol, takmer som na celý "projekt" zabudol a neskôr som ho v mierne okresanej verzii predsa len spustil. Články sa mi už samozrejme písať nechcelo, tu je ale ten prvý, v neupravenej podobe. Možno si v ňom niečo nájdete...


Čo nenapadlo mládencom z Apple

napísal , 2 Jan 2012

Viete aký je rozdiel medzi Sony-Ericssonom K750i z roku 2005 a iPhone-om 4(S) z roku 2011?

K750-tka sa dá použiť ako prehrávač hudby bez nutnosti vyťahovať ho z vrecka. Dá sa pridávať a uberať hlasitosť, preskakovať medzi pesničkami a zapauzovať alebo spustiť prehrávanie.. stačí len nahmatať a stlačiť správny gombík.
To je jeden z dôvodov prečo som si ten telefón tak obľúbil a zavrhol standalone MP3 prehrávače. Dal sa použiť ako plnohodnotný a dobre spravený prehrávač hudby a bol stále so mnou.

Dá sa tak použiť aj najlepší* telefón súčasnosti?
* teda aspoň podľa mňa :)

Na prehadzovanie skladieb alebo zastavenie prehrávania treba iPhone pekne vytiahnuť z vačku, 2x stlačiť home a potom ťuknúť na obrazovku. To nie je moc user-friendly.. hlavne nie v zime.. s rukavicami.. a hlavne keď si zoberieme, že iPhone má na boku tiež tlačítka ako spomínaný Sony-Ericsson. Ok, na iPhone sa dajú prehadzovať pesničky s dodávaným handsfree, ale ak chcete použiť normálne sluchátka, máte smolu.

Dosť bolo kecov, povedzme si radšej čo s tým.

SSD v notebooku

napísal , 27 Dec 2011

Asi ste už počuli skratku SSD. "Solid State Drive" je moderná verzia klasického pevného disku (HDD), ktorá má namiesto otáčajúcich sa diskov rýchlu flash pamäť. To prináša viacero výhod - väčšiu odolnosť, nulovú hlučnosť a hlavne mega rýchlosť.

Aby som uviedol do obrazu, klasický notebookový disk má prenosové rýchlosti ~60MB/s, kým SSD dosahuje cez 500MB/s. Hlavnou praktickou výhodou je ale rýchlosť náhodného čítania. Pri čítaní roztrúsených súborov (najčastejší prípad) sa klasický disk musí fyzicky posunúť na dané miesto, čo nejaký čas trvá a SSD môže čítať odkiaľkoľvek, hneď. Pozrite si porovnanie HDD a SSD, v tejto tabuľke. V prvom stĺpci je veľkosť dát, ktoré sa čítali z náhodných miest a v druhom počet takýchto blokov, ktoré disk prečíta za sekundu.

Obyčajný disk zvláda maximálne 50 náhodných čítaní za sekundu a SSD viac ako 10000. Holy balls! :) Maximálne rýchlosti SSDčka sú v mojom prípade "len" 256MB/s, lebo nemám rozhranie SATA3, iba SATA2 s polovičnou rýchlosťou.

V praxi to znamená, že Windows sa spustí za 15 sekúnd, Word za 1 sekundu, Photoshop za 6, Chrome za štvrť sekundy.. you get the idea. Rozdiel je cítiť skoro pri všetkom. Všetko sa deje takmer okamžite. (Okrem spúšťania veľkých bordelov ako je Photoshop alebo Windows;)

I want it NOW

Keďže sa píše rok 2011(2), pravdepodobne používate notebook a notebooky majú miesto len na jeden disk. Ak by ste chceli nahradiť pôvodný 500GB harddisk 500GB SSDčkom, vyšlo by vás to okolo 1000€. To je, samozrejme, hovadina. Za normálnu cenu (okolo 100€) dostanete len 60 gigabajtové SSD, čo je na reálne existovanie málo. Kam by ste sťahovali všetky tie seriály a porná? ;)

Z Opery na Google Chrome

napísal , 5 Dec 2011

Po rokoch prevažnej spokojnosti som z Opery prešiel na Chrome. Prečo?

opera to chrome to who knows what

Opera prináša novinky, je rýchla jak sviňa a pýši sa extrémnou customizovateľnosťou (take that, slovenčina!). Vďaka Nórskym junákom máme v prehliadačoch srandičky ako speed dial, mouse gestures, zoznam naposledy zatvorených stránok a taby (áno, tie taby). A asi 4 tisíc ďalších vecí, ktoré nikto nikdy nechcel. Prístup Opery je totiž v každej verzii na stenu hodiť 50 nových fičúr a čo sa neprilepí, v ďalšej niekam upratať. Na rozdiel od konkurencie má teda Opera všetko čo existuje a potom ešte kopu navyše a je na nás, čo budeme používať.

A to je OK. Mať sa s čím hrať a mať stále čo objavovať je fajn, mňa však už tie neustále zásahy do rozloženia prvkov a usporiadaní menu prestávajú baviť. Vďaka bezkonkurenčnej možnosti si prehliadač upraviť ako chcem, si ho síce vždy môžem upraviť ako chcem, avšak už nechcem. Chrome a Firefox síce inovujú pomalšie, ale ich prístup pôsobí stabilnejšie. Nevadí, že nebudem mať to najnovšie vždy ako prvý, kľudne nechám konkurenciu vyfiltrovať a eventuálne implementovať to najlepšie.

A keď už sa teda snažím hľadať negatíva - že Opera zobrazuje kopu stránok rozbito nie je tak celkom mýtus. Občas ide o chýbajúce alebo nesprávne fungujúce CSS3 srandičky, inokedy o drobné chybičky ako pri novom Google dizajne alebo o zbytočné varovania, ktoré musí človek odkliknúť len aby zistil, že všetko v pohode funguje. A občas človek narazí na stránku ako Tinkerbin, ktorá v Opere vyzerá takto.

Nie je to vôbec časté - plus je to skôr chyba stránky, nie prehliadača - ale keď sa to stane, je to otravné. A otravnosť je kumulatívna. Navyše som si nikdy nezvykol na developer tools.

Nič z toho nie je vyslovene deal breaker, Opera je stále dosť možno najlepší prehliadač, u mňa však prišiel čas na zmenu. Takže Chrome. Prečo nie Firefox? Pretože ten mi posledných pár verzií pripadá hrozne ťažkopádny, zaspatý. To je celé. Nemám to overené, štatistiky konzumpcie pamäte a žravosti procesora sú mi u prdele, u mňa je to o pocite.

Tak a poďme vymeniť jednu otravnú činnosť za druhú a namiesto rušenia features pridávať do Chrómu tie, čo potrebujem.. uh. Ale tak zmena je život, či čo, takže "wheee" I guess.

Let's do this.

CSSkové trojuholníky a bubliny

napísal , 13 Jul 2011
Počul som, že horíš nedočkavosťou vedieť ako robiť takéto bubliny s trojuholníkmi v CSS bez použitia obrázkov!
Hm, to znie ako riadna kravina, povedz mi o tom viac.
Nuž.. všetko to začalo obyčajným štvorcom, ktorý mal "border"...
...234567891011...