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 12:38]
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 ====
  
-Coding style-ul abordat ​de cei de la Google va fi folosit pentru temă/proiectdar este o practică bună să îl folosiți mereu când scrieți cod.+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 detaliiconsultați pagina: https://​www.jetbrains.com/​idea/​features/​editions_comparison_matrix.html
  
-1Din IntelliJ fară proiect deschis, intrați la plugins ​și căutați pluginul CheckStyle-IDEA.+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.
  
-Dacă aveți deschis deja un proiect deschisCtrl + Alt + S pentru ​Settingsiar apoi Plugins.+În continuare, pentru ​a folosi IntelliJ IDEA Ultimate Editionla pașii descriși mai sus se modifică următoarele:​
  
-2. Descărcați setul de reguli de coding style de la Google de [[https://​drive.google.com/​file/​d/​1Bt_FpMcLrcZnDmlfnSEdmsee6e1CvSf4/​view?​usp=sharing|aici]]+==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>
  
-3. Deschideți settings și căutați "Checkstyle" ​care apare în submeniul ​de la Tools +==Windows== 
-Apăsați pe "​+",​ selectați fișierul descărcat, puneți o descriere sugestiva - exempluGoogle Code Style și dați Next până la Finish+Descărcați ".exe" de Ultimate de [[https://​www.jetbrains.com/​idea/​download/#​section=windows|aici]]
  
-{{ :​poo-ca-cd:​laboratoare:​init_google_codestyle.png?nolink ​|}}+==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? ====
  
-4Bifați căsuța din stânga lui pentru a îl face activ+1.  Deschide IntelliJ.
  
-Într-un proiect de Java care nu respectă coding style-ul de la Google, warning-urile vor apărea în submeniul Problems, iar plugin-ul va face și highlight la liniile unde apar acele warning-uri.+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/laboratoare/intro.1630489139.txt.gz · Last modified: 2021/09/01 12:38 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