Jarosław Czub

Ogólnie o rozwou, programowaniu i nie tylko…

Category: Java (Page 1 of 3)

Testy integracyjne, czyli jak zasymulować w testach bazy danych przy użyciu testcontainer

W testach integracyjnych niekiedy musimy podłączyć się do zewnętrznych baz danych, serwisów http czy innych elementów systemu, które są poza nasza aplikacją. Zewnętrzne serwisy httpd możemy zamockować przy pomocy wiremocka, jest to znane i popularne narzędzie. Inaczej jest z bazami danych sql i nosql, często przy bazach relacyjnych w testach integracyjnych uruchamiało się bazę typu […]

🖖 – Żyj długo i pomyślnie – czyli Kotlin, Gradle, Spock i małe testy

Niby wsio wspaniale działa, i można „żyć długo i pomyślnie”, ale jak coś nie chce zafungować, a niby ładnie skonfigurowane. Wtedy tylko cię lekki szlak trafia jak ciągle widzisz “Cannot infer Groovy class path because no Groovy Jar was found on class path”… A więc po krótce, po co i jak. Jeżeli używamy spring inicjalizatora […]

Od zera do programisty Full-Stack – Java Road Map

To są moje przemyślenia na temat roadmapy dla Programistów, oparte na wiedzy z internetu i moim własnym doświadczeniu. W miarę dodawania treści, procesu nauki będę linkował wiedzę z danej tematyki. Kim jest programista full stack? Uniwersalny programista, który potrafi: * pracuje we frontendzie i zna technologie frontendowe * potrafi projektować API i pracować w projektach […]

Java14EA Text Blocks

Wreszcie dali w Java coś co pomaga w przypadku zapisywania wielolinijkowych tekstów (na marginesie w PHP to już było od wieków). Czy jest to użyteczny ficzer, jak zwykle to zależy. Czasami w sofcie potrzebujemy wydrukować na ekranie/konsoli, zapisać do pliku kilka-kilkadziesiąt linijek tekstu. Na pewno jest trochę bardziej czytelniej: String oldJavaString = “Usage: route [-nNvee] […]

Nowe NullPointerExceptions

Moim zdaniem przydatny ficzer. W wcześniejszych wersjach Java “NullPointerException” zwracał tylko linię w której wystąpił błąd, przez co nie zawsze można było dokładnie stwierdzić którą zmienną jest on spowodowany. Szczególnie widać to w tworzeniu kodu w formie “pociągu” np. “class.value.nextValue….” lub “value.method().nextMethod()…” W nowym NullPointerException dostaniemy informację która zmienna spowodowała błąd. Jest to na pewno […]

Nowe Switch Expressions

Mamy pewne ułatwienie w standarcie języka, gdzie zaoszczędzimy kilka linijek kodu w przypadku gdy używamy wyrażenia “Switch Expressions” do mapowania jednej wartości w inną lub wykonania krótkiego kawałka kodu na wzór funkcji lambda. W takim przypadku użyteczna będzie nowa forma. Można zauważyć, że w nowych wersjach “Switch Expressions” jest wzorowane na językach funkcyjnych. Jak widać […]

Włącznie obsługi funkcji “preview” dla Java14EA w maven

Aby dało się korzystać z wprowadzonych w Java 13+ ficzerów należy najpierw w Mavenie włączyć ich obsługę. Robimy to poprzez dodanie do pom.xml : pluginie maven-compiler-plugin argumentu “enable-preview” ustawienie wersji bytekodu która będzie używana Poniżej przykład modyfikacji w pliku pom.xml: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>14</maven.compiler.source> <maven.compiler.target>14</maven.compiler.target> </properties> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>14</release> <compilerArgs> –enable-preview </compilerArgs> </configuration> […]

Nowoczesny ekosystem JAVA

Od wprowadzenia wersji Java 7, 8 minęło już kilka lat. W tym czasie ekosystem języka zmienia się, dostosowując do nowoczesnych rozwiązań chmurowych, programowania funkcyjnego, przetwarzania rozproszonego. W tym cyklu postaram się omówić i przedstawić kilka zagadnień związanych z tematyką nowoczesnego ekosystemu Java, oczywiście poprzez moje kilkunastoletnie doświadczenie. Obejmować będzie nie tylko sam język Java, ale […]

Java8: Wielowątkowość cz4. – framework Fork/Join

„Dziel i zwyciężaj” sentencja, która przydaje się w codziennym programistycznym życiu. Mamy problem, podzielmy go na mniejsze i rozwiążmy. Podobną idę mamy we frameworku Fork/Join, mamy dużo danych lub coś nam się liczy długo. To wtedy, trzeba: podzieli, zrównoleglić i na samym końcu połączyć. Możemy się wtedy spodziewać, że otrzymamy przyśpieszenie. Nie należy jednak przeginać, […]

Java 8: Wielowątkowość cz3. – egzekutory, pule wątków, Future i Callable

Na wstępie można było by sobie zadać pytanie, po co wymyślono egzekutory. Przecież możemy odpalić wątki, pozarządzać, poczekać na wykonanie pracy, itd. Ale nie ma co „wymyślać koła na nowo”, a najlepszy kod to ten którego nie trzeba pisać. Należy również wspomnieć o tym, że tworzenie wątków w ramach puli jest mniej, zasobożerne niż tworzenie […]

Page 1 of 3

© 2024 Jarosław Czub — Powered by WordPress