#0 Spring Basic – o co chodzi z tym Springiem

Rozpoczynamy kolejny cykl wpisów. Tym razem na tapecie framework Spring. Zamierzamy przedstawić wam podstawowe funkcjonalności Spring’a. Wiele osób zaczyna przygodę ze Spring’iem od Spring Boot’a, bez zrozumienia co dzieje się pod spodem. Poruszymy tematy takie jak tworzenie beanów, zasięg beanów czy rodzaje wstrzykiwania zależności. Jednakże, na początek zapraszamy na wpis wprowadzający do Spring’a,

Czytaj dalej


#5 Wzorce projektowe: Test Data Builder

Dzisiaj na tapete bierzemy wzorzec Test Data Builder. Nazywany jest również Fluent Builder’em lub Appender’em. Z jego pomocą jesteśmy w stanie budować obiekty w prosty i przejrzysty sposób. Zetknęliście się kiedyś z kodem, w którym tworzenie obiektu z dużą ilością pól odbywało się przez konstruktor, a wy kilka razy musieliście sprawdzać w jakiej kolejności podawać następne parametry? Jest na to proste rozwiązanie – Test Data Builder.

Czytaj dalej


#27 Spring Boot – Consumer Driven Contract

Z każdym kolejny mikroserwisem testowanie naszej aplikacji staje się coraz bardziej trudne (w przypadku gdy są one ze sobą powiązane). Oczywiście możemy zamokować zachowanie innych serwisów korzystając na przykład z biblioteki WireMock, jednakże po wdrożeniu naszej aplikacji na produkcję okazuje się, że aplikacja nie integruje się poprawnie. A no właśnie, okazało się, iż mój serwis odpytywał zły endpoint, ale jak to możliwe, skoro wszystkie testy były uzależniająco zielone?

Czytaj dalej


#4 Wzorce projektowe: Builder – zbudujmy to lepiej

designPatternArt

Builder, czyli nasz polski budowniczy należy do wzorców kreacyjnych. Dzięki niemu możemy tworzyć złożone obiekty dzieląc jeden duży proces na kilka mniejszych etapów. Każdy z tych etapów może być implementowany na wiele różnych sposobów. Daje nam to możliwość tworzenia różnych reprezentacji tego samego obiektu.

Czytaj dalej


#26 Spring Boot – Neo4j

W poprzednim wpisie pokazałam jak zainstalować Neo4j. Teraz możemy spróbować napisać prostą aplikację z użyciem Spring Boot’a, która wykorzystuje bazę grafową Neo4j.  Dzięki wykorzystaniu Spring Data otrzymujemy całą abstrakcję związaną z warstwą persystencji. Ponadto operacje CRUD’owe wywoływane są w taki sam sposób jak dla innych, znanych nam typów baz.

Czytaj dalej


#3 Wzorce projektowe: Wstrzykiwanie zależności

Bardzo ciekawy wzorzec, który w środowisku Javowym wydaje się normalnością. Wstrzykiwanie zależności (ang. Dependency Injection) jest to wzorzec, którego stosowanie spowoduje, iż nasz kod stanie się mniej związany z innymi elementami, a tym samym będzie bardziej otwarty na rozszerzenia. Oczywiście w tematyce DI pojawić musi się również pojęcie odwróconej kontroli (ang. Inversion of Control). Zapraszamy!

Czytaj dalej


#25 Spring Boot – Turbine – wspólny dashboard

W poprzednim wpisie pokazywałem jak wykorzystać Hystrix’a jako jeden ze sposób realizacji wzorca Circuit Breaker. Pojawił się także wpis dotyczący dashboard’u, na którym wyświetlane były informacje dla danego Circuit Breaker’a. Niestety wadą tego rozwiązania było to, iż mieliśmy jeden dashboard per aplikacja, więc jeśli chcielibyśmy sprawdzać stan kilku Circuit Breaker’ów musielibyśmy przełączać się pomiędzy dashboardami.

Czytaj dalej


#2 Java Performance – Tablica vs. Lista

Kolejny wpis z serii Java Performance dotyczy stosowania struktur danych takich jak tablice oraz listy. Tablice oraz listy są jednymi z najbardziej popularnych struktur danych stosowanych przez programistów Javy. Jednakże nie zawsze dobieramy je jako optymalne rozwiązanie dla danego problemu. W tym wpisie postaram się pokazać wam, jak wybierać pomiędzy listą, a tablicą.

Czytaj dalej


Docker Hub – repozytorium dla obrazów

We wcześniejszy wpisach na temat Dockera poruszyliśmy zagadnienia takie jak pliki Dockerfile oraz narzędzie Docker Compose. Dziś pokażę wam jak w łatwy sposób umieszczać obrazy w DockerHub’ie. DockerHub podobnie jak GitHub jest repozytorium, w którym możemy przechowywać stworzone przez nas obrazy. W pakiecie dostajemy jedno darmowe prywatne repozytorium oraz nielimitowaną ilość publicznych repozytoriów.

Czytaj dalej