Arhive etichetă: invata programare web

Cum recunosti un programator web incepator?

Inceputurile de cariera sunt mereu mai dificile si necesita multa munca, dar sunt si pline de speranta. Motiv pentru care o mare parte dintre cei care sunt programatori web incepatori cred ca sunt capabili si de task-uri mai complicate.

Daca esti angajator sau ai nevoie de cineva care sa te ajute cu un proiect in programarea web, in acest articol iti voi prezenta un ghid despre cum poti sa recunosti un programator web incepator pentru ca tu sa iei cea mai buna decizie.

Intrebari ipotetice

Ca si orice alta decizie exista avantaje si dezavantaje, iar aceasta situatie se aplica si in cazul intrebarilor ipotetice. Oamenii au instinctul de supravietuire, prin urmare atunci cand li se adreseaza intrebari ipotetice, au tendinta de a raspunde asa cum crede ca ar dori interlocutorul sa auda, si nu cum sunt lucrurile.

Asadar, poti adresa intrebari ipotetice pentru a recunoaste un programator web incepator, doar sa acorzi atentie atat limbajului verbal cat si celui nonverbal. O situatie ipotetica ar putea fi urmatoarea: Sa-si imagineze ca a lucrat pe un cod timp de o saptamana (40 ore) si datorita unor limitari ale sistemului nu a reusit sa faca niciun test asupra codului incomplet, avand impresia ca este gata si ca poate incepe testul. Cate ore mai sunt necesare pentru testare si reparare a codului pana ajunge la o calitate superioara?

Urmareste-i reactia, iar in cazul unui programator web incepator, vei vedea ca iti va estima un raspuns de o ora sau doua. In schimb, e nevoie de multa experienta pentru a realiza exact cat timp e necesar pentru a face ceva de calitate.

Spuneam anterior, ca pe langa limbajul verbal cel nonverbal are la fel de multa importanta. Urmareste sa vezi daca face pauze pentru a gandi, daca se agita si se misca mainile prea mult, daca isi explica motivele. Pauzele pentru a gandi arata ca persoana se gandeste si ca nu a venit cu un raspuns pregatit. Gesturile excesive ale unui candidat pot sa insemne ca are emotii, dar si ca nu spune adevarul. Iar explicarea motivelor arata ca stie despre ce vorbeste.

Numarul de linii de cod nu afecteaza calitatea codului

E bine de stiut ca numarul de linii de cod nu garanteaza sau afecteaza calitatea codului. Sunt situatii in care mai putine linii de cod inseamna mai multa eficienta, dar de asemenea exista posibilitatea ca numarul mai mic de linii de cod sa foloseasca mai multe resurse. Astfel in functie de task-urile tale e indicat sa gasesti balanta intre aceste doua situatii.

Un programator web cu experienta va sti cu siguranta fiecare termen si tehnologie ce inseamna, precum si cum sa faca diferenta intre un cod scurt si un cod bun.

In schimb, un programator web incepator va fi inca confuz asupra unor termeni si e o probabilitate mare sa nu cunoasa diferenta dintre un cod bun si unul scurt. Pentru a-i verifica cunostintele poti sa il rogi sa scrie un anumit cod sau sa citeasca anumite coduri.

Sindromul impostorului

Majoritatea persoanelor la inceput de cariera nu vor sa arate ca sunt necunoscatori in domeniul in care activeaza, motiv pentru care actioneaza ca si cum stiu tot. E cazul si programatorilor web incepatori care nu pun intrebari, nu cer clarificari, care nu au dubii crezand ca acest lucru va arata siguranta si experienta.

Insa, programatorii web cu experienta cunosc ce inseamna greseala si ce repercusiuni atrage, de aceea acestia nu au nicio problema in a pune intrebari si in a verifica munca lor.

Nu realizeaza backup-uri, version control si mentenanta

Scrierea codurilor este un maraton, de aceea multi programatori web incepatori uita sa faca backup-uri, mentenanta sau version control asupra muncii lor.

In cazul programatorilor web cu experienta, acestia stiu ca oricand computerul sau laptopul pe care lucrezi se poate strica, motiv pentru care e recomandat sa ai grija de munca pe care o depui. Nu e in joc doar munca care ar trebui refacuta in cazul in care nu se poate recupera, dar ai in vedere un deadline care trebuie respectat.

In concluzie, e dificil sa gasesti un job ca si programator web incepator, dar e o lupta grea si in cazul angajatorilor sa isi gaseasca candidatii buni dispusi la eforturile pe care domeniul le cere.

Daca iti doresti sa inveti programare web de la zero, sau sa inveti anumite tehnologii pe care nu le stapanesti, alaturat gasesti datele mele de contact!

Reclame

Invata Codeigniter

Cauti mai multe informatii despre CodeIgniter si care ii sunt avantajele si functionalitatile?

Programarea web este un domeniu complex, motiv pentru care e alcatuit din tehnologii multiple de mai multe tipuri pentru diferite scopuri. CodeIgniter este un framework PHP, puternic dar simplist, fiind recomandat programatorilor web juniori.

A fost creat din nevoia programatorilor PHP pentru ceva elegant si simplu, dar care sa fie capabil de a crea o aplicatie web cu functionalitati full. De asemenea, CodeIgniter poate fi un framework eficient si pentru cei care lucreaza cu multe deadline-uri si vor ceva mai simplu si rapid.

Functionalitati CodeIgniter

Chiar daca CodeIgniter este un framework mai minimalist acesta ofera multiple multiple functionalitati pentru programatorii web:

  • Functionalitati full pentru clase si baze de date cu suport pentru diferite platforme;
  • Validarea datelor din formulare;
  • Managementul sesiunilor;
  • Extremely light weight;
  • Securitate si filtrarea XSS;
  • Sistem bazat pe model-view-controller;
  • Multilanguage;
  • Clasa FTP;
  • Unit testing pentru clase;
  • Caching pentru intreaga pagina;
  • SEO friendly urls  pentru motoarele de cautare;
  • Criptarea datelor;
  • Analize comparative pentru performanta;
  • Biblioteca mare pentru functiile de ajutor;
  • Clasa pentru template engine;
  • Clasa pentru creare arhiva zip;
  • Routing URI flexibil, si multe altele.

Beneficii CodeIgniter

Fiecare programator web are motivele proprii pentru a folosi si a invata anumite tehnologii si framework-uri. Cand vine vorba de beneficiile CodeIgniter sunt de precizat urmatoarele: este sigur, rapid si eficient.

E compatibil cu majoritatea serverelor web, platformelor si sistemelor de operare astfel utilitatea lui e tot mai extinsa. Performanta framework-ului precum si prezentarea sunt ireprosabile, iar suportul tehnic pe care il gasesti pe bloguri si forum-uri este enorm.

Una dintre cele mai importante avantaje ale CodeIgniter-ului este ca poate face un debug usor, necesar pentru a depasi erorile care pot sa apara. De asemenea, ofera un mod usor prin care poti utiliza programele modulare.

Daca te intereseaza sa inveti domeniul programarii web, sau anumite framework-uri si tehnologii, gasesti aici datele mele pentru a ma putea contacta!

Invata Laravel

Te intereseaza sa intelegi ce este si ce presupune Laravel? Iti doresti sa inveti acest framework?

Laravel este unul dintre cele mai apreciate framework-uri PHP deoarece iti permite sa construiesti orice fel de aplicatie web cu PHP.

De asemenea, Laravel vine cu multe resurse, o comunitate, tutoriale video si documentatie pentru a-i facilita utilizarea si pentru o intelegere mai buna a functionarii framework-ului. Pe langa usurinta utilizarii, Laravel prezinta eleganta si atractivitate, putand fi folosit chiar si de cei cu cunostinte de baza in programarea web.

Avantaje

Laravel prezinta mai multe avantaje precum optiunea “bundled modularity” care iti permite sa refolosesti codul fara prea multe complicatii, foloseste Blade ca si sablon al motorului pentru a mari viteza in crearea task-urilor; astfel iti vei usura munca, vei putea salva timp si te vei putea focusa pe task-urile urmatoare.

Utilizatorii pot adauga noile caracteristici pe masura ce apar, este usor de inteles si utilizat fiind cel mai bun din clasa ORM, in acest fel crearea bazelor de date pare chiar simpla.

De asemenea, ofera caracteristica de reverse routing si o intelegere a Artisan CLI cuprinzand si uneltele avansate si migratiile in realizarea task-urilor.

Good to know! Laravel este un framework care sprijina principiul DRY (Don’t Repeat Yourself) insemnand ca o functionalitate este scrisa fara erori si pentru o singura data.

Dezavantaje

Deoarece perfectiunea nu exista, pe langa avantaje, Laravel are si anumite dezavantaje precum metodele complexe care sunt incluse in reverse routing.

Desi este usor de folosit chiar si pentru programatorii web amatori, problemele intervin cand acestia incearca sa extinda clasele si codurile. De asemenea, comunitatea de suport nu este atat de extinsa in comparatie cu alte framework-uri, iar viteza cu care functioneaza este destul de redusa.

Desi a intrat pe piata web acum patru ani, Laravel a captat atentia programatorilor web si continua sa o faca prin rafinament si functionalitatile pe care le ofera.

Daca iti doresti sa inveti programare web, Laravel, precum si alte framework-uri si tehnologii, ma poti contacta aici!

Vreau sa invat programare web. Cu ce continui? – Partea a 2-a

Invatarea bazele unui domeniu necesita, pe langa multa vointa si multa munca. In programarea web, pe langa invatarea notiunilor, practica si buna intelegere a tehnologiilor devin prioritare.

Fiind domeniul care are rata cea mai mare dezvoltare, cum poti sa stii cu ce anume sa iti incepi aceasta calatorie? In partea intai a acestui articol, am vorbit despre ce tehnologii ar fi bine sa inveti pentru a te dezvolta in domeniul programarii web si despre ordinea in care e indicat sa le inveti.

In acest articol, iti voi prezenta ce poti invata in continuare pentru a deveni un programator web mai bun:

Invata AJAX

Numele AJAX este o prescurtare pentru Asynchronous JavaScript si sub acest nume se formeaza o combinatie de mai multe tehnologii care sunt folosite pentru crearea site-urilor web.

AJAX consta intr-un schimb de date intre server si browser. Prin acest schimb reincarcarea intregii pagini web la fiecare schimbare facuta de user, nu mai este necesara, rolul sau fiind de a creste viteza, interactivitatea, precum si usurinta utilizarii aplicatiilor web.

Invata un CMS: WordPress sau Drupal

Pentru a-ti continua calatoria spre a deveni programator web e necesar sa ai cunostinte si intr-un CMS. Iti recomand sa alegi intre WordPress si Drupal; WordPress fiind mai usor de invatat si utilizat, iar Drupal mai dificil.

Ambele CMS-uri (Content Management System) au rolul de a crea site-uri web de toate tipurile, WordPress fiind cel mai popular in momentul de fata. Mai mult, ca si programator web poti contribui la dezvoltarea CMS-urilor.

Invata un framework: Laravel sau Symfony

Ca si programator web in construirea site-urilor si aplicatiilor ai nevoie si de framework-uri, in special pentru aplicatiile care au sesiuni, baze de date, servicii remote (Facebook, Twitter), cookie-uri si form-uri.

Alegerea ramane insa la tine, fiecare programator web avand propriile preferinte, in functie de ce au nevoie si cu ce au fost obisnuiti sa lucreze. Totusi, Laravel este un framework mai usor de folosit decat Symfony.

Responsive design

Pe langa toate acestea, ca si programator web va fi necesar sa stii cum sa construiesti site-urile web astfel incat sa se adapteze pe toate felurile de dispozitive; de la laptopuri, la calculatoare, telefoane mobile si tablete.

Daca iti doresti sa inveti programare web de la zero, si sa aprofundezi anumite tehnologii, alaturat gasesti datele mele de contact!

Ce inseamna Full Stack Developer?

Iti este familiar termenul full stack developer? Te intereseaza sa afli ce inseamna sa fii un full stack developer si care ii sunt atributiile?

Datorita evolutiei companiile au nevoie de personal complex, insemnand ca sunt doriti candidatii care au cat mai multe cunostinte si abilitati. Acest lucru poate fi observat si in programarea web, unde prioritari sunt cei care stiu cat mai multe tehnologii, pe mai multe platforme.

Un astfel de angajat nu e necesar sa fie expert in toate tehnologiile, dar macar sa cunoasca baza si sa se simta comfortabil in a lucra cu ele. Mai mult decat atat, cineva care pe langa cunostintele tehnice are si abilitati bune de comunicare.

Evolutia semnificatiei full stack developer

La inceputul anilor 2000, semnificatia cuvantului full stack developer avea o nuanta putin diferita, insemnand ca acea persoana avea cunostinte de baza in HTML si CSS si putin PHP.

Cine folosea version control pentru codul sursa erau considerati adevarati maistri. In schimb in ziua de azi cine nu cunoaste aceasta terminologie sau nu o foloseste, este considerat prea putin calificat pentru meseria de programator web.

Ce face un full stack developer azi?

In ziua de azi un full stack developer e persoana care poate sa lucreze cu servere, baze de date, ingineria sistemelor, precum si capacitatea de a intelege nevoile clientului pentru a le indeplini.

Asadar, iti voi prezenta pe categorii ce cunostinte sunt necesare pentru un full stack developer:

Pentru programare web development:

  • Virtualizare: Vagrant, VirtualBox, Docker;
  • Version control: Mercurial, Git, SVN.

Asa cum precizam la inceputul articolului ca e de neconceput sa nu folosesti controlul versiunii, chiar daca lucrezi ca si liber profesionist (freelancer).

Pentru Vagrant ca si unelta de virtualizare ai nevoie de cunostinte de baza shell scripts si sintaxa Ruby.

Pentru administrarea sistemelor:

  • Cautare: Solr, Elasticsearch, Sphinx;
  • Monitorizare: Nagios;
  • Caching: Memcached, Varnish, APC/ OpCache;
  • Procesare background: Redis, Gearman;
  • Baze in shell scripting si Linux;
  • Cloud computing: Rackspace, Amazon, etc.

Pentru programare Back-End:

  • Limbaje de programare: Ruby, PHP, NodeJS;
  • Baze de date: MongoDB, MySQL, Redis, SQL/ JSON, Cassandra;
  • Servere web: Nginx, Apache.

Cand vine vorba de PHP, cunostintele de baza sau middle nu sunt de ajuns pentru a lucra cu acest limbaj de programare, ci e nevoie de a le stapani la un nivel ridicat. In ceea ce priveste NodeJS si Ruby informatiile si cunostintele pe care le ai, sunt binevenite.

Un alt aspect pe care un full stack developer ar trebui sa il stie este diferenta dintre bazele de date, care sunt non-relationale (Redis, MongoDB, Cassandra) si care sunt relationale ( PostgreSQL, MySQL), iar pe langa acestea sintaxele JSON si XML.

Pentru programare Front-End:

  • Web-ul semantic: HTML/ HTML5;
  • JavaScript: jQuery, Knockout, AngularJS;
  • CSS/ CSS3: SASS, LESS, Media Queries;
  • AJAX, WebSocket, JSON, XML;
  • Compatibilitate pentru browswere;
  • Design responsive.

Desi la inceput nu se prea folosea, acum JavaScript este unul dintre cele mai puternice si populare limbaje de programare. Iar pe zi ce trece, noi framework-uri apar, domeniul fiind incontinuu in crestere.

Un full stack developer trebuie sa stie sa lucreze cu toate aceste tehnologii pentru a-si putea prezenta site-ul web ca ceva care nu doar ca arata bine, dar si functionaza la fel de bine.

Pentru design:

  • UI (User Interface – Interfata grafica);
  • UX (User Experience – Experienta Utilizatorului);
  • Convertirea design-ului unui site in cod front-end.

Mai mult, un full stack developer ar fi bine sa cunoasca si sa inteleaga ce poate si ce nu poate sa creeze, in functie de limitarile pe care HTML/ CSS/ JavaScript le poate avea si sa stie cum sa converteasca design-ul (Illustrator/ Photoshop).

Tehnologiile mobile:

  • Android;
  • iOS
  • Hybrid: Appceleratr, PhoneGap.

Persoana care e full stack developer e necesar sa aibe cunostinte si despre aceste tehnologii, avand in vedere ca sunt in stransa legatura cu programarea.

In concluzie, pentru un full stack developer sunt necesare cunostinte asupra mai multor tehnologii, deoarece toate sunt conectate intre ele.

Daca te intereseaza sa inveti programare web de la zero, sau doresti sa aprofundezi cunostintele in anumite tehnologii, iti stau la dispozitie cu datele de contact!

Invata JavaScript de la zero

JavaScript este un limbaj de scripting folosit pentru introducerea unor functionalitati in pagnile web. Fisierele javascript au extensia js si sunt interpretate / rulate de browser. Codul javascript se ruleaza pe calculatorul utilizatorului.

Pentru a invata JavaScript este nevoie doar de un sistem de operare, fie ca este vorba despre o distributie Linux sau Windows sau OSX. Ca si editor se poate folosi Sublime-Text . In ziua de azi se folosesc mai mult framework-uri JavaScript, singurul lucru ce trebuie sa stii este includerea unui framework . Mai departe voi detalia cateva chestii de baza, ce ar trebui stiut de catre orice programator:

Includerea codului de JavaScript

Varianta 1: Insereaza in codul HTML.

<script>
// codul meu javascript
</script>

Varianta 2 – Daca codul javascript se afla intr-un fisier numit script.js

<script src="script.js"></script>

Variabile

var number = 30;     // number
var fullname = "Pop Ion"; // string
var fruits = ["Apple", "Banana"]; // array
var user = {username: "popion", email: "popion@yahoo.com"}; // object

Functii

Crearea unei functii:

function suma(a,b){
     return (a+b);
}

Instructiuni in JavaScript

IF / ELSE / ELSEIF

var a = 10;
var b = 20;
if ( a>b ) {
    alert(a + ' este mai mare decat ' + b); // afiseaza mesaj in browser popup 
} else {
  alert(a + ' este mai mic sau egal cu  ' + b); // afiseaza mesaj in browser popup
}

SWITCH

var a = 5;
switch(a) {
    case 4:
        alert ('a este egal cu 4');
        break;
    case 5:
        alert ('a este egal cu 5');
        break;
    default:
        alert('a nu este nici 4, nici 5')
}

FOR

var a = [4,5,6];
for (var i = 0; i < a.length; i++ ) {
   alert(a[i]); // afisam fiecare element din array in browser popup
}

 

WHILE

 var i = 0;
 while (i < 3) {
    console.log(i); // afiseaza valorile lui i in console de browser ( apasa F12 in browser pt consola )
    i++;
 }