Citiți sursa bibliotecilor/framework-urilor folosite!


(Ionuț Staicu) #1

Știu că sună a truism tâmp, dar, măcar din când în când, ar fi bine să dați un ochi peste sursa frameworkului sau a bibliotecii folosite. Din mai multe motive:

  1. te ancorezi mai bine în ecosistemul respectiv și
  2. vezi cam ce stil există și
  3. înțelegi de ce funcționează lucrurile într-un fel sau altul

De-a lungul timpului am scris o grămadă de funcționalități care există deja în core-ul WP. De exemplu, de aici am rescris așa:

  • date_i18n
  • number_format_i18n
  • size_format
  • wp_extract_urls
  • add_query_arg
  • wp_generate_uuid4

(astea sunt doar ce-mi aduc aminte, sunt convins că au fost mai multe)


(Georgiana Gligor) #2

eu pe vremuri am invatat javascript din codul sursa jquery…


(Red) #3

Dumnezeule!

Voi doi sunteți crema pe aici și vorbiți de Wordpress și învățat JS din… jQuery? WTH?

Luna asta am o negociere de 3500 - 4000 de euro pe lună. Voi ar trebui să fiți mult peste nivelul ăsta.


(Eduard-Dan Stanescu) #4

Exact asa am invatat si eu. :rofl:


(Ionuț Staicu) #5

Succes la negociere! Sper(ăm) să scoți peste 4000!

(după aceea vezi aici ) :grin:


(Georgiana Gligor) #6

Nu stiu de ce ti se pare aiurea, jquery pe care il citeam eu era o versiune incipienta, neetichetata ca stable. Asa am invatat si symfony, cand era alpha stage si din surse nu din documentatie.

Vad ca tu masori succesul in bani, eu de vreo 5 ani nu mai duc salariul acasa ci cheltuiesc banii pe “prostii” gen invatat alti oameni dandu-le salar, sau organizand RomaniaPHP (cu preturi de bilete care nici macar nu acopera costul hotelului si al biletelor de avion pt speakeri). Sa consider ca nu e ok cum procedez eu?


(cosmos) #7

@RedGuard, parerea mea este ca ar trebui sa renuntam in a mai face discriminari :slight_smile:

BTW: Felicitari :smiley:

Cel mai bine este sa vedem ce se poate imbunatatii la un framework, biblioteca, cms indifetent de limbajul in care a fost scris

Ontopic
Eu m-am mai uitat prin codul sursa al bibliotecilor. Uneori m-a impresionat modul in care autorii au abordat problema :slight_smile:

Ai ce sa inveti si uneori poti adopta ideile lor.

Pe acest forum se discuta despre diverse aspecte.


(Red) #8

Chestiile se invata din documentatia oficiala. Nici eu dupa facultate nu stiam JS, asa ca am luat frumos ce documentatie era si in 30 de minute am terminat.

Acum se pune problema ca poti face chestii in JS simplu si nu are rost sa folosesti jQuery. Well, era evident si nici pana in ziua de astazi nu pot zice ca jQuery a facut ceva in plus pentru mine.

Revenind, e misto ca nu va intereseaza banii si ca investiti in altii, doar ca:

  • pensii nu vom avea nici unul. Poate 100 - 200 de euro, insuficient. Relax, nici nemtii, nici canadienii, nici americanii nu vor putea trai din pensie. Doar ca ei de 1000 de euro se pot muta la noi la pensie. Noi, unde? Zimbabue?
  • antrenati pe altii doar ca tipii cu care ma intalnesc acum nu gasesc numai indieni. Nu exista altcineva de angajat. Iar astia care merg 9 to 5 la serviciu o fac pe bani putini, de genul 6500 de lei si cu siguranta sunt mai buni decat indienii.

M-am uitat si peste datele financiare lui Tekkie si nu imi vine sa cred. Ea, la cum se prezinta, lejer ar putea face singura vreo 10 0000 de euro (si asta part-time) pe luna si ar mai avea bani si pentru inca 100 de oameni. Dar nu stiu ce lucreaza, cum, cu cine are contracte, dar tare imi suna ca e muncita pe bani putini.

Anyway, idea e sa ceri. Lasati WP-ul si proiecte de 200 - 2000 de euro si tintiti mai sus. Sper din tot sufletul sa renunte astia la indieni si sa ma lase pe mine sa caut niste oameni.

Si ca sa raspund la intrebarea discutiei, nu numai ca am citit codul diferitelor framework-uri, ba chiar a trebuit sa-l modific sau sa modific ce aveam eu de facut astfel incat sa se muleze pe tot felul de chichite pe care creatorii le-au considerat necesare. De genul CakePHP converteste caracterele speciale cand faci o cerere spre un API in codul HTML, iar sistemul de caching al API-ului nu stia sa le converteasca la loc => nu mergeau apelurile. Chestii de genul /api/v2/accommodations?key={key}&filter[name][like]=Something (da, parantezele drepte erau transformate in entitati de genul [, indienilor le-a luat 2 saptamani si tot nu stiau ce are)


Modele financiare de (in)succes
(cosmos) #9

Parerea mea este ca tu aduci indienii in destul de multe subiecte de pe acest forum

Este cam inutil sa citesti documentatia, daca nu te lovesti de acele lucruri. Documentatie <-> practica, intelegi despre ce este vorba, Nu sustin in a nu citi documentatia, dar este de prisos daca nu o colerezi cu realitatea.

Eu am stat pe documentatia unei aplicatii de la munca cam o luna. Sa o inteleg si sa imi impart ecranul in doua: aplicatia in dreapta si documentatia in stanga.
BTW: Jquery asta iti simplifica in a face anumite lucrui cu js vanilla :slight_smile:
A aparut dintr-o necesitate. Probabil

Tu aduci in discutii aspecte fiscale(pensii, salarii) din tari diferite. USA - tara cu un nivel de viata ridicat, comparativ cu Romania. 1000 de euro este putin in Europa de Vest. Tine minte un lucru: sistemul de pensii din acesta tara se bazeaza pe forta de munca. In tara nostra populatia imbatraneste deci…(exercitiu de imaginatie). Adauga politicile guvernamemntale.

Faptul ca ai modificat in framework este un lucru bun. Ti l-ai adaptat la nevoile tale si ale proiectului.

As vrea sa fac cateva precizari:

  • ceea ce am scris mai sus este din perspectiva unei pesoane de 24 de ani care lucreaza pe un salariu cam mic
  • bug-uri gasesti in orice framework
  • Felicitari inca o data. :smiley:

O seara buna !
Cu respect @Cosmin_Popescu


Poate in urmatorul proiect poti sa alegi progrmatori romani. :grin:

Ce am scris mai sus este dupa muulte beri !
@iamntz scuze daca aceasta postare este offtopic :slight_smile:


(Ionuț Staicu) #10

Dacă zici de JS că se învăța din docs, permite-mi să-ți amintesc și de ecosistemul de atunci: aveai trei-patru browsere, W3C era o glumă ce nu putea să impună niște standarde (recte fiecare browser avea bubele lui), materialele despre performanță erau inexistente șamd (mare parte din cauză că JS nu a fost văzut ca limbaj adevărat mult timp).

Prin urmare, dacă voiai să înveți JS dincolo de lucrurile de bază, erai mai inspirat dacă te duceai să sapi în cod scris de alții decât să te apuci singur să reinventezi chestii.


(George Jipa) #11

Iar offtopic, bani, valoare, framework-uri de cacao si indieni prosti.

Ontopic: da, citesc sursa pentru ca ma ajuta sa inteleg cum functioneaza lucrurile. Obicei deprins de pe vremea in care foloseam Zend Framework 1 (2011-2012) si documentatia nu era exceptionala.


(Andrei Telteu) #12

Mereu am invatat din documentatie, dar in ultima perioada ma uit din ce in ce mai mult pe codul sursa pentru ca nu ma mai multumeste documentatia.
Observ ca devin din ce in ce mai bun la a intelege codul sursa cu cat o fac mai des. Ma refer la cod sursa OOP in special, cu tot felu de clase cu inherit si traits, and all that fun stuff.
Citeste codul sursa - un sfat foarte bun !


(cosmos) #13

De curiozitate, si-a aruncat cineva ochii pe sursa unui limbaj: php, python. ?

M-am uitat putin peste codul sursa al php-ului la versiunea 2.0. Atunci se chema PHP/FI. Are si un tutorial.
Este in C si nu pare complicat in a-l intelege. Valabil pt primele versiuni, bineînţeles

Codul sursa al tuturor versiunilor de php :slight_smile:
Inclusiv pt Windows
http://museum.php.net/

Acum codul sursa al interpretorului sta pe Github


(Razvan Coca) #14

topicul e grozav.
eu insumi nu inteleg ce face pana ce nu vad bucati din sursa (da’ nu stiu php/js, doar C++ & python)
intelegerea mea este ca sunt doua ramuri posibile:

  1. citesti sursa pentru ca are un mecanism intern care nu e clar din documente
  2. unele - rare, cele mai bune - sunt concepute incepand de la “cum se folosesc”. evita sa citesti sursa, nu e pentru tine

In ambele cazuri, folosesti doar interfata publica (indiferent ce idei nastrusnice ai capatat)
Cazul 2 e mai frecvent in C++


(Andrei) #15

Păi atunci trebuie neapărat să amintim și cele mai frumos „comentate” (oare termenul românesc e „adnotate”?) biblioteci de front-end / JavaScript :slight_smile:

http://backbonejs.org/docs/backbone.html
http://underscorejs.org/docs/underscore.html