
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Kamil Owczarek | Senior Full-Stack Engineer</title>
      <link>https://whoisarjen.com/pl/blog</link>
      <description>Senior Full-Stack Engineer specjalizujący się w wydajnym e-commerce, skalowalnej architekturze i optymalizacji wydajności. TypeScript, React, Next.js, Vue, Nuxt, PostgreSQL, Redis.</description>
      <language>pl</language>
      <managingEditor>kamilow97@gmail.com (Kamil Owczarek)</managingEditor>
      <webMaster>kamilow97@gmail.com (Kamil Owczarek)</webMaster>
      <lastBuildDate>Mon, 06 Apr 2026 12:00:00 GMT</lastBuildDate>
      <atom:link href="https://whoisarjen.com/pl/tags/ssr/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://whoisarjen.com/pl/blog/parallel-ssr-data-fetching-vue-onserverprefetch</guid>
    <title>Usunęliśmy jedną linijkę kodu i nasz SSR przyspieszył trzykrotnie</title>
    <link>https://whoisarjen.com/pl/blog/parallel-ssr-data-fetching-vue-onserverprefetch</link>
    <description>Jak pojedynczy inline&#39;owy await w naszym composable&#39;u Vue po cichu serializował całe pobieranie danych podczas renderowania na serwerze i jak onServerPrefetch naprawił to bez żadnych zmian w architekturze.</description>
    <pubDate>Mon, 06 Apr 2026 12:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>Vue</category><category>SSR</category><category>Performance</category><category>Nuxt</category><category>TanStack Query</category><category>TypeScript</category><category>Optimization</category>
  </item>

  <item>
    <guid>https://whoisarjen.com/pl/blog/history-replacestate-vs-router-replace-url-canonicalization</guid>
    <title>Przestań używać Router.replace() do kanonikalizacji adresów — sięgnij po History.replaceState()</title>
    <link>https://whoisarjen.com/pl/blog/history-replacestate-vs-router-replace-url-canonicalization</link>
    <description>Przepalaliśmy pełne cykle nawigacji Vue Routera tylko po to, żeby poprawić slug w adresie karty produktu. Zamiana router.replace() na history.replaceState() wycięła zbędne re-rendery, naprawiła popsute meta tagi SEO i sprowadziła kanonikalizację po stronie klienta do jednego wywołania, które nie dotyka DOM-u.</description>
    <pubDate>Mon, 06 Apr 2026 09:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>Vue.js</category><category>Performance</category><category>SEO</category><category>Nuxt</category><category>URL Canonicalization</category><category>SSR</category><category>Router</category>
  </item>

  <item>
    <guid>https://whoisarjen.com/pl/blog/nuxt-ssr-cache-hostname-bug</guid>
    <title>Subtelny bug cache&#39;owania w SSR, który fragmentuje cache: dlaczego url.hostname kłamie podczas renderowania na serwerze</title>
    <link>https://whoisarjen.com/pl/blog/nuxt-ssr-cache-hostname-bug</link>
    <description>Jak pozornie poprawny cache key oparty na url.hostname prowadzi do fragmentacji cache&#39;u między requestami SSR a tymi z przeglądarki i drastycznie obniża cache hit rate w aplikacjach Nuxt/Nitro.</description>
    <pubDate>Sun, 28 Dec 2025 12:00:00 GMT</pubDate>
    <author>kamilow97@gmail.com (Kamil Owczarek)</author>
    <category>Nuxt</category><category>SSR</category><category>Caching</category><category>Performance</category><category>Nitro</category><category>TypeScript</category>
  </item>

    </channel>
  </rss>
