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 11:30]
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 80: Line 80:
 [[https://​jdk.java.net/​17/​|java 17]] [[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+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|}}
  
-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 |}} 
  
  
 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|}}
  
  
-6. Selectați Path din secțiunea ​'System variables' ​-> Edit+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 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 +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--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 ====
 +
 +==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/laboratoare/intro.1630485009.txt.gz · Last modified: 2021/09/01 11:30 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