Java, Spring, React
W ostatnich dwóch częściach mini-serii o architekturze opisałem czym są obiekty domenowe, dto oraz jak wygląda architektura trójwarstwowa/wielowarstwowa. Warto pokazać kod takiej aplikacji. Użyjemy do tego frameworka Spring, który jest najpopularniejszym frameworkiem w świecie Javy, oraz ma wbudowany trójpodział obowiązków. W tym wpisie używamy Spring Framework. Jego fundamenty możesz poznać w tym darmowym kursie. Zacznijmy …
Na warsztat trafia kolejna operacja z rodziny CRUD czyli Update – aktualizacja. Ponownie spotkamy się z wykorzystaniem transakcji i sprytnego zarządzania zapytaniami do bazy danych przez Entity Managera. Na początek pamiętaj o usunięciu naszego małego tricku z poprzedniej lekcji, który kasuje dane w Persistence Context. Zatem z metody findById znika em.clear(). Update czyli aktualizacja danych …
Architektura trójwarstwowa dzieli program na trzy osobne części, mianowicie: warstwa prezentacji warstwa biznesowa (zwana również warstwą logiki biznesowej) warstwa danych (persystencji, utrwalania danych). W praktyce warstwa prezentacji to po prostu interfejs użytkownika. Może to być standardowy interfejs graficzny, może to być strona internetowa, czy też prosty interfejs tekstowy. Centralne miejsce zajmuję warstwa biznesowa. Tu znajdują …
Wkraczamy w drugą operację z rodziny CRUD, czyli przed nami Read. Zabieramy się zatem za odczyt zapisanych danych z bazy danych. W celu odczytu danych z bazy danych musimy po pierwsze wyznaczyć po czym możemy odszukać taką daną. Stworzymy w głównej klasie App szukanie po ID repo.findById() i tradycyjnie od razu dodamy tą metodę w …
Po kilku artykułach poświęconych tematyce CRUD czas na relacje one-to-one i one-to-many. Przybliżą nam one trochę bardziej skomplikowany świat obiektów i opisujących ich danych. Poznamy jak Hibernate ułatwia nam tworzenie powiązań między tabelami. W poprzednich artykułach poznaliśmy działanie CRUD, czyli Create, Read, Update i Delete. Przykładem był prosty obiekt gość (Guest), o dwóch danych imię …
Pracując z większymi systemami często spotykamy się z pojęciem obiektów domenowych, DTO, a okazyjnie natrafiamy nawet na DAO. Każda z tych nazw określa pewien typ obiektów, które mają określone zadanie. Domeny i obiekty domenowe Zacznijmy od najważniejszego z nich, czyli obiektu domenowego. Domena w programowaniu to, ogólnie mówiąc, pewien obszar odpowiedzialności naszego programu. Tworząc system …
Zaczynamy działać w obszarze CRUD i dziś zajmiemy się pierwszą operacją z tej rodziny czyli create. Poznasz przy tej okazji zasadę działania transakcji. CRUD to określenie na cztery podstawowe działania w aplikacji korzystającej z pamięci trwałej czyli bazy danych: create, read, update, delete. Czas na stworzenie pierwszego obiektu i zapisaniu go do bazy danych, a …
Na warsztat trafia pierwsza encja. Stworzymy klasę z prostymi danymi naszych pierwszych gości. Po dodaniu tylko trzech adnotacji zobaczysz jak JPA automatycznie zaczyna tworzyć tabele z wskazanymi polami i sekwencję do nadawania unikalnych id. Dla przypomnienia encja jest to taka klasa, której obiekty będą zapisywane poprzez Entity Manager do bazy danych. W naszej paczce pl.clockworkjava.hotelreservation.jpa …
W tym wpisie przybliżę Ci jeden z najważniejszych wzorców w programowaniu, niezależnie od języka – wstrzykiwanie zależności Format wideo wpisu znajduję się na jego końcu Wstrzykiwanie zależności – prosty przykład Załóżmy, że mamy dom, a w nim okna public class House { List windows = new ArrayList(); public static void main(String[] args) { } } …
W poprzednich odcinkach cyklu poznaliśmy podstawy debugowania oraz poruszania się po kodzie w trakcie sesji debugowania. W tym wpisie poświęcimy więcej uwagi breakpointom. Wiele breakpointów Nic nie stoi na przeszkodzie, by w kodzie był więcej niż jeden breakpoint. Wówczas program zatrzyma działanie przy napotkaniu każdego z nich. Natrafiamy na pierwszy breakpoint i odpalamy zieloną strzałką …
W poprzednim odcinku serii poznaliśmy podstawy debugowania, a tym odcinku serii przyjrzymy się stosowi wywołań (call stack) i poznamy jak poruszać się o nim podczas sesji debug. Czym jest stos wywołań (call stack)? W czasie wykonywania programu w Javie uruchamiana jest spora liczba metod, a ich wykonywanie jest śledzone na tak zwanym call stack’u – …
W ramach kursu wkraczamy w pierwszy etap tworzenia projektu czyli jego konfigurację. Dodamy trochę od siebie w pliku pom.xml, a następnie utworzymy pierwszą klasę w Javie. Później zajmiemy się dostosowaniem Hibernate oraz Entity Managerem. Wcześniejszą teorię w praktyce pokażę na przykładzie projektu Maven w IDE IntelliJ Community. Jest to darmowa wersja IDE, ale w zupełności …
Na warsztacie podstawowe elementy takie jak konfiguracja za pomocą XMLa, Entity Manager i Encje. Kto w tym towarzystwie zarządza Persistance Context? Uwaga na wstępie. Nazewnictwo JPA i Hibernate od tego momentu będzie używane wymiennie. Już wiesz, że JPA to bardziej ogólne pojęcie i dotyczy standardu dla Javy, a Hibernate to jego implementacja. Konfiguracja JPA JPA …
Na warsztat trafia ORM, JPA i Hibernate w ramach cyklu Fundamenty JPA i Hibernate. Co kryje się za skrótem ORM i JPA i właściwie czym jest Hibernate? W ekosystemie Javy w temacie persystencji danych mamy takie trzy najpopularniejsze hasła – dwa skróty i jedną nazwę framework’a – ORM, JPA i Hibernate. Object-Relational Mapping ORM to …
W pierwszej części krótkiego cyklu o debugowaniu w IDE IntelliJ Community przyjrzymy się zupełnym podstawom. Czym jest debugowanie? Zacznijmy od tego, czym jest debugowanie. Przede wszystkim jest to proces, podczas którego szukamy błędów w kodzie i je naprawiamy. Oczywiście nie jest to tak, że manager rzuca hasłem “a teraz debugujemy” i każdy szuka błędów w …
Java, Spring, React
W zawodzie od lat siedmiu, na początku przygody backendowiec, a od niemal dwóch już jako full stack z naciskiem na front. Od lat już niemal dwóch z całkiem przyzwoitym skutkiem uczę, czy to tradycyjnie twarzą twarz, czy zgłębiam jak dobrze to robić z użyciem tych całych internetów.