content top

S-a lansat jQuery 1.6.1

S-a lansat jQuery 1.6.1

Se pare ca echipa de dezvoltare de la jQuery nu sta nicio clipa. La mai putin de 6 luni de la lansarea lui jQuery 1.5 si a lui 1.5.1 se pare ca deja avem de-a face cu versiunea 1.6.1.

Tineti cont, nu vorbim de jQuery 1.6. Acela s-a lansat deja pe data de 3 mai. Acum deja vedem primul update, ceea ce inseamna ca ritmul de dezvoltare este foarte rapid.

Daca folositi jQuery in activitatea de dezvoltare, va sfatuiesc sa cititi articolul de pe blogul lor, intrucat acesta contine atat modificarile care au aparut in aceasta noua versiune, cat si un mic ghid de upgrade de la 1.5.2 la 1.6.1.

Aveti grija, se pare ca unele lucruri s-au schimbat destul de mult, asa ca sfatul meu este sa cititi ghidul; aviz celor ce folosesc in mod constant .attr().

Read More

Adaugarea unui datasource din cod in ColdFusion

Adaugarea unui datasource din cod in ColdFusion

Acest articol este dedicat unei tehnici din limbajul de programare ColdFusion pe care eu o consider foarte utila, dar am observat ca este mai putin folosita.

Este stiut faptul ca pentru accesarea unei baze de date, ColdFusion foloseste ceea ce se numeste un DataSource. Practic, un DataSource este o inregistrare in ColdFusion Administrator prin care ii spunem limbajului cu ce baza de date “stam de vorba” si ce driver folosim pentru a face asta.

Toate bune si frumoase, dar mie nu-mi place sa depind de interfata respectiva. Vreau sa stiu ca pot sa-mi adaug tot ce am nevoie pentru dezvoltarea unei aplicatii doar facand ceea ce stiu eu mai bine: sa scriu cod.

Mai mult, datorita preturilor relativ ridicate nu am avut niciodata de-a face cu un hosting ColdFusion. Sunt convins ca voi avea un utilizator si o parola de administrator, dar oare voi avea acces si la interfata de administrare?

Asa ca am inceput sa caut cum as putea sa adaug un DataSource direct din cod. Astfel, am aflat ca limbajul ne pune la dispozitie un API de administrare prin care avem acces cam la toate functionalitatile pe care ni le ofera si interfata grafica. De altfel, presupun ca si interfata foloseste acelasi API, nu cred ca au dezvoltat ceva separat pentru asta.

Cautand prin documentatie, am aflat ca ceea ce vreau eu este posibil si am gasit si o bucata de cod care sa exemplifice acest lucru. Va prezint in cele ce urmeaza, codul la care am ajuns eu urmand acel exemplu:

<cfset username="admin" />
<cfset password="myPass" />

<cfscript>

	adminObject = createObject("component","cfide.adminapi.administrator");
	adminObject.login(#password#, #username#);

	dsnObject = createObject("component","cfide.adminapi.datasource");
	dsnObject.setMySQL5(
		name="cdcol",
		host="localhost",
		database="cdcol"
	);

</cfscript>

Sa analizam pas cu pas ce se intampla. In primul rand, incarcam doua variabile cu userul si parola de administrare. Ele nu sunt neaparat necesare, intrucat userul si parola pot fi folosite direct in instantierea obiectelor, dar mie imi place mai mult asa, pentru ca nu trebuie sa caut prin cod daca am nevoie sa le schimb.

Acum ce facem cu ele? Facem o instanta a obiectului Administrator din API. In urmatoarea linie chemam functia login() pentru a obtine acces la toate functionalitatile. Aceasta ia ca parametru un username-ul si parola definite mai sus.

Odata ce am obtinut acces, putem sa instantiem obiectul Datasource din API. Aceasta instanta se stocheaza in variabila dsnObject. Acum putem sa chemam functia prin care se face adaugarea efectiva a datasource-ului. Aceasta difera in functie de tipul de baza de date pe care dorim sa o adaugam.

Pentru ca eu folosesc MySQL 5, pentru mine apelul a fost dsnObject.setMySQL5(). Veti gasi in documentatie functia potrvita bazei de date pe care o folositi. Parametrii sunt descriptivi. Primul reprezinta numele pe care vreti sa-l asignati datasource-ului (si cel cu care il veti apela in query-uri). Al doi-lea este host-ul, iar al trei-lea numele bazei de date pe care doriti sa o selectati.

Tin sa mentionez ca am folosit tag-ul <cfscript> si sintaxa de ColdFusion Scripting pentru ca asa am gasit exemplul in documentatie. Dar pentru ca stiu ca unii programatori prefera sa foloseasca tag-urile, am vrut sa vad daca pot sa obtin acelasi rezultat folosind markup-ul clasic. Iata ce a iesit:

<cfset username="admin" />
<cfset password="myPass" />

<cfset adminObject = createObject("component","cfide.adminapi.administrator") />
<cfset adminObject.login(#password#, #username#) />

<cfset dsnObject = createObject("component","cfide.adminapi.datasource") />
<cfset dsnObject.setMySQL5("cdcol", "localhost", "cdcol") />

Codul de mai sus functioneaza identic cu cel dinaintea lui, doar ca foloseste tag-uri in loc de script. Este o mica variatie pe care nu o gasiti in documentatia pusa la dispozitie de Adobe.

Read More

Update de securitate pentru CodeIgniter 2.0.x

Update de securitate pentru CodeIgniter 2.0.x

EllisLab tocmai a anuntat ca au fost lansate versiunile 2.0.2 si 2.0.1 pentru CodeIgniter Reactor, respectiv CodeIgniter Core.

Update-ul contine in principal repararea unei vulnerabilitati in filtrul XSS (Cross Site Scripting). Cu aceasta ocazie, se pare ca toata libraria de securitate a fost reorganizata.

Deci, pentru cei dintre voi care au trecut deja la CodeIgniter 2.0 recomand acest upgrade, iar cei care inca sunt pe 1.7.x, ce mai asteptati?

Cei de la EllisLab ne-au pus la dispozitie si un Ghid pentru upgrade, pe care va sfatuiesc sa-l cititi. Este scurt, dar de mare ajutor pentru ca nu prea aveti cum sa intuiti ce s-a schimbat pe acolo.

Read More

Agregatorul de bloguri jQuery – jQuery Bloggers

Agregatorul de bloguri jQuery – jQuery Bloggers

Vesti bune pentru cei care folosesc sau vor sa invete jQuery. Acum exista un blog unde sunt adunate intr-un singur loc cat mai multe articole pe aceasta tema.

Blogul, sau mai degraba agregatorul de bloguri, se gaseste la previzibila adresa http://www.jquerybloggers.com/, iar eu deja m-am abonat.

Pentru cei care au experienta limitata sau deloc cu jQuery, inca nu am vazut tutoriale de incepatori. Cu toate acestea, sunt convins ca ele vor aparea, pe masura ca numarul de bloguri agregate va creste.

Vestea a venit de la Raymond Camden, care din cate imi dau eu seama, e responsabil pentru aceasta initiativa.

Read More

CodeIgniter 2.0 a fost lansat

CodeIgniter 2.0 a fost lansat

In urma cu ceva timp, scriam acest articol in care va anuntam ca EllisLab pregateste lansarea versiunii 2.0 a framework-ului CodeIgniter. Iata ca aceasta a sosit si vine cu cateva modificari. O parte din ele era natural sa se intample, iar altele sunt imbunatatiri aduse in intampinarea programatorilor.

Voi trece in lista cateva modificari ce au avut loc de la CodeIginter 1.7.3 la 2.0. Voi incepe cu cele pe care le-am numit evolutie naturala si care, dupa parerea mea, era normal sa se intample:

  • A fost eliminat suportul pentru PHP 4. Cerintele minime sunt PHP 5.1
  • Functia de Scaffolding a fost eliminata (oricum n-am folosit-o niciodata)
  • Clasa Validation Class (inlocuita mai demult de Form Validation Class) a fost eliminata
  • Nu mai exista Plugin-uri (se folosesc Helper-ii in schimb)

Sa trecem acum la noutatile pe care CodeIgniter 2.0 ni le pune la dispozitie:

  • Form Helper-ul vine cu protectie nativa CRSF (Cross Site Request Forgery)
  • S-a adaugat $route["404_override"] pentru ca erorile 404 sa poata fi gestionate de Controller
  • Autodetectarea base_url-ului daca e lasat gol (printre preferatele mele)

Merita mentionat faptul ca, in afara de ultima, toate modificarile se gasesc si in CodeIgniter Core dar echipa EllisLab insista  ca Reactor a trebui sa fie prima alegere (diferenta dintre cele doua o gasiti aici). De altfel au si spus, ca de acum, Reactor = CodeIgniter, iar Core va fi folosit doar de cei care insista sa faca asta din motive de ei stiute.

Comunicatul oficial il gasiti aici. Eu am deja o versiune beta de CodeIgniter 2.0 pe care ma joc de ceva timp. Abia astept sa il iau pe cel nou si sa-mi bag nasul in documentatie sa vad ce mai e nou.

Read More
content top
  • RSS
  • Twitter
  • Tumblr
  • Facebook