luni, 30 noiembrie 2015

Cum sa ajungi un programator intr-un timp scurt.

Ce este programatica si cum poti ajungi un programator bun.


Programarea informatica este o activitate informatica de elaborare a produselor, a programelor necesare activitatilor realizate cu ajutoru calculatorului. Programarea informatica  contine urmatoarele subactivitati: specificarea, proectarea, documentarea si intretinerea produsului "programului".

Poti sa inveti bazele programarii singur, in mai putin de o luna, indiferent de studiile pe care le ai , cu conditia sa fii pasionat, motivat si ambitios si sa investesti suficient timp, insa pentru a deveni un programator de top sunt necesare cel putin 6 luni de efort  sustinut, sunt de parere unii specialistii din domeniu.

Salariul unui programator entry-level intr-o companie de top porneste de la 800-1.000 de euro iar dupa 3-5 ani poate ajunge la un nuvel de 2.000 de euro. 

Desi nu poti sa inveti programatica de la A la Z singur, bazele limbajelor sunt accesibile oricui vrea sa invete. Cei care vor sa invete programatica singuri ar trebui sa invete un limbaj de programare mai usor, precum Pyton, a carui popularitate se datoreaza simplitatii si conciziei codului. Alte limbaje recomandate incepatorilor sunt Java sau C#.
Cei care invata singuri pot lua toate informatiile necesare din carti si din tutoriale online. 
Bazele unui unui anumit limbaj de programare se pot invata repede, in cateva saptamani, dar este nevoia de multa practica pentru a ajunge la un nivel inalt de performanta. Mai mult, exista multe subiecte conexe care trebuie invatate in functie de contextul in care este utilizat respectivul limbaj de programare, precum fizica, matematica sau economie". Tot el spune ca, desi cunoasterea unuia sau a mai multor limbaje de programare  este importanta, esential este invatarea procesului logic de exprimare a algoritmilor in cod, abilitate necesara indiferent de limbajul de programare utilizat.

Desi exista un numar mare de limbaje de programare (C, C++, C#, Java, Python, Ruby, Haskell, Scheme, Prolog, Javascript, HTML/CSS), cele mai cautate limbaje sunt: Java, C, C# si JavaScript. 

In cea ce priveste programarea pentru jocurile video, "cel mai important limbaj este C++, deoarece ofera un amestec ideal intre performanta, usurinta de utilizare si putere de expresivitate". Pentru cazuri particulare exista alte limbaje de programare care sunt mai potrivite: C# cand este nevoie de interfete complicate cu utilizatorul, Java cand este nevoie de o portabilitate mare sau Python pentru unele categorii de plugin-uri (programe care se integreaza altor programe de baza pentru a indeplini functii specific).

Pentru cei care vor sa devina programatori, fara a avea insa facultae de profil, exista cursuri si seminarii, unele dintre ele gratuite. Organizatia ROSEdu (rosedu.org) precum si DevAcademy (devacademy.ro) au astfel de cursuri. "Desi sunt numesoase platforme de unde poti invata limbajele de programare, in general cele mai sigure sunt chiar tutorialele disponibile pe site-urile tehnologilor respective".

Sunt recomandate cursurile online disponibile pe site-urile coursera.com, edx.org si udacity.com, realizate in colaborare cu profesori de la facultati cunoscute. Cursurile permit invatarea in ritmul fiecaruia, iar unele dintre ele se bazeaza pe participarea activa a cursantilor.

Aici sunt site-uri in care gasesti tutoriale pentru a invata programatica:

Java: http://docs.oracle.com/javase/tutorial/java/
JavaScript: http://www.javascriptkit.com/javatutors/index.shtml
C,C++: http://www.cprogramming.com/tutorial.html
C#: http://msdn.microsoft.com/en-us/library/aa288436%28vâvs.71%29.aspx
Python: http://docs.python.org/2/tutorial/
Ruby: http://rubylearning.com/satishtalim/tutorial.html
Haskell: http://learniouahaskell.com/chapters
Scheme: http://classes.soe.ucsc.edu/cmps112/Spring03/languages/scheme/SchemeTutorialA.html
Prolog:http://www.csupomona.edu/Âjrfisher/www/prologtutorial/contents.html
HTML: http://tutirialehtml.com/ghid-incepatori/prima-pagina-in-html.php
CSS: http://cssplaza.com/1/CSS-Introducere/
www.oreilly.com
www.wrox.com
http://www.bentobox.io/
http://www.codecademy.com/
https://dash..generalassemb.ly/

miercuri, 25 noiembrie 2015

Cum sa-ti securizezi datele.

In acest blog o sa va prezint o modalitate in care sa va tineti datele in siguranta, sa nu vi se mai "sparga" parola unui cont.


Fiecare dintre noi are conturi pe o multime de site-uri fie acestea de socializare, shopping, jocuri sau filme.  Suntem in permanenta expusi la atacurile hackerilor si putem sa pierdem informatii pretioase.
 Cum procedeaza insa hackerii atunci cand vor sa sparga parole? Iata ce trebuie sa faceti pentru a le "ingreuna munca".
In primul rand: Sa nu folosim parole foarte simple cum ar fi (ex:nume, prenume, data nasterii etc.).
In al 2-lea rand: Putem pune parole foarte grele care sa contina litere nici si majuscule, numere si toate semnele de punctuatie.
In al 3-lea rand: Sa se foloseasca parole formate din minim 8 caractere dar si acestea   trebuiesc tinute minte si sa nu folosim aceleasi parole la mai multe conturi.
In al 4-lea rand: Sa ne ferim sa ne  logam de pe alte calculatoare cum ar fi : internet-caffee, sali de informatica sau calculatoare in care nu avem incredere.

Acum  o sa va arat unele modalitati prin care un hacker ne poate afla parola:


 Nu trebuie sa ai prea multe cunostinte in hecking ca sa faci asa ceva ci doar putine cunostinte in matematica. Procedeul pe care hackerii il folosesc atunci cand vor sa afle un anumit cod se numeste „brute force” si presupune un program care genereaza diverse combinatii de litere pana cand o gaseste pe cea castigatoare.
 Dar cum functioneaza acest program?
 „Formula care se aplica in aflarea parolei este cea a aranjamentelor matematice, si anume n!/(n-k)!, unde n este numarul de caractere ce pot fi incluse in parola si k este lungimea parolei”.
Procedeul „brute force” foloseste toate cele 26 litere ale unei tastaturi, atat litere mici cat si majuscule (52 in total), cifrele de la 0 la 9 si toate simbolurile si semnele de puntuatie (32). In total cam 92 de caractere.
„Daca hackerul stie lungimea parolei, atunci el o va afla dintr-un numar foarte mare, dat totusi un numar limitat de incercari (aproximativ 3 catralioane). Daca nu stie insa nimic despre lungimea ei, numarul de incercari ramane tot limitat, dar e extraordinar de mare”.
De cele mai multe ori, insa, hackerii se folosesc de psihologia umana pentru a afla detalii importante despre persoana careia vor sa-i afle parola, de genul: nume, prenume, date de nastere, numele persoanelor importante din viata respectivei persoane, cuvinte precum „secret”, „parola”, „password” sau altele alese la fel de „inspirat”.
Singurele probleme pe care hackerii le pot intampina sunt cele legate de lungimea parolei. Cu cat aceasta este mai mare (minimum opt caractere), cu atat ea va fi mai greu de aflat. In acest caz „sansa de spargere aproape egala cu 0, mai exact 0,0000000000000001”.
O alta metoda prin care poti afla o parola necesita cunostinte solide de retelistica si presupune sa urmaresti traficul dintr-o retea de internet si sa afli astfel continutul propriu-zis al informatiilor de pe calculatorul unei persoane.
Alte lucruri pe care trebuie sa le stii:
Inteligenta umana sta la baza tuturor tehnologiilor si inca nu s-a nascut hackerul care sa nu poata sparge un cod. Tot ceea ce poti sa faci este sa-ti protejezi pe cat posibil informatiile personale de pe diverse conturi sau de pe PC.
„Orice parola poate fi sparta, insa timpul in care se face acest lucru difera, depinde foarte mult de continutul parolei. Daca alegi o parola sofisticata, timpul de succes este urias, de ordinul anilor".
Contrar asteptarilor, cele mai multe parole sunt aflate prin „social-engineering” (inteligenta) si nu prin incercari si ghicit. Cea mai simpla metoda de spart parole este sa folosesti programe informatice care inregistreaza apasarile de taste in campuri de parole". se folosesc de psihologia umana pentru a afla detalii importante despre persoana careia vor sa-i afle parola, de genul: nume, prenume, date de nastere, numele persoanelor importante din viata respectivei persoane, cuvinte precum „secret”, „parola”, „password” sau altele alese la fel de „inspirat”.
Inteligenta umana sta la baza tuturor tehnologiilor si inca nu s-a nascut hackerul care sa nu poata sparge un cod. Tot ceea ce poti sa faci este sa-ti protejezi pe cat posibil informatiile personale de pe diverse conturi sau de pe PC.