Acasă
Despre
Cautare
🌐
English Română
  • PHP6, doar o alta poveste… (PHP6 si cartile)

    Read this post in English

    Feb 22, 2016 carte php6
    Share on:

    Gata, razboiul s-a terminat, PHP7 s-a lansat, iar PHP6 va ramane doar o legenda, o poveste a versiunii care nu a existat.

    Dupa o vreme nu cred ca se mai astepta nimeni sa apara, au trecut totusi aproape 10 ani, dintr-un total de 20 de ani de viata pentru PHP.

    Dar cum se poate ca o versiune atat de asteptata sa nu apara de loc?

    Sa incepem cu inceputul, cand, acum aproximativ 10 ani, PHP devenea un limbaj “serios”. Dupa versiunea PHP5, model obiectual avea in sfarsit vizibilitate specifica pentru metode si proprietati, obiectele nu mai erau copiate, ci trimise prin referinta. Aceste facilitati au generat o multitudine de framework-uri obiectuale, care acum erau destinate si mediului enterprise, nu doar pentru site-uri micute.

    In tot acest context exista o problema, internationalizarea.

    Asa a aparut PHP6, trebuia sa fie un limbaj care sa foloseasca nativ Unicode, mai specific UTF-16. Asa totul se va procesa intr-un format unic si international.

    Proiectul a fost pornit si intretinut de Andrei Zmievski. Poate astazi nu multi au auzit de Andrei, dar acum 10 ani era foarte popular pentru proiecte precum Smarty si PHP-GTK.

    Dupa cativa ani proiectul a ramas intepenit, iar atunci a aparut PHP5.3. Acesta, desi aducea schimbari importante, nu era o versiune majora pentru ca inca mai era speranta ca intr-o zi va fi un PHP6.

    Existau totusi niste oameni plini de speranta! Si mai ales, care au fost gata sa monetizeze speranta!

    Fie ca unii au fost autori, iar altii editori, ei stiau un lucru legat de carti (in special de cele tehnice) ca au niste lucruri clare: un public tinta si o perioada in care este relevanta.

    Dar sa analizam si niste rezultate.

    PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide (3rd Edition) (Peachpit Press – 2008) – Larry Ullman

    PHP_6_and_MySQL_5_for_Dynamic_Web_Sites_Visual_QuickPro_Guide

    Larry a scris mai multe carti, printre care: “PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide (2nd Edition)” si evident “PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide”.

    Intamplator am avut ocazia sa rasfoiesc toate cele 3 carti, dar nu in ordinea cronologica ci pur intamplator am inceput cu “PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide (2nd Edition)”. Ce e interesant este ca similitudinea este izbitoare, practic a pus un 6 in titlu si in rest aproape ca nu a schimbat cartea de loc.

    In general toate cartile Visual QuickPro Guide sunt carti pentru incepatori, iar de la o editie la alta lucrurile nu se schimba prea mult, doar se adapteaza.

    Professional PHP6 (Wrox 2009) – Ed Lecky-Thompson, Steven D. Nowicki (Thomas Myer)

    Professional_PHP6_Wrox_Programmer_to_Programmer

    Interesant este ca in imagine apar 3 persoane, dar pe Amazon.com si pe Wrox apar doar doua nume, de asta am tinut sa-l trec separat, este vorba de Thomas Myer.

    Ma intreb oare daca Thomas Myer a cerut sa dispara, sau a fost scos? E bizar sa ai numele pe o carte dar sa nu apari in lista de autori pe site-ul editurii.

    Nu intamplator exista si o “Professional PHP5” – Ed Lecky-Thompson, Heow Eide-Goodman, Steven D. Nowicki, Alec Cove.

    PHP 6/MySQL Programming for the Absolute Beginner (Cengage Learning PTR – 2008) – Andrew B. Harris

    PHP_6_MySQL_Programming_for_the_Absolute_Beginner

    Este intradevar o carte bizara, nu exista un echivalent de PHP5, ba chiar pe site-ul scriitorului nu mai exista alta carte de PHP: .

    Exista oare un motiv? In cazul lui Larry Ullman era un alt subiect atins, un alt public tinta, dar in acest caz e doar ciudat, un singur autor, o singura carte de PHP si intr-o versiune fantoma, publicata in 2008.

    PHP 6 Fast and Easy Web Development (Cengage Learning PTR – 2008) – Matt Telles, Julie C. Meloni

    PHP_6_Fast_and_Easy_Web_Development

    Fara prea multa dificultate am gasit si: “PHP Fast & Easy Web Development” – Julie C. Meloni

    Ciudatenia acestei carti este ca Matt Telles nu mai are alta carte de PHP, desi are de Python, C# si C++.

    Ceva imi spune ca poate el a fost adus doar ca sa actualizeze cartea originala la noul context. Am crezut ca este doar o parere presonala, doar ca la o cautare pe Google am gasit ca este si Technical Reviewer pentru “PHP 6/MySQL Programming for the Absolute Beginner (Cengage Learning PTR)”, carte care a fost prezentata anterior.

    Beginning PHP 6, Apache, MySQL 6 Web Development (Wrox – 2009) – Timothy Boronczyk, Elizabeth Naramore, Jason Gerner, Yann Le Scouarnec, Jeremy Stolz

    Beginning_PHP_6_Apache_MySQL_6_Web_Development

    Cartea originala a fost evident: “Beginning PHP, Apache, MySQL Web Development” – Michael K. Glass, Yann Le Scouarnec, Elizabeth Naramore, Gary Mailer, Jeremy Stolz, Jason Gerner

    Au iesit Michael K. Glass si Gary Mailer, iar in locul lor a intrat Timothy Boronczyk.

    PHP a fost un limbaj foarte la moda in perioada respectiva, iar PHP6 a fost foarte asteptat.

    Cum se poate totusi asta? Cum se poate sa existe atatea carti de la edituri importante pentru un limbaj de programare care nu a existat? Raspunsul este simplu: lacomie.

    Exista doua explicatii posibile: ori autorul a incercat sa acapareze piata cu o noua versiune, ori editura a vrut sa forteze nota, in speranta de a capta piata. Probabil speranta era ca in momentul cand ar fi aparut, ar fi avut cartile deja disponibile pentru livrare.

    Acesta este un alt motiv pentru care nu era un plan bun ca versiunea PHP NG sa devina PHP6, ar fi insemnat sa apara o versiune de PHP si sa aiba deja o serie de carti scrise, ba chiar scrise de cativa ani.

    Pun pariu ca atunci cand s-a votat intre PHP6 si PHP7 erau niste editori plini de speranta.

    In continuare, va urez lectura placuta!

  • Exista viata si fara PHP6 – Retrospectiva 2012

    Read this post in English

    Jan 14, 2013 PHP php5.3 php6
    Share on:

    A mai trecut un an fara suport nativ de unicod in PHP. Da, nu a aparut inca PHP6, in caz ca cineva chiar se mai intreba asta…

    In schimb, versiunea care a aparut este PHP 5.4. Cu aceasta versiune cred ca nu au fost adaugate decat lucruri de finete, nu mai e o schimbare asa de mare cum a fost in cazul PHP 5.3. In PHP 5.4, schimbarea majora o reprezinta traits si, favorita mea, noua varianta de closure.

    Dupa cum anul trecut cuvintele cheie au fost Drupal si Magento, anul acesta cuvantul cheie a fost doar Magento.

    Acum doua luni, mai mult fortat de imprejurari, am sustiunut examenul de certificare pentru Magento Plus. Pentru aceasta certificare, angajatorul meu, Optaros, a avut o influenta majora. Am fost mai mult sau mai putin obligat sa-l sustin si alaturi de asta a trebuit si sa facem parte dintr-un study group organizat de companie.

    Nu am mai facut parte dintr-un study group din facultate si trebuie sa recunosc ca uitasem utilitatea lui. Cei care aveau mai multa experienta cu Magento (fata de mine care am putin mai mult de un an), au ajutat foarte mult la clarificarea unor probleme si la documentarea lor.

    Dar mai multe despre asta intr-un alt blog, care va urma curand (sper)…

    Oricum, dupa ce a trebuit sa studiez atat de in detaliu Magento, trebuie sa recunosc ca am mult mai mult respect pentru platforma. Dupa ce analizezi arhitectura din spate, incepi sa percepi altfel lucrurile. Arhitectura este foarte interesanta si destul de flexibila, lucru care te face sa treci cu vederea unele neajunsuri.

    Acum ca a inceput un nou an, imi doresc sa public mai mult, cred ca in ultima perioada nu am fost foarte “productiv” cand vine vorba de publicat, fie ca este text sau cod.

    Si anul acesta mi-am propus sa sustin cel putin un examen de certificare. Cum certificarea de Magento era in plan de abia pentru anul acesta, inca mai am optiuni pe lista.

    Cam atat despre 2012 si planurile pentru 2013.

    Va doresc un 2013 extraordinar!

  • A mai trecut un an iar PHP 6 ramane un mit – retrospectiva 2011

    Read this post in English

    Jan 3, 2012 Magento php5.3 php5.4 php6 Symfony
    Share on:

    A devenit o traditie pentru mine sa incep retrospectiva anuala cu acest subiect.

    PHP 6 este la fel de aproape de lansare cum era si anul precedent, sau acum doi ani, adica lipsit de perspectiva. In 2011, PHP 5.4 a ajuns la RC4 si probabil se va lansa in curand versiunea finala, lucru care inseamna ca inca nu se previzioneaza o data pentru lansarea PHP 6. Dar despre PHP 5.4 cu alta ocazie, este pe lista mea de “TODO” sa vad ce a ajuns in RC4.

    Cum in PHP 5.3 cuvintele cheie pentru mine au fost namespaces, Anonymous functions, closures si garbage collector, in PHP 5.4 se pare ca aceste cuvinte cheie vor fi traits, din nou closures si scalar type hinting, alaturi de multe alte noutati.

    Cand am scris primul meu blog anual despre PHP 6, lucram in principal la site-uri in romana, de acolo si dorinta mea pentru o versiune care sa suporte in mod nativ aceasta limba sau oricare alta fara nici o modificare. Pe atunci lucram in cea mai mare parte direct cu limbajul, de cele mai multe ori fara sa folosesc un framework . Dar de atunci a trecut mult timp si mutle lucruri s-au schimbat, acum folosesc aproape exclusiv framework-uri si platforme care m-au indepartat de limbaj oferindu-mi o noua perspectiva arhitecturala.

    Dupa mai bine de un an in cadrul NCH, am decis ca este timpul pentru o schimbare. Si de data asta este vorba tot de o corporatie venita din state cu o sucursala in Romania. De data asta este vorba de Optaros. Desi nu intentionam sa-mi schimb locul de munca, am dat curs unei invitatii la interviu si pe scurt, am plecat. De mult simteam nevoia sa lucrez din nou pentru clienti externi, dupa experienta NCH unde toate proiectele erau interne, simteam nevoia de o schimbare.

    Din nou proiectele sunt si mai mari, cu alte probleme de scalabilitate. Dar cred ca asta face web development-ul atat de interesant, cu cat ai probleme mai mari de scalabilitate, cu atat inseamna ca lucrezi la un proiect mai mare.

    Anul trecut cuvintele cheie au fost Linux si Symfony framework. Pentru anul care tocmai s-a incheiat cuvintele cheie probabil au fost: Magento si Drupal.

    Dupa o scurta perioada de lucru cu Magento, pot spune ca mi se pare incredibil cum o platforma atat de mare are atat de putina documentatie si de multe ori atat de multa inconsistenta. Este o plaforma foarte complexa cu care poti face foarte multe lucruri, dar cand vine vorba de documentatie, se pare ca abordarea se rezuma la a analiza core-ul. Venind din lumea Symfony, unde exista literalmente carti intregi de documentatie, puse la dispozitie in mod gratuit, mi se pare incredibil cat de putina si descentralizata documentatie este pentru Magento. Dar de asemenea este un subiect pentru un alt blog. Cred ca aici echipa Optaros m-a ajutat destul de mult ca sa inteleg cum sa abordez problemele.

    Un alt eveniment important pentru mine acest anul trecut a fost Yahoo! Open Hack Day, eveniment tinut si in Romania in 2011. Nu stiu daca am mai vazut atata entuziasm si energie intr-un singur loc, intr-o singura zi. Pentru mine ca programator a fost o experienta de neuitat, unul din momentele care m-au facut sa-mi aduc aminte de ce am ales aceasta profesie.

    In acest an am dat si examenul de certificare pentru PHP 5.3, chiar la inceptului anului. Examenul nu a fost atat de greu cum ma asteptam, desi se pare ca emotiile raman neschimbate. Faptul ca am mai sustinut un examen m-a ajutat mult, incredibil cat de multe lucruri iti aduci aminte cand le recitesti. Anul trecut mi-am propus sa sustin cel putin un examen de certificare pe an, deci trebuie sa incep pregatirile pentru urmatorul examen.

    Concluzionand, 2011 a fost un an bun, plin de realizari si provocari, chiar daca nu am bifat foarte multe lucruri pe rezolutia de an, am realizat si multe lucruri care nu erau pe ea. Dar acum este timpul pentru o noua rezolutie de an.

    Iar acum va urez un 2012 mai bun si mai plin de realizari! La multi ani!

  • PHP 5.4 Alpha 1 este aici!

    Read this post in English

    Jul 1, 2011 closures php5.3 php5.4 php6 scalar type hinting traits
    Share on:

    Acum trei zile, adica pe 28-06-2011 a fost anuntat pe ww.php.net versiunea PHP 5.4 alfa 1!

    Practic in aceasta versiune sunt inglobate ultimele lucruri care au fost realizate pentru PHP 6 si nu au apucat sa intre in PHP 5.3, alaturi de alte cateva lucruri noi.

    Unele din cele mai interesante faclitati noi:

    Traits

    Un nou feature de OOP. Practic se folosesc pentru refolosire orizontala de cod, adica mostenire de metode in loc de extiderea de clase.

     1trait Inharitable {
     2    public function test() {
     3        echo 'Class: ' . __CLASS__ . ' Method: ' . __METHOD__ . PHP_EOL;
     4    }
     5}
     6
     7class A {
     8    use Inharitable;
     9}
    10
    11class B {
    12    use Inharitable;
    13}
    14
    15$a = new A();
    16$a->test(); //Class: Inharitable Method: Inharitable::test
    17
    18$b = new B();
    19$b->test(); //Class: Inharitable Method: Inharitable::test
    

    Trait-urile din PHP 5.4 sunt practic noile namespace-urile din PHP 5.3, adica cea mai interesanta facilitate din PHP 5.4.

    Scalar type hinting

    Pana la PHP 5.3 nu exista type hinting decat pentru clase, interfete si array-uri. Acum se va putea face type hinting si pe tipuri scalare de date cum ar fi: int, string, float, bool si resource.

    1function test(string $var) {
    2  echo $var;
    3}
    4
    5$a = 'aa';
    6test($a);
    

    Din pacate pe versiune alfa instalata la mine pe calculator primesc: Catchable fatal error: Argument 1 passed to test() must be an instance of string, string given, called in .. on line 58 and defined in … on line 52

    Ce pot spune… e inca alfa…

    Closures

    Da, stiu, exista si in PHP 5.3, dar e incomparabil. In PHP 5.3 daca vroiau un closure trebuia sa folosesti cuvantul use iar apoi sa specifici variabilele la care functia lambda va avea acces.

    In PHP 5.4 incepe sa arate mai mult a JavaScript, in sensul bun:

     1class closureTest {
     2
     3    private $a;
     4
     5    function test() {
     6        $this->a = 'object var';
     7        return function () {
     8            echo $this->a;
     9        };
    10    }
    11}
    12
    13$a = new closureTest();
    14$b = $a->test();
    15$b(); // object var
    16unset($a);
    17$b(); // object var
    

    Closure in adevaratul sens al cuvantului cu lambda functions asa cum ar trebui sa fie! Asa cum si lambda functions existau si inainte de PHP 5.3, dar de abea dupa ce a aparut noua sintaxa au devenit populare, acum era vremea pentru closures.

    Acestea sunt lucrurile care mi se pare cele mai interesante, dar sunt doar o parte din ce aduce nou PHP 5.4!

    Este foarte probabil ca pana la finalul anului sa apara si versiunea finala.

    Sunt curios daca o data cu PHP 5.4 va aparea si o noua certificare, avand in vedere ca schimbarile nu sunt totusi atat de majore.

  • A mai trecut un an iar PHP 6 nu va veni

    Read this post in English

    Dec 31, 2010 linux php5.3 php6 Symfony zce zend framework
    Share on:

    A mai trecut un an iar PHP 6 nu va veni.

    De 2 ani astept PHP 6, cred ca a devenit mai mult un blog traditional cu care sa inchei anul.

    PHP 6 nu va mai veni pentru ca trunk-ul a fost abandonat si refacut dintr-unul de 5.3.

    In alta ordine de idei PHP 5.3 castiga popularitate. Frameworkuri precum Zend Framework si Symfony pregatesc pentru anul 2011 cate o versiune in 2.0 care va avea nevoie de PHP 5.3+. Chiar si CodeIgniter, un framework traditional PHP 4, va necesita o data cu versiunea 2.0 minim PHP 5.1.6.

    Mai mult, certificarea oficiala Zend pentru PHP este mai nou ZCE 5.3, iar aceasta devine destul de populara, chiar daca a fost lansata doar cu cateva luni in urma.

    Dar un nou an se incheie si este timpul sa bifam realizariile din rezolutia de anul trecut si sa o scriem pe urmatoarea.

    Anul trecut am terminat masterul, cu asta am incheiat mult prea multi ani de scoala decat imi doresc sa calculez. De fapt aceasta este prima iarna cand nu sunt intr-o forma de invatamant, poate de asta mi se pare ca am ceva mai mult timp liber :).

    Am schimbat locul de munca, iar cu asta am fost fortat sa folosesc cateva lucruri care erau pe lista de TODO de ceva vreme:

    • Linux
    • Symfony Framework Linux era un subiect in jurul caruia ma invart inevitabi de destul de multi ani, fara sa-l aprofundez de loc. A fost mereu pe lista mea de “todo”, dar niciodata nu am avut atata rabdare ca sa intru in detalii cu el sau nu am avut continuitate atunci cand am facut-o. Cand am ajuns la noul loc de munca m-am trezit in fata unui calculator cu Ubuntu si un pic de panica m-a cuprins.

    Dupa cateva luni am facut un nou pas, pentru prima data in viata mea am fost la un curs profesional. Cursul era organizat de Info Academy. Platit din buzunarul meu si usor suprapus cu programul de lucru. Dar am ajuns la concluzia ca trebuie sa-l fac. Probabil nu suna ca mare lucru, dar pentru mine care sunt in general autodidact a fost destul de ciudat. Acum ca s-a terminat pot spune ca a fost o foarte buna investitie si il recomand.

    Undeva pe parcursul cursului mi-am dat seama ca e timpul sa mai fac cate un boot in linux si acasa. Urmatorul pas a fost reconfigurarea boot managerului sa booteze direct in linux. Acum, dupa ce folosesc aproape exclusiv linux, am ajuns la concluzia ca este suficient de user friendly incat sa fie o alternativa reala pentru Windows.

    Symfony framework este alt subiect prafuit pe lista de “todo”. Desi am mai abordat CodeIgniter si Zend Framework, de Symfony nici macar nu m-am apropiat pana anul trecut. Se simte diferenta fundamentala de concept dintre ZF si Symfony, iar eu am simtit-o pe pielea mea. Acesta a fost alt motiv de panica pentru mine la noul loc de munca, pana la urma “all frameworks suck”.

    Nu este un framework usor de invatat din pricina conceptelor, dar acum sunt de parere ca merita. Ce-mi place cel mai mult la acest framework este generarea de CRUD, care se face foarte usor si totusi este foarte puternica si flexibila. De asemenea flosirea fisierelor YML, care se pare ca au fost preluate de la Ruby on Rails, este o alternativa mult mai buna la fisierele ini care sunt suportate nativ in PHP.

    Ca sa concluzionez, 2010 a fost un an bun, cu multe realizari, chiar daca nu am bifat totul pe rezolutia de anul trecut, cred ca am bifat destule.

    Iar acum va urez un an 2011 mai bun si plin de realizari! La multi ani!

    • ««
    • «
    • 1
    • 2
    • 3
    • »
    • »»

Claudiu Perșoiu

Programare, tehnologie și altele
Mai multe

Postări recente

  • Slider in Tasmota folosind BerryScript
  • Proiectul care rezista probei timpului
  • Docker in interiorul wsl2
  • Migrând de la Wordpress
  • Calea personalizată pentru Composer cache
  • Magento2 si crudul adevar
  • Un pic de PHP, Go, FFI si atmosfera de sarbatori
  • Cum sa folosesti Xiaomi Air Conditioning Companion in Home Assistant in doar de 20 pasi usor de urmat!

DIVERSE 72 PHP 67 JAVASCRIPT 22 BROWSERS 12 MYSQL 12 WEB STUFF 12 MAGENTO 7 DESIGN PATTERNS 5 HARDWARE 3 HOME AUTOMATION 2 LINUX-UNIX 2 GO 1 MISCELLANEOUS 1

PHP 52 JAVASCRIPT 20 PHP5.3 14 MYSQL 13 PHP6 12 PHP5 10 FIREFOX 9 CERTIFICARE 8 INTERNET EXPLORER 8 ZCE 8 ZEND 8 CERTIFICATION 7 MAGENTO 7 HACK 6
Toate etichetele
10 ANI1 3D1 ADOBE AIR2 AJAX1 ANDROID3 ANGULAR1 ANONYMOUS FUNCTIONS3 API1 APP1 BERRYSCRIPT1 BETA1 BOOK1 BROWSER4 C2 CALCULATOARE1 CARTE2 CERTIFICARE8 CERTIFICATION7 CERTIFIED2 CERTIFIED DEVELOPER1 CHALLENGE1 CHM1 CHROME1 CLASS1 CLI2 CLOSURES5 COD1 CODE QUALITY1 CODEIGNITER3 COFFEESCRIPT1 COLLECTIONS1 COMPOSER1 CSS3 CSV1 CURL1 DEBUG1 DESIGN PATTERNS4 DEVELOPER1 DEVELOPMENT TIME1 DIAGRAME1 DOCKER2 DOCKER-COMPOSE1 DOUGLAS CROCKFORD3 DRIVERE2 ELEPHPANT2 ENGINEER1 EXAMEN1 EXCEL1 FACEBOOK2 FEEDBACK1 FFI1 FINALLY1 FIREFOX9 FISIERE1 FPDF1 FRUMOS1 FTP1 GAMES1 GD2 GENERATOR1 GO1 GOOGLE5 GOOGLE ANALYTICS1 GOOGLE CHROME3 GOOGLE MAPS2 HACK6 HARDWARE1 HC-911 HEADER1 HEIGHT1 HOMEASSISTANT2 HTML2 HTML HELP WORKSHOP1 HTML51 HUG1 HUGO1 IDE1 IMAGINE1 INFORMATION_SCHEMA1 INI1 INTERNET4 INTERNET EXPLORER8 IPV41 IPV61 ISP1 ITERATOR2 JAVA1 JAVASCRIPT20 JQUERY1 LAMBDA2 LAPTOP2 LINUX1 LIVELY1 LUNI1 MAGENTO7 MAGENTO22 MAP1 MAPS1 MICROSOFT1 MINESWEEPER1 MOTIVATION1 MSN MAPS1 MYSQL13 MYSQL WORKBENCH1 NGINX1 NODE.JS2 NOFALLOW1 NOSQL1 OBSERVER3 OBSERVER PATTERN1 OOP1 OPERA1 OPTIMIZATION1 ORACLE2 PAGESPEED1 PAIR1 PARSE_INI_FILE1 PASCAL1 PEAR1 PECL1 PERSON VUE2 PHAR1 PHONEGAP2 PHP52 PHP ELEPHANT2 PHP FOR ANDROID1 PHP-GTK1 PHP42 PHP510 PHP5.314 PHP5.46 PHP5.53 PHP5.61 PHP612 PHP7.41 POO1 PR1 PROGRAMMING1 PROIECTE1 RETEA1 REVIEW1 ROCK STAR1 ROMANIAN STEMMER2 RSS1 SAFARY1 SCALAR TYPE HINTING1 SCHEME1 SEO1 SET1 SHOPPING CART PRICE RULE1 SIMPLEXML1 SINGLETON1 SOAP2 SPL2 SQLITE1 SSH1 STACK TRACE1 STDERR1 STDIN1 STDOUT1 STOCATE1 STUDY GUIDE1 SUN2 SYMFONY2 TABLE1 TASMOTA1 TEST TO SPEECH1 TITANIUM2 TRAITS1 TTS1 UBUNTU1 UNICODE3 UTF-82 VECTOR1 VISTA2 WEB2 WEBKIT1 WINBINDER1 WINDOWS2 WORDPRESS1 WSL21 WYSIWYG1 XP3 YAHOO3 YAHOO MAPS2 YAHOO OPEN HACK1 YSLOW1 YUI1 ZCE8 ZCE5.31 ZEND8 ZEND FRAMEWORK4
[A~Z][0~9]

Copyright © 2008 - 2024 CLAUDIU PERȘOIU'S BLOG. Toate drepturile rezervate