<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" >
  <generator uri="https://jekyllrb.com/" version="4.1.1">Jekyll</generator>
  <link href="https://blog.consdata.tech/feed.xml" rel="self" type="application/atom+xml" />
  <link href="https://blog.consdata.tech/" rel="alternate" type="text/html" />
  <updated>2026-06-16T01:44:55-05:00</updated>
  <id>https://blog.consdata.tech/feed.xml</id>

  
  
  

  
    <title type="html">Consdata - blog techniczny | </title>
  

  

  

  
  
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, jak analizować i optymalizować zależności w bundle?</title>
      <link href="https://blog.consdata.tech/2026/06/16/czy-wiesz-jak-analizowac-i-optymalizowac-zaleznosci-w-bundle.html" rel="alternate" type="text/html" title="Czy wiesz, jak analizować i optymalizować zależności w bundle?" />
      <published>2026-06-16T01:00:00-05:00</published>
      <updated>2026-06-16T01:00:00-05:00</updated>
      <id>https://blog.consdata.tech/2026/06/16/czy-wiesz-jak-analizowac-i-optymalizowac-zaleznosci-w-bundle</id>

      
      
      
      
      

      <author>
          <name>Aleksander Burzec</name>
        
        
      </author>

      

      
        <category term="CommonJS" />
      
        <category term="ESM" />
      
        <category term="webpack" />
      
        <category term="esbuild" />
      
        <category term="frontend" />
      

      
        <summary type="html">Przy budowaniu projektu Angularowego można natrafić na poniższy błąd:</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2026-06-16-czy-wiesz-jak-analizowac-i-optymalizowac-zaleznosci-w-bundle/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, jak działa mechanizm uploadu plików w Springu?</title>
      <link href="https://blog.consdata.tech/2026/05/22/czy-wiesz-jak-dzia%C5%82a-mechanizm-uploadu-plikow-w-springu.html" rel="alternate" type="text/html" title="Czy wiesz, jak działa mechanizm uploadu plików w Springu?" />
      <published>2026-05-22T02:00:00-05:00</published>
      <updated>2026-05-22T02:00:00-05:00</updated>
      <id>https://blog.consdata.tech/2026/05/22/czy-wiesz-jak-dzia%C5%82a-mechanizm-uploadu-plikow-w-springu</id>

      
      
      
      
      

      <author>
          <name>Bartosz Pietrowiak</name>
        
        
      </author>

      

      
        <category term="spring boot" />
      
        <category term="java" />
      
        <category term="file upload" />
      

      
        <summary type="html">Upload plików w Springu to temat, który na pierwszy rzut oka wygląda prosto, ale kilka ustawień potrafi mocno wpłynąć na działanie aplikacji. W tym wpisie przejdziemy przez najważniejsze parametry spring.servlet.multipart i pokażemy, jak bezpiecznie oraz praktycznie obsłużyć plik po stronie serwera.</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2026-05-22-czy-wiesz-jak-dzia%C5%82a-mechanizm-uploadu-plikow-w-springu/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, jak stworzyć klikalną kartę (Card component) zgodnie z WCAG?</title>
      <link href="https://blog.consdata.tech/2026/05/13/czy-wiesz-jak-stworzyc-klikalna-karte-card-component-zgodnie-z-wcag.html" rel="alternate" type="text/html" title="Czy wiesz, jak stworzyć klikalną kartę (Card component) zgodnie z WCAG?" />
      <published>2026-05-13T01:00:00-05:00</published>
      <updated>2026-05-13T01:00:00-05:00</updated>
      <id>https://blog.consdata.tech/2026/05/13/czy-wiesz-jak-stworzyc-klikalna-karte-card-component-zgodnie-z-wcag</id>

      
      
      
      
      

      <author>
          <name>Mariusz Bartosik</name>
        
        
      </author>

      

      
        <category term="angular" />
      
        <category term="wcag" />
      
        <category term="html" />
      

      
        <summary type="html">Budowa karty, która jest w całości klikalna, a jednocześnie zawiera w sobie dodatkowe akcje (jak przycisk „Ulubione”), to jedno z częstych wyzwań UX/UI.</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2026-05-13-czy-wiesz-jak-stworzyc-klikalna-karte-card-component-zgodnie-z-wcag/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, że Angular 21 rozszerza API formularzy o Signal Forms?</title>
      <link href="https://blog.consdata.tech/2026/04/24/czy-wiesz-ze-angular-21-rozszerza-api-formularzy-o-signal-forms.html" rel="alternate" type="text/html" title="Czy wiesz, że Angular 21 rozszerza API formularzy o Signal Forms?" />
      <published>2026-04-24T02:00:00-05:00</published>
      <updated>2026-04-24T02:00:00-05:00</updated>
      <id>https://blog.consdata.tech/2026/04/24/czy-wiesz-ze-angular-21-rozszerza-api-formularzy-o-signal-forms</id>

      
      
      
      
      

      <author>
          <name>Wojciech Kulczak</name>
        
        
      </author>

      

      
        <category term="angular" />
      
        <category term="signals" />
      

      
        <summary type="html">Wraz z publikacją Angulara w wersji 21 opracowano nowy system definicji formularzy za pomocą sygnałów, dostępny w pakiecie @angular/forms/signals. Choć jest to obecnie funkcja eksperymentalna, wyraźnie wyznacza przyszły kierunek rozwoju frameworka.</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2026-04-24-czy-wiesz-ze-angular-21-rozszerza-api-formularzy-o-signal-forms/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Pułapki adnotacji @Transactional</title>
      <link href="https://blog.consdata.tech/2026/04/10/pulapki-adnotacji-transactional.html" rel="alternate" type="text/html" title="Pułapki adnotacji @Transactional" />
      <published>2026-04-10T02:00:00-05:00</published>
      <updated>2026-04-10T02:00:00-05:00</updated>
      <id>https://blog.consdata.tech/2026/04/10/pulapki-adnotacji-transactional</id>

      
      
      
      
      

      <author>
          <name>Kamil Dudek</name>
        
        
      </author>

      

      
        <category term="java" />
      
        <category term="spring" />
      
        <category term="transactional" />
      
        <category term="transakcje" />
      

      
        <summary type="html">Wykorzystanie adnotacji @Transactional w frameworku Spring stanowi jedno z podstawowych narzędzi w zarządzaniu transakcjami bazodanowymi. Choć jej zastosowanie jest wygodne i upraszcza kod, niesie ze sobą również potencjalne pułapki, które mogą powodować trudne do zdiagnozowania błędy.</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2026-04-10-pulapki-adnotacji-transactional/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, czym jest i jak działa Browserslist?</title>
      <link href="https://blog.consdata.tech/2026/03/27/czy-wiesz-czym-jest-i-jak-dzia%C5%82a-browserslist.html" rel="alternate" type="text/html" title="Czy wiesz, czym jest i jak działa Browserslist?" />
      <published>2026-03-27T02:00:00-05:00</published>
      <updated>2026-03-27T02:00:00-05:00</updated>
      <id>https://blog.consdata.tech/2026/03/27/czy-wiesz-czym-jest-i-jak-dzia%C5%82a-browserslist</id>

      
      
      
      
      

      <author>
          <name>Piotr Grobelny</name>
        
        
      </author>

      

      
        <category term="frontend" />
      
        <category term="javascript" />
      
        <category term="angular" />
      

      
        <summary type="html">Od czasu do czasu każda osoba pracująca nad frontendem natrafia na plik o nazwie browserslist, który jest mało intuicyjny. Na pierwszy rzut oka jego zawartość jest czytelna, ale pojawia się pytanie: po co on właściwie istnieje? Kto z niego korzysta i jakie skutki mają wprowadzane w nim zmiany?</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2026-03-27-czy-wiesz-czym-jest-i-jak-dzia%C5%82a-browserslist/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, że zależności w Springu powinniśmy wstrzykiwać przez konstruktor?</title>
      <link href="https://blog.consdata.tech/2026/03/16/czy-wiesz-ze-zaleznosci-w-springu-powinnismy-wstrzykiwac-przez-konstruktor.html" rel="alternate" type="text/html" title="Czy wiesz, że zależności w Springu powinniśmy wstrzykiwać przez konstruktor?" />
      <published>2026-03-16T02:00:00-05:00</published>
      <updated>2026-03-16T02:00:00-05:00</updated>
      <id>https://blog.consdata.tech/2026/03/16/czy-wiesz-ze-zaleznosci-w-springu-powinnismy-wstrzykiwac-przez-konstruktor</id>

      
      
      
      
      

      <author>
          <name>Bartosz Pietrowiak</name>
        
        
      </author>

      

      
        <category term="spring boot" />
      
        <category term="java" />
      

      
        <summary type="html">Czy wiesz, że sposób wstrzykiwania zależności w Springu może mieć ogromny wpływ na jakość Twojego kodu, jego bezpieczeństwo i łatwość testowania? Jeśli chcesz pisać lepsze aplikacje, warto poznać najważniejsze techniki i wybrać tę, która przynosi najlepsze efekty.</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2026-03-16-czy-wiesz-ze-zaleznosci-w-springu-powinnismy-wstrzykiwac-przez-konstruktor/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, czym jest narzędzie artillery?</title>
      <link href="https://blog.consdata.tech/2026/02/13/czy-wiesz-czym-jest-narzedzie-artillery.html" rel="alternate" type="text/html" title="Czy wiesz, czym jest narzędzie artillery?" />
      <published>2026-02-13T01:00:00-06:00</published>
      <updated>2026-02-13T01:00:00-06:00</updated>
      <id>https://blog.consdata.tech/2026/02/13/czy-wiesz-czym-jest-narzedzie-artillery</id>

      
      
      
      
      

      <author>
          <name>Kamil Dudek</name>
        
        
      </author>

      

      
        <category term="artillery" />
      
        <category term="tests" />
      

      
        <summary type="html">Artillery to oparte o Node.js narzędzie do wykonywania testów wydajnościowych, które może być prostszą alternatywą dla np. Gatlinga. Charakteryzuje się ono prostotą użycia, wspiera różne technologie (np. HTTP API, WebSockety), daje możliwość testowania rozproszonego oraz może być rozszerzane przez pluginy.</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2026-02-13-czy-wiesz-czym-jest-narzedzie-artillery/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, że TypeScript ma typ bezpieczniejszy niż Any?</title>
      <link href="https://blog.consdata.tech/2025/12/03/czy-wiesz-ze-typescript-ma-typ-bezpieczniejszy-niz-any.html" rel="alternate" type="text/html" title="Czy wiesz, że TypeScript ma typ bezpieczniejszy niż Any?" />
      <published>2025-12-03T23:00:00-06:00</published>
      <updated>2025-12-03T23:00:00-06:00</updated>
      <id>https://blog.consdata.tech/2025/12/03/czy-wiesz-ze-typescript-ma-typ-bezpieczniejszy-niz-any</id>

      
      
      
      
      

      <author>
          <name>Wojciech Stolarski</name>
        
        
      </author>

      

      
        <category term="typescript" />
      

      
        <summary type="html">W TypeScript, poza string czy number, mamy też kilka specjalnych typów do obsługi sytuacji, gdy nie znamy typu danych. Przyjrzyjmy się im z bliska.</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2025-12-04-czy-wiesz-ze-typescript-ma-typ-bezpieczniejszy-niz-any/thumbnail.webp" />
      
    </entry>
  
    <entry xml:lang="pl">
      <title type="html">Czy wiesz, że za pomocą operatora shareReplay możesz cache’ować dane z observable?</title>
      <link href="https://blog.consdata.tech/2025/11/17/czy-wiesz-ze-za-pomoca-operatora-sharereplay-mozesz-cache-owac-dane-z-observable.html" rel="alternate" type="text/html" title="Czy wiesz, że za pomocą operatora shareReplay możesz cache'ować dane z observable?" />
      <published>2025-11-17T01:00:00-06:00</published>
      <updated>2025-11-17T01:00:00-06:00</updated>
      <id>https://blog.consdata.tech/2025/11/17/czy-wiesz-ze-za-pomoca-operatora-sharereplay-mozesz-cache-owac-dane-z-observable</id>

      
      
      
      
      

      <author>
          <name>Piotr Tatarski</name>
        
        
      </author>

      

      
        <category term="rxjs" />
      
        <category term="observable" />
      

      
        <summary type="html">Często zdarza się, że nie chcemy za każdym razem ponownie wykonywać całej logiki z danego Observable — zamiast tego wolimy przechować jego wynik w pamięci. W Angularze (i ogólnie w RxJS) możemy to zrobić za pomocą operatora shareReplay.</summary>
      

      
      
        
        <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blog.consdata.tech/assets/img/posts/2025-11-17-czy-wiesz-ze-za-pomoca-operatora-sharereplay-mozesz-cache-owac-dane-z-observable/thumbnail.webp" />
      
    </entry>
  
</feed>
