fbpx

Spring Framework – kompletna aplikacja

Właśnie wystartowała pierwsza edycja mojego kursu Spring „Spring Framework – kompletna aplikacja”.

[ STRONA KURSU ]

Jest to kurs Spring podczas którego razem stworzymy aplikację z użyciem frameworku Spring. Zaczynamy od poziomu zero, wiec od samych podstaw tego frameworku, a potem krok po kroku tworzymy i powiększamy projekt, który finalnie zdeployujemy na zewnętrznym hostingu. Aplikacja będzie komunikować się z zewnętrzną bazą danych. Serwer to jedna część. Zrobimy też część frontendową. Zaczniemy od szablonów Thymeleaf, a potem przejdziemy do strony bazującej na ReactJS. Serwer i klient webowy będą porozumiewać się ze sobą z użyciem API typu REST.


[ STRONA KURSU ]

Oczywiście sam kod to nie wszystko, więc dowiesz się też jak aplikację wrzucić zarówno na prywatny hosting jak i na chmurę AWS oraz postawić tam bazy danych. Kurs ten uczy rzeczy potrzebnych do stworzenia solidnej aplikacji, którą śmiało może być prezentowana w portfolio albo być podstawą do aplikacji obsługującej nasz biznes. Niejako przy okazji poznajemy najistotniejsze części Frameworku Spring. Koncentrujemy się na tym co jest najwazniejsze – solidne zrozumienie podstaw, tworzenie aplikacji webowej testy jednostkowe, komunikacja z baza danych na wspomaganiu springowym. Bardzo dużo czasu poświęcimy Spring Security.

[ STRONA KURSU ]

Zaczynamy, bez niespodzianek, od początku, czyli wygenerowania szkieletu projektu za pomocą narzędzia dostępnego na start.spring.io, a następnie poznajemy fundamenty frameworku Spring. Następnie przechodzimy do nauki modelu Model – View – Controler, szablonów HTML i protokołu HTTP. Uczymy jak te wszystkie rzeczy ze sobą połączyć, by otrzymać funkcjonalną aplikację. W kolejnych rozdziałach dowiadujemy się o Spring Data i efektywnym połączeniu Springa z persystencją danych w zewnętrznej bazie danych. Przy okazji dowiemy się conieco o zdarzeniach w Springu oraz o podpakiecie służącym do wysyłania emaili. Następnym krokiem jest podróż w świat REST API, wraz tym jak jak porządnie je dokumentować, tak by korzystanie z niego nie było nauką po omacku. Spring Security pochłonie jeden, duży rozdział. Nauczyły się trzech sposobów na uwierzytelnianie i autoryzację użytkowników. Następnie wrzucimy część serwerową na zewnętrzny hosting. Finalnie stworzymy front-end dla naszej aplikacji w ReactJS.

W dodatkowych materiałach pokaże postawić naszą aplikację w chmurzę AWS oraz pokaże case study popularnego zadania rekrutacyjnego.

Mockito.mock() vs @Mock vs @MockBean

W tym wpisie przyjrzymy się trzem sposobom na tworzenie mocków z użyciem frameworka Mockito, a mianowicie .mock() i @Mock.

Mockito.mock()

Metoda Mockito.mock() tworzy obiekt typu mock na podstawie klasy albo interfejsu, jaki podamy w argumencie. Następnie możemy ustawić kiedy, jakie wartości ma ów obiekt zwracać, albo weryfikować, jakie metody zostały wykonane.

Czytaj dalej Mockito.mock() vs @Mock vs @MockBean

Warsztaty programistyczne – Maven

Cześć i czołem. Wiem, że dawno żadnego technicznego mięska na blogu nie było, ale trwają różne prace na backendzie „clockwokjavy”, które pochłaniają mój czas. Na szczęście z każdym dniem jest już ich mniej niż więcej.

Jednym z efektów takich prac są nowe warsztaty programistyczne. Tym razem są poświęcone narzędziu Apache Maven.

Wedle najnowszych statystyk 79% projektów pisanych w Javie używa Mavena jako głównego build toola. Jego znajomość jest więc niezbędna do efektywnej (a czasem i efektownej) pracy.

Kurs skupia się na praktycznych rzeczach, takich, które praktycznie od razu mogą zostać użyte w projektach zarówno osobistych jak i biznesowych.

Dołącz do szkolenia.

Spis treści:

  1. Czym jest Maven?
  2. Instalacja
  3. Utworzenie podstawowego projektu
  4. Słów kilka o archetypach
  5. Struktura projektu
  6. Pierwszy rzut oka na pom.xml
  7. Zależności
  8. Repozytorium zdalne i lokalne
  9. Cykl życia i fazy pracy Mavena
  10. Wersjonowanie semantyczne 
  11. Properties
  12. Zmiana wersji zależności na przykładzie jUnit  ( 4 -> 5 )
  13. Praca z pluginami na przykładzie JoCoco  (raportowania test coverage)
  14. Ciąg dalszy pracy z pluginami na przykładzie Checkstyle
  15. Parent POM na przykładzie spring boot
  16. Praca z projektem wielomodułowym
  17. Wzajemnie zależności modułów
  18. Kopiowanie artefaktów na zewnętrzny serwer
  19. Profile

Dołącz do szkolenia.

Start szkolenia „Kompletna aplikacja w języku Java” II Edycja

Druga edycja kursu „Kompletna aplikacja w języku Java – od zera do installera” właśnie wystartował! Zapisywać się można na https://java.clockworkjava.pl. Dzięki niej krok po kroku stworzysz pełnoprawną aplikację w języku Java, gotową do użycia przez klienta.

Czytaj dalej Start szkolenia „Kompletna aplikacja w języku Java” II Edycja

Fundamenty Spring – #1 Hello Spring!

Rozpoczynamy przygodę z nowym cyklem – Fundamenty Spring Framework opartym na podstawie kursu o tym samym tytule. Jest on naturalną, popularną kontynuacją nauki po poznaniu podstaw Javy. W kolejnych artykułach z serii wspomnę o rzeczach, które są niezbędne w codziennej pracy. Czas na nasze pierwsze Hello!

Czytaj dalej Fundamenty Spring – #1 Hello Spring!

Przesłanianie zmiennych. Studium przypadku.

Jakiś czas temu poproszono mnie o pomoc przy kawałku bardzo prostego kodu, bardzo prostego oczywiście z mojej obecnej perspektywy.

Była tam jedna funkcja, która idealnie wpadła w cykl „studium przypadku”. Kod wyglądał mniej więcej tak:

public class Shadowing {
    
    private String name;
    
    String setname(String Name) {
        name = name;
        return name;
    }
}

Oczywiście kod nie działał, jak powinien. Jednak kompilator nie zgłaszał żadnych błędów, bo od strony językowej wszystko gra. Natomiast błędów logicznych było tu kilka, temu kawałek kodu wylądował na blogu.

Czytaj dalej Przesłanianie zmiennych. Studium przypadku.

Droga do Java Junior Developera – nagrania z mentoringu

W dzisiejszym artykule mam dla was kilka informacji o inicjatywie pod nazwą „Droga do Java Junior Developera”. Jakiś czas temu odezwał się do mnie Marcin Pypeć z pewną interesującą inicjatywą.

Czytaj dalej Droga do Java Junior Developera – nagrania z mentoringu

Persistence Context – studium przypadku z rozmowy kwalifikacyjnej

Ostatnio znajomy podrzucił mi przykładowe pytanie z rozmowy kwalifikacyjnej dotyczące JPA/Hibernate i stwierdziłem, że jest to ciekawy przykład na przedstawienie działanie Persistence Context.

Czytaj dalej Persistence Context – studium przypadku z rozmowy kwalifikacyjnej

Praca z czasem i datami w języku Java

Czasy zamierzchłe

Przed ósmym wydaniem Javy do obsługi dat używano dwóch klas – Date oraz Calendar. Praca z nimi nie należała do najprzyjemniejszych. Na co dzień irytowała niespójność API (np. dni numerowane od zera, a miesiące od jedynki), a przy szczególnych okazjach brak zabezpieczeń, gdy kilka wątków pracowało na tym samym obiekcie. Efekt był taki, że popularność zdobywały alternatywne biblioteki do zarządzania czasem, najpopularniejszą z nich była ta o nazwie Joda-Time

Nie poświęcimy tym dwóm klasom tutaj miejsca, bo Java 8 przyniosła ze sobą coś lepszego.

Czytaj dalej Praca z czasem i datami w języku Java