You are on page 1of 10

Introducere in IT – Basics (Apps Lifecycle)

1. Website Lifecycle – Sample

Web Site –common steps

● Idea / Need identified => write project specification


● Create mockups / wireframes of the site (designers)
● First POC (proof of concept: includes base scenario, login, roles)
● Test happy flows and present to client

● Start iterations and add functionalities


○ Design database (DBA)
○ Implement front-end, back-end (devs)
○ Test functional, performance, load (QA)
○ Test cross browser and responsiveness (different resolutions and devices) (QA)
○ Implement automation testing (AQA)
○ Make sure the site does not have security issues (all team)

● Deploy the site


● Monitor the site (logs, internal metrics, Google Analytics) and start a new iteration

2. Tools

● Brainstorming = conference technique of solving issues, gathering information,


developing new ideas through creative thinking, free and spontaneous discussions.
○ during brainstorming sessions decisions will be made regarding the project purpose,
target clients, requirements etc
○ these, along with any other important resources, will be noted and can be added to a
shared Google drive workspace, where the entire team will have access.

● Moqups = full scale structured model or prototype of an application.

○ used as a presentation source for clients before starting the development process
○ used as an example or reference during development
○ created based on the decisions made during the brainstorming sessions.
○ based on the moqup and brainstorming sessions a list of functionalities and
requirements is created.
● Google Search

○ Most of your time in the IT industry, especially as a Junior, you will have to search for
answers.
○ Books are always reliable, but can take quite some time to find what you need and
time means money.
○ Although Google has many answers and saves time, it’s up to you to choose which
one is the best for your needs.
○ Researching will never end.
○ Here is a small guide on how to properly google.

● Wikipedia

○ Free encyclopedia

● Development tools are commonly used tools, to quickly find any errors in your code.
● Sublime, Atom, Visual Studio Code

○ excellent and simple tool used to write code.


○ very friendly to new developers.
○ provide simple interface and basic plugins such as code highlighting or syntax
correction

● Currently, every browser has a built-in web development tool

○ Chrome -> Inspector


○ Firefox -> Web Console
○ Internet Explorer -> Dev Tools

3. Client-Server Architecture

The client/server model is a computing model that acts as a distributed application


which partitions tasks or workloads between:
● the providers of a resource or service, called servers, and
● service requesters, called clients

Simply put:
● Client − This is the first process that issues a request to the second process i.e. the
server.
● Server − This is the second process that receives the request, carries it out, and
sends a reply to the client.
Clients
• = applications that run on computers
• rely on servers for files, devices, processing power
• more clients can access the same server!
examples:
• e-mail client - an application that allows you to send and receive e-mails
• web brows

Servers
• = computers or processes that manage network resources
• process the input received from the request
• send responses to the clients
examples:
• web server
• database server
• mail server

Client / server architecture is also called 2-layer architecture. The 3-layer architecture
has become very common for mobile and web applications. It consists of:

● Presentation = Application topmost level which users can access directly. Display
information from other layers and communicates with business layer
● Business = Controls application functionality by performing detailed processing
between the two surrounding layers

● Data = Provides data persistence (store and retrieve) mechanisms to database


servers. Information is sent to business logic layer for processing and eventually back to
the user.

4. Protocols

Protocol

● In computing, a protocol is a convention or standard that controls or enables the


connection, communication, and data transfer between computing endpoints.
● Communications between computers on a network is done through protocol suits.
Protocols
● A protocol suite consists of a layered architecture where each layer depicts some
functionality which can be carried out by a protocol. TCP/IP Protocol Suite
● The most widely known and used
● Has 4 layers: Application, Transport, Internet and Network Interface
Application Layer

● includes applications or processes that use transport layer protocols to deliver the
data to destination computers
● Protocols:
○ HTTP (Hypertext transfer protocol)
○ FTP (File transfer protocol)
○ SMTP (Simple mail transfer protocol) etc.

Transport Layer

● 2 protocols: TCP (Transmission Control Protocol) and UDP (User Datagram Protocol)
○ TCP is used where a reliable connection is required, while
○ UDP is used in case of unreliable connections.
● TCP divides the data(coming from the application layer) into proper sized chunks and
then passes these chunks onto the network. It acknowledges received packets, waits
for the acknowledgments of the packets it sent and sets timeout to resend the packets if
acknowledgements are not received in time.

Internet Layer

● The main purpose of this layer is to organize or handle the movement of data on
network. By movement of data, we generally mean routing of data over the network.
● The main protocol used at this layer is IP (which is unreliable) Network Interface Layer
● This layer normally consists of device drivers in the OS and the network interface card
attached to the system.
● Both the device drivers and the network interface card take care of the communication
details with the media being used to transfer the data over the network.
● In most of the cases, this media is in the form of cables.
● Protocols: ARP(Address resolution protocol), PPP(Point to point protocol) etc.

HTTP/HTTPS Protocol

• It is stateless, and has a request and a response


• HTTP Requests
• Verbs: GET, POST, PUT, DELETE
• HTTP Responses
• Status codes:
• 1xx - Informational
• 2xx - Success
• 3xx - Redirects
• 4xx - Client Error
• 5xx - Server Error
• Headers are sent/received with the request/response

URL Example (explained)

• http is the scheme


• semicolon and two slashes (://) separate the scheme from the machine/domain name
• www.w3schools.com is the machine/domain name
• single slash (/) separates the name from the path
• html/html_page.html is the path
• question mark (?) separates the path from query
• key=value is the query (which are key-value pairs)
• sharp sign (#) separates the query from fragment
• anchor1 is the fragment
1. Site-ul ciclului de viață - Exemplu

Site-uri Web - pași comuni

● Idee / necesitate identificată => scriere specificație proiect


● Crearea machetelor / wireframes a site-ului (proiectant)
● Primul POC (dovada conceptului: include scenariul de bază, datele de conectare,
rolurile)
● Testați fluxurile fericite și prezentați-le clientului
● Începeți iterațiile și adăugați funcționalități

○ Design baze de date (DBA)


○ Implementarea front-end, back-end (Dev)
○ Testați funcționalitatea, performanța, sarcina (QA)
○ Testați browserul încrucișat și răspunsul (QA)
○ Implementarea testelor de automatizare (AQA)
○ Asigurați-vă că site-ul nu are probleme de securitate (toată echipa)

● Implementarea site-ului

Monitorizați site-ul (jurnale, valori interne, analize Google) și începeți o nouă iterație

2. Unelte

● Brainstorming = Tehnica conferinței de rezolvare a problemelor, culegerea de


informații, dezvoltarea de idei noi prin gândire creativă, discuții libere și spontane.

○ în timpul sesiunilor de brainstorming deciziile vor fi luate În ceea ce privește scopul


proiectului, clienții țintă, cerințe, etc.

Spațiul de lucru Google Drive, unde întreaga echipă dorește să aibă acces.

● Moqups = model structurat pe scară largă sau prototip al unei aplicații.

○ folosit ca sursă de prezentare pentru clienți înainte de a începe procesul de


dezvoltare
○ folosit ca exemplu sau referință în timpul dezvoltării
○ creată pe baza deciziilor luate în timpul sesiunilor de brainstorming.
○ pe baza sesiunilor de brainstorming și moqup se creează o listă de funcționalități și
cerințe.
● Căutare Google

○ Majoritatea timpului tău în industria IT, mai ales ca un junior, vrei să cauți răspunsuri.
○ Cărțile sunt întotdeauna de încredere, dar pot dura ceva timp pentru a găsi ceea ce
aveți nevoie, iar timpul înseamnă bani.
○ Deși Google are multe răspunsuri și economisește timp, depinde de dvs. să alegeți
care dintre acestea sunt cele mai potrivite pentru nevoile dvs.
○ Cercetarea nu vrea să se încheie.
○ Aici este un mic ghid cu privire la modul de a folosi Google în mod corespunzător.

● Wikipedia

○ Enciclopedie gratuită

● Instrumentele de dezvoltare sunt instrumente utilizate în mod obișnuit pentru a găsi


rapid orice eroare în codul dvs.

● Sublime, Atom, Visual Studio Code

Un instrument excelent și simplu folosit pentru a scrie cod.


○ foarte prietenos cu noii dezvoltatori.
○ oferă interfață simplă și pluginuri de bază, precum și evidențierea codului sau corecția
sintaxei

● În prezent, fiecare browser are un instrument de dezvoltare web încorporat


○ Chrome -> Inspector
○ Firefox -> Web Console
○ Internet Explorer -> Instrumente Dev

3. Client-Server Architecture

Modelul client / server este un model de calcul care funcționează ca o aplicație


distribuită care efectuează activități de repartizare sau încărcări de lucru între:

● furnizorii unei resurse sau servicii, denumite servere, și


● solicitanții de servicii, numiți clienți

Pur și simplu puneți:

Client - Acesta este primul proces care emite o cerere pentru al doilea proces, serverul.
● Server - Acesta este cel de-al doilea proces care primește solicitarea, O execută și
trimite un răspuns clientului.
Clienți

• = aplicații care rulează pe computere


• se bazează pe servere pentru fișiere, dispozitive, putere de procesare
• mai mulți clienți pot accesa același server!

• exemple:
• e-mail - o aplicație care vă permite să trimiteți și să primiți e-mailuri
• browser web

Arhitectura client / server se numește și arhitectură pe două straturi. Arhitectura cu trei


straturi a devenit foarte comună pentru aplicațiile mobile și web. Se compune din:

● Prezentare = Nivelul de aplicare cel mai de sus pe care utilizatorii pot avea acces
direct. Afișați informații de la alte straturi și comunicați cu stratul de afacere

● Business = Controlează funcționalitatea aplicației prin efectuarea procesării detaliate


între cele două straturi înconjurătoare

● Data = Furnizează mecanisme de persistență a datelor (stocare și recuperare) la


serverele de baze de date. Informațiile sunt trimise la stratul de logică de afaceri pentru
procesare și eventual înapoi la utilizator.

4. Protocoale

protocol

● În calcul, un protocol este un standard care controlează sau permite conectarea,


comunicarea și transferul de date între obiectivele de calcul.
● Comunicațiile dintre computerele dintr-o rețea se realizează prin comportamente de
protocol. Protocoale
● O suită de protocol cu o arhitectură stratificată. Protocolul TCP / IP Suite
● Cele mai cunoscute și utilizate
Are 4 straturi: aplicație, transport, Internet si interfață de rețea

Nivelul aplicației
● include aplicații sau procese care utilizează protocoale de nivel de transport pentru a
furniza date computerelor de destinație
● Protocoale:
○ HTTP (protocol de transfer de hipertext)
○ FTP (File Transfer Protocol)
○ SMTP (Protocolul de transfer simplu al corespondenței) etc.
Nivelul de transport
● 2 protocoale: TCP (Transmission Control Protocol) și UDP (User Datagram Protocol)
○ Se utilizează TCP în cazul în care este necesară o conexiune fiabilă, în timp ce
○ UDP se utilizează în cazul conexiunilor nesigure.
● TCP împarte datele (provenind de la stratul aplicației) în bucăți de dimensiuni
corespunzătoare și apoi să treacă aceste bucăți în rețea. Acesta recunoaște pachetele
recepționate, așteaptă confirmările pachetelor pe care le trimite și stabilește un timp de
expediere pentru a retrimite pachetul dacă confirmările nu sunt primite la timp.

Internet Layer
● Scopul principal al acestui strat este de a organiza sau de a gestiona mișcarea
datelor în rețea. Prin mișcarea datelor, înseamnă în general rutarea datelor în rețea.
● Protocolul principal folosit la acest nivel este IP (care nu este fiabil) Layer Interface
Network
● Acest strat conține în mod normal drivere de dispozitiv în sistemul de operare și
cardul de interfață de rețea atașat la sistem.
● Ambele drivere de dispozitiv și cardul de interfață de rețea au grijă de detaliile de
comunicare.
● În majoritatea cazurilor, acest suport este în formă de cabluri.
● Protocoale: ARP (Protocolul de rezoluție a adreselor), PPP (Protocolul punct-punct)
etc.

HTTP/HTTPS Protocol

Este apatrid și are o cerere și un răspuns


• Cereri HTTP
• verbe: GET, POST, PUT, DELETE
• Răspunsuri HTTP
• Coduri de stare:
• 1xx - Informații
• 2xx - Succes
• 3xx - redirecționări
• 4xx - eroare de client
• 5xx - eroare de server
• Antetele sunt trimise / primite cu cererea / răspunsul
Exemplu de adresă URL (explicat)

• http este schema


• punct și virgulă și două tăieturi (://) separă schema de numele motorului/domeniului
• www.w3schools.com este numele motorului/domeniului
• o singură bară (/) separă numele de cale
• html/html_page.html este calea
• semnul întrebării (?) separă calea de interogare
• key = value este interogarea (care sunt perechi cheie-valoare)
• semnul ascuțit (#) separă interogarea de fragment
• anchor1 este fragmentul

You might also like