Differences

This shows you the differences between two versions of the page.

Link to this comparison view

moby:backend:02 [2020/07/20 17:26]
alexandru.hogea [Familiarizare NodeJS]
moby:backend:02 [2020/07/21 11:25] (current)
alexandru.hogea [Exercitii]
Line 15: Line 15:
 ===== Activitate Practica ===== ===== Activitate Practica =====
  
 +==== Comenzi utile de Git ====
 +<code git>
 +git clone https://​gitlab.com/<​your_project>​ - descarca proiectul cu tot istoricul modificarilor
 +git init - se initializeaza repo-ul local (se creaza folderul .git)
 +git remote add origin https://​gitlab.com/<​your_project>​ - daca aveti proiectul initializat local cu aceasta comanda il legati la repo-ul din cloud
 +git status - va arata cateva detalii despre modificarile curente, pe ce branch sunteti etc
 +git diff - va arata exact care sunt liniile de cod modificate
 +git add <​path_to_changes>​ - face ca fisierele modificate din locatia specificata sa fie incluse in urmatorul commit, puteti avea si expresii regulate pentru fiererele voastre (ex. * - include toate modicarile din proiect)
 +git reset <​path_to_changes>​ - face operatia inversa la add, va scoate modificarile de la fisire specificate
 +git commit -m "​SOMETHING"​ - adaugati un commit local cu modificarile puse la "git add" dinainte cu mesajul specificat (daca nu e folosit "​-m"​ va deschide un editor de fisier sa creati mesajul)
 +git branch <​branch>​ - creati un nou branch pornind de la commitul pe care va aflati local
 +git branch -d <​branch>​ - stergeti branch-ul specificat
 +git push -u origin <​branch>​ - trimiteti toate commiturile locale de pe un branch catre repo-ul din cloud
 +git pull origin <​branch>​ - va actualizeaza branch-ul local cu modificarile noi din cloud
 +git checkout -b origin/<​branch>​ - va mutati pe branch-ul specificat cu modificarile din cloud
 +git checkout -b <​branch>​ - va mutati pe branch-ul specificat cu modificarile locale
 +git merge <​branch>​ - se incearca aducerea modificarilor de pe branch-ul specificat pe branch-ul curent
 +git rebase <​branch>​ - mutati toate commit-urile in oridine cronologica de pe branch-ul curent pe cel specificat in comanda
 +git rebase <​destination_branch>​ <​source_branch>​ - mutati toate commit-urile in oridine cronologica de pe branch-ul surse pe cel destinatie
 +git stash - va salveaza modificarile curente si revine la starea ultimului commit, util daca vreti sa lucrati la alte lucruri dar nu ati teminat
 +git stash pop - va aplica modificarile la stash inapoi si le sterge din stocare temporara
 +git cherry-pick <​commit_hash>​ - va ia toate modificarile de la un anumit commit specificat prin hash-ul sau si le pune pe branch-ul curent
 +git rebase -i Head~<​N>​ - cu aceasta comanda puteti transforma ultimele N commituri intr-unul singur, in editorul care se deschite trebuie sa inlocuiti "​pick"​ cu "​squash"​ in afara de prima linie
 +</​code>​
 ==== HTTP Rest API ==== ==== HTTP Rest API ====
  
Line 284: Line 308:
 npm run my-other-start --> va rezulta in rularea folosind nodemon npm run my-other-start --> va rezulta in rularea folosind nodemon
 </​code>​ </​code>​
 +=== Testarea unui API ===
  
 +Pentru a testa un API scris in Node, puteti sa folositi **cURL**, **wget** sau [[https://​www.postman.com/​|Postman]]. Noi va recomandam Postman, pentru ca ofera multe functionalitati utile, precum variabile de mediu, colectii, scripturi automate, etc...
  
 +===== Exercitii =====
 +  * Creati-va un **grup** pe [[GitLab|https://​gitlab.com/​]]. Numiti-l cum vreti. Puteti sa il faceti public sau privat
 +  * Creati-va **5 repository-uri** in grup. 4 repository-uri vor contine cele 4 microservicii si un repository va avea rol de **monorepo**.
 +<note tip>Un **monorepo** tine referinta catre alte repository-uri. In el se pot stoca si configurari si fisiere de deployment.</​note>​
 +  * Pe repo-urile destinate microserviciilor protejati-va branchul **master**, incat sa fie accesibil doar prin **merge request**.
 +<note tip>//​Settings//​ -> //​Repository//​ -> //Protected Branches//</​note> ​
 +  * Creati-va inca un branch, de **test**. Puteti opta sa il protejati, sau nu, depinde de voi.
 +  * Clonati cele 4 repo-uri care vor tine microserviciile,​ pe calculator
 +  * Creati-va cate un proiect de NodeJS in fiecare repo si instalati urmatoarele pachete:
 +<​code>​
 +express
 +helmet
 +morgan
 +log-timestamp
 +express-async-errors
 +http-errors
 +axios
 +dotenv
 +</​code>​
 +  * Creati, in fiecare repo, fisierul **.gitignore** si puneti **node_modules** in **.gitignore**
 +  * Experimentati,​ cat mai mult, cu NodeJS si Express. Va recomandam sa creati rute folosind obiectul **[[https://​expressjs.com/​en/​guide/​routing.html|Router]]** din cadrul express.
moby/backend/02.1595255183.txt.gz · Last modified: 2020/07/20 17:26 by alexandru.hogea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0