-
Ca sa faci o aplicatie web in general ai nevoie de o baza de date. La scoala in general invatam ca “baza de date este administrata de administratorul bazei de date”. Teoretic asa ar trebui sa se intample, practic… ajungem sa ne facem singuri bazele de date de cele mai multe ori.
PHP este folosit in general cu un SGBD (Sistem de Gestiune al Bazelor de Date), de obicei aceasta este MySQL. Atunci cand o aplicatie incepe sa mearga greu in general se cauta metode de optimizare incepand de la reducerea sau inlocuirea functiilor lente (de exemplu echo este mai rapida ca print sau nl2br($text) este mai rapida ca str_replace(“\r\n”,”
”,$text)) pana la reducerea numarului de cereri http (in loc de mai multe fisiere css se foloseste unul singur). Totusi un mod foarte simplu pe care foarte multi nu il iau in calcul este acela de a adauga un index pe tabela.Index-ul se adauga pe un camp pe care se fac sortari sau se pun conditii. Avantajul major este in momentul cand se extragi datele. Dezavantajul este atunci cand se introduc datele. Pe o tabela unde se fac modificari frecvent poate sa fie discutabila nevoia de un index, depinde de raportul de select-uri vs. insert-uri.
Cum se adauga un index:
1ALTER TABLE tabela SET INDEX(camp);
Chiar zilele trecute aveam o interogate destul de greoaie pe mai multe tabele si nu intelegeam cum poate totusi sa mearga atat de greu. Am adaugat un index pe criteriul de filtrare si unul pe cel de ordonare iar in mai putin de 5 minute totul a devenit mult mai rapid, a devenit de 3 ori mai rapida interogarea (si nu am decat 2000 de inregistrari)!
Poate cateva milisecunde in plus nu par mare lucru, dar luati in calcul cateva zeci sau chiar sute de interogari pe o singura pagina, inmultiti cu numarul utilizatoriilor care acceseaza pagina simultan si… nu o sa mai apara atat de putin.
-
Traim intr-o lume inconjurati de medii de programare. Incepand de la Adobe Dreamweaver si Eclipse pana la notepad fiecare din noi foloseste un mediu de programare, un IDE (Integrated development environment) sau pe romaneste “mediu integrat de dezvoltare”.
Fiecare firma si individ are preferintele lui in functie de limbaj, costuri, complexitate etc. Probabil cel mai folosit din punctul de vedere al webdesig-nerilor este Adobe Dreamweaver, ba chiar acesta este preferat si de foarte multi programatori. Eu personal am testat Zend Studio for Eclipse varianta trial si pot spune ca sunt impresionat, cand vine vorba de programare in PHP este un mediu complet utilat, dar nu voi intra in mai multe detalii.
Cu toate ca lumea este plina de IDE-uri, atat cu licente platite cat si open-source multe firma prefera varianta notepad sau chiar am intalnit la o firma editate folosind MC (Midnight Commander, foarte similar cu Windows commander dar pentru linux). Motivele sunt simple de cele mai multe ori, bani, obisnuinta, licenta incompatibila sau chiar lipsa de interes.
Eu unul pur si simplu nu pot sa-i inteleg pe cei care fac aceste alergeri, ok eu nu sunt designer si nici nu pretind ca sunt sub nici o forma dar fara un mediu cu WYSIWYG (What You See Is What You Get) ma simt terminat. Un mediu vizual poate sa creasca productivitatea considerabil si sa scada numarul de erori intr-un site, intr-un cuvand este o investitie nu o cheltuiala si ar trebui perceputa ca atare. Pentru mine sunt trei lucruri esentiale intr-un IDE: 1 sa aiba un editor WYSIWYG, 2 sa aiba autocomplete (nu pentru ca nu stiu sintaxa, dar ma ajuta sa scriu cod mult mai repede si mai corect), 3 sa aiba suport FTP ca sa pot lucra direct pe server. Daca tu nu folosesti asa ceva ar trebui sa te gandesti serios la asta, iar daca seful tau nu se gandeste la asta ar trebui sa te gandesti serios la care sunt prioritatile lui!
Concluzia, alege bine mediul de programare pentru ca el va determina cat de repede si bine vei lucra in continuare.
-
De putin timp Zend a lansat programul Zend Framework Certification. In cadrul programului de certificare, utilizatorul are la dispozitie manualul de referinta, ghidul de studiu, training si un voucher pentru examenul de certificare (si sa nu uitam un tricou foarte interesant 🙂 ).
Avantajele certificarii sunt aceleasi ca si la ZCE in PHP5.
Totusi fata de programul de certificare in PHP5, acest program are cateva lucruri diferite, cum ar fi:
PHP5 Zend framework – este universal valabila pentru toti cei care fac programare in PHP5 – este folositoare doar celor care lucreaza cu… ZF – este universal – exista si alte frameworkuri – trecerea la alte versiune nu implica decat cunoasterea diferentelor – trecerea la alt framework greoaie Trecand peste aceste diferente, atitudinea Zend este una bine venita, pana la urma atrage dupa sine un standard pentru in frameworkuri. Problema este ca nu sunt universal valabile, pana la urma chiar daca nu toti folosim un framework de pe piata, avem tendinta sa ne construim propriul framework.
Invatarea unui astfel de framework are totus avantajul de a oferi o noua perspectiva asupra lucrurilor, ne ajuta sa ne construm o imagine mai clara la ce trebuie sa ne asteptam de la frameworkul folosit. Pe de alta parte, un framework cum este Ruby on Rails a inspirat la randul lui multi programatori in modul cum un framework ar trebui construit, acesta avand echivalente in limbaje cum ar fi Java si evident PHP, fara ca multi dintre ei sa migreze la el. Si ce se intampla daca acum te certifici in el iar apoi te implici in proiecte care folosesc alte frameworkuri?
Pana la urma aceasta este tendinta, asa cum programarea obiectuala a oferit o perspectiva noua pentru refolosire fata de programarea procedurala, asa un framework are tendinta sa aduca programarea orientata obiect la un alt nivel, sporind gradul de refolosire al codului. Dar… doar Zend Framework este solutia?
-
Si a venit si momentul examenului (a si trecut). Dupa poate ceva mai putin timp decat ar fi trebuit pentru studiu, in ultima zi de concediu am decis sa sustin examenul.
Taxa am platit-o direct la Zend cu un card Visa Electron. Apropo, sa nu faceti aceeasi gresala ca mine, nu incercati sa platiti cu alt card decat cel personal! Am avut aproximativ 5 incercari, doua telefoane in Germania si unul in USA am ajuns sa-mi fac card pentru a cumpara examenul si alte cateva produse! Evident exista si alte metode de plata, dar nu la fel de rapide.
Cand am ajuns la programare, a fost deosebit de simplu, poate prea simplu pentru mine. Totul a mers conform planului, m-am programat si am asteptat ziua examenului.
Ziua examenului. Pentru ca nu aveam nici cea mai mica idee unde se afla centrul ales de mine din cadrul complexului Facultatea de Drept Bucuresti, am decis sa dau un telefon preventiv… nici un raspuns, am mai incercat, era suficient de tarziu cat sa fie cineva acolo si totusi… nici un raspuns.
Am hotarat sa ma duc acolo. Nu mica mi-a fost surpriza cand nimeni nu a auzit de Pearson VUE, iar cand spun asta nu ma refer la femeile de servici care tineau locul de portarului, ci la cei care raspund la telefonul de pe site. Dupa suficiente legaturi din centrala am gasit si centrul (undeva in dreapta) este de fapt un centru CISCO afiliat Person VUE.
Examenul a fost exact asa cum a fost descris pe site, singur in sala, fara obiecte personale, iar acelea care poti sa le iei cu tine in sala de examen nu pot sa le scoti. Examenul este supravegheat cu o camera, care ma facea sa cred ca voi auzi “zzz, zzzz” in timpul examenului de la zoom, dar nu a fost asa.
Examenul, asa cum scrie si in manualul de la Zend, se bazeaza pe experienta cu PHP. Trebuie sa ai cel putin idee de elementele PHP si in special sa ai ochiul format pentru debuging. Cum era de asteptat se analizeaza mai mult elementele atipice de implementare, functii standard PHP si mai putin capacitatea de a scrie cod, dar pana la urma este grila, nuprea aveau cum sa faca altfel. Examenul nu mi s-a parut foarte dificil, dar nici simplu. Se vede clar experienta cu PHP in intrebari, se vede cine s-a “jucat” si cine nu.
La finalul examenului, mi-a aparut “Congratulations you have passed the exam”, sau ceva de genul asta, eram prea fericit ca sa mai memorez.
A doua zi lucratoare am avut si profilul completat pe site, desi puteam sa-l editez la cateva ore de la terminare (de cand am ajuns acasa).
Acum astept diploma care se trimite prin posta, cred ca asta se trimite din Israel deci… o sa fie un cadou frumos de Craciun probabil…
Am uitat sa amintesc de “mock” testele pentru examen. Desi am primit la pachet 10, nu am folosit decat 3, iar cu fiecare test facut scorul a crescut. Din pacate motivul pentru crestere este ca intrebarile se repeta (nu toate dar suficiente) si nici macar nu le-am regasit in examen, forma este asemanatoare, dar diferentele sunt mari in continut. Va sfatuiesc sa nu luati pachete mari pentru ca rezultatele nu o sa mai fie relevante dupa primele teste.
Am citit pe alte bloguri care testul este mai ushor decat examenul. Eu nu am aceeasi parere, gradul de complexitate este de fapt similar, doar intrebarile deosebit de stufoase nu se regasesc in examen, in rest sunt similare.
-
php|architect’s Zend PHP5 Certification Study Guide – 2nd Edition, sau mai exact ghidul recomandata de Zend pentru sustinerea testarii in vederea obtinerii ZCE PHP 5.
O carte subtirica pentru un limbaj peste 1000 de functii (var_dump(get_defined_functions()); – 1297 in versiunea mea), dar exista o explicatie, aceasta carte NU ESTE UN MANUAL! este doar un ghid, manualul il cunoastem deja, se gaseste pe site-ul php.net.
Este o carte foarte interesanta, cel putin a fost pentru mine. Aceasta atinge practic toate subiectele posibile in cadrul examenului de certificare, dar NU le trateaza in detaliu. Daca intentionati sa studiati pentru certificare folosind aceasta carte, trebuie sa aveti manualul aproape, pentru ca nu se gasesc toate explicatiile in carte.
Pe alocuri mai sunt greseli, chiar daca este a doua editie, lucru care mi se pare bizar. Din fericire ele sunt destul de usor de reperat.
Editia a doua mai trateaza doua noi subiecte, respectiv PDO si mysqli. Chiar daca sunt tratate pe scurt, eu am mai gasit lucruri care nu le stiam in aceste capitole (ma indoiesc ca erau critice pentru a trece examenul, dar cred ca sunt utile pentru experienta mea).
Pana la urma este o carte interesanta, si nu de putine ori citind ma gandeam “nu stiam ca se poate face si asa”.
Eu am cumparat-o de la Zend, o data cu certificarea, un set de 10 teste si doua tricouri (php geek fashion 🙂 ), am ales livrarea prin posta, pentru ca era mai putin de jumatate fata de DHL si surpriza, pachetul a venit la doar o saptamana de cand am fost anuntat ca a plecat! Evident pachetul a venit de la un centru apropiat (element 5 Germania), desi initial ma gandeam ca o sa fie livrat din SUA sau Israel si o sa fie un frumos cadou de Craciun.