-
Vin sarbatoriile! Toata lumea se bucura si se gandeste ce sa mai indese sub brad. Magazinele mari vin in aceasta perioada cu super-oferte, dar oare cat de “super” sunt aceste oferte.
Am ramas uimit de multe ori cum unele firme foarte mari vindeau niste calculatoare mai mult decat slabe la niste preturi, aparent foarte tentante. O oferta suna cam asa “Notebook … Procesor Intel Celeron Dual Core T1500”, pe bune, cam atata e toata, am scos doar marca. Poate pentru unii este evident cam cat de “tentanta” este oferta, dar pentru ceilalti chiar suna bine, mai ales ca pretul este destul de mic. O oferta serioasa, indiferent de unde provine trebuie sa listeze toate componentele, nu doar procesorul si alte componente mai rasarite. In cazul unui laptop poti avea noroc (dar nu te baza pe asta), laptopurile vin in general cam in aceeasi configuratie, variaza doar RAM-ul sau marimea HDD, dar nu este o regula generala. In cazul desktopurilor totusi… e alta treaba.
Cu cativa ani in urma reparam calculatoare, atat hardware cat si software, eram genul de tip la care te duci daca nu mergea ceva sau aveai nevoie de ceva. In perioada aceea am avut ocazia sa vad multe calculatoare atat pe dinafara cat si pe dinauntru.
Am vazut mai multe calculatoare cumparate “la oferta” in rate pe mai multi ani, iar cand le-am deschis am avut senzatia a carui echivalent culinar este de a deschide o cratita de mancare uitata in frigider. Componentele in general sunt cele mai ieftine de pe piata, de fapt sunt atat de ieftine incat nici nu am auzit de marcile acelea. Un alt caz este atunci cand nu este un calculator bine echilibrat, iar cand spun asta ma refer ca degeaba are calculatorul 3GHz de procesor daca are 512 MB RAM.
Concluzia, cand mergeti la cumparaturiile de sarbatori nu va aruncati la orice oferta, o placa de baza slaba poate sa diminueze performanta intregului calculator, sau si mai rau, sa cedeze repede si sa traga dupa sine componente scumpe, decat sa dai bani putin pe un calculator care o sa se strice inainte sa termini de platit la el, mai bine rogi pe cineva sa te ajute. Si nu in ultimul rand ai grija sa nu-ti distrugi calculatorul!
Cumparaturi placute!
-
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.
-
-
Dupa ce am sustinut cu ceva timp in urma examenul de certificare ZCE in PHP5, intr-un final a venit si plicul cartonat care il asptetam cu atata nerabdare.
O data cu plicul am descoperit si de ce a durat atat, pe el scria mare Russian Federation, Bucharest. Pe aproape dar nu tocmai bine.
Diploma e foarte draguta (mai ales dupa ce am asteptat-o atat), cu timbru embosat si semnaturile lui Zeev Suraski si Andi Gutmans, fondatorii Zend. In plic mai era si o pagina cu avantajele care le ai ca ZCE si un abtipild maricel cu ZCE PHP5.
Cu acestea fiind spus episodul ZCE PHP5 ia sfarsit… pana la urmatoarea certificare.
-
Trimiterea variabilelor GET este simpla, doar pui variabila in coada paginii ex: www.domeniu.ro?foo=bar. Dar cand vine vorba de variabile de tip POST treburile nu mai sunt usoare.
Din fericire PHP are o solutie pentru cam tot ce este nevoie, in acest caz cURL.
Problema: am nevoie sa trimit niste variabile POST catre un formular undeva pe net alaturi de un fisier, apoi trebuie sa prelucrez raspunsul.
Solutie:
-
avem nevoie sa ne asiguram ca extensia cURL este instalata, daca nu este instalata trebuie sa o instalam (mai multe detalii in manual).
-
trebuie sa stabilim ce variabile trebuie sa trimitem, sa luam ca exemplu variabilele “fisier” si “test”.
-
sa inceapa treaba:
1//calea catre fisier 2$file = "c:\htdocs\www\fisier.jpg"; 3 4// variabilele care le vom trimite 5$data = array("fisier" => "@$file", 6 "test"=>"valoare"); 7 8// se deschide o noua sesiune cURL 9$c = curl_init(); 10 11// destinatia unde este prelucrat formularul 12curl_setopt($c, CURLOPT_URL, 'http://www.domeniu.ro/fisier-prelucrare.php'); 13 14// metoda de trimitere a datelor 15curl_setopt($c, CURLOPT_POST, true); 16 17// datele de tip POST care se vor trimite 18curl_setopt($c, CURLOPT_POSTFIELDS, $data); 19 20// setare pentru ca rezultatul trimiterii sa fie intors intr-o variabila 21curl_setopt($c, CURLOPT_RETURNTRANSFER, true); 22 23// aici se trimit efectiv datele 24$rezultat = curl_exec ($c); 25 26// se inchide sesiunea cURL 27curl_close ($c); 28 29// rezultatul trimiterii (ce va afisa pagina respectiva) se afisaza pe ecran 30echo $rezultat;
La final se va afisa rezultatul transmis de pagina spre care au fost trimis datele.
Asta e tot, simplu nu?
-