Sunteți pe pagina 1din 82

Prezentare

• Prezentarea trainerului
• Ioana Imbuzean
• Experienta
• Ce vreau sa realizez cu cursul acesta
• Prezentarea cursantilor
• Nume
• Experienta in domeniu (nu e obligatorie)
• Scopul pentru care a ales cursul
• Asteptarile de la curs
Prezentarea cursului
• Web developer – cunostinte front-end si back-end
• Front-end
• HTML, CSS, Javascript, jQuery, JSON(AJAX)
• Wordpress
• Back-end
• Programare server-side - Php
• Baze de date
• Cunostinte generale despre calculatoare si programare
• Bazele programarii
• Sisteme de operare - Linux
• Sistem de versionare a codului – Git
• Limbajul Java
• Proiect
• Despre software engineering – fazele unui produs, metodologie Agile, Lean
• Acreditare – valabila in Romania, UE, Canada
Administratie
• Laptopuri
• Internet access
• Skype
• Gmail cont trimiteti e-mail la: imbuzeanioana@gmail.com
• 3 ore miercurea de la 18.30 – 21.30
• Pauza cam 10 min la mijloc
• Daca trebuie sa lipsiti
• Exercitii pentru acasa
• Linkuri cu lucruri interesante de citit si studiat
• Intrebari?
Informatii practice curs
• 22 laboratoare
• 1-2 ocazii pregatire pentru acreditare
• 1 test initial acreditare – 1 luna dupa inceperea cursului
• 2 teste intermediare
• 1 test final acreditare – la sfarsitul cursului
Sectiunea 1 – Software engineering
• Istoria calculatoarelor
• Arhitectura calculatorului
• Despre hardware
• Despre software
• Retele de calculatoare
• Despre Internet
• Cloud
• Sisteme de operare
• Linux crash course
• Bash scripting crash course
Istoria calculatoarelor
• De cand exista calculatoarele?
• Calculatoare mecanice exista de mii de ani
• Nevoie de a calcula in agricultura, comert, razboi,
etc
• Abacul – din 3000 î.Hr. la chnezi, babilonieni, romani
Istoria calculatoarelor
• 87 î.Hr. - Cel mai vechi calculator mecanic este considerat
a fi cel din Antikythira, fiind folosit, se crede, pentru
calcularea mișcărilor planetelor.
Istoria calculatoarelor
• Cu industrializarea, au crescut nevoile de calcule mai complexe si
mai rapide
• 1837 - Charles Babbage este cel dintâi care proiectează o mașină
de calcul complet programabilă
– proiectul său nu s-a
mai dezvoltat sau
folosit in continuare,
în parte din cauza
limitărilor
tehnologice ale
vremii
– mașina lui se poate
vedea la Science
Museum din Londra.
Istoria calculatoarelor
1943 - Colossus a fost primul calculator electric programabil
• construit de Tommy Flowers si demonstrat pentru prima
data in 1943.
• A fost creat in Marea Britanie pentru a decoda mesajele
criptate ale naziștilor.
Istoria calculatoarelor
• Din 1970, microprocesoarele si micro chipurile se
perfectioneaza
• dezvoltare rapida in domeniul calculatoarelor – dimensiuni mai
mici si tot mai performante
• 1973 apar calculatoare personale
• Nevoia de a comunica electronic si de a accesa datele intre
calculatoare a dus la dezvoltarea rețelelor de calculatoare.
Arpanet a fost o rețea de calculatoare construita pentru scopuri
militare in Statele Unite. Din ea, mai apoi, s-a dezvoltat
internetul.
• 1983 a apărut rețeaua Internet pentru uz global.
• Calculatoarele s-au dezvoltat mult - IBM si Macintosh.
• Calculatoarele portabile au aparut mai apoi
Istoria calculatoarelor
• Un alt punct important in istoria calculatoarelor a fost ideea ca telefoanele
sa se poată cupla la internet si sa poate comunica intre ele trimițând date
• Din 1993 au început sa se dezvolte smartphones, telefoane mobile cu acces
la internet.
• La inceput erau foarte scumpe si folosite doar de intreprinderi
• In 2007 Steve Jobs a prezentat un Iphone, un telefon mobil cu acces la
internet si ”touchscreen”.
• Smartphones au devenit accesibile pentru populație.
• Au apărut si prins popularitate si telefoanele tip Android si tabletele.
• In clipa de fata se creează tot mai multe aplicații pentru dispozitivele
mobile.
• Deosebirea dintre un telefon si un calculator se șterge încet.
• Cum credeți ca se vor dezvolta calculatoarele in viitor? Care va fi următorul
pas?
Arhitectura calculatorului
• Cum arata un calculator? Din ce este format?
• Componente:
• componente electronice exterioare : ecran, tastatura, mouse
• componentele electronice din interior
• instrucțiunile înregistrate pentru a putea funcționa
• Mai știți si alte componente ale calculatorului?
• Componentele care se vad - Hardware
• Instructiuni – Software
• pentru a executa ceva, calculatorul are nevoie de instructiuni
• instrucțiunile sunt înregistrate in memoria calculatorului
• instructiunile se numesc programe sau aplicații
• Arhitectura calculatorului s-a imbunatatit mult de-a lungul timpului.
• Au aparut aplicatii tot mai complexe si mai avansate, care aveau nevoie
de executie mai rapida, de memorie mai mare pentru a inmagazina
datele si instructiunile de placi de sunet si video mai perfomante.
Despre hardware
• Componentele exterioare
• monitor, imprimanta, mouse, tastatura, microfoane, etc.
• Ne ajuta sa interactionam cu calculatorul, sa-i dam comenzi si sa
vedem rezultatul.
• Se numesc dispozitive de intrare si iesire
• Ce alte dispozitive de iesire mai stiti?
• Ce fel de dispozitiv este monitorul?
• Dar ecranul unui smartphone?

• Componente interioare
• Daca desfacem calculatorul vom gasi urmatoarele piese, bineinteles
ele diferind putin in functie de model: sursa de alimentare, placa de
baza, procesorul, memoria RAM, harddisk, placa video, placa de
sunet, cooler, etc.
Componente interioare
• Sursa de alimentare
• calculatorul are nevoie de curent electric pentru a functiona.
• se cupleza la o sursa de curent si alimenteaza calculatorul cu
electricitate.
• Procesorul (CPU - Central Processing Unit).
• Creierul care da comenzi celorlalte componente
• Procesoarele se fac din ce in ce mai performante
• Viteza la care efectueaza operatii se masoara in Hz.
• Ca si exemplu sa luam un microprocesor Intel, de exemplu INTEL®
CORE™ i7-7920HQ. Ne uitam pe pagina web cu specificatii:
• http://www.intel.com/content/www/us/en/products/processors/co
re/i7-processors/i7-7920hq.html
• frecventa de baza este 3.10 GHz
• 4 nuclee (cores) - poate executa simultan operatii in fiecare nucleu
Memoria
• Microprocesorul are nevoie de date pentru a le procesa. Aceste
date sunt depozitate in memoria calculatorului.
• Exemplu – frigider si masa de lucru
• Hard disk
• frigider
• memoria unde sunt inscrise date si instructiuni pentru a fi citite de
procesor si executate, cat si documente, poze, videoclipuri, etc.
• Memoria de lucru RAM
• ”masa de lucru”.
• temporara si folosita pentru a fi accesata in timpul executiei
instructiunilor.
• informatia din RAM se sterge dupa ce nu mai e nevoie de ea.
• Procesorul citeste mai rapid de pe memoria RAM si nu trebuie sa
mearga la hard disk (frigider) tot timpul.
Componente interioare
• Placa de sunet si placa video
• reda sunete si imagini video, calculatorul are si placa
video.
• Placa de baza (Motherboard)
• leaga toate componentele impreuna.
• o placa mare pe care se fixeaza celelalte componente si le
ajuta sa comunice intre ele prin niste canale (bus).
Despre software – sistemul binar
• Ce intelege caculatorul? Care este limbajul lui?
• Fiind un dispozitiv electric, calculatorul intelege doar
electricitate.
• La baza microprocesoarelor stau tranzistorii, un fel de
intrerupatoare. Aceste intrerupatoare pot avea doua posibile
pozitii, inchis sau deschis, 1 sau 0.
• Folosind 1 si 0 putem obtine foarte multe (filme, muzica, jocuri,
web, facebook, google, etc) , acestea fiind toate secvente de 1 si 0.
• In viata de zi cu zi noi folosim sistemul zecimal, probabil pentru
ca avem 10 degete la maini. Asta inseamna ca avem 10 cifre la
dispozitie ca sa formam numere: 0,1,2,3,4,5,6,7,8,9. Calculatorul
foloseste sistemul binar. Asta inseamna ca are doua cifre la
dispozitie 0,1 ca sa formeze numere.
Sistem binar
• Cum numaram in sistem binar?
Sistem zecimal Sistem binar
0 0

1 1

2 10

3 11

4 100

5 101

6 110

7 111

8 1000

9 1001

10 1010

… …
Sistem binar - exemple
• Exemplul 1
• 4 + 5 se traduce:
• 100 + 101
• Raspunsul lui va fi 1001, adica 9.

• Exemplul 2
• 453 + 362 = 815
• 000111000101 + 000101101010 = 001100101111
Sistem binar - exemple
• Bit (binary digit, cifra binara)
• Byte:
• Biții pot fi grupați pentru a lucra mai ușor cu ei. Un grup de 8 biți se numește 1
byte, în engleză, sau 1 octet, în românește.
• 1 Byte = 8 biți
• 1 Kilobyte (KB) = 1024 bytes (sau 1024 x 8 biți)
• 1 Megabyte (MB) = 1024 kilobytes (sau 1024 bytes x 1024 bytes = 1048576 bytes)
• 1 Gigabyte (GB) = 1024 Megabytes
• 1 Terabyte (TB) = 1024 Gigabytes.
• Calculatoarele pot procesa milioane de biți în fiecare secundă.
• Capacitatea de înmagazinare de informație a unui hard disk este măsurată în
Gigabyte sau Terabyte.
• Memoria RAM a unui calculator se măsoară de obicei în Megabyte sau
Gigabyte.
• Nevoia de limbaje de programare
Partile componente software
• Sisteme de operare
• Programele (instructiunile) care controleaza si instruiesc
hardware
• Exemplu Windows, Unix, Linux
• La un nivel mai inalt, alte aplicatii si programe instruiesc
sistemele de operare pentru a efectua operatii mai complexe.
De exemplu Photoshop foloseste operatiile pe care Windows
le pune la dispozitie, pentru a edita poze.
• Programe, cod sau sursa
• instructiunile date calculatorului au nume diferite dar inteles
similar
Retele de calculatoare
• Ce sunt retele de calculatoare si la ce folosesc?
• Nevoia de a accesa date (documente, informatii, etc) de la
un calculator la altul a dus la dezvoltarea retelelor de
calculatoare.
• Daca cuplezi doua calculatoare astfel incat sa comunice
intre ele, adica poata accesa si modifica aceleasi documente
videoclupuri, etc., poti sa spui ca ai o retea de calculatoare.
• La o retea poti adauga si alte dispozitive electronice cum ar
fi imprimanta, smartphones, etc.
• Ce aparate se mai pot conecta la o retea de calculatoare?
• Cum se pot conecta calculatoarele intre ele? Prin cabluri co
axiale, fibra optica, Wifi, satelit, etc.
Clasificare dupa marime
Categorii de retele de calculatoare dupa marime:
• LAN
• MAN
• WAN
LAN
LAN(Local Area Network) este o retea mica, localizata in
mod normal intr-o singura cladire.
• De ce e nevoie de un LAN?
• De exemplu, o firma mica cu cateva birouri poate
folosi un LAN pentru a conecta toate calculatoarele
intre ele si imprimanta.
• In mod normal, calculatoarele intr-un LAN se
conecteaza prin cabluri coaxiale sau wireless
MAN
• MAN (Metropolitan Area Network) este o retea mai
mare, care poate conecta calculatoarele unui oras
• De ce ar fi nevoie de o retea asa de mare?
• Exemplu -
spitale sa imparta informatii despre pacienti, paturi
disponibile, etc.
• Se poate realiza folosind cabluri coaxiale (in trecut),
fibra optica sau Wifi
WAN
• WAN (Wide Area Network) este o retea mai mare ca si
un MAN, se intinde pe arii mai mari
• Se poate realiza folosind multe tehnologii diferite pentru
a transmite date, de exemplu fibra optica, sateliti,
cabluri coaxiale, etc.
• De exemplu, diferite companii de telefonie au WAN,
Orange, Digi, etc.
Clasificare dupa topologie
• Adica dupa forma in care sunt conectate dispozitivele
• Cele mai obisnuite feluri de a conecta retele de tip LAN
sunt BUS, STAR si RING.
Topologie BUS
Topologie tip BUS (magistrala)
Topologie STAR
Topologie tip STAR (stea)
Topologie RING
Topologie tip RING (inel)

Fiecare fel de a conecta o retea isi are avantajele lui, asa


ca forma se alege dupa cerintele pentru o retea anumita.
Componentele retelelor de
calculatoare
• Noduri
• toate dispozitivele, de exemplu calculatoare, imprimanta
• Conexiuni
• legaturile dintre noduri
Despre Internet
• Ce este Internetul?
• Internet este cea mai mare si mai cunoscuta retea de calculatoare.
• Cum a aparut si de ce?
• ARPANET o retea militara americana de cercetare din anii 1960.
• Scopul se pare sa fi fost ca sa creeze un sistem care nu se strica, in cazul
in care un calculator se defecteaza, celelate sa ramana functionale.
• La inceputul anilor 1980, universitatile din Statele Unite au folosit
tehnica dezvoltata in ARPANET si au dezvoltat o retea intre ele.
• Aceasta retea s-a extins si la universitati din alte tari.
• In anii 1990, reteaua a devenit accesibila in randul populatiei.
• Aparitia World Wide Web (WWW) ca si fel grafic de a vedea informatia
a contribuit foarte mult la cresterea in popularitate a internetului.
Despre Internet
• Ce este de fapt Internetul?
• Internetul este o retea de calculatoare formata din noduri si
conexiuni.
• Nodurile pot fi calculatoare, routere, servere, gateways, etc.
• Conexiunile pot fi cabluri coaxiale, wifi, fibra optica, satelit,
etc.
• Dispozitivele care acceseaza informatii, cum ar fi
smartphones, tablete, laptopuri, etc, se numesc cienti.
• Nodurile care contin informatii si date pe care le aceseaza
clientii, se numesc servere.
• Cum comunica clientii si serverele intre ele? Clientii cer
informatii de la servere si serverele trimit informatiile la
clienti.
Despre Internet
• Cum functioneaza internetul?
• Internetul este o retea globala de calculatoare.
• Exemplu: oras cu strazi si adrese
• Fiecare calculator conectat la Internet are un numar alocat lui,
adresa lui.
• Numerele se numesc adrese IP (Internet Protocol) si au forma
xxx.xxx.xxx.xxx unde in locul xurilor sunt numere.
• De exemplu, 123.45.67.89 sau 78.132.34.554.
• Calculatoarele se cupleaza la internet printr-un ISP (Internet
Service Provider) adica prin operatorul de la care a cumparat
abonamentul de internet.
• Operatorul da fiecarui calculator abonat la el o adresa IP, fixa sau
dinamica
Exercitiu ping
• Exercitiu
• Deschideti Search in Window
• Scrieti ”cmd” si veti putea alege programul ”Command
Prompt”.
• Scrieti ”ping google.com” apoi apasati enter
Exercitiu ping
Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation.
C:\Users\Ioana>ping google.com
Pinging google.com [216.58.211.142] with 32 bytes of data:
Reply from 216.58.211.142: bytes=32 time=27ms TTL=56
Reply from 216.58.211.142: bytes=32 time=46ms TTL=56
Reply from 216.58.211.142: bytes=32 time=46ms TTL=56
Reply from 216.58.211.142: bytes=32 time=48ms TTL=56
Ping statistics for 216.58.211.142:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 27ms, Maximum = 48ms, Average = 41ms
C:\Users\Ioana>

In randul ”pinging google.com” este o adresa IP a lui google.com


Adresa IP a calculatorului
• Daca vreti sa aflati adresa IP a calculatorului, puteti
merge la www.google.som si scrieti ”what is my IP
address”.
• Veti vedea o lista de pagini propuse, apasati pe prima si
va va da adresa IP a calculatorului.
TCP/IP
• Cum poti trimite un mesaj din calculatorul tau unui
prieten?
• Informatia -> date (limbajul calculatorului)
• Transmiterea mesajului de la un calculator la altul prin
Internet se face cu ajutorul protocolului TCP/IP.
• Exemplu mesaj codat
• Doi prieteni scriu mesaje
• Cod comun A : 01, B: 02, …
• ”Salut” codat devine ”1901122120”
• Primul prieten impacheteza mesajul si adauga adresa
destinatarului
• Prietenul primeste mesajul, desface pachetul
• Decodeaza mesajul din ”1901122120” in ”Salut”
TCP/IP
• Calculatorul care trimite foloseste protocolul TCP/IP
• ia mesajul
• il imparte in pachete
• il codeaza
• scrie adresa destinatarului
• il trimite mai departe prin internet, la destinatar.
• Calculatorul destinatar :
• preia mesajul primit
• il despacheteaza
• il decodeaza cu ajutorul protocolului TCP/IP
TCP/IP
• Protocolul TCP/IP imparte mesajul in pachete.
• Pachetele au fiecare adresa destinatarului.
• Pachetele sunt transmise prin internet, din nod in nod,
pana la destinatie.
• Cateodata, pachetele unui mesaj iau drumuri diferite prin
retea.
• Cateodata ajung in ordine diferita, cateodata ajung stricate
si cateodata nu ajung la destinatie.
• Protocolul TCP/IP, care este construit in sistemul de
operare al calculatoarelor, aranjeaza pachetele in ordine la
destinatie, retransmite pachetele care sunt deteriorate si
care nu au ajuns la destinatie
• TCP/IP prezinta destinatarului pachetul reasamblat.
Despre Internet
• De ce e nevoie de cunostinte despre cum functioneaza
internetul pentru a putea programa?
• Aplicatiile moderne au nevoie de acces la server (ex
Facebook)
• Felul cum este depozitat codul, adica programul, local
sau tip cloud.
Stocarea programelor
• Modul cel mai obisnuit este ca firma sa aiba serverul sau propriu pe
care depoziteaza programul.
• Calculatoarele programatorilor sunt legate intr-o retea locala si
acceseaza programul (codul) si il modifica.
• Mai nou, au aparut sistemele de gazduire tip cloud, adica codul
(programul) la care se lucreaza nu se afla pe calculatorul unui
programator sau pe un server local, ci pe un server care se poate accesa
prin internet.
• In trecut, firmele foloseau serverele lor locale dar tot mai mult se tinde
spre a folosi sistemul de gazduire cloud.
• In acest fel, firmele care programeaza isi reduc cheltuielile de a
mentine serverele si reteaua proprie si cumpara acest serviciu de la
firmele care se ocupa cu gazduirea tip cloud.
• Un alt beneficiu este ca programul poate fi acesat de oriunde.
• Prin strategiile de marketing existente în prezent, se poate obtine chiar
gazduire gratuita pentru programe.
Introducere la sistemele de
operare
• Ce este un sistem de operare si la ce se folosește?
• Din ce este alcătuit un calculator?
• Un calculator este alcătuit din hardware (părțile
electronice) si software (instrucțiunile sau programele
care spun calculatorului ce sa facă).
Introducere la sistemele de
operare
Ce sunt sistemele de operare
• Sistemele de operare sunt programele care controlează si
instruiesc hardware-ul.
• La un nivel mai înalt, alte aplicații si programe instruiesc
sistemele de operare pentru a efectua operații mai
complexe.
• Deci sistemele de operare sunt un strat intermediar între
aplicații si hardware, facilitând controlul componentelor
electronice de către aplicații.
Rolul sistemelor de operare
• Gestionarea memoriei
• Gestionarea procesorului
• Gestionarea dispozitivelor
• Gestionarea fișierelor
• Securitatea sistemului
• Controlul performanței sistemului
• Controlul execuției
• Ajuta la detectarea erorilor
• Coordonarea între alte programe și utilizatori
Gestionarea memoriei RAM
Activități realizate de sistemul de operare:
• Păstrează informațiile despre memoria RAM, adică ce
parte este folosita de către ce aplicație sau proces, ce
parte nu este utilizată.
• Decide care proces va primi memorie atunci când și
cât de mult.
• Alocă memoria atunci când un proces cere acest lucru.
• De-alocă memoria atunci când un proces nu mai are
nevoie sau a fost terminat.
Gestionarea procesorului
Sistemul de operare decide care este procesul pe care
procesorul îl va executa și pentru cât timp.
Activități realizate de sistemul de operare:
• Păstrează informațiile legate de procesor. Programul
responsabil pentru această sarcină este cunoscut sub
numele de controlor de trafic.
• Alocă procesorului (CPU) unui proces.
• De-alocă procesorul atunci când procesul s-a încheiat.
Gestionarea dispozitivelor
Un sistem de operare gestionează comunicarea dispozitivelor
prin intermediul driverelor respective.
Efectuează următoarele activități pentru gestionarea
dispozitivelor:
• Păstrează informații despre dispozitive. Programul
responsabil pentru această sarcină este cunoscut sub
numele de controlor I/O.
• Decide ce proces va fi executat pe un dispozitiv și pentru
cât timp.
• Alocă dispozitivul în mod eficient.
• De-alocă dispozitivele.
Gestionarea fișierelor
Un sistem de fișiere este în mod normal organizat în
directoare (folder sau catalog) pentru a fi ușor de găsit
fișierele si alte informații si pentru a fi ușor de utilizat.
Aceste directoare pot conține fișiere.
Un sistem de operare realizează următoarele activități pentru
gestionarea fișierelor:
• Ține evidența informațiilor, a locației, a utilizărilor, a
statutului etc.
• Decide ce proces primește resursele (fișierele).
• Alocă resursele (fișierele).
• De-alocă resursele (fișierele).
Alte activități importante
Alte activități importante ale sistemului de operare:
• Securitate - împiedică accesul neautorizat la programe și
date, prin parolă și alte tehnici similare.
• Controlul performanței sistemului - înregistrează
întârzierile între cererea pentru un serviciu și răspunsul din
sistem.
• Ajutor la detectarea erorilor - Producția de dumps, traces,
mesaje de eroare, și alte detectoare a erorilor.
• Coordonarea intre software și utilizatori - Coordonarea
compilatorilor, interpreților, asamblorilor și a altor
software-uri către utilizatori.
Windows
• Microsoft (înființata de Bill Gates) si-
a dezvoltat sistemul de operare
propriu Windows si l-a instalat pe
toate calculatoarele vândute de ei.
• De ce sunt atâtea versiuni Windows?
• Care este versiunea Windows cea mai
noua care se folosește?
• Toate aplicațiile de pe calculatoarele
pe care este instalat Windows sunt
făcute special pentru a funcționa
in Windows.
MacOS
• Apple (dezvoltata de Steve Jobs) a fost
si ea de la început in concursul de a
dezvolta cel mai bun calculator.
• Sistemul de operare dezvoltat de
Apple se numește MacOS.
• O aplicație care funcționează in
sistemul de operare MacOs este
speciala pentru acest sistem de
operare si nu va funcționa in
Windows sau in alt sistem de operare.
Linux
• Linux este un sistem de operare bazat pe UNIX
• Creatorul sau a fost un finlandez numit Linus
Torvalds
• Linux este un program ”open source”
• Nu aparține nimănui. Oricine este liber sa-l
descarce si sa-l folosească.
• S-a dezvoltat intr-un sistem de operare foarte
puternic
• Popularitate la nivel mondial, mai ales pentru
cei ce caută o alternativa la Windows
• In lecțiile din aceasta secțiune ne vom familiari
za cu Linux si vom invăța comenzile de baza
IOS
• Sistemul de operare pentru Iphone, Ipad si Ipod touch
• Dezvoltat de Apple pentru platformele mobile
• Versiune mai ușoara a lui MacOS
• Multe funcții comune cu MacOS
Android
• Android este un sistem de operare mobil, în principal pentru
smartphone-uri și alte dispozitive mobile
• A fost dezvoltat inițial de Android Inc,
• In 2005 Google a cumpărat Android Inc.
• Platforma este standardizata de Google și de alți membri ai
consorțiului Open Handset Alliance, care au lansat sistemul de operare
in 2007
• Android este acum ”open source”
• Open Handset Alliance, un consorțiu de
companii de hardware, software și
de telecomunicații, lucrează pentru
dezvoltarea de standarde deschise pentru
dispozitive mobile.
• Android permite dezvoltatorilor să scrie cod în limbajul Java pentru
aplicații mobile.
Introducere la Linux
In anul 1991:
• Hardware-ul se dezvolta rapid
• DOS (predecesorul lui Windows) era cel mai
important intre sistemele de operare.
• Dezvoltarea de software a fost mai lentă.
• Mac-urile (calculatoarele construite de Apple), în timp
ce erau mai bune, erau mult mai scumpe decât PC-
urile (fabricate de Microsoft).
• UNIX (un sistem de operare independent) creștea in
popularitate.
Introducere la Linux
• Linus Torvalds era un student din Helsinki.
• Ii plăcea să experimenteze cu programe si cu sistemele
de operare.
• In 1991 a anunțat crearea unui nou sistem de operare
pe care la numit Linux.
Introducere la Linux
• Acesta este acum unul dintre cele mai utilizate sisteme
pentru PC și este potrivit în special pentru firmele cu
bugete mici de IT.
• Linux este liber de folosit și instalat și este mult mai
robust decât aproape toate celelalte sisteme, fiind in
stare sa funcționeze luni, chiar si ani fără a fi repornit.
Avantaje Linux
• Poate fi modificat si corectat de oricine. Firmele de soft au posibilitatea de a
modifica si folosi sistemul de operare, fără a fi nevoiți sa plătească licențe
scumpe.
• Preț mic:
• sistemul de operare de bază este gratuit,
• multe aplicații software au și o licență publică generală GNU.
• Poate fi utilizat simultan de un număr mare de utilizatori probleme in
performanta.
• Este o platformă de rețea excelentă
• Execută la o eficiență optimă chiar și cu puțin spațiu disponibil pe hard disk.
• Linux se poate instala pe o gamă largă de tipuri hardware, inclusiv PC-uri, Mac-
uri, mainframe, supercomputere, unele telefoane smartphone și roboți
industriali.
• Unii preferă să folosească Linux și Windows, în timp ce alții preferă Linux și
Mac OS.
• In lecția următoare vom vedea cum sunt structurate fișierele si directoarele in
Linux.
Sistemul de fișiere
• In memorie, calculatorul deține date, adică
instrucțiuni, documente, poze, videoclipuri, etc.
• Aceste date se numesc fișiere.
• Fișierele sunt de mai multe tipuri.
• Fișierele sunt grupate in directoare (foldere, dosare sau
cataloage) pentru a le găsi mai ușor.
• Directoarele sunt grupate in alte directoare.
• Exemplu
Sistemul de fișiere
• Pentru a înțelege ce fel de tip au fișierele, se folosesc
terminațiile.
• De exemplu, o poză poate avea terminația .jpg
• Un document care conține un text simplu poate avea
terminația .txt
• Un document de tip Word are terminația .doc sau .docx
• Ce alte terminații de fișiere ați întâlnit?
• Fișierele se pot crea, modifica si șterge. La fel si
directoarele.
• In lecția următoare vom învăța sa facem operațiile de bază
pe fișiere si directoare in Linux.
Comenzi de bază pentru directoare
• De ce avem nevoie sa învățăm comenzi pentru
directoare si fișiere?
• Când programăm, codul este scris în fișiere.
• Avem des nevoie sa accesăm fișierele si directoarele, sa
le modificam, sa le creăm si sa le ștergem.
• In lecțiile următoare vom învăța despre operații cu
directoare si fișiere.
Exerciții
• Navigați la adresa webminal.org
• Apăsați register pentru a crea un cont nou.
• Introduceți un username, adresa e-mail si o parola.
• După ce ați creat contul, apăsați pe ”Terminal”
• Acesta va porni un terminal de tip Linux
Comenzi de baza pentru directoare
• pwd arata calea absoluta a directorului in care ne aflam
• mkdir <nume> creează un nou director
• rm –r <nume> șterge un director
• cd <nume> schimbă directorul actual la ce cu <nume>
• cd .. schimbă directorul actual la cel care conține cel actual
• cd schimbă directorul actual la cel de bază
• ls listează conținutul directorului actual
• man <comanda> afișează informații despre comanda
respectivă
Comenzi de baza pentru fișiere
• Pentru a crea un fișier si a scrie text in el putem folosi
comanda cat > ”nume_fișier”
• adică cat > introducere.txt.
• După ce apăsați enter puteți scrie textul dorit.
• Când ați terminat apăsați tastele ’Ctrl’ + d pentru a
reveni la comenzi.
Comenzi de baza pentru fișiere
• cat > <nume> creează un fișier si da posibilitatea de a
scrie text in el.
• cat <nume> arata conținutul unui fișier.
• mv <nume> <director_nou> muta fișierul din
directorul actual in directorul nou.
• rm <nume> șterge fișierul.
Comenzi in Linux
Comanda find, pentru a găsi un fișier sau folder

>find /home/<user> -name <filename>


Linux bash scripting introducere
Comanda sau instrucțiune
>echo ”Salut!”

Lista de comenzi
>echo ”Salut! Cum te numesti?”
>read name
>echo ”Numele tau este $nume”

In loc de a scrie comenzile de fiecare data, se pot scrie


intr-un fișier si executate printr-o singura comanda
Linux bash scripting
• Ce este un script?
• Un script sau un limbaj de scripting este un limbaj de
programare cu o serie de comenzi într-un fișier care
poate fi executat fără a fi compilat.
• Un program numit interpretor ia fiecare rând din
fișier, îl traduce in limbaj mașina si îl executa
• Exemple de limbaje de scripting sunt Perl, PHP,
Python, JavaScript
Ce este bash
• Ce este bash?
• Bash este interpretorul de limbaj de comenzi Linux
• Numele Bash vine de la ‘Bourne-Again Shell’, joc de
cuvinte
• Stephen Bourne a creat interpretorul pentru UNIX sh
• Bash ia un grup de comenzi si pentru fiecare comandă
in parte o traduce in limbaj mașină si o executa
Vim editor - bazele
• Ce este vim
• Vim este un editor foarte simplu
• La ce folosește?
• Îl putem folosi pentru a edita fișiere
• Comanda:
>vim <nume_fisier>
• Editarea se face doar in modul INSERT
• Pentru a edita (a intra in modul INSERT) scrieti i
• Pentru a ieși din modul INSERT apasati esc
• Pentru a salva fișierul scrieți :w
• Pentru a ieși din vim scrieți :q
• Pentru a salva fișierul si a ieși scrieți :wq
• Pentru a citi manualul vim scrieți:
>vimtutor
Vim editor - configurare
>vim .vimrc
Apăsați i pentru a intra in modul de editare
Scrieți:
set laststatus=2 ruler number
syntax on
Apăsați esc
Scrieți :wq
Exercițiu - Programul Hello World
>vim helloworld
Apăsați i
scrieți
#! /bin/bash
echo ”Hello World!”
Apăsați esc
scrieți :wq
>chmod +x helloworld
>sh helloworld
Chmod
• >ls –l arata drepturile de editare a fișierelor in folderul
actual
• Cu comanda chmod <action> <file_name> putem
schimba aceste drepturi
• >chmod +x <file_name> face ca fișierul <file_name>
sa se poată executa
Operații de scris/citit
Operația de scris:
echo ”text”

Operația de citit:
read var
Var este o bucata din memorie unde se păstrează ceea ce
utilizatorul a scris
Operații de scris/citit
>vim salut

#! /bin/bash
echo "Salut! Cum te numesti?"
read name
echo "Bine ai venit $name"
Variabile
Variabila este un simbol care poate avea diferite valori in
timpul execuției programului

De exemplu, sa spunem ca un vânzător câștiga pe luna


5000 ron + bonus

5000 ron este fix, bonus variază in funcție de cat a


vândut luna respectiva
Cuvântul bonus conține diferite valori, in funcție de
lună
Exercițiu - Adună două numere
#! /bin/bash
echo "Scrie primul numar"
read Numar1
echo "Scrie al doilea numar”
read Numar2
echo "Suma este $(($Numar1 + $Numar2))"
Comentarii
• în linux bash scripting, comentariile încep cu #
• Interpretorul sare peste linia care începe cu #
• Comentariile sunt făcute pentru a înțelege mai bine
codul
De exemplu:
#! /bin/bash
# Acest program ureaza bun venit unei persoane
echo "Salut! Cum te numesti?"
read name #name este variabila
echo "Bine ai venit $name"
Structura condiționala if/else
Uneori, programul are nevoie sa execute diferite
instrucțiuni, depinzând de situație.
Exemplu:
Cineva vrea sa vândă o mașina
Daca cumpărătorul ii da o suma care ii convine, vinde
mașina
Daca cumpărătorul ii oferă o suma mai mica, nu vinde
mașina

S-ar putea să vă placă și