Praktyczne programowanie w Javie
Blog o Javie, backendzie i narzędziach programisty. Znajdziesz tu praktyczne
przykłady, konfiguracje, notatki z codziennej pracy i konkretne rozwiązania problemów.
Wybierz swoją ścieżkę
Jeśli jesteś pierwszy raz na blogu, zacznij od jednego z głównych obszarów.
Każda ścieżka prowadzi do praktycznych wpisów, przykładów i notatek z codziennej pracy programisty.
Java od podstaw
Składnia, klasy, obiekty, kolekcje, wyjątki, Stream API i najważniejsze mechanizmy języka Java.
Backend i Spring
REST API, Spring Boot, konfiguracja aplikacji, dobre praktyki i przykłady z pracy backend developera.
Narzędzia developera
Maven, Git, Linux, Redis, SQL i narzędzia, które realnie przydają się w codziennym programowaniu.
Najnowsze artykuły z bloga
Świeże wpisy o Javie, backendzie, narzędziach programisty, Linuksie, SQL i praktycznych problemach z codziennej pracy.
Java 12: drobne zmiany
Nie zauważysz wiele istotnych zmian Java 12. Co prawda w kolejnym JDK zaprezentowano 'demo’ kilku ciekawych „featurów”, które wejdą następnych wersjach (np. zmiany w switch), jednak sama „dwunastka”…
Narzędzia programisty #4: Redis cache
Stosowanie tzw. cache’a jest jednym z najprostszych sposobów do osiągnięcia lepszej wydajności programu komputerowego. Redis jest jedną z wielu technologii tego typu. W poniższej notce pokażę Ci małą…
Popularne frameworki #1: Lombok
Język Java często jest krytykowany za konieczność pisania kodu, który mógłby być automatycznie wygenerowany przez JDK. Ciągłe pisanie getterów i setterów do każdej klasy POJO, tworzenie toStringów, czy…
Narzędzia programisty #3: Maven postawy
Jedną z ważniejszych zasad w programowaniu jest korzystanie z fragmentów kodu opracowanych już przez kogoś innego. Niektórzy nazywają tą regułę 'nie wymyślaniem koła od nowa’. Chodź z pozoru…
Wszystkie wpisy
Przeglądaj artykuły o Javie, backendzie, SQL, Linuksie, Redisie, Mavenie i narzędziach programisty.
Java 8 #6: DateTime API – daty i czas
Nowe DateTime API Nie rzadko w Twojej implementacji będziesz korzystał z danych, które będą wymagać przypisania do nich odpowiednich wartości dat czy czasu. Do JDK w wersji 7 programiści Java byli zmuszeni do korzystania…
Java 8 #5: zastosowanie Stream API w przetwarzaniu danych
Ukoronowaniem wszystkich poprzednich lekcji odnośnie Javy 8, jest właśnie biblioteka Stream API. To ona wymusiła na programistach poważne zmiany w samej semantyce języka Java, takich jak choćby lambdy, a co za nimi idzie interfejsy…
Java 8 #4: Optional – pozbądź się null pointerów
Czym jest Optional? Jednym z najczęstszych zarzutów do języka Javy jest to, że nie jest to język, które w łatwy sposób radzi sobie z brakiem przypisanej referencji do obiektu (czyli po prostu z null…
Java 8 #3: interfejsy funkcyjne – przegląd
Różne interfejsy funkcyjne W poprzednim wpisie postarałem się wytłumaczyć, że wyrażenie lambda można z łatwością przekształcić na znaną już Ci klasę anonimową i na odwrót. Nie znaczy to jednak, że obie te struktury są…
Java 8 #2: wyrażenia lambda i interfejs funkcyjny
Wyrażenie lambda Wyrażenia lambda (ang. lambda expression) są próbą zaimplementowania koncepcji związanych z programowaniem funkcyjnych* w pełni obiektowym języku jakim jest Java. Koncept ten jest bardzo stary, o czym możesz się przekonać czytając chociażby…
Cyfrowy nomadyzm #1: podstawowe informacje
Cyfrowy nomadyzm Łączenie pracy zdalnej z podróżami może być uciążliwe, dlatego postanowiłem przygotować poradnik cyfrowego nomada (ang. digital nomad), który pomoże Ci właściwie przygotować Cię do wymarzonych wakacji. Pamiętaj, że poniższe porady są jedynie…
Java 8 #1: metody domyślne i statyczne w interfejsach
Interfejsy w JDK 7 Zanim zacznę opisywać zmiany jakie zaszły w interfejsach w Javie w wersji ósmej, takie jak np. metody domyślne czy metody statyczne, spójrz na moje małe podsumowanie, jak działały one w…
SQL #4: Transakcje, ACID i poziomy izolacji
Transakcja Jest to zbiór operacji na bazie danych, które stanowią pewną całość. Powinny zostać wykonane wszystkie albo żadna z nich. Nie ma mowy o częściowym wykonaniu. Warunki jakie powinny spełniać transakcje są dokładniej opisane…
SQL #3: Group by, having, funkcje agregujące oraz join
GROUP BY i HAVING Aby zrozumieć do czego służą funkcje agregujące, wpierw musisz pojąć założenia grupowania w języku SQL. GROUP BY i HAVING służą do grupowanie danych a potem ustawienie warunku na jego wyniku.…
SQL #2: tworzenie schematu, zapytań i edycja danych
Język SQL (ang. Structured Query Language) jest rodzajem deklaratywnego języka, który powstał w latach 70-siątych, do obsługi danych w bazach. Język ten w swojej istocie miał być intuicyjny i prosty, tak aby maksymalnie ułatwić…