Dzisiaj chciałbym podzielić się ciekawym przypadkiem, który zabrał mi trochę czasu zanim doszedłem do rozwiązania. Przypadek dotyczył użycia refleksji w testach jednostkowych, aby sprawdzić czy ustalone konwencje nazewnicze są przestrzegane. Problem - refleksja nie znajduje wszystkich klas Załóżmy projekt, który ma 4 …
Czytaj więcejSDKMAN1 to świetne narzędzie do instalacji wielu wersji różnych narzędzi i łatwego przełączania się pomiędzy wersjami. Śmiało można stwierdzić, że jest to niezbędnik każdego programisty. Instalacja jest banalnie prosta. 1curl -s "https://get.sdkman.io" | bash 2source "$HOME/.sdkman/bin/sdkman-init.sh" …
Czytaj więcejJako programistki/ści podczas pracy bardzo dużo czasu poświęcamy na przeglądanie kodu. Sprawne poruszanie się w IDE zwiększa efektywność pracy. Znając właściwe skróty klawiszowe możemy skupić się na zrozumieniu kodu zamiast rozpraszać się na samym procesie nawigowania po kodzie. Przedstawię kilka pomocnych skrótów w …
Czytaj więcejKiedy mamy problem z odtworzeniem błędu w aplikacji na lokalnym środowisku, przydatne może być przejrzenie logów ze środowiska, na którym ten błąd występuje. Zazwyczaj wymaga to zmiany poziomu logowania np. na DEBUG lub TRACE. Standardowo możemy ustawić poziom logowania w preferencjach aplikacji i ją zrestartować. 1# …
Czytaj więcejJakiś czas temu, podczas konferencji Devoxx zauważyłem u prelegenta bardzo ciekawe narzędzie. Kiedy chciał wpisać w konsoli polecenie, które już wcześniej wpisywał, pokazywała mu się lista podpowiedzi. Dzięki temu praca w konsoli staje się bardziej wydajna. Nawigacja strzałkami Standardowo, kiedy chcemy wywołać w …
Czytaj więcej5 lutego uruchomiłem niniejszego bloga w nowej technologii i nowej szacie graficznej. Częstotliwość wpisów była do tej pory zdecydowanie za mała. Mam nadzieję, że w tym roku się to zmieni, ponieważ mam wiele pomysłów na kolejne artykuły. Planuję pisać o rozwiązaniach problemów technicznych na bardzo różnym poziomie …
Czytaj więcejNarodowe Centrum Certyfikacji udostępnia listę kwalifikowanych usług zaufania (https://www.nccert.pl/tsl.htm). Lista ta jest udostępniana jako plik XML w formacie ustalonym przez ESI (Electronic Signatures and Infrastructures). Przygotowałem skrypt napisany w Python, który tworzy keystore (JKS) z ważnymi i aktualnymi …
Czytaj więcejZgodnie z zaleceniami OWASP „Fingerprint Web Application Framework (OTG-INFO-008)" należy wyłączyć specyficzne nagłówki, które są wysyłane przez serwer aplikacyjny lub używany framework. Im mniej informacji posiada atakujący tym trudniej mu będzie przeprowadzić atak. Podane poniżej przykłady dotyczą uruchomienia …
Czytaj więcejW Javie bezpieczne przechodzenie po grafie obiektów jest dosyć niewygodne. Odwołując się do kolejnych obiektów w łańcuchu musimy upewnić się czy nie są null'ami, aby uniknąć wyjątku NullPointerException. W języku Groovy istnieje ciekawa konstrukcja/paradygmat do bezpiecznego przechodzenia po grafie obiektów. Załóżmy, …
Czytaj więcejW aplikacjach wielowarstwowych często istnieje konieczność mapowania pomiędzy dwoma modelami danych. W tym artykule zostaną porównane dwie biblioteki ułatwiajace mapowanie w aplikacjach Java: Dozer (http://dozer.sourceforge.net/) - popularna biblioteka, w której mapowanie konfiguruje się za pomocą plików XML MapStruct …
Czytaj więcej