Differences

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

Link to this comparison view

poo-ca-cd:laboratoare:programare-avansata-java [2026/01/12 01:03]
florian_luis.micu [Logging folosind Log4j]
poo-ca-cd:laboratoare:programare-avansata-java [2026/01/12 12:12] (current)
florian_luis.micu [Unit testing vs Assertions]
Line 7: Line 7:
 =====Obiective===== =====Obiective=====
  
-=====Serializare și Deserializare=====+Scopul acestui laborator este introducerea studenților în concepte mai avansate care permit crearea framework-urilor și a aplicațiilor enterprise. 
 + 
 +Aspectele urmărite sunt: 
 +  * înțelegerea conceptelor de testare. 
 +  * utilizarea corectă a mecanismului de reflection. 
 +  * exersarea serializărilor și deserealizărilor. 
 +  * implementarea și utilizarea corectă a adnotărilor. 
 +  * exersarea folosirii aserților. 
 +  * familiarizarea cu dependențe populare cum ar fi JUnit, Mockito, Jackson. 
 + 
 +Aspectele **bonus** urmărite sunt: 
 +  * înțelegerea mecanismelor de logging. 
 +  * aprofundarea metodologiilor de dezvoltare software. 
 +  * Diferența dintre getClass() și instanceof. 
 +  * Organizarea memoriei pentru moștenire în Java. 
 + 
 +<note warning>​ 
 +  * În acest laborator există mai multe secțiuni marcate **[Optional]**. Aceste secțiuni cuprind informații **bonus** care vă pot fi prezentate în **timpul laboratorului** sau pe care le puteți aprofunda **în afara** acestuia, ele nefiind necesare pentru laboratoarele viitoare sau pentru teme. 
 +  * De asemenea, veți întâlni câteva secțiuni marcate **[Nice to know]**. Vă recomandăm ca acestea să aibă **prioritate** în parcurgerea secțiunilor de tip **[Optional]**,​ deoarece vă pot oferi informații bonus care să fie și foarte probabil utile pentru **teme** sau **laboratoare viitoare**. 
 +</​note>​ 
 + 
 +=====🔄 Serializare și Deserializare=====
  
 ====Ce este serializarea?​==== ====Ce este serializarea?​====
Line 174: Line 195:
 ===De ce este Jackson preferat în aplicațiile moderne?=== ===De ce este Jackson preferat în aplicațiile moderne?===
  
-De ce este Jackson preferat în aplicațiile moderne? 
   * JSON este lizibil și ușor de debugat,   * JSON este lizibil și ușor de debugat,
   * este interoperabil cu alte limbaje,   * este interoperabil cu alte limbaje,
Line 339: Line 359:
 </​code>​ </​code>​
  
-=====Adnotări în Java=====+=====🏷️ ​Adnotări în Java=====
  
 ====Ce sunt adnotările?​==== ====Ce sunt adnotările?​====
Line 594: Line 614:
  
  
-=====Reflection în Java=====+=====🪞 Reflection în Java=====
  
 ====Ce este Reflection?​==== ====Ce este Reflection?​====
Line 783: Line 803:
  
  
-=====Assertions=====+=====🔍 Assertions=====
  
 ====Ce sunt assertions?​==== ====Ce sunt assertions?​====
Line 844: Line 864:
  
  
-=====Unit Testing=====+=====🔬 Unit Testing=====
  
 ====Ce este Unit Testing?​==== ====Ce este Unit Testing?​====
Line 981: Line 1001:
  
 <note warning> <note warning>
-Interacțiunile cu+Interacțiunile cu **componente externe** precum ​baze de daterețea, sistemul de fișiere sau servicii externe ​nu mai țin de testarea izolată a unei unități de cod, ci fac parte din i**ntegration ​testing** sau, la un nivel mai larg, din **system testing**.
-  ​* baze de date +
-  * rețea +
-  * filesystem +
-  * servicii externe +
- +
-Acestea aparțin+
-  ​integration ​testing +
-  ​* system testing+
 </​note>​ </​note>​
  
-=====Integration Testing & Mocking=====+=====🧪 Integration Testing & Mocking=====
  
 ====Ce este Integration Testing?​==== ====Ce este Integration Testing?​====
Line 1133: Line 1145:
 </​note>​ </​note>​
  
-=====[Nice to know] Logging în Java =====+=====[Nice to know] 🪵 Logging în Java =====
  
 ==== Ce este logging-ul? ==== ==== Ce este logging-ul? ====
Line 1213: Line 1225:
 </​note>​ </​note>​
  
-=====[Optional] Software Development Methodologies=====+=====[Optional] ​🗺️ ​Software Development Methodologies=====
  
 În urma paradigmei OOP, au fost concepute mai multe metodologii care pot augmenta performanța sau anumite abilități ale unui proiect conform necesităților. În urma paradigmei OOP, au fost concepute mai multe metodologii care pot augmenta performanța sau anumite abilități ale unui proiect conform necesităților.
Line 1342: Line 1354:
  
 <note tip>​Denumirea și scopul claselor de mai sus respectă un standard folosit de framework-ul Spring.</​note>​ <note tip>​Denumirea și scopul claselor de mai sus respectă un standard folosit de framework-ul Spring.</​note>​
 +
 +===== Resurse și link-uri utile =====
 +  * [[https://​site.mockito.org/​ | Mockito]] ​
 +  * [[https://​www.atlassian.com/​continuous-delivery/​software-testing/​types-of-software-testing | Different types of software testing]]
 +  * [[https://​www.baeldung.com/​java-logging-intro | Introduction to Java logging - Baeldung]]
 +  * [[https://​softwareengineering.stackexchange.com/​questions/​123956/​why-should-i-use-reflection | Why should I use reflection and when? - StackOverflow]]
  
  
poo-ca-cd/laboratoare/programare-avansata-java.1768172604.txt.gz · Last modified: 2026/01/12 01:03 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