Differences

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

Link to this comparison view

poo-ca-cd:laboratoare:intro [2021/09/06 17:20]
florin.mihalache
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 ====
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 105: Line 105:
   * 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==
  
 +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 ==== ==== Instalare IntelliJ 2021.2 Community ====
  
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
 +
 +==== 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 ==== ==== Folosire Google Checkstyle în proiecte ====
Line 144: Line 230:
  
 ==== 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.1630938017.txt.gz · Last modified: 2021/09/06 17:20 by florin.mihalache
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