spring-fundamentals

Probabil că cel mai plăcut moment al zilei unui programator pasionat este cel în care, după mai multe ore de muncă, în sfârșit poate spune: funcționează!!! Însă, pe măsură ce acumulezi experiență și începi să creezi lucruri tot mai complicate, ajungi să lucrezi mai mult și mai din greu până să exclami același lucru. Aici poate interveni Spring. Îți va reduce cantitatea de muncă și te va învăța să refolosești idei din cunoștințele altora și din bunele practici.

Java este un limbaj generalist care se poate folosi pentru a scrie aproape orice –  nu întâmplător a ajuns si pe Marte. Totuși, de puține ori este cazul să scrii personal fiecare bucățică din aplicația ta. Și atunci apelezi la librării externe sau, mai bine, la un framework. Spring este unul din acele framework-uri Java care îți oferă multă flexibilitate, ușurință în utilizare, modularitate, și nu cere aproape nimic la schimb.

spring-fundamentals

Ceea ce îl face pe Spring deosebit de interesant este flexibilitatea sa și cantitatea mare de extensii disponibile. Poate să acopere cu succes atât aplicații Front End cât și Back End. Și-a găsit locul și în microservicii și servicii REST.

În timp ce majoritatea framework-urilor promit mult și livrează puțin fără un efort considerabil de configurare, în Spring pornești de la bun început cu o aplicație funcțională, fără să fie nevoie să scrii măcar o singură linie de cod. Fie și numai pentru această abilitate, Spring merită studiat din plin! În plus, așa cum vom vedea de-a lungul cursului, abilitățile sale nu se opresc aici.

În 2020, mentorii Daniel Gheorghian și Cristian Macoviciuc au pregătit o provocare de studiu pentru cunoscătorii limbajului Java, configurată într-un curs pentru upgrade de skill-uri. Ei vor lucra la o aplicație cu tema: vânzarea de vacanțe virtuale. Proiectul își propune să dea frâu liber imaginației și să pună bazele unui adevărat magazin online, pornind de la câteva idei simple.

Cum e structurată programa de studiu Spring Fundamentals

Acest curs este foarte dinamic și are o structură de workshop: mai puțină teorie, mai multă practică. Din cele 16 întâlniri pe care le avem la dispoziție pe parcursul a 2 luni de zile, primele 4 întâlniri sunt ceva mai teoretice, pentru a stabili același punct de start pentru toată lumea iar restul întâlnirilor sunt dedicate lucrului la un proiect, adăugării de funcționalitate și însușirii de concepte noi pe care le aplicăm imediat in clasă. Fiecare sesiune nouă vine cu o bibliografie bogată care poate fi folosită ca suport al cursului și al proiectului realizat în timpul orelor de mentorat.

Pe parcurs, vom avea 4 teste grilă online și câte o sesiune de discuții individuale cu fiecare cursant. Toate, ca să-ți  faci o imagine cât mai clară despre nivelul de cunoștințe acumulate.

Ce ne-a plăcut cel mai tare în procesul de creație a programei

Așa cum mentorii Wantsome nu sunt zei și nu le cunosc pe toate, deși lucrează de mulți ani cu tehnologiile despre care discutăm, a fost fascinant cum, elaborarea cursului a adus cu sine o nouă experiență de învățare și pentru ei. „În redactarea suportului de curs și a exemplelor, descoperim o multitudine de informații noi sau despre care am uitat că există. Așadar, programarea este un proces continuu de învățare, de făcut greșeli, de reînvățare și de reîncercat” spune Daniel Gheorghian, unul dintre creatorii programei.

De ce să faci acest curs

În primele sesiuni de mentorat vorbim despre build tools și Gradle în special, iar cunoștințele în aceasta zonă deschid orizonturi spre un altfel de programare, mai aproape de scripting. Tot la început, vorbim despre Dependency Injection – un design pattern din familia mai mare numită Inversion of Control. Acest model de construcție a aplicațiilor este aproape nelipsit din framework-urile moderne, preferat pentru multitudinea de beneficii pe care le aduce: decuplarea codului și ușurința cu care se poate face reutilizarea codului. Vom studia acest principiu tot într-un mod hands-on, ideea fiind să punem în lumină partea practică.

A doua parte a cursului oferă o trecere în revista a funcționalităților majore ale framework-ului. Aici mergem să vedem cum au fost abordate, în Spring și extensiile sale, concepte ca securitatea, configurațiile aplicației, aducerea datelor din baza de date sau separarea responsabilităților in aplicație.

La ce să te aștepți dacă îți dedici timpul, atenția și resursele în mod conștiincios

La linia de finish a cursului Spring Fundamentals vei ști să construiești o aplicație folosind Spring MVC și templating engine-ul lor favorit, cu tot ceea ce presupune aceasta: pornind de la formulare, HTML, CSS, trecând prin Spring Validation, JPA, Spring Data și JDBC.

Noutăți în domeniu?

Spring WebFlux și Reactive Programming sunt 2 zone interesante care schimbă perspectiva asupra modului în care privim codul din spatele unei aplicații: schimbăm paradigma și mergem spre o implementare bazată pe fluxuri de date și propagarea schimbărilor. Dacă vrem să dezvoltam următorul Facebook sau aplicații cu cantități mari de date, atunci un API reactive este probabil ceea ce căutăm.

3 direcții din care să descoperi dacă acest curs este potrivit pentru tine

  1. Acest curs se adresează oricărui cunoscător de Java, la nivel începător sau mediu. Cei care fac performanță în domeniu sunt, de obicei, curioși, curajoși și modești
  2. Pot participa și persoane care au început recent să utilizeze Spring – acestora cursul le poate clarifica unele aspecte și poate servi ca un mod de a descoperi noi abilități ale framework-ului.
  3. Spring este o unealtă care trebuie să fie prezentă în arsenalul programatorului full-stack.

Cu cine vei studia Spring Fundamentals la Wantsome

Daniel Gheorghian – Mentor Java @Wantsome/ Scrum Master & Technical Lead @ MindCTI

spring-fundamentals

Daniel are multă răbdare dar e și foarte direct. Crede că, în programare, joaca sau experimentul trebuie urmate de teorie și că teoriile trebuie supuse la încercare. Îl motivează 2 lucruri: curiozitatea și explorarea unei diversități de abordări și soluții. Întotdeauna a fost curios să înțeleagă cum funcționează o tehnologie nouă sau veche, desprindere care îi dau energie și răbdare să experimenteze și să eșueze până se declară mulțumit. Când se relaxează neproductiv o face în compania filmelor, serialelor sau a cărților SF și fantasy, când o face activ experimentează cu muzica, creația de obiecte sau programe  pe calculator care, cu ajutorul electronicii, produc efecte în lumea fizică. Lui Daniel Gheorghian i-ar plăcea foarte mult să te audă punând întrebări pe tot parcursul sesiunilor de curs și să te dezvețe să ai o abordare pasivă față de learning.

Cristian Macoviciuc – Program Manager & [email protected]

spring-fundamentals Cristi este carismatic, are foarte multă răbdare și 16 ani de experiență în programare. I-a construit singur o stație de joacă pisicii și și-a convins și frigiderul să îl anunțe modificările de temperatură. A lucrat la Mind, Optymize și Levi9 iar la CoderDojo a făcut aproape 3 ani de mentorat pentru tineri. Cursanții Wantsome îl consideră un super-erou pentru felul în care explică, pe înțelesul tuturor, fiecare informație și felul în care revine asupra noțiunilor predate, ori de câte ori este nevoie.

 

Sună bine și ești gata să investești în tine? Află că începem de la finalul lunii iulie.  Înscrie-te aici.