The World as I see it.RSS pentru articole RSS pentru comentarii

Archive for the Tag 'Development'

[FireFox] – About rights

Din cauza unor probleme cu laptopul (despre care voi vorbi alta data), am fost nevoit ieri sa reinstalez sistemul de operare. Cu ocazia asta am downloadat ultima versiune de Firefox unde, pe langa alte modificari minore am vazut urmatorul popup:

firefox about rights

Link-ul duce catre about:rights unde se vorbeste in mare parte despre faptul ca Firefox este open-source si despre alte drepturi (ale tale, utilizatorul si ale celor dela Mozilla Corp.)

about-rights
Click to enlarge

Mi se pare interesant ca cei de la Mozilla isi propun sa clarifice partea asta mai “legala” cu care nimeni nu isi bate capul in general. Deci buna treaba si la mai mare cota de piata!

No responses yet

[Development] – Programming tips

4 responses so far

[jQuery] – Data

Citeam un articol cu cateva sfaturi despre jQuery, dintre care cel mai interesant mi s-a parut folosirea metodei data.

Cu toate ca este documentata bine, abia acum aflu despre ea. E adevarat ca nu s-a intamplat sa fiu nevoit sa folosesc asa ceva foarte des, dar metoda ce presupunea pasarea de informatii prin intermediul atributului alt mi s-a parut todeauna putin aiurea. Nu ca n-am facut si eu asta, dar eram sigur ca exista si o metoda mai eleganta.

Exemplul dat de Marc e mai ‘curat’ si putin mai explicit decat in documentatie:

  1. $('selector').data('meaningfullname', 'this is the data I am storing');
  2. // then later getting the data with
  3. $('selector').data('meaningfullname');

Spre exemplu aici, data ar merge perfect.

No responses yet

[Personal] Story of my life

No responses yet

[Development] – StackOverflow

Facand curat in drafturi am dat peste urmatorul articol (daca stau sa il citesc acum imi cam pare a reclama dar chiar mi-a placut StackOverflow):

StackOverflow e un site in spatele caruia se afla (printre altii) Joel Spolsky. Am vrut sa incep cu asta pentru ca asa am ajuns eu pe site. Faptul ca Joel a contribuit la construirea aplicatiei e mai mult sau mai putin relevant, cu toate astea se cunoaste ca e total developer-oriented.

Ideea de baza e simpla: Saturati sa nu gaseasca niciodata rapid informatii relevante din domeniul software developmentului, autorii au decis sa creeze acest site. Modalitatea de afisare / sortare a continutului reprezentand inovatia.

Utilizand puterea User-Generated Content si un sistem performant (in stilul Digg) al evaluarii relevantei, StackOverflow oferta un sistem de tipul intrebare-raspuns, unde intrebarile considerate interesante de comunitate sunt cele mai vizibile iar raspunsurile cele mai votate apar cel mai sus.

Ideea in sine mi se pare destul de interesante iar modalitatea de implementare arata totul, pana la cele mai mici detalii, a fost gandit de developeri pentru developeri. Mi-as dori sa am parte in mai multe locuri de o experienta similara cu cea oferita de StackOverflow, bazata pe satisfacerea nevoii in cauza (sa gasesc ce am nevoie in acest caz).

Una peste asta e o resursa foarte utila, atat pentru invatare dar si atunci cand ai nevoie (raspunsul fiind de obicei mult mai prompt decat pe alte site-uri ‘de profil’).

2 responses so far

[Development] – Abstractizari

As vrea sa incep prin a preciza ca urmeaza sa imi exprim parerea dintr-un punct de vedere personal, deci si prin urmare astept cu nerabdare sa imi demonstrati contrariul!

Plecand de la premisa ca in lumea de azi se tinde cat mai mult catre abstractizare si concepte cat mai generale, as vrea sa discutam putin despre aplicarea abstractizarilor in domeniul ‘programarii’ / developmentului de toate felurile.

In primul rand trebuie definit tipul de abstractizari despre care discutam, spre exemplu un sistem de operare (Windows, Unix-based, Mac-OS, etc.) reprezinta un layer de abstractizare de care am nevoie pentru a-mi indeplini activitatea zilnica, pe care nu vreau ( in cazul de fata ) sa il patrund in profunzime sau sa il modific in vr-un fel. Pe de alta parte sa luam ca exemplu o clasa in PHP care face interfata cu baza de date, la o astfel de abstractizare ma refer.

Desigur ca exemplul este banal dar ilustreaza destul de bine ce vreau sa spun. Sa ziceam ca te-ai saturat sa scrii toata ziua query-uri de genul:

  1. SELECT * FROM `tabel` WHERE 1

Te gandesti ca toate frameworkurile au un handler pentru request-urile catre baza de date asa ca iti scrii o clasa care sa se ocupe cu asta. Avantajele sunt evidente pana la un punct, usureaza operatiile uzuale, query-urile devin independente de serverul SQL folosit, etc.

Dupa care presupunem ca prietenul tau, Noob Guy, vrea sa foloseasca si el clasa ta pentru ca nu se descurca atat de bine cu sintaxa de SQL si ii este mai usor asa. Acum vine partea interesanta si concluzia la care vroiam sa ajung.

Pe de o parte abstractizarile sunt peste tot in jurul nostru si ne fac viata mai usoara, dar in anumite situatii nu e intelept sa te bazezi doar pe ele. Tu stii cum sa iti modifici metodele pentru a putea face ce ai nevoie dar prietenul tau Noob Guy trebuie sa invete mai intai sintaxa corespunzatoare, atat de SQL cat si de PHP ca sa poata modifica ceva in cunostinta de cauza.

Si aici este cheia, nu e rau sa iti usurezi munca atata timp cat intelegi exact cum functioneaza straturile de sub abstractizare, care sunt limitele impuse de aceasta, etc. E genial sa poti folosi unelte ca jQuery (de care vorbeam mai devreme ) sau un framework PHP precum CakePHP, atata timp cat stii JS si PHP ca sa poti intelege ce si cum se petrece, macar in mare.

2 responses so far

Next »