JLupin Next Server – wprowadzenie i instalacja

Tradycją w Polsce jest wykorzystanie urlopu/chorobowego do prowadzenia remontów. Jako że siedzę na L4, to jest to najlepsza okazja, by zadbać o blogaska. Przy okazji przedstawić wam pewną ciekawą technologię. Mikroserwisy robione bez sensu W epoce mikroserwisów coraz częściej można spotkać aplikacje, które są tak naprawdę „mikroserwisami”, bo nie posiadają cech wymaganych dla tej architektury. […]

O nazwach

Brak motywacji, by dokończyć pisanie o nazwach i rozwiązać „konkurs” dotyczący nazwy został zredukowany do zera „hejtem”, jaki pojawił sie ostatnio na kod ze strony pkp intercity. Koledzy i koleżanki w kodzie. Powiem wam jedno. JESTEŚCIE HIPOKRTAMI I niech kurwa nikt nie mówi, że nie, bo każde z nas puściło nie jedną kiepską nazwę na […]

Witki mi opadły

Jeszcze raz o nazewnictwie, bo dziś trafiłem w kodzie na coś takiego: Listing 1. Potworek findPxxSxxInPxxSxxListByCxxIdSxxsIdSxxCxxxxIdUxxxxTp wyiksowałem rzeczy, które są biznesowo istotne, ale nie straciło to nic ze swojego uroku. Metoda jest prywatna w danej klasie, bo takie potworki czasami trafiają się w Spring Data, i przyjmuje trzy parametry. Zwraca jakiś tam obiekt biznesowy. Ja […]

RealizmWJavieNieUłatwiaPisaniaAniRozumieniaKoduStworzonegoPrzezInnychProgramistów – czyli Lew Tołstoj się przekwalifikował

W poprzednim wpisie omówiłem, krótko, bo krótko, problem skracania nazw w kodzie. Dziś poruszę problem zbyt długich nazw. One też nie są dobre. Co oznacza „nazwa opisowa”? No właśnie… Czy pojęcie to oznacza nazwę, która jest długa, precyzyjna i w najmniejszych szczegółach oddająca co dzieje się w środku? A może nazwa opisowa niesie ze sobą […]

PrtDtRefStsMngmnt, czyli jak przywołać Cthulhu w Javie

Nowy rok, nowe błędy. Wpis miał być o czymś innym, tzn. miało to być podsumowanie poprzedniego i plany na obecny rok, ale jak to w życiu bywa, plany poszły się paść. Będzie o czymś, moim zdaniem, ciekawszym. Będziemy przyzywać wielkich przedwiecznychW. Kontekst Mając możliwość obcowania z różnymi systemami, zauważyłem pewną prawidłowość. Im bliżej biznesu umieszczamy […]

Monolit kontra mikroserwisy – obrazkowo

Monolit Mikroserwisy Kod jest dostępny na licencji MIT. Jednak niektóre rozwiązania mogą być objęte inną licencją. W takim przypadku jest, to zaznaczone. Artykuły są dostępne na licencji CC-BY. Jeżeli spodobał ci się ten wpis, to podziel się nim z innymi lub wesprzyj autora.

Czas to pojęcie względne

Dziś będzie lżej. Wczorajszy tekst o pisaniu kodu bez ifów spotkał się ze stwierdzeniem „po chuj tak jak to jest nieoptymalne”. Ok, prawda. Kod tak napisanego equals będzie w skrajnym przypadku, czyli z jednym polem, które nigdy nie jest null, wolniejszy o jakiś rząd wielkości. W takim przypadku będzie też, być może, trochę bardziej zagmatwany. […]

Czy da się pisać kod bez jawnego używania if?

Odpowiedź brzmi da się. To oczywiste. Mając do dyspozycji mechanizmy w rodzaju filter i map oraz przeciążając metody tak by to kompilator decydował co wywołać na podstawie typu można napisać kod bez użycia if. Takie pisanie kodu już kiedyś omawiałem. Tam skupiliśmy się na eliminacji else. Dziś pokażę gdzie warto pozbywać się if-ów i jak […]

Metryki, które sprzedają projekt

Problem z kodem polega na tym, że jest on stosunkowo słabo mierzalny. Co prawda mamy dostępne różne metryki, które pozwalają nam na opisanie kodu, ale nie wszystkie one są wystarczające dla biznesu. Powiedzmy to w prost – większość metryk, które stosujemy do pomiaru kodu nie ma wartości dla biznesu. Dlaczego? Cóż, odpowiem słowami pewnego managera […]

Refaktoryzacja – wydzielenie metody szablonowej

Jedna z najprostszych refaktoryzacji wprowadzających wzorzec projektowy do kodu. Wzorcem tym jest metoda szablonowa (template method), a refaktoryzacją wydzielenie metody (extract method). Czyli coś dla n00b-ów 😉 Od czego zaczynamy Poniżej przykładowy kod, który w tym przypadku sprawdza czy dane wyrażenie przyjmie obiekt danego typu Listing 1. Sytuacja wyjściowa public final class SearchHelper { private […]