Differences

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

Link to this comparison view

poo-ca-cd:arhiva:laboratoare:2024:intro [2025/09/27 10:36] (current)
florian_luis.micu created
Line 1: Line 1:
 +===== Setup Environment =====
  
 +==== Instalare Java 17 ====
 +
 +Pentru POO vom folosi Java 17 și anume OpenJDK 17.
 +
 +Pași de instalare:
 +
 +==Ubuntu==
 +
 +1. Deschideți un terminal - ''​Ctrl + Alt + T''​
 +
 +2. Faceți update la pachetele instalate deja in sistem
 +<code bash>
 +$ sudo apt update
 +</​code>​
 +
 +3. Adăugați repository-ul de OpenJDK
 +<code bash>
 +$ sudo add-apt-repository ppa:​openjdk-r/​ppa
 +</​code>​
 +
 +4. Instalați OpenJDK 17
 +<code bash>
 +$ sudo apt install openjdk-17-jdk
 +</​code>​
 +
 +5. Instalați și codul sursă pentru Java 17 ce vă va ajuta pe parcursul materiei
 +<code bash>
 +$ sudo apt install openjdk-17-source
 +</​code>​
 +
 +6. Setați variabila ''​JAVA_HOME''​
 +
 +În terminalul deschis:
 +<code bash>
 +$ sudo gedit /​etc/​environment
 +</​code>​
 +
 +La final de fișier adăugați următoarea linie:
 +JAVA_HOME=”/​usr/​lib/​jvm/​java-17-openjdk-amd64” - path-ul poate să difere
 +
 +{{:​poo-ca-cd:​laboratoare:​openjdk_env2.png?​nolink&​500|}}
 +
 +7. Salvați fișierul apoi închideți-l. În terminalul deschis:
 +<code bash>
 +$ source /​etc/​environment
 +</​code>​
 +
 +8. Verificați dacă totul a fost instalat corect scriind în terminal:
 +<code bash>
 +$ echo $JAVA_HOME
 +$ java -version
 +</​code>​
 +
 +{{:​poo-ca-cd:​laboratoare:​java_version.png?​nolink&​500|}}
 +
 +<note important>​
 +Pentru cei care aveți probleme și nu se păstrează valoarea variabilei JAVA_HOME:
 +
 +Deschideți bashrc:
 +
 +<code bash>
 +$ sudo gedit ~/.bashrc
 +</​code>​
 +
 +
 +Adăugați linia la final de fișier:
 +source /​etc/​environment
 +
 +Salvați și închideți fișierul .bashrc
 +
 +Astfel, comanda se va efectua la fiecare login al userului automat.
 +</​note>​
 +
 +
 +==Windows==
 +
 +1. Descărcați arhiva oficială și dezarhivați
 +[[https://​jdk.java.net/​17/​|java 17]]
 +
 +2. În C:/Program Files creați un folder denumit "​java"​ și mutați tot fișierul de OpenJDK înăuntrul fișierului java cu drepturi de administrator
 +
 +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&​500|}}
 +
 +
 +
 +4. Apăsați tasta de windows + E apoi click dreapta pe This PC -> Properties
 +
 +{{:​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
 +{{:​poo-ca-cd:​laboratoare:​java_env_vars.png?​nolink&​500|}}
 +
 +
 +6. Selectați Path din secțiunea "​System variables"​ -> Edit
 +
 +7. Apăsați New și paste la path-ul pe care l-am copiat anterior -> OK
 +
 +8. Selectați Path tot din "​System variables"​ -> New
 +  * nume: ''​JAVA_HOME''​
 +  * value: ''​C:​\Program Files\java\jdk-17\''​ - același path anterior dar fară bin
 +
 +{{:​poo-ca-cd:​laboratoare:​java_windows_javahome.png?​nolink&​500|}}
 +
 +
 +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.
 +
 +{{:​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 ====
 +
 +==Ubuntu==
 +
 +1. Deschideți un terminal - ''​Ctrl + Alt + T''​
 +
 +2. Instalați IntelliJ
 +<code bash>
 +$ sudo snap install intellij-idea-community --classic
 +</​code>​
 +
 +
 +==Windows==
 +
 +1. Descărcați "​.exe"​ de Community de [[https://​www.jetbrains.com/​idea/​download/#​section=windows|aici]]
 +
 +2. Configurați în acest mod următorul meniu pentru a ușura tot flow-ul
 +
 +{{:​poo-ca-cd:​laboratoare:​windows_intellij.png?​nolink&​500|}}
 +
 +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 ====
 +
 +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.
 +
 +
 +Consultați tutorialul de [[https://​ocw.cs.pub.ro/​courses/​poo-ca-cd/​laboratoare/​tutorial-checkstyle|aici]]
 +
 +==== Git ====
 +
 +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/arhiva/laboratoare/2024/intro.txt · Last modified: 2025/09/27 10:36 by florian_luis.micu
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