Iarăși vine vineri, iarăși am un laborator pentru Aplicații Web. După ce am discutat despre chestiuni de bază în PHP și apoi despre PHP orientat obiect, dispeceri, template-uri și CRUD (am adăugat și rezolvarea completă acolo, rămăsesem dator), mâine voi ține un laborator despre autentificare în Aplicații Web. Continuă să citești Laborator + Proiect AW
Etichetă: php
Încă o porție de Aplicații Web
Acum mai bine de o lună am scris un material care speram să fie un laborator de Aplicații Web – am trecut în revistă trei aspecte importante, prin care încercam să ne desprindem de atitudinea gen tutoriale și n00b în ale PHP-ului și să încercăm să aplicăm niște best practice-uri și niște tehnici comune din industrie.
Am reușit să parcurgem materialul, atașat mai jos împreună cu scheletul de început și rezolvarea primei părți (până la CRUD – restul rezolvării o public numai după luni, când am ultimul laborator pe tema asta), în trei săptămâni – și nu sunt convins că am terminat. Continuă să citești Încă o porție de Aplicații Web
yeti vs. mersultrenurilor.ro
Există site-ul ăsta, mersultrenurilor.ro, care este practic o interfață nouă, umană și bună (în comparație cu infofer.ro, care e urât, ne-prietenos și pe care nu te poți baza) pentru mersul trenurilor. Nu îmi este exact exact clar cum obțin informațiile (mersul trenurilor este o informație publică prin natura ei), dacă le obțin de la diverse agenții (mă îndoiesc) sau parsează conținuturi de pagini de la infofer și își fac o bază de date a lor, copie fidelă a bazei de date infofer.
Mie mi-a surâs foarte mult ideea, pentru că algoritmii pe care îi aplică site-ul oficial pentru calcularea rutelor sunt efectiv varză (adica dacă ai de schimbat, îți arată mii de legături, nu doar cele mai bune), și interfața lor lasă puternic de dorit. Mai mult, nu ai cum să integrezi informația de la infofer în altă aplicație. Așa că am crezut că, dacă oamenii ăștia au „eliberat” baza de date a CFR Călători or nu or să repete greșeala celor de la infofer de a obliga utilizatorii să folosească interfața lor. N-a fost așa :|.
M-am gândit să le scriu un mail, să le zic de posibilitatea asta extraordinară de a dezvolta ceva deosebit, dar nu aveau mail de contact pe site, doar formular de pus comentarii. Așa că am pus comentarii, mai ales liniștit că dacă nu vor să-l publice aveau moderare și cineva îl citea. Uite ce le-am scris:
Salut,
Avand in vedere ca oferiti aceeasi informatie ca si infofer, doar ca voi o faceti liber, aveti posibilitatea extraordinara sa implementati un SERVICIU WEB si sa deschideti baza asta de date (care oricum ar trebui sa fie publica, dar deh, nici nu vreau sa stiu ce calificare au oamenii lor pe tehnica / informatica) catre servicii terte.
Sunt sigur ca s-ar putea gasi o solutie pentru gazduire, dar ati putea pune baza unui serviciu mai mult decat util pentru foarte multe companii (agentii de turism, diverse site-uri). CFR nu prea are ce actiune sa ia impotriva unei treburi de genul asta, pentru ca in orice societate ne-inapoiata, EI ar trebui sa fie cei ce fac asta.
Am constatat cu placere ca nu aveti reclame pe site, deci nu o faceti pentru bani, si va felicit si va respect pentru asta. Sugestia mea ar fi : porniti un proiect OpenSource, lasati lumea sa vina sa va sprijine!
Și uite ce răspuns mi-or tras:
[RASPUNS] : Multumim. Dar pana la urma e munca 8ore/zi a unor oameni si nu poate fi open source.
GRRRRRRR…. mi se pare incredibil, o dată să ai idei așa bune, să le duci la implementare și să nu înțelegi avantajul OpenSource, și după aia să mai faci și pe șmecheru ca ui la ei cât lucrează și cum adică să dea și la alții.
Concluzia e că m-am supărat pe atitudinea asta și m-am hotărât să fac eu produsul opensource care să fie integrabil în alte aplicații, cum ar fi deskbar applet-ul meu de gnome :P, un serviciu web și de ce nu o aplicație pentru agenții de turism din țară și nu numai. Dacă este cineva interesat să dea o mână de ajutor, poate dăm lovitura și ieșim la pensie la 25 de ani! O să postez aici diverse update-uri în legătură cu starea aplicației.
Proiect IE
Proiectul de semestru la IE a constat în realizarea, în echipă, a unui site web care să prezinte activitatea unei firme / unui grup fictiv care îşi desfăşoară activitate în domeniul interfeţelor web. Până aici, simplu. Partea interesantă a fost că proiectul urma să fie punctat nu doar în funcţie de cum arată / cum satisface cerinţele punctuale, dar şi în funcţie de ce trafic web atrage, şi pe ce poziţie se află pe Google la o căutare după „interfeţe web”.
Cred că e în spiritul general al tipului de oameni care merg la genul ăsta de facultăţi (şi NU sunt legume) să se bage în competiţii (ştiu, sunt multe legume). Şi cum competiţia s-a prezentat singură de data asta, concurenţii n-au stat pe gânduri. Cam în acelaşi timp în care ne era prezentată tema de proiect, interfeteweb.com a fost cumpărat de unul din colegi. În următoarele două săptămâni, cei care s-au chiar interesat de proiect au vânat rapid cele mai multe domenii ieftine de cumpărat cu cuvintele interfete şi web. Noi, deşi eram relativ conştienţi de bătălia ce se dă, ne-am mişcat un pic mai târziu, dar am avut decizia şi banii să cumpărăm interfete-web.eu cât timp mai era liber.
Din păcate, pentru că am ales (nu ştiu de ce) să trecem printr-o firmă din România în loc să plătim live pe net cu cardu la cineva, deşi făcusem rezervarea, cineva mai ager a şi plătit înainte să putem noi să confirmăm ceva, deci am rămas fără domeniu aşa, la mustaţă (până la urmă am aflat că echipa lui Bogdan Zaharia a fost cea care ne-a luat domeniul). Evident, asta a însemnat recurgerea la soluţii de criză, şi astfel s-a născut interfete-web-beton.eu.
Ce a fost foarte ok pentru noi, care suntem crescuţi în proasta mentalitate de „totul se face în ultima clipă posibilă în care se poate face, sau chiar şi mai târziu” a fost că proiectul a impus nişte etape, ceea ce a însemnat că a trebuit să fim mai organizaţi. Pe lângă site, trebuia să întreţinem şi un blog, şi să postăm şi acolo, dar să scriem şi articole pe site, ca să generăm trafic. Soluţia pe care am găsit-o a fost să folosim Google Data API şi sa punem pe site dinamic toate chestiile ce le-am postat pe blog (şi cu ocazia asta am observat şi eu una alta despre Google Data API).
Ne-am promovat site-ul prin statusuri de messenger, şi se pare că avem muuulţi prieteni pentru că am avut foarte multe vizite. O vreme, chiar şi Google ne-a plăcut, chiar şi cu concurenţa puternică a unor colegi mai „strong”, eram undeva pe pagina 2, dar chiar înainte de prezentare am ajuns undeva pe poziţia 168 (nici noi nu ştim de ce).
Mai multe informaţii despre rezultatele proiectului sunt în prezentarea pe care am susţinut-o (cu mai mult succes ca cea de la CI), şi, evident, pe site.
Tema 4 IE
Am scris un pic înainte despre Tema 3 la IE, aia cu highlighter pe text (care, în tentativa de a o face mai „cool” am buşit-o). Ultima temă la IE a fost creearea unei interfeţe pentru o aplicaţie fictivă care caută în log-uri de diferite tipuri de clienţi de IM. Aplicaţia trebuia să aibă un screen de setări, configurabil (conturi / rezultate pe pagină) şi un screen pentru căutare, cu posibilitate de căutare simplă şi căutare avansată (după tip şi după dată).
Partea interesantă a fost că tema a dat mână liberă la metoda de implementare: putea să fie browserbased sau standalone sau whatever, java, javascript, c#, pygtk, ce-o fi. Eu am reuşit să mă apuc de temă după ce am încheiat ultimele modificări la site-ul pentru proiectul la IE (despre care o să scriu mai încolo), deci pe la vre-un 5AM. Prezentarea trebuia făcută la 10AM, odată cu predarea proiectului, deci nu era foarte multă vreme la dispoziţie.
Am ales să o fac în Javascript / PHP pentru că îmi era cel mai la îndemână, dar omg cât de urât am fost obligat să codez din lipsă de timp. Rezultatul final a trecut „testul” (cu toate că au existat dezbateri dacă aplicaţia chiar trebuia să facă o filtrare de date phony sau putea să afişeze orice), adică implementa în mare facilităţile cerute, chiar dacă ultimele chestii le-am făcut pe scări la EG-uri în faţa laboratorului şi chiar în timpul prezentărilor. Trebuie să spun aici ca am „furat” de la micvs ideea cu logourile aplicaţiilor de IM în interfaţă :P.
Rezultatul final e aici, dacă vreţi să aruncaţi un ochi. [notă: evident că am sfeclit ceva pe-acolo când am făcut versiunea de pus pe site, deci probabil are bug-uri].