Proje Kaosunu Bitiren Karar Sistemi: Architecture Decision Record (ADR)
Unutulan kararlar projeleri kaosa sürükler. ADR (Architecture Decision Record) ile mimari kararları kalıcı hale getirin ve projenizin hafızasını oluşturun.
Unutulan kararlar projeleri kaosa sürükler. ADR (Architecture Decision Record) ile mimari kararları kalıcı hale getirin ve projenizin hafızasını oluşturun.
Mimari bilgi buharlaşmasının, kabile bilgisinin ve karar tiyatrosunun yazılım ekiplerini nasıl yavaşlattığını anlatan Architecture Playbook serisinin ilk…
CQRS request pipeline nedir? Bir HTTP isteği Controller, MediatR, pipeline behavior, handler, Outbox ve read model üzerinden nasıl ilerler?
CQRS nedir, CRUD ile CQRS arasındaki fark nedir ve CQRS ne zaman kullanılmalıdır? Tek modelin büyük sistemlerde neden yetmediğini anlatan rehber.
CQRS dağıtık sistemlerde nasıl çalışır? Domain event, message broker, projection, Outbox, idempotency ve eventual consistency kararlarını uçtan uca…
CQRS production ortamında nasıl güvenli çalışır? Consistency lag, duplicate event, sıra bozulması, projection recovery, retry, DLQ ve Saga stratejileri.
Domain-Driven Design nedir? Veritabanı odaklı tasarımın sınırlarını, ortak dilin gücünü ve DDD'nin ne zaman gerçek bir yatırım olduğunu anlatan rehber.
DDD taktiksel desenleri nasıl çalışır? Value Object, Entity, Aggregate, Domain Service, Application Service ve Repository sınırlarını gerçek sipariş…
DDD büyük sistemlerde nasıl ölçeklenir? Bounded Context, Context Mapping, Conway Yasası, modüler monolith, mikroservis sınırları ve Transactional Outbox…
Büyüyen bir marketplace istemcisinde monolitik frontend sınırları neden gerilir? Next.js Multi-Zone kararını; alternatifleri, trade-off'ları ve production…
DDD production ortamında nasıl yaşatılır? Event Storming, Saga, Transactional Outbox, Anti-Corruption Layer ve Strangler Fig ile legacy dönüşüm rehberi.
Katmanlı mimari neden büyüdükçe değişimi yavaşlatır? Vertical Slice'in klasör düzeni değil; özellik sahipliği, davranış yerelliği ve değişim maliyeti…
Bir Vertical Slice request'ten doğrulamaya, handler'dan aggregate'e, outbox event'inden read model'e ve bulut maliyetine kadar içeriden nasıl akar? CQRS…
Bir ödeme tek bir servisin işi değildir: sepet, stok, provider gateway ve finans aynı gerçek üzerinde anlaşmak zorundadır. Senkron zincir neden kırılır?
Ödeme Succeeded olması, siparişin Completed olduğu anlamına gelmez. Checkout ve payment yaşam döngülerini ayırmazsanız, üretimde iki gerçek çakışır.
Provider gateway PSP SDK'sını nasıl sahiplenir, checkout orchestrator neden yalnızca semantik bir arayüz görmelidir? Kart ve wallet akışlarının farklı…
Provider gateway'in aldığı webhook, downstream'e PSP'nin event adıyla mı, yoksa PaymentCaptured/PaymentFailed gibi semantik bir olayla mı ulaşmalı?
PSP, sipariş ve finans arasında 2PC kurmak bir tuzaktır. Saga ve mutabakat, dağıtık ödeme tutarlılığının gerçek cevabıdır.
22 bölümlük serinin sentezi: checkout orchestrator ve provider gateway ile production ödeme motoru için mimari checklist.
Mint'te placeholder metadata, uridata haritası, reveal(tokenId, uriHash) ve yalnızca owner'ın açabildiği reveal yüzeyi.
Bare Crypto protokolu Remix IDE ve OpenZeppelin v4.1 GitHub importlariyla Hardhat/Foundry olmadan nasil derlenip deploy edildi? ADR ve trade-offlar.
BareNFT, ERC721 Enumerable/Burnable/Pausable ve AccessControl ile role-gated mint(to,id,uri) sunar. Per-token URI ve pause trade-offlari.
Owner-only createNewListing, buy ve randomBuy — keccak256(revealNonce, block.difficulty, msg.sender) % 3.…
Ingiliz artirmali acik artirma: bid, claim, cancel, rezerv altinda iade ve owner emergency transferNft/transferFunds trade-offlari.
Hashmasks-tarzi NFT-gated claim: ~10e18/gun, INITIAL_ALLOTMENT, 10 yillik emissionEnd. Acik mint yuzeyi ve abuse senaryolari.
Bare Crypto marketplace SPA, OpenSea'yi ürün referansı olarak açıkça kopyalayan bir bilgi mimarisi kurar: Home, Marketplace, Viewer, Profile ve mint formu.
getListings, NFT totalSupply'ı okuyup her tokenId için birden fazla RPC çağrısı yapar. N×çağrı ölçeklenmez; 30s poll stale listing ve Infura rate-limit…
Marketplace SPA Rinkeby Infura'ya kilitlenirken koleksiyon mint istemcileri mainnet'e sertleşir. Paylaşılan web3/IPFS util'leri ile ağ-spesifik config…
Bare Wallet uygulaması dürüstçe bir pazarlama SPA / indirme hunisidir — Chrome MV3 extension değildir. CRA PWA manifest'i extension mimarisi sanılmamalıdır.…
Tek bir ops paneli büyüdükçe deploy ve sahiplik kırılır. Shell + remote ayrımı ne zaman zorunlu hale gelir?
Module Federation: Shell ve Remote Sözleşmesi — lojistik operasyonlarında üretim dersi.
Auth Neden Ayrı Bir Remote Olmalı? — lojistik operasyonlarında üretim dersi.
Özellik Remote'u ve Bağımsız (Standalone) Yayın — lojistik operasyonlarında üretim dersi.
Host Shell'de Rota (Routing) Bileşimi — lojistik operasyonlarında üretim dersi.
Versiyon Sapması ve Sözleşme Disiplini — lojistik operasyonlarında üretim dersi.
MFE Yanında Monoliti Ne Zaman Tutmalı? — lojistik operasyonlarında üretim dersi.
Araç 'bekliyor' demek GPS noktasından ibaret değildir. Daire sınır ve operasyonel durum olmadan harita yalan söyler.
Sihirli Sayı Yerine Yapılandırılabilir Yarıçap — lojistik operasyonlarında üretim dersi.
Harita UI ile Vendor API Arasında Trust Boundary — lojistik operasyonlarında üretim dersi.
Feribot partner kapasitesini satır ekle-sil gibi modellemek, bilet yaşam döngüsünü ve onay akışlarını yok sayar.
Şirket, Araç, Sürücü: Booking Bağlamı — lojistik operasyonlarında üretim dersi.
Booking Sayfalarını Host Shell'e Gömmek — lojistik operasyonlarında üretim dersi.
Partner Ops için Standalone Booking Desk — lojistik operasyonlarında üretim dersi.
Partner Sözleşmesini Sızdırmadan Raporlama — lojistik operasyonlarında üretim dersi.
MFE estate büyürken harita, CMS ve push admin gibi geniş yüzeyler bilinçli bir ops monolith / control plane'de kalabilir.
İlan ve Dokümanlar için CMS Benzeri Yüzeyler — lojistik operasyonlarında üretim dersi.
Push Bildirim Admin ≠ Paylaşılan Snackbar — lojistik operasyonlarında üretim dersi.
ERP Senkronu Bir Entegrasyon Kenarıdır — lojistik operasyonlarında üretim dersi.
Monolit ve MFE Birliktelik Stratejisi — lojistik operasyonlarında üretim dersi.
Şirket içi ERP’nin yazdığı MySQL operasyonel gerçektir; coğrafi analiz ve bekleme hotspot’ları için temiz bir analitik store gerekir.
Operasyonel Veriyi PostgreSQL’e Temizleme — ABC Logistics backend / data platform üretim dersi.
Yüksek Frekanslı Telemetri için MongoDB — ABC Logistics backend / data platform üretim dersi.
Varlıklar Arası Ops Arama: Elasticsearch — ABC Logistics backend / data platform üretim dersi.
Tek Beyin Efsanesi Olmadan Çoklu Node — ABC Logistics backend / data platform üretim dersi.
ERP ile Analitik Arasında Anti-Corruption — ABC Logistics backend / data platform üretim dersi.
Ops Frontend’lerine Temiz Okuma Sunmak — ABC Logistics backend / data platform üretim dersi.
Geofence ve Sefer için Veri Sözleşmeleri — ABC Logistics backend / data platform üretim dersi.
Modelden Dispatcher’a Döngüyü Kapatmak — ABC Logistics backend / data platform üretim dersi.
Python/Django, PostGIS–Mongo–ES okumalarını MFE ve control plane’e güvenli JSON sözleşmeleri olarak sunar.
MFE ve Control Plane için API Sınırları — ABC Logistics backend / data platform üretim dersi.
Lojistik API Üretim Hazırlık Kontrol Listesi — ABC Logistics backend / data platform üretim dersi.