This shows you the differences between two versions of the page.
poo-ca-cd:laboratoare:intro [2025/09/28 20:46] florian_luis.micu [Mediul de dezvoltare Java] |
poo-ca-cd:laboratoare:intro [2025/09/30 16:40] (current) florian_luis.micu |
||
---|---|---|---|
Line 1: | Line 1: | ||
===== Setup Environment: JDK, IntelliJ, Maven, Git ===== | ===== Setup Environment: JDK, IntelliJ, Maven, Git ===== | ||
+ | |||
+ | * Autori: [[miculuis1@gmail.com | Florian-Luis Micu ]], [[sorinabuf@gmail.com | Sorina-Anamaria Buf ]], [[stefancocioran@gmail.com | Ștefan Cocioran ]] | ||
+ | * Data publicării: 29.09.2025 | ||
+ | * Data ultimei modificări: 30.09.2025 | ||
+ | |||
==== Mediul de dezvoltare Java ==== | ==== Mediul de dezvoltare Java ==== | ||
Line 85: | Line 90: | ||
<note important>Adăugați cele două linii la finalul fișierului și apoi salvați modificările apăsând ''escape'' după care scrieți '':wq''.</note> | <note important>Adăugați cele două linii la finalul fișierului și apoi salvați modificările apăsând ''escape'' după care scrieți '':wq''.</note> | ||
- | 6. Rulați script-ul de inițializare pentru shell manual | + | 6. Rulați script-ul de inițializare pentru shell manual: |
<code bash> | <code bash> | ||
$ source ~/.bashrc | $ source ~/.bashrc | ||
Line 129: | Line 134: | ||
<note important>Deoarece lucrați într-un folder administrat de sistemul de operare va trebui să folosiți drepturi de administrator.</note> | <note important>Deoarece lucrați într-un folder administrat de sistemul de operare va trebui să folosiți drepturi de administrator.</note> | ||
- | 3. Intrați în folderul ''jdk-25'' și dați click pe address bar iar apoi click dreapta și ''copy''. | + | 3. Intrați în folderul ''jdk-25'' și dați click pe address bar iar apoi click dreapta și ''copy'': |
{{:poo-ca-cd:laboratoare:java_windows_path.png?nolink&500|}} | {{:poo-ca-cd:laboratoare:java_windows_path.png?nolink&500|}} | ||
Line 148: | Line 153: | ||
- | 7. Apăsați tasta ''windows'' -> tastați "terminal" și ''enter'' după care rulați comenzile ''java --version'' și ''javac --version'' pentru a vedea dacă utilitarele s-au instalat corect: | + | 7. Apăsați pe ''Edit'' pe variabila PATH din ''System variables'', apoi dați click pe ''New'' în fereastra nouă care s-a deschis și introduceți path-ul ''%JAVA_HOME%\bin''. |
+ | |||
+ | 8. Apăsați tasta ''windows'' -> tastați "terminal" și ''enter'' după care rulați comenzile ''java --version'' și ''javac --version'' pentru a vedea dacă utilitarele s-au instalat corect: | ||
{{:poo-ca-cd:laboratoare:java_windows_install.png?nolink&500|}} | {{:poo-ca-cd:laboratoare:java_windows_install.png?nolink&500|}} | ||
Line 231: | Line 238: | ||
3. Restart pentru a se face update la variabilele de mediu | 3. Restart pentru a se face update la variabilele de mediu | ||
+ | |||
==== Instalare IntelliJ IDEA Ultimate Edition ==== | ==== Instalare IntelliJ IDEA Ultimate Edition ==== | ||
Line 268: | Line 276: | ||
==Final steps== | ==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. | 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|}} | {{:poo-ca-cd:laboratoare:login_page_intellij.png?500|}} | ||
Line 322: | Line 331: | ||
3. Pentru a face debug codului putem apăsa pe butonul care seamănă cu un gândac (tradus în engleză "bug"), după ce am pus un breakpoint la o linie cu o instrucțiune de cod (vezi chenarele albastre din poza de mai sus). | 3. Pentru a face debug codului putem apăsa pe butonul care seamănă cu un gândac (tradus în engleză "bug"), după ce am pus un breakpoint la o linie cu o instrucțiune de cod (vezi chenarele albastre din poza de mai sus). | ||
- | 4. După ce porniți o sesiune de, debug vi se va deschide un panou special cu mai multe comenzi: | + | 4. După ce porniți o sesiune de debug, vi se va deschide un panou special cu mai multe comenzi: |
{{:poo-ca-cd:laboratoare:intellij_debug.png?nolink&800|}} | {{:poo-ca-cd:laboratoare:intellij_debug.png?nolink&800|}} | ||
Line 328: | Line 337: | ||
* Chenarul galben: | * Chenarul galben: | ||
* butonul din dreapta vă permite să săriți ușor cu pasul de execuție la următorul breakpoint, deci dacă vă aflați la linia "104" și următorul breakpoint este la linia "150", prin apăsarea butonului veți sări direct la acea linie, totuși aveți grijă ca breakpoint-ul să fie la o linie de cod care se va executa. | * butonul din dreapta vă permite să săriți ușor cu pasul de execuție la următorul breakpoint, deci dacă vă aflați la linia "104" și următorul breakpoint este la linia "150", prin apăsarea butonului veți sări direct la acea linie, totuși aveți grijă ca breakpoint-ul să fie la o linie de cod care se va executa. | ||
- | * butonul din mijloc oprește sesiunea de, debug | + | * butonul din mijloc oprește sesiunea de debug. |
- | * butonul din stânga restartează sesiunea de, debug | + | * butonul din stânga restartează sesiunea de debug. |
* Chenarul mov: | * Chenarul mov: | ||
* se afișează mai multe ''Stack frame-uri'', practic dacă aveți apeluri de metode imbricate puteți apăsa pe oricare Stack Frame și astfel puteți să verificați starea obiectelor Java în momentul apelului unei metode. | * se afișează mai multe ''Stack frame-uri'', practic dacă aveți apeluri de metode imbricate puteți apăsa pe oricare Stack Frame și astfel puteți să verificați starea obiectelor Java în momentul apelului unei metode. | ||
Line 341: | Line 350: | ||
<note tip> | <note tip> | ||
* Noțiunile de mai sus pot fi ușor avansate, deoarece nu cunoașteți încă detalii despre programarea în Java, însă puteți reveni oricând la acest laborator pentru a vă familiariza cu procesul de, debug. | * Noțiunile de mai sus pot fi ușor avansate, deoarece nu cunoașteți încă detalii despre programarea în Java, însă puteți reveni oricând la acest laborator pentru a vă familiariza cu procesul de, debug. | ||
- | * IntelliJ este un IDE, ceea ce înseamnă că are foarte multe utilitare de proofiling și debug care vă pot fi utile. Vă recomandăm să consultați documentația oficilă [[https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html|JetBrains]] , deoarece IntelliJ este un software foare folosind în industria IT. | + | * IntelliJ este un IDE, ceea ce înseamnă că are foarte multe utilitare de proofiling și debug care vă pot fi utile. Vă recomandăm să consultați documentația oficilă [[https://www.jetbrains.com/help/idea/debugging-your-first-java-application.html|JetBrains]] , deoarece IntelliJ este un software foarte folosit în industria IT. |
</note> | </note> | ||
==== Comenzi de formatere cod ==== | ==== 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. | + | Toate se găsesc în meniul Refactor (click dreapta pe o secvență de cod) ș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) | * **Rename** (va face automat modificări în constructori și în metoda main) | ||
Line 457: | Line 466: | ||
==== Git ==== | ==== Git ==== | ||
- | <note warning> | + | Git este un tool de versionare a codului care este folosit de orice programator pentru a facilita procesul de review, back-up și versionare. |
- | Înainte de a parcurge alte materiale despre Git, vă recomandăm să consultați următorul [[poo-ca-cd:resurse-utile:tutorial-git|tutorial]] exhaustiv, deoarece veți folosi acest utilitar și la **teme** și mai ales în proiecte personale și profesionale, fiind un utilitar **necesar** pentru orice companie care dezvoltă soluții IT. | + | |
- | </note> | + | |
- | Pentru integrare Git în IntelliJ consultați tutorialul de [[https://ocw.cs.pub.ro/courses/poo-ca-cd/resurse-utile/tutorial-intellij-git|aici]]. | + | Vă recomandăm să citiți tutorialul exhaustiv de [[poo-ca-cd:resurse-utile:tutorial-git|aici]]. |
- | == Comenzi importante == | + | <note tip> |
+ | * Nu încurcați GitHub cu ''git''. GitHub, BitBucket, GitLab sunt interfețe web peste tool-ul ''git''. | ||
+ | * Nu este obligatoriu să folosiți direct ''git'', există tool-uri grafice care vă pot ușura munca dacă preferați interfețele grafice: | ||
+ | * **IntelliJ** are suport integrat pentru ''git'' dintr-un panou dedicat. Pentru detalii consultați documentația de [[https://www.jetbrains.com/help/idea/using-git-integration.html|aici]] după ce ați terminat de parcurs ghidul de mai sus despre ''git''. | ||
+ | * GitHub vă pune la dispoziție aplicația **GitHub Desktop** pentru Windows și macOS. Pentru detalii consultați documentația de [[https://desktop.github.com/download/|aici]] după ce ați terminat de parcurs ghidul de mai sus despre ''git''. | ||
+ | </note> | ||
- | * **git clone:** clonează repo-ul local | + | <note warning> |
- | * **git add:** adaugă fișierele modificate | + | Vă rugăm să parcurgeți cu atenție tutorialul de mai sus, deoarece va trebui să folosiți ''git'' la teme. |
- | * **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> | </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> |