utworzone przez Piotr Pelczar | Clean Code, Java
Uwielbiam kod, który nie zaskakuje. Kiedy praca na modelu domenowym ułatwia rozwiązywanie problemu. Kiedy pojęcie w systemie jest spójne i nie czyhają na mnie dodatkowe pułapki związane z tym, że zaraz użyję istniejącego już fragmentu.
Właściwie w takim celu powstaje model dziedzinowy (domain model) – żeby za pomocą zdefiniowanych pojęć, które wyrażają: agregaty, parametry procesu lub jego wynik, pomogły mi ich użyć w przewidywalny sposób.
Dlatego wolę, żeby niewłaściwie użyty kod wywrócił się od razu, niż ukrył problem, którego skutki objawią się w innym, dalszym miejscu w procesie.
Takie podejście/technika nazywa się Fail fast.
utworzone przez Damian Rudczyk | Clean Code, Java
Istnieje powód, dla którego korzystamy ze zmiennych prywatnych w naszych klasach. Nie chcemy ich udostępniać na zewnątrz i nie chcemy, aby ktoś na nich polegał. Uczono nas, że publiczne zmienne w klasie to zło. Dlaczego więc tak wielu programistów „automatycznie” dodaje gettery i settery do swoich modeli, sprawiając, że prywatne zmienne są widziane na zewnątrz? Nie raz pewnie widziałeś w kodzie adnotacje Lomboka @Setter, @Getter czy @Data nad większością klas. W dzisiejszym wpisie przyjrzymy się bardziej szczegółowo często pomijanej kwestii akcesorów, mutatorów, a następnie przejdziemy do omówienia Anemic Domain Model oraz Rich Domain Model.
utworzone przez Krzysztof Kądziołka | Hibernate, Java, Sieci, Tip and Tricks
Tworząc systemy, które wymieniają dane z bazą danych, chcesz, aby komunikacja była niezawodna.
Możesz wykonywać operacje, które mogą być krótkie, ale za to częste, a może będziesz wykonywał takie, które są bardzo długie.
Operacje są wykonywane w ramach nawiązanego wcześniej połączenia do bazy.
Użytkowników systemu przeważnie jest wielu, a ich sesje powinny być niezależne.
W pewnym momencie może się zdarzyć, że użytkownik nie będzie mógł wykonać jakiejś operacji,
ponieważ baza danych odrzuci kolejne połączenie ze względu na jakiś limit.
Ale przez odpowiednią konfigurację możesz zoptymalizować szybkość działania Systemu w zakresie dostępu do nawiązanego
połączenia do bazy danych.
utworzone przez Damian Rudczyk | Apache Kafka, Java, Mikroserwisy i Integracje
Konsument Kafki jest używany do optymalnego odczytywania wiadomości z partycji topika, który subskrybuje. Główną rolą konsumenta jest wziąć połączenie do klastra Kafki oraz ustawienia konsumenta, aby połączyć się z brokerem i zacząć odczytywać wiadomości.
utworzone przez Krzysztof Kądziołka | Hibernate, Java, Tip and Tricks
W Hibernate wiele operacji wykonywanych jest „auto magicznie”. Nie znając specyfiki, możesz doprowadzić do spadku wydajności.
Jeśli poznasz i zrozumiesz zasady działania, będziesz w stanie poprawić wydajność operacji związanych z komunikacją z bazą danych.
Wiedząc jak włączyć monitorowanie, zweryfikujesz czy zapytania wysyłane do bazy danych są tymi, których się spodziewałeś.
Jak działa Lazy-Loading? Jak obsłużyć operacje masowe? Czym jest problem N+1?
utworzone przez Piotr Pelczar | Java, Tip and Tricks
SDKMAN to narzędzie oryginalnie stworzone dla *nix-owych systemów operacyjnych w prosty sposób pozwala na pobieranie i przełączanie się pomiędzy różnymi SDK na maszynie.
Wspiera instalację wielu środowisk SDK, np. dla Java, Groovy, Scala, Kotlin, Maven, Micronaut. Poprzednio znane jako GVM (Groovy enVironment Manager).
W tym wpisie skupie się na instalacji narzędzia na Windows i po krótce przejdę przez najważniejsze funkcje.