Posts RSS Comments RSS

Archive for the 'PHP' Category

Apache + Subversion + TortoiseSVN + Python + Trac + (ingredient special) = WTF!?

trac
Pentru cei care nu au inteles nici unul din cuvintele din titlu poate ar fi mai bine sa citeasca asta.
Cei care o ard pe programare web si tot nu stiu despre ce-i vorba ar trebui sa citeasca asta .

WTF!? Cine credea ca o sa mearga combinatia de mai sus, in cazul in care ingredientul special = Windows? Sincer eu nu ma asteptam, mai ales ca aveam niste proiecte incepute deja in subversion si vroiam sa le integrez in trac. Si in plus am niste path-uri destul de ciudate pe PC-ul pe care am vrut sa instalez minunatia asta de sistem, deci probabilitatea sa gresesc ceva in config-uri e destul de mare. Ei, norocul meu ca am gasit un site cu niste tutoriale video foarte usor de urmarit. Pentru prosti ca mine. Clar.
Gasiti acolo pas cu pas cum se:

Instaleaza Appache pe Windows. Eu aveam instalat xampp. Am sarit peste pasul asta. Dar e bine ca totusi am citit articolul deoarece am gasit acolo o arhiva cu toate aplicatiile de care e nevoie sa instalati chestia aia lunga din titlu.

Instaleaza subversion pe Windows
Instaleaza TortoiseSVN pe Windows. Aveam deja dar cu ocazia asta am facut un upgrade.
Faci legatura dintre Appache si Subversion.
Instaleaza Python pe Windows. Ma bucur ca am instalat python-ul cu ocazia asta, pentru ca aveam de gand sa ma apuc sa-l studiez in viitor (sper sa fie viitorul apropiat, in functie de cat o sa fiu de ocupat).
Instaleaza Trac pe Windows.
Legatura intre Apache si Trac
Ce se intampla practic la legaturile astea Apache-Trac, Apache-Subversion? Pai practic la cererea unor linkuri de genul: www.exemplu.com/svn sau www.exemplu.com/Trac, cerinta e preluata de modulele alea adaugate: subversion si trac. Mai departe daca nu stiti ce se intampla, nu conteaza f mult.

Ce trebuie sa aveti grija:
Dupa cum v-am spus, path-urile voastre din calculator s-ar putea sa difere foarte mult de cele din exemplu, asa ca verificati foarte atent cand puneti liniile alea in config.
Aveti grija sa nu va scape eroarea si sa puneti:
LoadModule dav_svn_module C:\Directorul Meu\Subversion\bin\mod_dav_svn.so
cand trebuie de fapt sa fie
LoadModule dav_svn_module C:\Direct~1\Subversion\bin\mod_dav_svn.so
O problema care s-ar putea sa apara la testarea linkurilor (asta in functie de cum va este setat apache-ul) este sa folositi case-uri diferite. Adica: localhost/trac in loc de localhost/Trac sau localhost/SVN/project in loc de localhost/svn/project. De exemplu la mine merge doar cu localhost/svn/proj… (small case).
Dupa ce am instalat Trac-ul nu am reusit nici cum sa-l accesez. Primeam o eroare de genul:

error The Trac Environment needs to be upgraded….

Am facut legatura dintre Apache-Trac dupa care am rulat comanda: trac-admin . upgrade din command prompt (cmd) in folderul cu Trac-ul pentru Project1 (cd C:\Data\TracRepos\Project1). Acum totul merge veeery smooth :). Am pus deja un milestone f important pt un proiect la care lucrez: Get payed! :D
Nu uitati: in caz de probleme urmariti timpul log-urile din apache. Le gasiti in folderul_de_apache\logs\error.log (de ex la mine e: D:\Program Files\xampp\apache).

What a web programmer should know.

  Tudor Barbu has posted an article about professional web programmers. I agree with him, but I have some comments about his list.
  A web programmer that is or has been working as a freelancer should know all those things (even more), but if you work as a team member in a company, the tasks are divided. A person who has knowledge about marketing should take care of the SEO part. When comes to choosing the framework and design patterns, this job has to be done by a software engineer. The speed of development is greatly increased that way and everybody knows that. But there is a category of programmers who work alone (like freelancers, and I’m one of them), or in very small teams, and that category should consider that list as being a must, if they want to develop a web site project by themselves.
  As I said in the beginning, that list is ok, but the next elements should be added: a web programmer needs to have knowledge about at least one databas system (MySQL is widely-used) and environment configuration, like Apache or PHP installations, if he works on his own servers.
  As a conclusion, Tudor’s post helps a web programmer to auto-evaluate his knowledge, and if he answers affirmative for 80~90% of the questions, he is on the good road to professionalism in web developing.

Update: When using version control (csv, svn) for serious software projects it is mandatory the use of some project management software application, like Trac, Bugzilla, Project.net, dotProject or others.

AJAX - best choice

In ultimii ani evolutia mea (profesionala) se bazeaza pe Internet in proportie de peste 90%. Ocupandu-ma cu programarea (web-development in ultimul timp), caut pe Google solutiile la toate problemele de care ma bat in dezvoltarea unei aplicatii. Chiar si in viata “dinafara PC’ului”, cand am nevoie de o documentare sau un pont rapid in legatura cu un subiect oarecare, tot Internetul e cea mai fiabila solutie. Acelasi lucru se intampla pentru majoritatea care au parte de lucrul cu un calculator in domeniul lor.some logo
Am folosit AJAX in cateva site-uri nu foarte importante iar tehnologia care am utilizat-o a fost o “cârpeala” incropita de mine la repezeala, scurt si la obiect, cu o functie de constructie a obiectului XmlHttpRequest, o functie sau doua de apelare a serverului si unul sau doua fisiere *.php pe post de server. Totusi, nevoia te impinge sa complici situatia chiar daca nu ai nici un chef de “fancy stuff” (oricat ar fi ele de recomandate). Asa ca a trebuit sa aleg un framework “profesional” pentru lucrul cu AJAX.
Prima data am incercat MyAjax, dezvoltat de Raul Ionescu, dar din cauza documentatiei “subtire” m-am gandit sa incerc altceva.
A urmat cautarea pe Google si am dat de site-ul asta:
AjaxPatterns . Contine cam toate bucatile de informatie necesara pentru a construi un site in care ai nevoie de AJAX: Tutoriale, Scule (”Tools”, nu va ganditi la alte prostii), Ponturi (”Tips”), Multe linkuri la documentatie si carti, Linkuri la alte site’uri cu si despre AJAX si o lista cu multe Framework’uri.
xajax
Lista de Framework’uri
Framework’urile sunt foarte frumos organizate, in functie de tipul de aplicatie pt care au fost construite librariile respective. Eu am ales deocamdata xajax din cauza integrarii cu PHP, a simplitatii de utilizare (Learn xajax in 10 Minutes) si pentru ca mi-a placut simetria denumirii ;).