<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blog about JVM ☕</title>
    <description>Personal blog by Łukasz Sroczyński about JVM world and programming.</description>
    <link>https://jvm-lukas.com/</link>
    <atom:link href="https://jvm-lukas.com/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Thu, 28 Dec 2023 10:58:26 +0000</pubDate>
    <lastBuildDate>Thu, 28 Dec 2023 10:58:26 +0000</lastBuildDate>
    <generator>Jekyll v3.9.3</generator>
    
      <item>
        <title>Overview of Static Factory Methods</title>
        <description>&lt;p&gt;Short summary of Effective Java 3rd edition book - Chapter 2&lt;/p&gt; &lt;p&gt;Static factory method &lt;strong&gt;is not&lt;/strong&gt; factory method. They are two different things.&lt;/p&gt; &lt;h3 id=&quot;descriptive-method-names&quot;&gt;Descriptive Method Names&lt;/h3&gt; &lt;p&gt;Static factory methods can have names that describe the purpose of the method, making the code more readable and self-explanatory.&lt;/p&gt; &lt;div class=&quot;language-java highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;static&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;BigDecimal&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;valueOf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;){...}&lt;/span&gt; &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;in the case of simple objects, it is difficult to see the benefit of using static factory methods but for me, it is more natural to use valueOf than constructor&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;BigDecimal.valueOf(1)&lt;/code&gt; instead...</description>
        <pubDate>Sat, 23 Dec 2023 11:55:00 +0000</pubDate>
        <link>https://jvm-lukas.com/overview-static-factory-methods/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/overview-static-factory-methods/</guid>
        
        <category>en</category>
        
        <category>java</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Optional usages, defaults and checks</title>
        <description>&lt;h3 id=&quot;we-have-three-ways-to-create-an-instance-of-optional&quot;&gt;We have three ways to create an instance of Optional&lt;/h3&gt; &lt;blockquote&gt; &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;var opt = Optional.of(&quot;notNull&quot;)&lt;/code&gt;&lt;/p&gt; &lt;p&gt;not null otherwise NullPointerException&lt;/p&gt; &lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;var opt = Optional.ofNullable(mightBeNull)&lt;/code&gt;&lt;/p&gt; &lt;p&gt;you don’t know either it will contain null or not.&lt;/p&gt; &lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;var opt = Optional.empty()&lt;/code&gt;&lt;/p&gt; &lt;p&gt;no value, similar concept to null, but without NullPointerException&lt;/p&gt; &lt;/blockquote&gt; &lt;h3 id=&quot;defaults-with-optional&quot;&gt;Defaults with Optional&lt;/h3&gt; &lt;p&gt;For the below case we would like to search our database for the customer if we don’t find it we would like to search our legacy database/service if we failed here as well let’s return default customer, throw...</description>
        <pubDate>Sun, 18 Dec 2022 11:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/how-and-why-use-optional/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/how-and-why-use-optional/</guid>
        
        <category>en</category>
        
        <category>java</category>
        
        <category>optional</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Serve static files in no time with NGINX and Docker</title>
        <description>&lt;h3 id=&quot;what-is-nginx&quot;&gt;What is NGINX?&lt;/h3&gt; &lt;p&gt;Initially it was just a webserver. Nowadays, it is often used as a reverse proxy, load balancer, and HTTP cache, static files server and more.&lt;/p&gt; &lt;h3 id=&quot;serving-static-files&quot;&gt;Serving static files&lt;/h3&gt; &lt;p&gt;with docker, it is super simple. Just run:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docker run -it --rm -d -p 8080:80 nginx:1.23.3&lt;/code&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;and example &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;index.html&lt;/code&gt; is served on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;localhost:8080&lt;/code&gt;.&lt;/p&gt; &lt;h3 id=&quot;lets-look-into-it&quot;&gt;Let’s look into it&lt;/h3&gt; &lt;blockquote&gt; &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docker exec -it CONTAINER_ID bash&lt;/code&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;example file is served in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;./usr/share/nginx/html/index.html&lt;/code&gt;.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;find . | grep index.html&lt;/code&gt;&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;and nginx config is in...</description>
        <pubDate>Sat, 17 Dec 2022 15:25:00 +0000</pubDate>
        <link>https://jvm-lukas.com/what-is-nginx/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/what-is-nginx/</guid>
        
        <category>en</category>
        
        <category>nginx</category>
        
        <category>docker</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Different ways to dockerize spring-app</title>
        <description>&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt; &lt;ul&gt; &lt;li&gt;Used tool to analyze docker image &lt;a href=&quot;https://github.com/wagoodman/dive&quot;&gt;dive&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Analyzed SpringBootApp &lt;a href=&quot;https://github.com/braintelligencePL/ways-to-dockerize-spring-app&quot;&gt;repo&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;h3 id=&quot;method-1-spring-boot-build-plugin&quot;&gt;Method 1: Spring Boot Build Plugin&lt;/h3&gt; &lt;p&gt;I was actually surprised that Spring Boot and Maven already have docker builder basically build-in into Maven. Plugin uses BuildPack builder which automatically detects SpringBoot app, and then it builds the relevant image for you.&lt;/p&gt; &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;mvn spring-boot:build-image -Dspring-boot.build-image.imageName=hello-jvm:buildPacks &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;&lt;img src=&quot;/assets/images/posts/2022-12-15/img_1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt; &lt;p&gt;Images are a bit large and not optimized (but that also depends on JDK that you use). In the end all dependencies and compiled application is stored in a single...</description>
        <pubDate>Sat, 17 Dec 2022 10:24:00 +0000</pubDate>
        <link>https://jvm-lukas.com/different-ways-to-dockerize-app/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/different-ways-to-dockerize-app/</guid>
        
        <category>en</category>
        
        <category>spring</category>
        
        <category>docker</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Important changes in Java ☕ 8 ⇒ 11 (streams)</title>
        <description>&lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://jvm-lukas.com/java8-to-java11-important-changes-interfaces/&quot;&gt;part 1: Java 8 to 11 interfaces&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://jvm-lukas.com/java8-to-java11-important-changes-streams/&quot;&gt;part 2: Java 8 to 11 streams&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt; &lt;h3 id=&quot;what-is-intermediate-operation-and-terminal-operation&quot;&gt;What is intermediate operation and terminal operation?&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;Intermediate Operation (lazy)&lt;/strong&gt; - these are methods of a stream and always return a Stream&lt;T&gt;. As was said they are Lazy which means that they need a terminal operation to invoke them and that means that they do not process any data. They are only a declaration of the operation on a given stream. Same as String str is a variable declaration.&lt;/T&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Terminal Operation (final)&lt;/strong&gt; - these guys are not lazy, and they work...</description>
        <pubDate>Mon, 25 Feb 2019 12:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/java8-to-java11-important-changes-streams/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/java8-to-java11-important-changes-streams/</guid>
        
        <category>en</category>
        
        <category>java</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Important changes in Java ☕ 8 ⇒ 11 (interfaces)</title>
        <description>&lt;ul&gt; &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://jvm-lukas.com/java8-to-java11-important-changes-interfaces/&quot;&gt;part 1: Java 8 to 11 interfaces&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://jvm-lukas.com/java8-to-java11-important-changes-streams/&quot;&gt;part 2: Java 8 to 11 streams&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;Java 8 features were here for quite some time. To be honest I didn’t even spend much time with previous versions. I’m already from that generation of programmers that started with stream operations right away. Which means that filter, map, reduce is the way to go for me. Not to mention generics, enums and other Java 5 features. From my perspective, it was already there from the beginning. Before jumping into streams we need to understand how those functional things can work...</description>
        <pubDate>Mon, 25 Feb 2019 12:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/java8-to-java11-important-changes-interfaces/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/java8-to-java11-important-changes-interfaces/</guid>
        
        <category>en</category>
        
        <category>java</category>
        
        <category></category>
      </item>
    
      <item>
        <title>What is Domain Driven Design? Basic overview</title>
        <description>&lt;p&gt;“If you can’t explain it simply, you don’t understand it well enough.” ~ Albert Einstein&lt;/p&gt; &lt;p&gt;He probably didn’t say that… but the quote has some meaning…&lt;/p&gt; &lt;p&gt;We’re programmers, engineers, scientists - you named it. Maybe you want to become one. Although it is not important who/where you are. You will face it at some point. Making software is complex and often frustrating. Obviously, there is no silver-bullet, but you can control your ‘complexity’ with a good domain object.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;[…] and if you don’t care about design… Your app will be even more incomprehensible and complicated.&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;So… It’s important...</description>
        <pubDate>Tue, 29 Jan 2019 12:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/what-is-domain-driven-design/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/what-is-domain-driven-design/</guid>
        
        <category>en</category>
        
        <category>DomainDrivenDesign</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Funkcyjne vs imperatywne</title>
        <description>&lt;p&gt;Funkcyjne podejście ma swoje początki już w latach 30 ubiegłego wieku. Jest to taki formalny zapis podstaw z matematyki. Jest tam coś takiego jak lambda calculus, czyli zestaw zagadnień związanych, chociażby z rekurencją, czy też definiowaniem funkcji. Programowanie funkcyjne pozwala nam pisać kod, który jest czysty, bezpieczny, a także łatwo testowalny. Oczywiście ma ono również wady z czego jedną z nich może być zbyt duże pójście w abstrakcję co powoduje, że kod staje się niezrozumiały. Tak, czy inaczej jest to tylko jedno z dostępnych rozwiązań.&lt;/p&gt; &lt;h2 id=&quot;o-czym-sobie-powiemy&quot;&gt;O czym sobie powiemy?&lt;/h2&gt; &lt;ul&gt; &lt;li&gt;Parę słów o programowaniu imperatywnym, funkcyjnym.&lt;/li&gt; &lt;li&gt;Czy da się...</description>
        <pubDate>Tue, 22 Jan 2019 13:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/programowanie-imparatywne-vs-funkcyjne/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/programowanie-imparatywne-vs-funkcyjne/</guid>
        
        <category>pl</category>
        
        <category>programming</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Aplikacja sklep internetowy. Podział na infrastrukturę i domenę</title>
        <description>&lt;h3 id=&quot;co-zrobimy&quot;&gt;Co zrobimy?&lt;/h3&gt; &lt;p&gt;Podzielimy aplikację na domenę oraz infrastrukturę. Jest to ważne, bo oddziela biznesowe wymagania od technicznych detali. Ułatwia to pisanie samego kodu oraz umożliwia proste testowanie domeny w pamięci. W &lt;a href=&quot;https://github.com/braintelligencePL/online-store-clean-architecture&quot;&gt;tym repozytorium&lt;/a&gt; zaczynając od brancha &lt;strong&gt;step-1-starter&lt;/strong&gt; znajdziesz omawiane wycinki kodu.&lt;/p&gt; &lt;h3 id=&quot;mikroserwisy&quot;&gt;Mikroserwisy&lt;/h3&gt; &lt;p&gt;W services znajdziemy czysty kod Kotlinowy bez frameworka (Springa). Jak na razie mamy tylko jeden serwis product wraz z product-api. Jest on odpowiedzialny za tworzenie produktu oraz za zwrócenie listy produktów, czyli coś co posiada każdy sklep internetowy tyle, że uproszczone. Na początek znajdziesz tutaj setup jak zorganizować sobie kod.&lt;/p&gt; &lt;p&gt;&lt;img src=&quot;/assets/images/posts/2018-07-11/img_1.png&quot; alt=&quot;code-structure&quot; /&gt;&lt;/p&gt; &lt;h4...</description>
        <pubDate>Wed, 11 Jul 2018 13:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/architektura-podzial-na-domene-infrastrukctur%C4%99/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/architektura-podzial-na-domene-infrastrukctur%C4%99/</guid>
        
        <category>pl</category>
        
        <category>kotlin</category>
        
        <category>DomainDrivenDesign</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Aplikacja do zarządzania projektami w Kotlinie</title>
        <description>&lt;p&gt;Ostatnimi czasy bardzo zainteresowały mnie tematy DDD, TDD/BDD oraz architektur. Jest to takie uzupełnienie układanki jaką próbowałem sobie ułożyć w głowie. Dają one kilka fajnych rzeczy dzięki, którym jest łatwiej zrozumieć czyiś kod oraz samemu pisać lepszy. Oczywiście nie jestem jakimś guru w tym temacie. Prawdopodobnie popełnię kilka gaf podczas tworzenia projektu, ale właśnie o to chodzi w tej serii. Tak, żeby stworzyć/odtworzyć cały ten proces. Aż do efektu końcowego. W tym wpisie znajdziesz co chcemy zrobić, a w kolejnych wpisach omówię krok po kroku implementację.&lt;/p&gt; &lt;h4 id=&quot;parę-słów-na-wstęp&quot;&gt;Parę słów na wstęp&lt;/h4&gt; &lt;p&gt;Najczęściej powtarzaną radą na początku jaką słyszałem było, aby...</description>
        <pubDate>Fri, 11 May 2018 13:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/przykladowa-aplikacja-w-kotlinie/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/przykladowa-aplikacja-w-kotlinie/</guid>
        
        <category>pl</category>
        
        <category>kotlin</category>
        
        <category>DomainDrivenDesign</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Servlet vs Reactive (WebFlux) - Wydajność</title>
        <description>&lt;p&gt;Reaktywne programowanie od jakiegoś czasu jest często poruszanym tematem tak też, aby namacalnie poczuć różnicę w wydajności reaktywnego/blokującego stacku zrobiłem dla Ciebie ten &lt;a href=&quot;https://github.com/braintelligencePL/spring-web-vs-spring-webflux&quot;&gt;mały projekt&lt;/a&gt;. Na początek powiemy sobie co jest zrobione oraz pokażę Ci drobne różnice implementacyjne w trzech aplikacjach jakie tu znajdziesz.&lt;/p&gt; &lt;h3 id=&quot;co-mamy&quot;&gt;Co mamy?&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;product-store&lt;/strong&gt; - reaktywna aplikacja (WebFlux), która zwraca nam produkty. Z ustawionym opóźnieniem 100ms.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;spring-boot-web&lt;/strong&gt; - blokująca aplikacja wraz z RestTemplate gdzie tworzymy zapytanie do product-store.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;spring-boot-webflux&lt;/strong&gt; - tak samo tylko reaktywnie. Korzystamy z WebClienta (czyli reaktywnego zamiennika na RestTemplate).&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Kotlin + Gradle + Gatling (testy wydajnościowe - Scala)&lt;/p&gt; &lt;p&gt;Projekt znajdziesz &lt;a...</description>
        <pubDate>Sat, 14 Apr 2018 13:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/servlet-vs-reactive/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/servlet-vs-reactive/</guid>
        
        <category>pl</category>
        
        <category>spring</category>
        
        <category>webflux</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Jak zacząć programować? Od czego zacząć naukę?</title>
        <description>&lt;p style=&quot;text-align: center;&quot;&gt;Krótko o tym jak nauczyć się każdej umiejętności&lt;/p&gt; &lt;p&gt;Czasami słyszymy lub czytamy jak to ktoś chwali się, że on to od przedszkola programuje. Całe życie w kodzie. Nie zawsze, mówi, że owszem napisał ten pierwszy kawałek kodu, gdy miał 7 lat, ale potem przez kolejne 10 lat nic z tym nie zrobił. Super mieć zajawkę od samego dzieciństwa. Naprawdę podziwiam takie osoby. Zajebiste jest znaleźć coś, co Cię jara w tak młodym wieku. Większość z nas niestety nie ma takiego szczęścia. Często nie wiemy co chcemy robić w przyszłości. Idziemy wtedy na studia i w sumie. Co dalej?...</description>
        <pubDate>Sat, 14 Apr 2018 13:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/moje-poczatki-w-programowaniu/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/moje-poczatki-w-programowaniu/</guid>
        
        <category>pl</category>
        
        <category>programming</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Obiekt tworzony w fabryce</title>
        <description>&lt;h3 id=&quot;implementacje-wzorca-factory&quot;&gt;Implementacje wzorca Factory&lt;/h3&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Simple Factory&lt;/strong&gt; - tworzymy klasę Factory, która bezpośrednio tworzy obiekty. Odpowiedzialność za tworzenie obiektów jest po stronie tej klasy. Dodawanie, modyfikowanie, utrzymanie kodu jest dość trudne.&lt;/p&gt; &lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Factory Method&lt;/strong&gt; - tworzymy interfejs nadrzędny, który pozwala decydować klasom podrzędnym o tworzeniu obiektu. Odpowiedzialność za tworzenie obiektów jest po stronie klas podrzędnych.&lt;/p&gt; &lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;Abstract Factory&lt;/strong&gt; - zwraca wiele różnych powiązanych ze sobą obiektów. Taka fabryka wielu fabryk. W praktyce mamy interfejs, który posiada jeden lub wiele Factory-Methods.&lt;/p&gt; &lt;/blockquote&gt; &lt;h3 id=&quot;czym-jest-i-jak-nam-pomoże-koncepcja-factory&quot;&gt;Czym jest i jak nam pomoże koncepcja Factory?&lt;/h3&gt; &lt;p&gt;Kojarzysz na pewno grę, w której był statek...</description>
        <pubDate>Mon, 15 Jan 2018 12:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/wzorzec-factory/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/wzorzec-factory/</guid>
        
        <category>pl</category>
        
        <category>factoryPattern</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Testy jednostkowe, czy może integracyjne?</title>
        <description>&lt;p&gt;Początki programowania nie są łatwe. Mnogość technik, metod, języków mogą przytłoczyć nie tylko początkującego adepta. Przechodzisz przez podstawy. Znasz już język. Robisz kolejny projekt. Potrafisz zrobić kilka endpointów. W końcu jesteś na finiszu swojego REST API. A przynajmniej tak ci się wydaje. Nie wiesz, że to dopiero początek. […]&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;Nieuchronnie nadchodzi moment na testowanie. Oczywiście MANUALNE, bo nie potrafisz pisać testów! Zgrozo, czemu ja… To są właśnie te momenty gdy zastanawiasz się nad sensem swojego życia. Cóż, nic nie poradzisz. Napisałeś? To trzeba sprawdzić, czy działa. No to zaczynamy testowanie…&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;Odpalasz aplikację przeklikujesz się przez interfejs. Odpalasz Postman’a....</description>
        <pubDate>Sun, 14 Jan 2018 12:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/testy-integracyjne-jednostkowe/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/testy-integracyjne-jednostkowe/</guid>
        
        <category>pl</category>
        
        <category>tests</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Trzy drogi rozwoju sztucznej inteligencji</title>
        <description>&lt;p style=&quot;text-align: center;&quot;&gt;Gdzie jest obecnie sztuczna inteligencja?&lt;/p&gt; &lt;p&gt;Sztuczna inteligencja powoli wychodzi poza sci-fi i jest stosowana coraz częściej jako zwykłe narzędzie. Dostęp do taniej mocy obliczeniowej pozwala uruchamiać coraz bardziej wyrafinowane algorytmy. Świat zmienia się w niewyobrażalnym tempie. Zdecydowanie szybciej niż mamy wrażenie. Z miesiąca na miesiąc powstają kolejne startupy wykorzystujące rozwiązania oferowane przez AI. Sama perspektywa progresu w taką stronę dzieli ludzi na tych, co ją kochają, oraz na tych co się jej obawiają. Podczas rozważań na ten temat pojawiają się niezliczone pytania. Czy AI polepszy nasze życie? Przyniesie nam technologiczny raj? A może technologiczne piekło? Oraz czym w...</description>
        <pubDate>Thu, 21 Dec 2017 12:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/rozwoj-sztucznej-inteligencji/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/rozwoj-sztucznej-inteligencji/</guid>
        
        <category>pl</category>
        
        <category>artificial-intelligence</category>
        
        <category></category>
      </item>
    
      <item>
        <title>Jak działa komputer?</title>
        <description>&lt;h3 id=&quot;jak-działają-poszczególne-elementy-komputera&quot;&gt;Jak działają poszczególne elementy komputera?&lt;/h3&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Wstęp - omówienie podstaw&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Co robi RAM? Czy więcej znaczy lepiej?&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Co robi procesor? Czym jest architektura, GHz?&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Czym jest Karta Graficzna, a czym jest GPU?&lt;/strong&gt;&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Co jeszcze warto wiedzieć? #Ciekawostki&lt;/strong&gt;&lt;/li&gt; &lt;/ol&gt; &lt;h2 id=&quot;1-wstęp---omówienie-podstaw&quot;&gt;1. &lt;strong&gt;Wstęp - omówienie podstaw&lt;/strong&gt;&lt;/h2&gt; &lt;p&gt;Nasze urządzenia posiadają niezliczoną ilość zautomatyzowanych zadań. W codziennym użytkowaniu nie zastanawiamy się nawet jak działają. Jedyny czas, kiedy przychodzi chwila refleksji to moment, gdy zastępujemy stary sprzęt nowym. Wiedza na temat działania poszczególnych komponentów komputera nie przyda się w praktyce większości z nas, ale nie oznacza to, że nie warto zgłębić tych tematów. Warto...</description>
        <pubDate>Sun, 26 Nov 2017 12:00:00 +0000</pubDate>
        <link>https://jvm-lukas.com/jak-dzia%C5%82a-komputer/</link>
        <guid isPermaLink="true">https://jvm-lukas.com/jak-dzia%C5%82a-komputer/</guid>
        
        <category>pl</category>
        
        <category>computer science</category>
        
        <category></category>
      </item>
    
  </channel>
</rss>
