Differences

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

Link to this comparison view

poo-ca-cd:laboratoare:intro [2021/09/01 14:37]
ioan_razvan.abagiu
poo-ca-cd:laboratoare:intro [2022/10/01 22:54] (current)
alexandru.olteanu [Laboratorul 0: Introducere]
Line 1: Line 1:
-===== Laboratorul 0: Introducere ​=====+===== Setup Environment ​=====
  
-=== Instalare Java 17 ===+==== Instalare Java 17 ====
  
 Pentru POO vom folosi Java 17 și anume OpenJDK 17. Pentru POO vom folosi Java 17 și anume OpenJDK 17.
Line 9: Line 9:
 ==Ubuntu== ==Ubuntu==
  
-1. Deschideți un terminal - Ctrl + Alt + T+1. Deschideți un terminal - ''​Ctrl + Alt + T''​
  
-2. Adăugați repository-ul de OpenJDK+2. Faceți update la pachetele instalate deja in sistem
 <code bash> <code bash>
-$ sudo add-apt-repository ppa:​openjdk-r/​ppa+$ sudo apt update
 </​code>​ </​code>​
  
-3. Faceți update la repository+3. Adăugați repository-ul de OpenJDK
 <code bash> <code bash>
-$ sudo apt update+$ sudo add-apt-repository ppa:​openjdk-r/​ppa
 </​code>​ </​code>​
  
Line 31: Line 31:
 </​code>​ </​code>​
  
-6. Setați variabila JAVA_HOME+6. Setați variabila ​''​JAVA_HOME''​
  
 În terminalul deschis: În terminalul deschis:
Line 41: Line 41:
 JAVA_HOME=”/​usr/​lib/​jvm/​java-17-openjdk-amd64” - path-ul poate să difere JAVA_HOME=”/​usr/​lib/​jvm/​java-17-openjdk-amd64” - path-ul poate să difere
  
-{{ :​poo-ca-cd:​laboratoare:​openjdk_env2.png?​nolink |}}+{{:​poo-ca-cd:​laboratoare:​openjdk_env2.png?​nolink&500|}}
  
 7. Salvați fișierul apoi închideți-l. În terminalul deschis: 7. Salvați fișierul apoi închideți-l. În terminalul deschis:
Line 54: Line 54:
 </​code>​ </​code>​
  
-{{ :​poo-ca-cd:​laboratoare:​java_version.png?​nolink |}}+{{:​poo-ca-cd:​laboratoare:​java_version.png?​nolink&500|}}
  
 <note important>​ <note important>​
Line 84: Line 84:
 3. Intrați în folderul "​bin"​ din OpenJDK și click dreapta pe address bar iar apoi copy la path 3. Intrați în folderul "​bin"​ din OpenJDK și click dreapta pe address bar iar apoi copy la path
  
-{{ :​poo-ca-cd:​laboratoare:​java_windows_path.png?​nolink&​300 |}}+{{:​poo-ca-cd:​laboratoare:​java_windows_path.png?​nolink&​500|}}
  
  
Line 90: Line 90:
 4. Apăsați tasta de windows + E apoi click dreapta pe This PC -> Properties 4. Apăsați tasta de windows + E apoi click dreapta pe This PC -> Properties
  
-{{ :​poo-că-cd:​laboratoare:​java_windows_properties.png?​nolink |}}+{{:​poo-că-cd:​laboratoare:​java_windows_properties.png?​nolink&500|}}
  
  
 5. Jos cu fereastra minimizată sau în dreapta cu fereastra fullscreen -> Advanced System Settings -> Environment Variables 5. Jos cu fereastra minimizată sau în dreapta cu fereastra fullscreen -> Advanced System Settings -> Environment Variables
-{{ :​poo-ca-cd:​laboratoare:​java_env_vars.png?​nolink |}}+{{:​poo-ca-cd:​laboratoare:​java_env_vars.png?​nolink&500|}}
  
  
Line 102: Line 102:
  
 8. Selectați Path tot din "​System variables"​ -> New 8. Selectați Path tot din "​System variables"​ -> New
-  * nume: JAVA_HOME +  * nume: ''​JAVA_HOME''​ 
-  * value: C:\Program Files\java\jdk-17\ - același path anterior dar fară bin+  * value: ​''​C:\Program Files\java\jdk-17\'' ​- același path anterior dar fară bin
  
-{{ :​poo-ca-cd:​laboratoare:​java_windows_javahome.png?​nolink |}}+{{:​poo-ca-cd:​laboratoare:​java_windows_javahome.png?​nolink&500|}}
  
  
-9. Apăsați tasta de Windows + R -> tastați "​cmd"​ și Enter +9. Apăsați tasta de ''​Windows + R'' ​-> tastați "​cmd"​ și Enter 
-scrieți ​"java -version" ​pentru a vedea dacă s-a instalat corect.+scrieți ​''​java -version'' ​pentru a vedea dacă s-a instalat corect.
  
-{{ :​poo-ca-cd:​laboratoare:​java_windows_install.png?​nolink |}}+{{:​poo-ca-cd:​laboratoare:​java_windows_install.png?​nolink&500|}}
  
 +==Mac==
  
-=== Instalare IntelliJ 2021.2 Community ===+1. Descărcați .dmg file de aici: 
 +https://​www.oracle.com/​java/​technologies/​downloads/#​jdk17-mac 
 + 
 +2. Double-click pe .pkg si urmati pasii de instalare a jdk-ului 
 + 
 +3. Verificati in terminal finalizarea instalarii ruland comanda: 
 +<code bash> 
 +$ java --version 
 +</​code>​ 
 +==== Instalare IntelliJ 2021.2 Community ​====
  
 ==Ubuntu== ==Ubuntu==
  
-1. Deschideți un terminal - Ctrl + Alt + T+1. Deschideți un terminal - ''​Ctrl + Alt + T''​
  
 2. Instalați IntelliJ 2. Instalați IntelliJ
Line 132: Line 142:
 2. Configurați în acest mod următorul meniu pentru a ușura tot flow-ul 2. Configurați în acest mod următorul meniu pentru a ușura tot flow-ul
  
-{{ :​poo-ca-cd:​laboratoare:​windows_intellij.png?​nolink |}}+{{:​poo-ca-cd:​laboratoare:​windows_intellij.png?​nolink&500|}}
  
 3. Restart pentru a se face update la variabilele de mediu 3. Restart pentru a se face update la variabilele de mediu
  
-=== Folosire Google Checkstyle în proiecte ===+==== IntelliJ IDEA Ultimate Edition ==== 
 + 
 +Fiecare student poate beneficia de o licență gratis de IntelliJ IDEA Ultimate Edition prin intermediul contului de mail de la facultate (cel cu domeniul @stud.acs.upb.ro). Versiunea de Ultimate a IDE-ului vine cu foarte multe beneficii care se rezumă principal la feature-uri noi și suport pentru mult mai multe limbaje de programare și tehnologii decât versiunea de Community. Pentru mai multe detalii, consultați pagina: https://​www.jetbrains.com/​idea/​features/​editions_comparison_matrix.html 
 + 
 +Pentru a folosi licența, pașii sunt următorii:​ 
 +  - Accesați pagina: https://​account.jetbrains.com/​login unde introduceți adresa de mail cu care vreți să vă înregistrați contul în secțiunea "​Create JetBrains Account"​ și dați click pe butonul de "Sign Up" 
 +  - Intrați pe link-ul trimis pe mail și finalizați procesul de creare a contului 
 +  - După ce v-ați creat contul și v-ați asigurat că sunteți logați pe site, accesați pagina https://​www.jetbrains.com/​community/​education/#​students și la secțiunea "For students and teachers"​ selectați "Apply now" 
 +  - Completați datele cerute de pagina. Este important ca la secțiunea de email să completați mail-ul primit de la facultate, cel cu domeniul menționat mai sus 
 +  - După finalizarea procesului, veți primi pe mailul de facultate o confirmare cum că ați primit licența cu succes. 
 + 
 +În continuare, pentru a folosi IntelliJ IDEA Ultimate Edition, la pașii descriși mai sus se modifică următoarele:​ 
 + 
 +==Ubuntu== 
 +În loc de comanda 
 +<code bash> 
 +$ sudo snap install intellij-idea-community --classic 
 +</​code>​ 
 +folosiți comanda 
 +<code bash> 
 +$ sudo snap install intellij-idea-ultimate --classic 
 +</​code>​ 
 + 
 +==Windows== 
 +Descărcați "​.exe"​ de Ultimate de [[https://​www.jetbrains.com/​idea/​download/#​section=windows|aici]] 
 + 
 +==Final steps== 
 +După instalarea IDE-ului, veți fi nevoiți să vă logați cu contul de IntelliJ IDEA proaspăt creat, după care puteți folosi versiunea Ultimate. 
 +{{:​poo-ca-cd:​laboratoare:​login_page_intellij.png?​500|}} 
 +==== Cum creezi un proiect nou în IntelliJ? ==== 
 + 
 +1.  Deschide IntelliJ. 
 + 
 +2. Mergi la meniul **File -> New -> Project**. 
 + 
 +3.Selectează proiectul Java, SDK-ul (recomandat **jdk 17**), apoi **Create project from template** și la final **Next**. 
 + 
 +4. Dă un nume proiectului tău și alege-i locația, după care apasă butonul **Finish**.  
 + 
 +5. Acum proiectul este creat, iar pentru a adaugă pachete și clase, apasă **click dreapta pe folderul src -> New -> Package/​Java Class**. 
 + 
 +<note important>​ 
 +În cazul în care vreți să deschideți un proiect deja existent: **File-> Open** și selectați folder-ul care conține src. 
 +</​note>​ 
 + 
 +==== Cum rulăm cod? ==== 
 + 
 +1. Pentru exemplu, o să creăm clasa POO și vom scrie o bucata simplă de cod în interiorul acesteia: 
 + 
 +<code java> 
 +public class POO { 
 +  public static void main(String[] args) { 
 +     ​System.out.println("​Hello,​ POO students!!!"​);​ 
 +  } 
 +
 +</​code>​ 
 + 
 +2. Dacă nu există deja o configurație de Run pentru clasa noastră, o vom crea noi (**Edit Configurations**),​ dându-i un nume și selectând clasa care ne interesează,​ după care apăsam butonul **OK**. 
 + 
 +3. Acum putem apăsă pe **Run**, iar dacă nu sunt erori de compilare, programul va afișa output-ul în consolă. 
 + 
 +{{:​poo-ca-cd:​laboratoare:​run_config.png?​nolink&​800|}} 
 + 
 +==== Comenzi de formatere cod ==== 
 + 
 +Toate se găsesc în meniul Refactor (click dreapta) și sunt foarte folositoare atunci când lucrezi la un proiect mai mare, dându-ți o mână de ajutor. 
 + 
 +  * **Rename** (va face automat modificări în constructori și în metoda main) 
 +  * **Replace Code Duplicates** (găsește bucăți de cod care se repetă și creează o metodă nouă pentru ele) 
 +  * **Copy Refactoring** (duplică o clasă, dar cu o altă denumire) 
 +  * **Move Refactoring** (mută o clasă cu totul în alt pachet) 
 +  * **Safe Delete** (șterge ceva ce nu este folosit deloc în proiect, iar daca încerci să ștergi ceva folosit vei primi un mesaj de eroare) 
 +  * **Change Signature** (poate schimba numele metodei, parametrii acesteia, tipul, ce returnează,​ etc.) 
 + 
 + 
 + 
 +==== Folosire Google Checkstyle în proiecte ​====
  
 Veți folosi convenții de coding style la temă/​proiect,​ dar este bine să le utilizați oricând scrieți cod, inclusiv la laborator. Veți folosi convenții de coding style la temă/​proiect,​ dar este bine să le utilizați oricând scrieți cod, inclusiv la laborator.
Line 143: Line 229:
 Consultați tutorialul de [[https://​ocw.cs.pub.ro/​courses/​poo-ca-cd/​laboratoare/​tutorial-checkstyle|aici]] Consultați tutorialul de [[https://​ocw.cs.pub.ro/​courses/​poo-ca-cd/​laboratoare/​tutorial-checkstyle|aici]]
  
-=== Git === +==== Git ====
- +
-TODO+
  
 Pentru integrare Git în IntelliJ consultați tutorialul de [[https://​ocw.cs.pub.ro/​courses/​poo-ca-cd/​resurse-utile/​tutorial-intellij-git|aici]] Pentru integrare Git în IntelliJ consultați tutorialul de [[https://​ocw.cs.pub.ro/​courses/​poo-ca-cd/​resurse-utile/​tutorial-intellij-git|aici]]
  
 +== Comenzi importante ==
 +
 +  * **git clone:** clonează repo-ul local
 +  * **git add:** adaugă fișierele modificate
 +  * **git commit:** salvează fișierele
 +  * **git push:** adaugă fișierele pe repo
 +  * **git branch <nume branch>:​** creează un nou branch
 +  * **git checkout <nume branch>:​** mută pe alt branch
 +  * **git pull:** preia schimbările din repo și le adaugă local
 +  * **git status:** arată statusul proiectului,​ ce fișiere au fost schimbate
 +  * **git rebase**
 +
 +== Workflow cu Git din Git Bash ==
 +
 +  * git clone <​link>​
 +    * pentru a adăuga repo-ul local (sau git pull dacă aveți deja clonat repo-ul pe local și s-au produs schimbări)
 +  * git branch <nume branch>
 +  * git checkout <nume branch> ​
 +  * lucrăm în repo, modificăm și adaugăm fișiere
 +  * git add <​fișiere> ​
 +  * git commit -m “Mesaj de commit”
 +  * git push -u origin <name branch>
 +  * intrăm pe GitHub și facem Pull Request
 +
 +<note important>​
 +  * Tutorial: {{:​poo-ca-cd:​laboratoare:​upload_git_with_gitbash.pdf|Workflow cu Git din Git Bash}}
 +  * Dacă vreți să folosiți Git-ul integrat din IntelliJ: {{:​poo-ca-cd:​laboratoare:​upload_git_with_inteliij.pdf|Workflow cu Git din IntelliJ}}
 +
 +</​note>​
 +
 +==== GitHub Desktop ====
 +
 +GitHub Desktop este un tool dezvoltat de GitHub care simplifică lucrul cu Git. Avantajul acestuia este că acesta ajută printr-o interfață grafică user-friendly realizarea flow-ului descris mai sus și ușurează folosirea diferitelor comenzi disponibile. Momentan este disponibil pentru Windows si macOS. Acesta poate fi descărcat accesând acest [[https://​desktop.github.com/​|link]].
 +
 +<note important>​
 +În continuare puteți găsi un tutorial de folosire a GitHub Desktop în care se crează un branch nou, se adaugă modificările făcute pe repository și se face rebase la branch-ul respectiv: {{:​poo-ca-cd:​laboratoare:​tutorial_github_desktop.pdf|Tutorial}}
 +</​note>​
poo-ca-cd/laboratoare/intro.1630496253.txt.gz · Last modified: 2021/09/01 14:37 by ioan_razvan.abagiu
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