in

Yazılım geliştirme blogu

SAP, kurumsal uygulama geliştirme, entegrasyon ve dijitalleşme üzerine Puncharsoft ekibinin saha notları.

Yazılım projelerinde gecikmeye yol açan 12 kök nedeni gruplayan tablo

Yazılım Projeleri Neden Gecikir? 12 Kök Neden ve Önlemler

Gecikme nadiren 'geliştiriciler yavaş' demektir; çoğu zaman altıncı ayda görünen sonucun nedeni ilk ayda verilmiş ya da verilmemiş bir karardır. Kapsam, karar, ekip ve dış bağımlılık kaynaklı 12 kök nedeni, her biri için erken belirtiyi ve önlemi, gecikmeyi haftalar önce gösteren dört göstergeyi anlatıyoruz.

Spring Boot uygulamasından Prometheus, Tempo ve Loki üzerinden Grafana'ya akan metrik, iz ve log akışı

Spring Boot Observability: OpenTelemetry ve Grafana Kurulumu

Log dosyası olması gözlemlenebilirlik değildir; üretimde 'bu istek neden yavaş' sorusuna dakikalar içinde cevap verebilmektir. Spring Boot 3'te Micrometer metriklerini, OpenTelemetry ile dağıtık izlemeyi, traceId ile log korelasyonunu, Grafana panolarını ve SLO tabanlı alarmları kurulum adımları ve kod örnekleriyle anlatıyoruz.

Kişisel veri envanteri, şifreleme, saklama-imha ve erişim logu katmanlarını gösteren KVKK uyumlu mimari şeması

KVKK Uyumlu Yazılım Tasarımı: Privacy by Design Rehberi

KVKK uyumu bir aydınlatma metniyle değil, tasarımla sağlanır. Kişisel veri envanterinin koda nasıl yansıdığını, veri minimizasyonu ve alan bazlı şifrelemeyi, saklama süreleri ve otomatik imhayı, erişim loglarını, ilgili kişi başvurularını ve ihlal bildirimini destekleyen teknik desenleri Spring Boot örnekleriyle anlatıyoruz.

Aynı Idempotency-Key ile gelen tekrar isteğin saklanan yanıtla karşılandığını gösteren akış

Idempotent API Tasarımı: Çift Sipariş ve Ödemeyi Önlemek

Zaman aşımı, mobil yeniden deneme ve gateway retry'ı aynı isteği iki kez gönderir; sonucu çift sipariş ve çift ödemedir. Idempotency-Key deseninin sunucu tarafında nasıl uygulandığını, iş anahtarlarıyla doğal idempotency'yi, ETag ile koşullu güncellemeyi ve mesaj tüketicilerindeki karşılığını Spring Boot örnekleriyle anlatıyoruz.

Yazılım firması seçiminde kullanılacak 20 soruluk kontrol listesi

Yazılım Firması Seçerken Sorulacak 20 Soru

Yanlış yazılım firması, projenin en pahalı hatasıdır ve genellikle ilk toplantıda fark edilebilir. Beş başlıkta 20 soru — deneyim, süreç, teknik yaklaşım, sözleşme, teslim sonrası — her biri için iyi cevabın neye benzediğini ve hangi cevabın kırmızı bayrak olduğunu anlatıyoruz.

Satış, muhasebe ve lojistik bounded context'leri arasındaki ilişkileri gösteren context map

Domain Driven Design: Bounded Context ve Aggregate Tasarımı

DDD çoğu projede 'entity ve repository adlandırması'na indirgenir; asıl değeri stratejik tasarımdadır. 'Müşteri' kelimesinin dört farklı anlam taşıdığı kurumsal sistemde bounded context'leri nasıl çizeceğinizi, aggregate kurallarını, değer nesnelerini ve domain olaylarını Spring Boot örnekleriyle anlatıyoruz.

Kurumsal uygulama, özel entegratör ve GİB arasındaki e-fatura akışını gösteren şema

e-Fatura Entegrasyonu: Mimari, Entegratör API ve Tuzaklar

e-Fatura entegrasyonu kurumsal projelerde "sonra bakarız" denen ve sonunda projeyi geciktiren iştir. e-Fatura, e-Arşiv ve e-İrsaliye kavramlarını, entegratör API'si üzerinden kurulan referans mimariyi, numaralama ve durum takibi gibi kritik noktaları ve sahada en sık gördüğümüz tuzakları anlatıyoruz.

G1, ZGC ve Shenandoah çöp toplayıcılarının duraklama süresi ve verim eksenlerinde karşılaştırması

JVM Garbage Collector Seçimi: G1, ZGC ve Shenandoah

Çoğu Spring Boot uygulaması için varsayılan G1 doğru seçimdir; ama p99 gecikme hedefi, 32 GB üstü heap ya da 512 MB'lık konteynerler kararı değiştirir. JVM bellek bölgelerini, G1, ZGC, Shenandoah, Parallel ve Serial GC'nin hangi yükte kazandığını, konteyner bellek ayarlarını ve GC logu ile ölçmeyi anlatıyoruz.

Birim, entegrasyon, contract ve uçtan uca test katmanlarını gösteren test piramidi

Testcontainers ile Spring Boot Test Stratejisi: 4 Katman

Testler var ama üretim hataları geçiyor; çünkü H2 PostgreSQL gibi davranmaz, mock'lar entegrasyonu doğrulamaz. Kurumsal Java projesi için dört katmanlı test stratejisini — birim, Testcontainers ile gerçek veritabanı, contract testleri ve az sayıda uçtan uca test — oranları, test verisi yaklaşımı ve CI süresi hedefleriyle anlatıyoruz.