Warsztaty programistyczne – Maven

Cześć i czołem. Wiem, że dawno żadnego technicznego mięska na blogu nie było, ale trwają różne prace na backendzie “clockwokjavy”, które pochłaniają mój czas. Na szczęście z każdym dniem jest już ich mniej niż więcej.

Jednym z efektów takich prac są nowe warsztaty programistyczne. Tym razem są poświęcone narzędziu Apache Maven.

Wedle najnowszych statystyk 79% projektów pisanych w Javie używa Mavena jako głównego build toola. Jego znajomość jest więc niezbędna do efektywnej (a czasem i efektownej) pracy.

Kurs skupia się na praktycznych rzeczach, takich, które praktycznie od razu mogą zostać użyte w projektach zarówno osobistych jak i biznesowych.

Dołącz do szkolenia.

Spis treści:

  1. Czym jest Maven?
  2. Instalacja
  3. Utworzenie podstawowego projektu
  4. Słów kilka o archetypach
  5. Struktura projektu
  6. Pierwszy rzut oka na pom.xml
  7. Zależności
  8. Repozytorium zdalne i lokalne
  9. Cykl życia i fazy pracy Mavena
  10. Wersjonowanie semantyczne 
  11. Properties
  12. Zmiana wersji zależności na przykładzie jUnit  ( 4 -> 5 )
  13. Praca z pluginami na przykładzie JoCoco  (raportowania test coverage)
  14. Ciąg dalszy pracy z pluginami na przykładzie Checkstyle
  15. Parent POM na przykładzie spring boot
  16. Praca z projektem wielomodułowym
  17. Wzajemnie zależności modułów
  18. Kopiowanie artefaktów na zewnętrzny serwer
  19. Profile

Dołącz do szkolenia.

Przesłanianie zmiennych. Studium przypadku.

Jakiś czas temu poproszono mnie o pomoc przy kawałku bardzo prostego kodu, bardzo prostego oczywiście z mojej obecnej perspektywy.

Była tam jedna funkcja, która idealnie wpadła w cykl “studium przypadku”. Kod wyglądał mniej więcej tak:

public class Shadowing {
    
    private String name;
    
    String setname(String Name) {
        name = name;
        return name;
    }
}

Oczywiście kod nie działał, jak powinien. Jednak kompilator nie zgłaszał żadnych błędów, bo od strony językowej wszystko gra. Natomiast błędów logicznych było tu kilka, temu kawałek kodu wylądował na blogu.

Czytaj dalej Przesłanianie zmiennych. Studium przypadku.

Droga do Java Junior Developera – nagrania z mentoringu

W dzisiejszym artykule mam dla was kilka informacji o inicjatywie pod nazwą “Droga do Java Junior Developera”. Jakiś czas temu odezwał się do mnie Marcin Pypeć z pewną interesującą inicjatywą.

Czytaj dalej Droga do Java Junior Developera – nagrania z mentoringu

Praca z czasem i datami w języku Java

Czasy zamierzchłe

Przed ósmym wydaniem Javy do obsługi dat używano dwóch klas – Date oraz Calendar. Praca z nimi nie należała do najprzyjemniejszych. Na co dzień irytowała niespójność API (np. dni numerowane od zera, a miesiące od jedynki), a przy szczególnych okazjach brak zabezpieczeń, gdy kilka wątków pracowało na tym samym obiekcie. Efekt był taki, że popularność zdobywały alternatywne biblioteki do zarządzania czasem, najpopularniejszą z nich była ta o nazwie Joda-Time

Nie poświęcimy tym dwóm klasom tutaj miejsca, bo Java 8 przyniosła ze sobą coś lepszego.

Czytaj dalej Praca z czasem i datami w języku Java

Debugowanie w IntelliJ #3 Więcej możliwości przy pracy z breakpointami.

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.

Czytaj dalej Debugowanie w IntelliJ #3 Więcej możliwości przy pracy z breakpointami.

Debugowanie w IntelliJ #2 Poruszanie się po kodzie w trybie debug

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.

Czytaj dalej Debugowanie w IntelliJ #2 Poruszanie się po kodzie w trybie debug

Debugowanie w IntelliJ #1

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 ciemno.

O wiele bardziej przypomina to “zabawę” w detektywa – zawsze znamy kontekst danego błędu. To znaczy wiemy, co tester (albo użytkownik) zrobił, jakie były dane wejściowe, jak miał być efekt, a co stało się faktycznie.

Czytaj dalej Debugowanie w IntelliJ #1