Differences

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

Link to this comparison view

uso:teme:tema-2 [2023/11/08 13:08]
andrei.stan2605
uso:teme:tema-2 [2023/11/14 16:46] (current)
rares.constantin02 [Task 07 (20p)]
Line 1: Line 1:
-<​hidden>​ 
 ====== Tema 2 ====== ====== Tema 2 ======
  
Line 25: Line 24:
  
 <note important>​ <note important>​
-Deadline: **21 Decembrie ​2022 ora 23:55**\\ +Deadline: **Decembrie ​2023 ora 23:55**\\ 
-Timp de lucru: **14 zile**\\+Timp de lucru: **21 zile**\\
 Punctaj: **1.0 punct** din nota finală\\ Punctaj: **1.0 punct** din nota finală\\
 </​note>​ </​note>​
Line 32: Line 31:
 <​note>​ <​note>​
 Actualizări enunț:\\ Actualizări enunț:\\
- +  ​* **Task 4** Configurarea identității trebuie sa aiba scop local
-  ​* **Actualizare task 6 - fără folosirea unui alias sau a unei variabile!** +
-  * Actualizați și checker-ul folosind "sudo uso update"​ și "sudo uso start 2".+
 </​note>​ </​note>​
  
 <​note>​ <​note>​
 Actualizări checker:\\ Actualizări checker:\\
-  * Ultimul update**Ora 18:3017 Decembrie 2022** +  * 19:0012 Noiembrie 2023 
-  * <color green>**Rulati ​''​sudo uso update''​**</​color>​+  * <color green>**Rulați ​''​sudo uso update''​**</​color>​
 </​note>​ </​note>​
 ===== Cunoștințe evaluate ===== ===== Cunoștințe evaluate =====
Line 205: Line 202:
   * un fork propriu al proiectului Unikraft, care apoi va fi clonat în mașina de teme [4p]   * un fork propriu al proiectului Unikraft, care apoi va fi clonat în mașina de teme [4p]
   * configurarea git, pe mașina de teme, adăugând o identitate (nume și email) [4p]   * configurarea git, pe mașina de teme, adăugând o identitate (nume și email) [4p]
-  * crearea unui branch nou, pe fork-ul clonat; numele ​brach-ului trebuie să fie același cu username-ul de pe GitHub [4p]+  * crearea unui branch nou, pe fork-ul clonat; numele ​branch-ului trebuie să fie același cu username-ul de pe GitHub [4p]
   * un commit semnat, care să aducă o modificare repository-ului (ex. creați un fișier gol) [4p]   * un commit semnat, care să aducă o modificare repository-ului (ex. creați un fișier gol) [4p]
  
 <note important>​ <note important>​
 +  * configurarea identității trebuie sa aiba scop **local**
   * repository-ul clonat se va afla in folderul /​home/​student/​tema2/​task4/​   * repository-ul clonat se va afla in folderul /​home/​student/​tema2/​task4/​
   * cautati informatii despre ''​git config''​ si ''​Sign Off''​ pentru a realiza task-urile   * cautati informatii despre ''​git config''​ si ''​Sign Off''​ pentru a realiza task-urile
Line 265: Line 263:
  
 Creați un fișier ''/​home/​student/​tema2/​task7.sh''​ care să conțină comenzile ce realizează următoarele:​ Creați un fișier ''/​home/​student/​tema2/​task7.sh''​ care să conțină comenzile ce realizează următoarele:​
-    * Trimite o cerere HTTP de tip GET la ''​$TASK_API/​uso/​part1/​$SECRET_KEY''​. ​Aceasta vă va întoarce ​un token cu o durată ​de viață ​de 3 minute+    * Trimite o cerere HTTP de tip GET la ''​141.85.232.81:​5000/​uso/​part1/​$USERNAME''​. ​Prin USERNAME vom simula modul de acces utilizand ​un username pe un server. USERNAME va trebui setat de voi ca variabila ​de mediu la username-ul personal de Teams (e.g. marcel.gigel02) pentru ca checker-ul sa functioneze. Token-ul primit prin aceasta cerere va fi disponibil un minut, dupa aceea va fi resetat si username-ul va fi sters
-    * Trimite o cerere HTTP de tip POST la ''​$TASK_API/uso/part2/''​ cu un body de tip JSON de forma ''​{"​secret_key":​ $SECRET_KEY, ​"​token":​ <​token_primit>​}''​.+    * Trimite o cerere HTTP de tip POST la ''​141.85.232.81:​5000/​uso/​part2''​ cu un body de tip JSON de forma ''​{"​token":​ <​token_primit>​}''​.
  
 La final, dacă se rulează comenzile din fișier, ar trebui să fie afișat doar rezultatul primit după a doua cerere, fără ''​newline''​ (''​\n''​). La final, dacă se rulează comenzile din fișier, ar trebui să fie afișat doar rezultatul primit după a doua cerere, fără ''​newline''​ (''​\n''​).
  
 [[https://​linuxhint.com/​http-get-vs-post-methods/​|GET vs POST methods]] [[https://​linuxhint.com/​http-get-vs-post-methods/​|GET vs POST methods]]
- 
-<note important>​ 
-**Dacă nu se află nimic în cele două variabile de mediu, restartați mașina virtuală.**\\ ​ 
-Aveți grijă atunci când dați check/​submit,​ token-ul dat de GET se va reseta odată la 3 minute. 
-</​note>​ 
  
 ==== Task 08 (10p) ==== ==== Task 08 (10p) ====
  
-[2p] 1. Obțineți repository-ul următor la voi pe calculator: https://​github.com/​andreistan26/​server-data și salvați-l la adresa ''/​home/​student/​tema2/​task8'',​ rezultând directorul ''/​home/​student/​tema2/​task8/​server-data''​.+[2p] 1. Obțineți repository-ul următor la voi pe calculator: https://​github.com/​andreistan26/​server-data și salvați-l la adresa ''/​home/​student/​tema2/​task8'',​ rezultând directorul ''/​home/​student/​tema2/​task8/​server-data''​. Apoi copiați fisierul **connection-logs.txt** in directorul ''/​home/​student/​tema2/​task8''​.
  
-[4p] 2. Dupa ce ați rezolvat pasul anterior veți avea in director fișierul ​''​connection-logs.txt''​, care conține in formatul ​''​**<​user-id>​ <​inactive/​active>​ <​duration>​**'' ​date despre conexiunile utilizatorilor la un serviciu. Afișați conexiunile inactive ​sub forma ''​**<uid> <​duration>​**'' ​in fișierul  ​''​inactive_connections_out.txt''​. Salvați oneliner-ul in fișierul ​''​inactive_connections.sh''​.+[4p] 2. Dupa ce ați rezolvat pasul anterior veți avea in director fișierul ​**connection-logs.txt**, care conține in formatul **<​user-id>​ <​inactive/​active>​ <​duration>​** date despre conexiunile utilizatorilor la un serviciu. Afișați conexiunile ​**inactive** in formatul ​**<user-id> <​duration>​** ​si pe ultima linie **Total: <numar conexiuni inactive>​** ​in fișierul  ​**inactive_connections_out.txt**. Salvați oneliner-ul in fișierul ​**inactive_connections.sh**.
  
-[4p] 3. Gasiti cei 8 utilizatori care au cea mai lunga conexiune activă. Afișarea se va face in formatul ​''​**<​index>​. <uid> <connection>**'' ​si salvată in fișierul ​''​longest_connections_out.txt''​. Salvați oneliner-ul in fișierul ​''​longest_connections.sh''​.+[4p] 3. Gasiti cei 8 utilizatori care au cea mai lunga conexiune activă. Afișarea se va face in formatul **<​index>​. <user-id> <duration>** si salvată in fișierul ​**longest_connections_out.txt**. Salvați oneliner-ul in fișierul ​**longest_connections.sh**.
  
 <note important>​ <note important>​
 +  * toate căile din fișierele **"​.sh"​** trebuie sa fie căi absolute
   * fișierele **"​.sh"​** trebuie sa conțină o singura linie, nu este nevoie de ''#​!/​bin/​bash''​   * fișierele **"​.sh"​** trebuie sa conțină o singura linie, nu este nevoie de ''#​!/​bin/​bash''​
-  * comenzile trebuie sa creeze fișierele in care afișează +  * taskurile 2 si 3 se vor rezolva exclusiv ​in directorul ''/​home/​student/​tema2/​task8/''​
-  * toate fișierele ​vor fi salvate ​in directorul ''/​home/​student/​tema2/​task8/​server-data''​+
 </​note>​ </​note>​
  
Line 297: Line 290:
  
 Când finalizați tema asigurați-vă că ați submis tema cu ''​sudo uso submit''​. ​ </​note>​ Când finalizați tema asigurați-vă că ați submis tema cu ''​sudo uso submit''​. ​ </​note>​
-</​hidden>​ 
uso/teme/tema-2.1699441711.txt.gz · Last modified: 2023/11/08 13:08 by andrei.stan2605
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