<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Java on Gürkan UÇAR</title>
    <link>https://gurkanucar.com/tr/tags/java/</link>
    <description>Recent content in Java on Gürkan UÇAR</description>
    <generator>Hugo</generator>
    <language>tr-TR</language>
    <lastBuildDate>Sat, 08 Aug 2026 10:00:00 +0300</lastBuildDate>
    <atom:link href="https://gurkanucar.com/tr/tags/java/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Adapter ve Strategy: Dış Servisleri Domain&#39;in Dışında Tutmak</title>
      <link>https://gurkanucar.com/tr/posts/clean-architecture-adapter-ve-strategy-spring-boot/</link>
      <pubDate>Sat, 08 Aug 2026 10:00:00 +0300</pubDate>
      <guid>https://gurkanucar.com/tr/posts/clean-architecture-adapter-ve-strategy-spring-boot/</guid>
      <description>İki farklı dış firma, birbiriyle uyuşmayan iki API, tek bir domain modeli. Adapter deseni Spring Boot&amp;#39;ta bunlara ortak bir dil kazandırıyor, Strategy ise hangisinin çalışacağına karar veriyor: @ConditionalOnProperty ile açılışta ya da factory ile istek bazında.</description>
    </item>
    <item>
      <title>Clean Code: Guard Clauses ve Early Return</title>
      <link>https://gurkanucar.com/tr/posts/clean-code-guard-clauses-early-return/</link>
      <pubDate>Sat, 08 Aug 2026 10:00:00 +0300</pubDate>
      <guid>https://gurkanucar.com/tr/posts/clean-code-guard-clauses-early-return/</guid>
      <description>İç içe geçmiş if-else bloklarını Guard Clauses ve Early Return ile nasıl daha okunabilir hale getirebileceğinizi gerçek bir check-in senaryosu üzerinden görelim.</description>
    </item>
    <item>
      <title>Chain of Responsibility: Karmaşık Kuralları Bir Pipeline&#39;a Dönüştürmek</title>
      <link>https://gurkanucar.com/tr/posts/chain-of-responsibility-spring-boot/</link>
      <pubDate>Sat, 08 Aug 2026 10:00:00 +0300</pubDate>
      <guid>https://gurkanucar.com/tr/posts/chain-of-responsibility-spring-boot/</guid>
      <description>Birden fazla iş kuralını tek bir serviste yönetmek yerine Chain of Responsibility ve Pipeline yaklaşımıyla kuralları bağımsız, test edilebilir ve kolay genişletilebilir hale getirmek.</description>
    </item>
    <item>
      <title>Facade Pattern: Karmaşık Alt Sistemleri Tek Bir Kapının Arkasına Saklamak</title>
      <link>https://gurkanucar.com/tr/posts/facade-pattern-spring-boot/</link>
      <pubDate>Sat, 08 Aug 2026 10:00:00 +0300</pubDate>
      <guid>https://gurkanucar.com/tr/posts/facade-pattern-spring-boot/</guid>
      <description>Bir rezervasyon akışında ödeme, bilet, bagaj, bildirim ve sadakat sistemleriyle tek tek uğraşmak yerine Facade Pattern ile karmaşık iş akışını tek bir arayüzün arkasında toplamak.</description>
    </item>
    <item>
      <title>N&#43;1 Query: ORM Kullanırken Sessiz Performans Tuzağı</title>
      <link>https://gurkanucar.com/tr/posts/n-plus-one-query-jpa-hibernate-spring-boot/</link>
      <pubDate>Sat, 08 Aug 2026 10:00:00 +0300</pubDate>
      <guid>https://gurkanucar.com/tr/posts/n-plus-one-query-jpa-hibernate-spring-boot/</guid>
      <description>ORM kullanırken fark etmeden yüzlerce SQL sorgusu çalıştırmanıza neden olan N&#43;1 problemi neden oluşur ve Spring Boot/JPA’da JOIN FETCH, EntityGraph, batch fetching ve DTO projection ile nasıl çözülür?</description>
    </item>
    <item>
      <title>Geliştirici olmak için izlediğim yol</title>
      <link>https://gurkanucar.com/tr/posts/java-gelistirici-olmak-icin-izledigim-yol/</link>
      <pubDate>Sun, 30 Mar 2025 18:00:07 +0000</pubDate>
      <guid>https://gurkanucar.com/tr/posts/java-gelistirici-olmak-icin-izledigim-yol/</guid>
      <description>Nasıl geliştirici olunur sorusuna cevap vermek yerine kendi yolculuğumu anlatıyorum: Visual Basic ile yazdığım ilk uygulamalardan staja, düşük maaşlardan startup tercihine kadar yaptığım doğrular ve yanlışlar.</description>
    </item>
  </channel>
</rss>
