Postări etichetate Programare
TortoiseSVN 1.7
Folositi cumva TotoiseSVN? Daca da, va recomand sa va faceti upgrade la versiunea 1.7 pentru ca introduce o chestie tare de tot. Se cheama… centralizarea informatiilor si inseamna ca in loc sa aveti cate un folder .svn cu o multime de alte foldere si fisiere in el pentru fiecare folder din repository o sa aveti doar un .svn in radacina care va centraliza toate informatiile. La mine de exemplu asta s-a tradus in reducerea unui proiect care avea peste 10.000 fisiere si 2.300 foldere in cam 6.600 fisiere si 512 foldere.
Daca aveti un folder facut cu TortoiseSVN < 1.7, va recomand ca dupa upgrade sa dati un Cleanup si dupa aia sa alegeti “SVN Upgrade Working Copy” ca in imaginea de mai jos:
Restul noutatilor nu sunt asa importante dar daca vreti sa le aflati puteti citi lista completa in Release Notes.
A aparut Google+ API
Inca de la sfarsitul lui iunie programatorii au asteptat aparitia API-ului Google+ pentru a dezvolta aplicatii pentru aceasta platforma. Nu mai trebuie sa astepte pentru ca ieri Chris Chabot a anuntat lansarea oficiala a API-ului Google+. Sunt curios cat timp va dura pana vor fi lansate aplicatii noi pentru Google+ si ce efect vor avea acestea pentru dezvoltarea retelei de socializare care pentru mine in acest moment mi se pare amortita.
Pentru cei interesati, Google+ API este disponibil aici.
Netbeans 7.0
Oracle a lansat ieri NetBeans 7.0, ce introduce suport pentru JavaSE 7 printr-un developer preview al JDK 7. Mai include si alte chestii mai neimportante la noi cum ar fi integrarea cu Oracle WebLogic server si suport pentru Oracle Database si GlassFish 3.1, precum si unele mai interesante cum ar fi suport pentru HTML 5.
Download de aici.
SQLite 3 – ‘SQL logic error or missing database’
SQLite nu e bun cand vine vorba sa dea mesaje de eroare, si eroarea ‘SQL logic error or missing database‘ este un exemplu clar.
M-am lovit si eu de ea azi in timp ce incercam sa fac un INSERT si am pierdut ceva timp sa-mi dau seama de ce… Inainte de toate, am verificat SQL-ul si am incercat sa-l rulez in alt fel, inclusiv direct de la promptul SQLite – rezultat: corect. Am verificat db-ul… era ok, exista, in plus SELECT-urile functionau. Am mai invartit eu codul… am mai cautat pe Google si unii ziceau ca poate nu sunt drepturi de scriere pe fisierul cu db-ul. Aveau dreptate, web serverul nu avea drept de scriere… am corectat. Am incercat din nou… iara nu a mers. Va dati seama disperare
Am tot sapat, am tot sapat si… nu am gasit rezolvarea, pana mi-a venit mie o idee… Am dat drepturi de scriere pentru web server pe folderul in care era baza de date si… supriza… a functionat! Se pare ca SQLite-ul isi facea ceva fisiere temporare in folderul ala, desi nu e documentat nicaieri.
Deci, daca va intalniti cu eroarea ‘SQL logic error or missing database‘, verificati sa aveti drepturi de scriere pentru utilizatorul sub care ruleaza web serverul pe fisierul cu baza de date si pe folderul in care e acest fisier.
Internet Explorer: nu folositi onchange pe controale de tip radio
Se pare ca Internet Explorer inclusiv versiunea 8 are o “mica” problema cu handlerul de “onchange” pe elementele input de tip radio, mai precis evenimentul onchange se manifesta doar atunci cand controlul pierde focusul. Deci cand se schimba valoarea nu apare evenimentul, in schimb cand dai click pe alt element din cadrul controlului radio se porneste evenimentul pentru valoarea precedenta. La fel se intampla si daca selectezi o valoare si apoi dai click altundeva in pagina. E clar ca nu e functionalitatea corecta
Rezolvarea e destul de simpla si anume punerea handlerului pe onclick, desi logic ar fi sa functioneze asa cum trebuie onchange…
Deci, in loc de:
<input type="radio" onchange="handler()" />
… trebuie
<input type="radio" onclick="handler()" />
Din pacate astfel se executa handlerul chiar daca nu se schimba valoarea, dar asta este, n-avem ce sa-i facem…
Google lanseaza un limbaj de programare nou
Google s-a hotarat sa intre si pe piata limbajelor de programare, dezvoltand unul propriu numit Go, ce se vrea a fi foarte usor de invatat si utilizat. Rob Pike, conducatorul grupului de dezvoltare al Go spune ca initiativa a venit acum 3 ani ca raspuns la cresterea complexitatii dezvoltarii software-ului in ultimii 10 ani. Pentru a ajuta dezvoltarea si adoptia limbajului Google a decis ca acesta sa fie disponibil gratuit, Open Source, la adresa http://www.golang.org.
Internet Explorer: nu folositi DOM cand aveti de creeat tabele dinamice
Azi m-am lovit de o problema in Internet Explorer 8… intr-o aplicatie aveam o bucata care genera dinamic prin JavaScript un tabel si culmea (sau nu), in IE mergea ca porcu
Este binecunoscut faptul ca IE are cel mai lent motor JavaScript de pe piata, si cum eu generam un tabel de cateva mii de linii, rularea respectivei bucati de cod ajungea sa ia secunde bune, daca nu chiar minute. Culmea ca in alte browsere totul mergea bine. Am sapat putintel si am aflat de pe QuirksMode ca IE sufera rau de tot atunci cand se creeaza tabele folosind metodele DOM (insertRow, insertCell). Asa ca mi-am schimbat metoda si am trecut la creearea tabelului intr-un string si adaugarea in pagina actualizand innerHTML-ul unui div si ce sa vezi… de la zeci de secunde am scazut timpul de rulare la max 5 secunde. E ceva… deci va sfatuiesc… daca aveti de facut un tabel in JavaScript… bagati-l intr-un string si inserati-l in pagina prin innerHTML.
Optimizarea codului pentru viteza
Am gasit astazi un tutorial dragut despre metode de optimizare a codului pentru viteza. Pentru toti programatorii interesati… adresa tutorialului este: http://www.shlomifish.org/philosophy/computers/optimizing-code-for-speed/.
Spor la invatat
PHP: ultima zi din luna
Poate ati avut vreodata nevoie sa aflati ultima zi dintr-o luna ca sa stiti cate zile are luna curenta, sau poate aveti nevoie chiar acum de o solutie la aceasta problema, deci solutia este apelarea mktime trecand-ui ca parametrii in campul luna – luna urmatoare, iar in campul zi, 0 (zero). Astfel, pentru a afla cate zile are luna Februarie, feceti asa:
$zile = mktime(0, 0, 0, 3, 0, 2009);
Ceea ce va returna 28, pentru ca anul acesta nu este an bisect


Comentarii recente