Resim Resim örneği Islak gece sokağı Yağmur, asfalt yansıması ve tek figür — belgesel gece fotoğrafı. KONU: Yağmurdan yeni çıkmış dar bir arka sokak; kaldırımın ortasında, şeffaf şemsiyeli tek bir yaya kameraya arkası dönük yürüyor. SAHNE: Islak asfaltta mağaza tabelalarının neon yansımaları uzayıp dağılıyor; kanalizasyondan ince buhar yükseliyor, arka planda birkaç bulanık far. KOMPOZİSYON: Dikey merkez kaçışlı perspektif; yaya alt-üçte-bir noktasında, üstte ıslak bina cepheleri negatif alan bırakıyor. KAMERA: 35mm, f/2.0, ISO 800, 1/125 sn; göz hizası, hafif alttan; sığ alan derinliği, arka plan yumuşak ama tanınır. IŞIK: Karışık renk sıcaklığı — soğuk sokak lambası + sıcak vitrin; pratik ışık kaynakları kadrajda, HDR yok. RENK: Sinematik ama abartısız; kırmızı-turkuaz kontrast, doğal cilt tonu korunur, gölgeler tıkanmaz. DOKU: Gerçek 35mm film greni, ıslak yüzeyde mikro yansımalar, şemsiyede su damlaları. NEGATİF: Okunabilir yazı/marka/logo, filigran, fazladan parmak, plastik cilt, aşırı bloom, HDR halosu, kalabalık. ORAN: 4:5 · Stil: belgesel sokak fotoğrafçılığı. GÖRSEL ÇIKTI (nasıl döndü) Dar ıslak sokakta tek figür arkası dönük, şemsiye silueti net. Asfaltta kırmızı-turkuaz neon 2-3 metre uzayıp kırılıyor, alçak buhar var. 35mm sığ derinlik: yaya keskin, arka plan farları bokeh. KONTROL LİSTESİ + Tek kare, kamera hareketi yok + Cilt/duruş doğal, el-parmak kusuru yok + Yazı, logo, filigran yok - Not: buhar fazla gelirse promptta 'ince buhar' → 'çok hafif buhar'
Resim Resim örneği Siste dağ evi Göl yansıması ve gün doğumu — sakin manzara karesi. KONU: Sakin bir dağ gölünün kıyısında, ahşap-taş karışımı tek katlı bir kulübe; bacadan ince duman. SAHNE: Su cam gibi durgun, kulübeyi ve çam sırtını simetrik yansıtıyor; göl yüzeyinde alçak sabah sisi bantları. KOMPOZİSYON: Yatay, ufuk çizgisi tam ortada değil alt-üçte-bir; kulübe sağ altın orana; ön planda birkaç sazlık. KAMERA: 24mm geniş açı, f/8, ISO 100, tripod; derin alan derinliği, uçtan uca netlik. IŞIK: Gün doğumundan 20 dk sonra, yumuşak yönlü ışık; sırtın arkasından hafif ters ışık, gölgeler mavi değil nötr. RENK: Düşük doygunluk, doğal orman yeşili ve sıcak çatı; pastel gökyüzü, turuncu patlaması yok. DOKU: Gerçek çam kabuğu, yosunlu taş, yıpranmış ahşap damarı; suda mikro dalgalanma yok (cam etkisi). NEGATİF: Fantastik ışık huzmesi, aşırı sis, sahte lens flare, HDR, yazı, logo, insan. ORAN: 3:2 · Stil: sakin manzara / doğa fotoğrafçılığı. GÖRSEL ÇIKTI Göl aynası kulübeyi ve çam sırtını neredeyse simetrik yansıtıyor, üstte ince sis bandı. 24mm derin netlik: ön plandaki sazlık da, arkadaki tepe de net. Işık yumuşak, gökyüzü pastel. KONTROL LİSTESİ + Simetri korunmuş, su durgun + Doğal renk, aşırı doygunluk yok + Fantastik ışık halkası yok - Not: yansıma çok mükemmelse 'suda çok hafif dalgalanma' ekle
Resim Resim örneği Seramik kupa ürün çekimi Stüdyoda tek ürün, kontrollü ışık ve malzeme dokusu. KONU: El yapımı mat sırlı seramik kupa (toprak-terracotta rengi), içinde sıcak siyah kahve; ağzından çok ince buhar. SAHNE: Koyu antrasit arka plan, kupa hafif dokulu taş bir yüzeyde; yanında dağınık birkaç kahve çekirdeği (opsiyonel, sade). KOMPOZİSYON: 3/4 açı, ürün merkezde ama kırpma payı bırakılmış; göz hizasının biraz üstünden. KAMERA: 85mm makro, f/5.6, ISO 100, tripod; kupanın kulpu ve ağız kenarı net; çekirdekler yumuşak. IŞIK: Tek büyük softbox sol-arkadan (rim/kontur ışığı), sağdan gümüş reflektör dolgu; koyu zeminde kontrollü speküler highlight. RENK: Sıcak-nötr denge; sırın mat dokusu ve içteki kahvenin derinliği okunur; parlama patlamamış. DOKU: Parmak izli el işi sır, mikro çatlaklar, buharın hacmi gerçek; yansımalar yumuşak. NEGATİF: Marka baskısı, barkod, el, filigran, plastik parlaklık, sert çift gölge, uçuk beyaz zemin. ORAN: 4:5 · Stil: premium ürün / editoryal yeme-içme fotoğrafı. GÖRSEL ÇIKTI Mat terracotta kupa antrasit zeminde, sol-arkadan gelen ışık kenarda ince kontur yapıyor, sağda yumuşak dolgu. Buhar hacimli ama abartısız, sır dokusu ve parmak izleri okunuyor. Çekirdekler bokeh. KONTROL LİSTESİ + Ürün merkezde, kırpma payı var + Malzeme dokusu gerçekçi + Marka/barkod/el/filigran yok - Not: e-ticaret için zemini beyaza çevir, gölgeyi tek yöne al
Resim Resim örneği Altın saat portre Doğal ters ışık, gerçek cilt, omuz kadrajı. KONU: 30’lu yaşlarda bir kişi; doğal, hafif düşünceli ifade, çeneyi hafif yana çevirmiş, bakış kameranın biraz yanında. SAHNE: Açık hava, gün batımına yakın; arka planda çözülmüş şehir ışıkları / ağaç dokusu. KOMPOZİSYON: Baş-omuz kadraj, göz üst-üçte-bir hattında; sağda hafif negatif alan; portre dikey. KAMERA: 85mm, f/2.0, ISO 200, 1/500 sn; göz keskin, kulak yumuşamaya başlıyor. IŞIK: Altın saat ters ışığı — saç kenarında sıcak kontur (rim); yüze karşıdan gümüş reflektör dolgu; catchlight gözlerde tek nokta. RENK: Sıcak ama nötr cilt; kızıl-turuncu arka plan bokeh’i; ten tonu doğal, sarıya kaçmıyor. DOKU: Gerçek cilt gözeneği, ince çizgiler, saç telinde ışık; retüş minimal. NEGATİF: Plastik/pürüzsüz cilt, aşırı beyazlatılmış diş, stüdyo parıltısı, çift catchlight, logo, filigran, fazladan parmak. ORAN: 4:5 · Stil: doğal ışık editoryal portre. GÖRSEL ÇIKTI Baş-omuz kadraj, saç kenarında sıcak ters ışık konturu, yüzde yumuşak dolgu. Gözde tek catchlight, bakış kameranın hafif yanında. 85mm f/2: göz keskin, arka plan turuncu bokeh. Ciltte gözenek ve ince çizgi duruyor. KONTROL LİSTESİ + Doğal cilt, aşırı retüş yok + Tek catchlight, gözler net + Logo/filigran yok - Not: kurumsal isteniyorsa arka planı nötr gri yap, ifadeyi hafif gülümsemeye çevir
Resim Resim örneği LinkedIn profil fotoğrafı Kurumsal kafa-omuz karesi; doğal pencere ışığı. ROL: Kurumsal headshot fotoğrafçısısın. KONU: {CİNSİYET}, {YAŞ} yaşlarında, {KIYAFET}; güven veren hafif gülümseme, omuzlar kameraya hafif açılı, bakış lense. KOMPOZİSYON: Baş-omuz, yüz üst-orta bölgede, tepede az boşluk; dikey 4:5, göz hattı üst-üçte-bir. KAMERA: 85mm, f/2.8, ISO 200; tüm yüz netlik alanında, kulaklar hafif yumuşak. IŞIK: Büyük yumuşak pencere ışığı 45° soldan (Rembrandt), sağdan hafif dolgu; yanakta yumuşak geçiş, sert gölge yok. ARKA PLAN: Nötr açık gri / bulanık modern ofis; dikkat dağıtan nesne yok. RENK: Doğal cilt tonu, nötr beyaz dengesi; kıyafet renkleri doğru. DOKU: Gerçek cilt, hafif doğal pürüz; profesyonel ama abartısız retüş. NEGATİF: Aşırı retüş/pürüzsüzleştirme, balık gözü distorsiyon, sert gölge, logo, filigran, kalabalık arka plan, yamuk omuz. ORAN: 4:5 · Stil: profesyonel LinkedIn headshot. ÖRNEK DEĞİŞKENLER CİNSİYET: erkek · YAŞ: 38 · KIYAFET: lacivert ince gömlek, kravatsız GÖRSEL ÇIKTI Baş-omuz kadraj, nötr gri arka plan bulanık. Pencere ışığı 45° soldan Rembrandt üçgeni bırakıyor, sağda hafif dolgu. Bakış lense, güven veren hafif gülümseme, cilt doğal. KONTROL LİSTESİ + Kafa-omuz oranı LinkedIn’e uygun + Aşırı retüş yok, gölge yumuşak + Logo/filigran/distorsiyon yok
Resim Resim örneği E-ticaret ürün fotoğrafı Beyaz zeminde listing kalitesinde durağan çekim. ROL: E-ticaret paket-shot fotoğrafçısısın (Amazon/Trendyol listing standardı). KONU: {ÜRÜN}; ambalajsız, tek adet, kusursuz temiz. KOMPOZİSYON: Ürün tam merkez, üstte-altta eşit kırpma payı; 3/4 açı ki hem ön yüz hem hacim görünsün. KAMERA: 85mm, f/8 (uçtan uca netlik), ISO 100, tripod; distorsiyon yok, dik hatlar dik. IŞIK: İki softbox 45°, üstten büyük difüzör; yumuşak tek yönlü zemin gölgesi (kontak gölge), speküler highlight kontrollü. ZEMİN: Saf beyaz veya çok açık nötr gri (#f5f5f5); zemin-ürün ayrımı net, floating değil. RENK: Gerçek ürün rengi, nötr beyaz dengesi; metal/mat/parlak dokular doğru. NEGATİF: Marka logosu, barkod, etiket yazısı, el, reflektör görüntüsü, filigran, sert çift gölge, renk kayması. ORAN: 1:1 · Stil: temiz katalog / paket-shot. ÖRNEK DEĞİŞKEN ÜRÜN: mat siyah paslanmaz analog kol saati, deri kordon GÖRSEL ÇIKTI 1:1, saf beyaz zemin. Saat merkezde 3/4 açı, kadran ve kordon hacmi görünüyor. Altında yumuşak tek yönlü kontak gölge; çelik kasada kontrollü highlight, deri dokusu net. KONTROL LİSTESİ + Merkez + eşit kırpma payı + Gerçek renk, dik hatlar + Barkod/logo/el/filigran yok
Resim Resim örneği YouTube thumbnail görseli 16:9 durağan kapak; yazıyı modele yazdırma. ROL: YouTube kapak tasarımcısısın; mobilde 5 cm’de bile okunan sade kompozisyon üretiyorsun. KONU: {KONU}; sol yarıda tek güçlü görsel odak (nesne veya ifade), sağ yarı boş — başlık metnini sonradan ben ekleyeceğim. KOMPOZİSYON: 16:9; ana özne sol-üçte-bir, göz yönü sağa (boş alana) bakıyor; katmanlı derinlik (ön özne net, arka bulanık). RENK: Yüksek kontrast, 2-3 baskın renk; tamamlayıcı renk çarpışması (örn. koyu lacivert zemin + sıcak vurgu). IŞIK: Özneyi arka plandan ayıran rim ışık; hafif vinyet ile göz merkeze çekilir. DETAY: Özne kenarında temiz kesim (metin okunurluğu için), sağ alanda düşük detay. NEGATİF: Modele metin/harf yazdırma, sahte kırmızı ok, dev emoji, ‘1 numara’ rozeti, filigran, kalabalık, düşük kontrast. ORAN: 16:9 · Stil: temiz, tıklanır ama clickbait değil. ÖRNEK DEĞİŞKEN KONU: .NET’te canlı log neden şişer GÖRSEL ÇIKTI 16:9. Solda koyu lacivert sunucu/terminal detayı rim ışıkla arka plandan ayrılmış, sağ yarı boş (başlık için). Yüksek kontrast, hafif vinyet gözü sola çekiyor. KONTROL LİSTESİ + Sağda metin için temiz negatif alan + Mobilde okunur, tek odak + Modele yazı yazdırılmamış, sahte ok/rozet yok
Resim Resim örneği Akdeniz sofra üstü Üstten yemek fotoğrafı, doğal gün ışığı. ROL: Editoryal yeme-içme fotoğrafçısısın. KONU: Akdeniz kahvaltı/meze sofrası — zeytin, taze ekmek, peynir, domates, yeşillik, zeytinyağı; birkaç el dokunuşu (dağınık ama düzenli). KOMPOZİSYON: Tam tepeden (flat-lay); tabaklar ızgara değil organik yerleşim, kadraj kenarına taşan 1-2 öğe; negatif alan bırak. KAMERA: 50mm eşdeğeri tepeden, f/5.6, ISO 200; tüm sofra netlik alanında. IŞIK: Yandan gelen yumuşak pencere gün ışığı; uzun yumuşak gölgeler, tek yön; parlama yok. RENK: Doğal, hafif sıcak; yeşil-kırmızı canlı ama abartısız; zeytinyağı parıltısı gerçek. DOKU: Ekmek kabuğu gözenekli, domates ıslak, peynir taneli; ahşap masa damarı görünür. NEGATİF: Marka ambalajı/etiket, aşırı doygunluk, plastik yemek görünümü, sert flaş gölgesi, yazı, filigran. ORAN: 4:5 · Stil: doğal ışık editoryal food. GÖRSEL ÇIKTI Tepeden flat-lay: zeytin kâsesi, dilim ekmek, domates, peynir, yeşillik organik yerleşimde; kadraj kenarından ekmek taşıyor. Yandan yumuşak gün ışığı uzun tek yönlü gölge bırakıyor, zeytinyağı doğal parlıyor. KONTROL LİSTESİ + Doğal renk, plastik görünüm yok + Tek yönlü yumuşak gölge + Marka ambalajı/yazı yok
Resim Resim örneği Tarihi kütüphane Ahşap raflar ve yan pencereden ışık — iç mekân karesi. KONU: Yüksek tavanlı tarihi bir kütüphane iç mekânı; ahşap oymalı raflar tavana kadar, ortada uzun okuma masası. SAHNE: Yan yüksek pencerelerden eğik ışık huzmeleri; havada asılı toz taneleri; galerili ikinci kat, dökme demir korkuluk. KOMPOZİSYON: Bir-nokta perspektif, koridor merkeze kaçıyor; alt-üçte-birde masa; simetriye yakın ama tam simetrik değil. KAMERA: 24mm, f/8, ISO 400, tripod; dikey hatlar düzeltilmiş (mimari perspektif), uçtan uca net. IŞIK: Doğal pencere ışığı ana kaynak; sıcak-nötr; gölgeler derin ama detay okunur; hafif atmosferik ışık huzmesi (god ray) abartısız. RENK: Sıcak ahşap tonları, koyu deri cilt, altın vurgular; düşük doygunluk. DOKU: Oyma ahşap, eski deri kitap sırtı, yıpranmış parke, pirinç detay. NEGATİF: Okunabilir kitap başlığı/marka, anakronik nesne (bilgisayar), aşırı god ray, HDR, insan kalabalığı, yazı, filigran. ORAN: 3:2 · Stil: mimari iç mekân / editoryal. GÖRSEL ÇIKTI Bir-nokta perspektif koridoru merkeze kaçırıyor, iki yanda tavana ahşap raflar. Yan pencereden eğik ışık, havada toz. 24mm, dikey hatlar düz, uçtan uca net. Sıcak ahşap ve deri tonları, hafif god ray. KONTROL LİSTESİ + Mimari hatlar düzgün, perspektif temiz + God ray abartısız, atmosfer gerçekçi + Okunabilir başlık/marka/filigran yok
Resim Resim örneği Mobil uygulama mockup Telefon içinde sade UI — durağan ürün fotoğrafı. ROL: Ürün / uygulama görseli fotoğrafçısısın (App Store, pitch deck kalitesi). KONU: Çerçevesiz modern akıllı telefon; ekranda sade bir finans/onay uygulaması arayüzü lekesi (okunmayan, sadece renk-blok düzeni). KOMPOZİSYON: Telefon 3/4 açı, hafif yükselen; alt kenarda yumuşak gölge; sol tarafta negatif alan (metin için). KAMERA: 50mm, f/4, ISO 100, tripod; ekran ve gövde net, arka plan yumuşak. IŞIK: Yumuşak üstten softbox + sol dolgu; ekranda kontrollü tek yansıma, gövdede temiz highlight. ZEMİN: Açık nötr yüzey (açık gri/bej), minimalist. RENK: Marka-nötr; arayüzde 2-3 yumuşak renk bloğu; ekran parlaklığı gerçekçi. NEGATİF: Okunabilir küçük UI yazısı, gerçek marka logosu, parmak izi, çentik distorsiyonu, çift yansıma, filigran, absürt kavis. ORAN: 4:5 · Stil: temiz ürün mockup. GÖRSEL ÇIKTI Çerçevesiz telefon 3/4 açı, açık gri zeminde, altta yumuşak gölge. Ekranda okunmayan renk-blok finans arayüzü lekesi, tek kontrollü yansıma. Sol tarafta metin için negatif alan. KONTROL LİSTESİ + Ekran/gövde net, distorsiyon yok + Sol negatif alan hazır + Okunabilir UI metni, gerçek logo, parmak izi yok
Video Video örneği Reels ürün turu 9:16, 8 saniye: elde ürünü yavaşça döndür. FORMAT: Dikey 9:16, 8 saniye, 24fps, tek kesintisiz plan. KONU: Bir el {ÜRÜN} ürününü göz hizasında tutup yavaşça ~180° kendi ekseninde çeviriyor; ürünün ön ve yan yüzü sırayla görünüyor. HAREKET: Kamera sabit (tripod); tek hareket ürünün dönüşü, yumuşak ease-in/ease-out; el titremesi minimal, akışkan. LENS/ALAN: 50mm eşdeğeri, f/2.8; ürün net, arka plan sığ derinlikte çözülmüş. IŞIK: Yumuşak yan masa ışığı + karşıdan hafif dolgu; üründe kayan yumuşak highlight (dönerken malzeme parıldıyor). ARKA PLAN: Sade, nötr ton; hareketli dikkat dağıtıcı yok. SES: Sadece hafif oda ambiyansı; müzik ve konuşma yok. NEGATİF: Jump-cut, hız değişimi, ekran yazısı/altyazı, logo bindirme, morph/parmak hatası, ani zoom. ÇIKTI NOTU: Sonuna 0.5 sn nötr durma bırak (döngüye uygun). ÖRNEK DEĞİŞKEN ÜRÜN: mat cam parfüm şişesi VİDEO ÇIKTI (plan) 9:16, 8 sn. Sabit kamera; el şişeyi göz hizasında yumuşak ease ile ~180° çeviriyor, cam yüzeyde highlight kayıyor. Arka plan nötr bokeh, son 0.5 sn duruş → temiz loop. SES: Oda ambiyansı. KONTROL: + Tek plan, hız sabit + Yazı/logo yok + Morph/parmak hatası yok
Video Video örneği Gece sokak tracking Yayanın arkasından 6 saniyelik takip planı. FORMAT: Yatay 16:9, 6 saniye, 24fps, tek plan. KONU: Islak gece sokağında bir yaya (yüz görünmüyor) sabit tempoda yürüyor; kamera 2 metre arkasından takip ediyor. HAREKET: Gimbal takip (tracking / follow), sabit hız, hafif yürüyüş salınımı; kilitli mesafe, ani sarsıntı yok. LENS/ALAN: 35mm, f/2.0; özne net, arka plan sığ; neon yansımaları bokeh. IŞIK: Pratik sokak lambaları + vitrin neonları; ıslak asfaltta kayan renkli yansımalar; karışık renk sıcaklığı. ATMOSFER: Hafif yağmur sonrası buhar, ince pus; sinematik ama gerçekçi. SES: Uzak trafik ve ayak sesi ambiyansı; müzik yok. NEGATİF: Yüz görünmesi, metin/altyazı overlay, kesme/jump-cut, hız rampası, logo, morph, kayan asfalt dokusu artefaktı. ÇIKTI NOTU: Kamera-özne mesafesi tüm klipte sabit kalsın. VİDEO ÇIKTI (plan) 16:9, 6 sn. Gimbal yayanın 2 m arkasından sabit hızda takip ediyor; asfaltta kırmızı-turkuaz neon yansımaları kayıyor, ince pus var. 35mm sığ derinlik, yüz görünmüyor. SES: Uzak trafik + ayak sesi. KONTROL: + Tek plan tracking, mesafe sabit + Overlay yazı/kesme yok + Yüz/logo/morph yok
Video Video örneği Drone sahil uçuşu Kıyıdan denize doğru 10 saniyelik push-out. FORMAT: Yatay 16:9, 10 saniye, 24fps, tek plan. KONU: Akdeniz kıyı şeridi; turkuaz sığ su, açık kumsal, kıyıya vuran köpüklü dalgalar. HAREKET: Drone kıyıdan açık denize doğru düz, yavaş push-out + hafif yükselme; sabit hız, yumuşak ivme; ufuk her zaman düz. YÜKSEKLİK/AÇI: ~40m, aşağı 30° eğim; kompozisyon ilerledikçe kıyı şeridi alta kayıyor. IŞIK: Erken sabah yumuşak yönlü ışık; suda gerçek parıltı; gölgeler uzun ve doğal. RENK: Doğal turkuaz-kum paleti, hafif sinematik; aşırı doygunluk yok. DETAY: Dalga hareketi gerçek ritimde, köpük dağılımı doğal; su yüzeyi artefaktsız. SES: Dalga ve rüzgâr ambiyansı; müzik yok. NEGATİF: İnsan kalabalığı, tekne trafiği, logo, yazı, drone gölgesi/pervanesi, su morph artefaktı, ufuk eğrilmesi. VİDEO ÇIKTI (plan) 16:9, 10 sn. Drone kıyıdan denize düz push-out + hafif yükseliş; kumsal alta kayarken turkuaz su genişliyor, dalga köpüğü doğal ritimde. Sabah ışığı, ufuk düz. SES: Dalga + rüzgâr. KONTROL: + Sabit hız, yumuşak ivme + Kalabalık/tekne/logo yok + Drone gölgesi/pervane, su artefaktı yok
Video Video örneği Podcast B-roll Mikrofon ve masada 10 saniyelik yavaş kaydırma. FORMAT: Yatay 16:9, 10 saniye, 24fps, tek plan. KONU: Podcast masası detayları — kondenser mikrofon, açık defter ve kalem, buğulanan kahve fincanı, kulaklık. HAREKET: Kamera yavaş yatay kaydırma (slider dolly, soldan sağa); mikrofondan deftere, defterden fincana geçiyor; sabit hız. LENS/ALAN: 50mm, f/2.0; odak kayan objede (rack focus opsiyonel), arka plan sığ. IŞIK: Yumuşak yan gün ışığı + sıcak pratik masa lambası; kontrollü highlight, sinematik gölge. RENK: Sıcak-nötr, düşük doygunluk; ahşap masa dokusu. ATMOSFER: Kahve buharı gerçek hareketle yükseliyor. SES: Sessiz oda tonu / hafif ambiyans; konuşma ve müzik yok. NEGATİF: Yüz veya konuşan ağız, ekran yazısı, marka/logo, jump-cut, hız rampası, morph. VİDEO ÇIKTI (plan) 16:9, 10 sn. Slider soldan sağa yavaş kayıyor: mikrofon → defter → buğulu fincan; kayan objede odak, arka plan bokeh. Sıcak yan ışık, kahve buharı gerçek yükseliyor. SES: Oda tonu. KONTROL: + Tek plan, sabit hız + Yüz/konuşan ağız yok + Marka/yazı/jump-cut yok
Video Video örneği Kahve dökümü slow-mo Fincana dökülen kahve, yüksek hız hissi, 5 saniye. FORMAT: Yatay 16:9, 5 saniye, yüksek hız hissi (slow-motion ~120fps look), tek plan. KONU: Beyaz fincana yukarıdan dökülen sıcak espresso; sıvı yüzeye değince crema halkası açılıyor, buhar yükseliyor. HAREKET: Kamera kilitli (makro tripod); tek hareket sıvının akışı ve buhar; damlalar ağır çekimde asılı. LENS/ALAN: 85mm makro, f/4; fincan ağzı ve akış net, arka plan çözülmüş. IŞIK: Arkadan/yandan kontör ışık (backlight) — buhar ve akış ışıkla parlıyor; koyu zeminde speküler highlight. RENK: Sıcak kahve tonları, koyu arka plan; crema’nın altın-kahve dokusu net. DETAY: Akış çizgisi kesintisiz, sıçrama fiziği gerçek, buhar hacimli. SES: Yok veya çok hafif döküm sesi; müzik yok. NEGATİF: Marka fincan/logo, ekran yazısı, jump-cut, sıvı morph artefaktı, plastik görünüm, aşırı bloom. VİDEO ÇIKTI (plan) 16:9, 5 sn, slow-mo. Kilitli makro; espresso ağır çekimde dökülüyor, yüzeyde crema halkası açılıyor, backlight buharı parlatıyor. Damlalar asılı, akış kesintisiz. SES: Hafif döküm / sessiz. KONTROL: + Kilitli kamera, tek hareket akış + Marka fincan/logo/yazı yok + Sıvı morph/plastik görünüm yok
Video Video örneği Talking-head stüdyo Kilitli kamera, omuz kadraj, 8 saniye konuşma planı. FORMAT: Yatay 16:9, 8 saniye, 24fps, tek plan. KONU: Bir sunucu omuz kadrajda kameraya doğal konuşuyor; jest minimal, baş hareketi gerçekçi, dudak senkronu tutarlı. HAREKET: Kamera kilitli tripod; özne hafif doğal salınım dışında sabit; zoom/pan yok. LENS/ALAN: 50mm, f/2.8; yüz netlik alanında, arka plan yumuşak. IŞIK: Üç nokta ışık — yumuşak key 45°, dolgu, saç/rim ışığı; gözlerde catchlight; ten yumuşak. ARKA PLAN: Sade stüdyo (koyu nötr) veya bulanık ofis; hafif derinlik ışığı. RENK: Doğal cilt, nötr denge; sinematik ama abartısız. SES: (Görüntü için) net dudak hareketi; overlay ses yok. NEGATİF: Altyazı/metin overlay, logo, jump-cut, dudak senkron kayması, çift yüz/morph, plastik cilt, ani ifade sıçraması. VİDEO ÇIKTI (plan) 16:9, 8 sn. Kilitli tripod, omuz kadraj; üç nokta ışık, gözde catchlight. Sunucu kameraya doğal konuşuyor, dudak senkronu tutarlı, baş hareketi gerçekçi. Arka plan koyu nötr bokeh. KONTROL: + Tek plan, kamera sabit + Dudak senkronu tutarlı + Altyazı/logo/jump-cut yok + Morph/çift yüz yok
Video Video örneği Ürün 360° dönüş Turntable üzerinde tek tur, 6 saniye. FORMAT: Yatay 16:9, 6 saniye, 24fps, tek plan, döngüye uygun. KONU: {ÜRÜN} bir stüdyo turntable üzerinde tam 360° dönüyor; her yüzü sırayla görünüyor. HAREKET: Kamera sabit; ürün sabit hızda tam bir tur (başlangıç = bitiş açısı, kusursuz loop); ease yok, lineer. LENS/ALAN: 85mm, f/8; ürün uçtan uca net, distorsiyon yok. IŞIK: Softbox kubbe / yumuşak çevresel ışık; dönerken kayan kontrollü highlight; sert gölge yok. ZEMİN: Nötr açık gri gradyan; yumuşak zemin gölgesi. RENK: Gerçek ürün rengi, nötr denge; malzeme dokusu (metal/mat/deri) doğru. SES: Yok. NEGATİF: El, yazı/logo bindirme, jump-cut, hız değişimi, yansıyan ekip/stüdyo, morph, dönüşte kayma artefaktı. ÇIKTI NOTU: 360° tam tur; ilk ve son kare aynı açı (seamless loop). ÖRNEK DEĞİŞKEN ÜRÜN: çelik kasa analog kol saati VİDEO ÇIKTI (plan) 16:9, 6 sn. Sabit kamera; saat turntable’da sabit hızda tam 360°, kadran-kordon her açıdan görünüyor. Softbox kubbe ile kayan highlight, ilk-son kare aynı açı → seamless loop. KONTROL: + Tam tur, lineer hız + El/yazı/logo yok + Morph/kayma artefaktı yok
Video Video örneği Sinema kamerası push-in Film setinde kameraya doğru 7 saniyelik yaklaşma. FORMAT: Yatay 16:9, 7 saniye, 24fps, tek plan. KONU: Bir film setinde tripod üzerindeki sinema kamerası gövdesi; arka planda bulanık set ışıkları ve ekipman. HAREKET: Yavaş dolly push-in (kamera özneye doğru düz ilerliyor), hafif ease-in; sabit yükseklik; hedef kadraj lens camına yakın plan. LENS/ALAN: 35mm, f/2.0; ilerledikçe derinlik daralıyor, lens camı ve gövde detayı netleşiyor. IŞIK: Sıcak set pratik ışıkları; lens camında yumuşak highlight/yansıma; sinematik kontrast. RENK: Sıcak-nötr sinematik grade; koyu gövde, altın vurgular. ATMOSFER: Hafif set pusu / ışıkta hacim. SES: Set ambiyansı (uzak konuşma, ekipman); müzik yok. NEGATİF: Ekranda metin/marka, jump-cut, hız rampası, morph, titreme, okunabilir logo, aşırı lens flare. VİDEO ÇIKTI (plan) 16:9, 7 sn. Yavaş dolly push-in sinema kamerasına yaklaşıyor; lens camında yumuşak yansıma, gövde detayı netleşiyor. Arka planda set ışıkları bokeh, hafif pus hacim veriyor. SES: Set ambiyansı. KONTROL: + Tek plan, yumuşak ease-in + Metin/marka/logo yok + Morph/titreme/aşırı flare yok
İçerik İçerik örneği Teknik blog iskeleti Sahadan .NET yazısı: sorun, denenenler, çözüm. ROL: 15+ yıl sahada çalışmış bir kıdemli .NET mühendisinin yazı editörüsün. Ton: sakin, kanıtlı, pazarlamasız. BAĞLAM: Konu = {KONU}. Okur = Türkiye’de canlı sistem işleten geliştiriciler. Kaynak = gerçek saha deneyimi, demo değil. GÖREV: Yayına hazır bir teknik blog yazısı iskeleti üret (Türkçe). YAPI: 1) H1 başlık (net, tıklama tuzağı yok) 2) 2 cümlelik giriş: sorunu bir cümlede söyle, neden önemli olduğunu bir cümlede 3) ‘Belirti’: canlıda ne görüldü (log/metric dili) 4) ‘Kök neden’: teknik açıklama, mekanizma 5) ‘Denenen ama yetmeyen’ 3 madde + neden yetmediği 6) ‘Çalışan çözüm’: adımlar + kısa kod/config gerekçesi (uzun kod bloğu değil, karar) 7) ‘İzleme/operasyon notu’: kalıcı olması için ne izlenir, hangi alarm 8) 4 maddelik SSS (gerçek sorular) KISIT: 900-1200 sözcük hedef. ‘Devrim/oyun değiştirici’ dili yasak. Uydurma benchmark yok. Emin olmadığın yeri ‘varsayım’ diye işaretle. ÇIKTI: Sadece iskelet + madde notları; tam metin değil. ÖRNEK DEĞİŞKEN KONU: Serilog etiket cardinality’si canlıda Grafana’yı kilitledi ÇIKTI (iskelet) H1: Log seviyesini kısmak neden cardinality’yi çözmez Giriş: “Hata yok” sanırken Grafana yanıt vermedi; sorun log hacmi değil, etiket sayısıydı. Belirti: Loki sorguları timeout, unique label serisi on binlerde. Kök neden: RequestPath ham URL olarak label yazılmış → her benzersiz URL yeni seri. Denenen ama yetmeyen: (1) log seviyesini Warning’e çekmek — seri sayısı düşmedi. (2) retention kısaltmak — anlık yükü çözmedi. (3) node eklemek — cardinality’yi büyüttü. Çalışan çözüm: URL’yi route template’e indir, userId’yi hash’le, label allowlist + tavan. İzleme notu: count_over_time ile seri sayısı; tavan aşımına alarm. SSS: 4 gerçek soru. KONTROL: + Pazarlama dili yok + Varsayımlar işaretli + Uzun kod bloğu değil, karar odaklı
İçerik İçerik örneği SEO / GEO / AEO brief Title, description, H2 ve FAQ — arama + AI keşif brifi. ROL: Teknik içerik için SEO + GEO (generative engine) + AEO (answer engine) stratejistisin. BAĞLAM: Hedef sayfa = {SAYFA}. Kitle = Türkiye’deki geliştiriciler + AI crawler’ları (arama motoru ve LLM alıntısı). GÖREV: Tek sayfalık bir içerik brifi üret (yalnızca metin çıktı, görsel üretme). ÜRET: 1) Title (≤60 karakter) — birincil anahtar öne 2) Meta description (≤155 karakter) — fayda + niyet 3) Birincil + 3 ikincil anahtar kelime (arama niyeti etiketiyle: bilgi/işlem/karşılaştırma) 4) H2/H3 taslağı (mantıksal akış, her H2 için 1 satır amaç) 5) Entity/varlık listesi (LLM’in konuyu bağlaması için) 6) FAQPage için 4-6 soru (schema’ya uygun, gerçek arama soruları) 7) 3 iç link önerisi (slug + neden) 8) 1 cümlelik ‘alıntılanabilir özet’ (AI’ın çekeceği net tanım) KISIT: Anahtar kelime doldurma yasak. Her öneriye tek cümle gerekçe. Uydurma hacim/rakam yazma. ÖRNEK DEĞİŞKEN SAYFA: /blog/on-prem-rag-veri-disari-cikmadan ÇIKTI (brif) Title: On-prem RAG: veri dışarı çıkmadan kurumsal cevap (54) Description: İnternetsiz ortamda lokal LLM + RAG’i canlıya alma; chunk, API sözleşmesi ve güvenlik sınırı. (128) Anahtar: ‘on-prem rag’ (bilgi) · ikincil: ‘lokal llm kurulum’, ‘rag güvenlik’, ‘qwen on-prem’ H2: Neden veri dışarı çıkmasın · Chunk stratejisi · API sözleşmesi · İlk sprint Entity: RAG, embedding, vektör DB, Qwen, .NET, tenant izolasyonu FAQ: 5 gerçek soru (güncelleme, PII, metrik, maliyet, model seçimi) İç link: /blog/serilog-cardinality · /promptlar/kod · /about Alıntılanabilir özet: “On-prem RAG, belgeleri şirket ağından çıkarmadan lokal bir LLM’e bağlamaktır.” KONTROL: + Karakter limitleri tutuyor + Her öneride gerekçe + Uydurma hacim yok
İçerik İçerik örneği Makaleden saha özeti Uzun yazıyı 8 maddede, spekülasyonsuz sıkıştır. ROL: Teknik bir editör olarak uzun metni bozmadan sıkıştırıyorsun. GÖREV: Aşağıdaki yazıyı özetle. KATI KURALLAR: - Metinde OLMAYAN hiçbir iddia ekleme; sayı/oran uydurma - ‘Devrim, oyun değiştirici, inanılmaz’ gibi abartı dili yasak - Kaynak çelişkiliyse ‘metin net değil’ diye belirt, taraf tutma ÇIKTI BİÇİMİ: 1) Tek cümlelik TL;DR 2) 8 madde ana bulgu (her biri tek cümle, en önemli önce) 3) ‘Kime yarar’ 1 cümle 4) 3 cümlelik kapanış (yazının vardığı sonuç, senin yorumun değil) DİL: Türkçe, sade. METİN: {YAZI} ÖRNEK DEĞİŞKEN YAZI: canlı ödeme timeout incelemesi (uzun teknik metin) ÇIKTI TL;DR: Sorun ağ değil, idempotency anahtarı olmadan yapılan retry’di. 1. Timeout, banka değil bizim retry penceresinde birikti. 2. İlk belirti 3DS dönüşünün çift gelmesiydi. 3. Idempotency anahtarı yoktu; ikinci deneme yeni kayıt açtı. 4. Log’da correlation id yoktu, iz sürmek zorlaştı. 5. “Tekrar dene” butonu aynı isteği yeniden yolladı. 6. Çözüm: aynı anahtarla ikinci çağrı no-op yapıldı. 7. Alarm hata sayısına değil tekrarlayan anahtara bağlandı. 8. Kart/banka sırrı log’a hiç yazılmadı. Kime yarar: Canlı ödeme akışı işleten backend ekipleri. Kapanış: Retry’yi anahtarsız bırakmak canlıda çift tahsil riski üretir. Correlation id olmadan izleme kör kalır. Metin, çözümü idempotency + alarm olarak konumlandırıyor. KONTROL: + Yeni iddia yok + Abartı dili yok
İçerik İçerik örneği YouTube konuşma senaryosu 8-12 dk teknik video için kanca, bölüm ve konuşma metni. ROL: Teknik YouTube kanalı için senaryo yazarısın (yalnızca metin; video üretme). BAĞLAM: Konu = {KONU}. Kitle = orta-ileri geliştirici. Süre = 8-12 dk. Ton = sakin, kanıtlı, arkadaşça. GÖREV: Konuşma senaryosu yaz. YAPI: 1) Kanca (0-8 sn): merak/gerilim, clickbait değil; tek cümle vaat 2) Konu vaadi (15 sn): izleyici ne öğrenecek, neden şimdi 3) 3 bölüm — her bölüm: başlık + konuşma metni (doğal, ‘slayt dili’ değil) + ekranda ne gösterilecek notu 4) Bir ‘yanlış anlaşılma’ bölümü: yaygın hatayı çürüt 5) Özet + tek net çıkarım 6) CTA (yorum sorusu + sonraki video kancası) EK: Bölüm bazında ‘B-roll / ekran görüntüsü’ notu (5 adet). KISIT: Abartı ve sahte aciliyet yok. Teknik iddiaları ‘nasıl doğrularsın’ ile destekle. ÖRNEK DEĞİŞKEN KONU: Canlıda retry neden çift tahsil eder ÇIKTI (özet senaryo) Kanca: “Timeout aldık diye ödemeyi bir daha yolladık — banka ikisini de aldı.” Vaat: 10 dakikada retry’yi idempotency ile güvene alacağız. Bölüm 1 – Belirti: aynı sipariş iki kayıt (ekran: sipariş tablosu). Bölüm 2 – Kök neden: anahtar yok, retry yeni kayıt (ekran: zaman çizelgesi). Bölüm 3 – Çözüm: unique key + no-op (ekran: kod diff + alarm). Yanlış anlaşılma: “Timeout’u büyütmek çözer” — hayır, çift yazımı çözmez. Çıkarım: Retry güvenliği hızda değil, idempotency’de. CTA: “Sizin retry hikâyeniz ne? Sonraki video: log cardinality.” B-roll: sipariş tablosu · retry timeline · anahtar kolonu · Loki filtresi · alarm kuralı KONTROL: + Clickbait yok + İddialar doğrulanabilir + Ekran notları var
İçerik İçerik örneği LinkedIn gönderisi Tek deneyim, tek ders — motivasyon nutku değil. ROL: Teknik bir profesyonelin LinkedIn sesini yazıyorsun; ton dürüst, deneyimden, satış değil. BAĞLAM: Konu = {KONU}. Kitle = geliştiriciler + teknik yöneticiler. GÖREV: Tek gönderi yaz (Türkçe). YAPI: - 1. satır: kanca (durum/çelişki, tek cümle, emoji yok) - 2-4. satır: bağlam — ne oldu, sahadan somut 1 örnek - Orta: dönüm noktası / fark edilen şey - Kapanış: tek net çıkarım (genelleme değil, uygulanabilir) - Son satır: tek açık uçlu soru BİÇİM: 120-180 sözcük; kısa paragraflar; en fazla 2 hashtag. YASAK: Emoji yağmuru, 10 hashtag, ‘şunu öğrendim 🧵’, sahte alçakgönüllülük, motivasyon klişesi. ÖRNEK DEĞİŞKEN KONU: Canlıda log etiketi cardinality patlaması ÇIKTI Canlıda “hata yok” sandık; Grafana cevap vermiyordu. Yeni bir feature değildi. Serilog’a request path’i ham URL olarak etiket yazmışız. Her farklı URL yeni bir seri açtı, Loki şişti, sorgular timeout’a düştü. İlk refleksimiz log seviyesini kısmaktı — işe yaramadı. Çünkü sorun hacim değil, benzersiz etiket sayısıydı. Çözüm: URL’yi route template’e indirdik, kullanıcıyı hash’ledik, etikete tavan koyduk. Çıkarım: “Log’u kısmak” ile “cardinality’yi kısmak” aynı iş değil. Sizde etiket tavanı var mı, yoksa önce seviyeyi mi kısıyorsunuz? #dotnet #observability KONTROL: + 150 sözcük + 2 hashtag + Klişe/emoji yağmuru yok
İçerik İçerik örneği Soğuk satış e-postası Kısa, kişisel, tek CTA — şablon kokmaz. ROL: B2B soğuk e-posta yazarısın; kişisel, kısa, saygılı — spam değil. BAĞLAM: Alıcı = {UNVAN} / {ŞİRKET}. Teklif = {TEKLİF}. Tetikleyici = alıcının işine dair somut bir gözlem. GÖREV: Tek soğuk e-posta yaz (Türkçe, senli-saygılı). YAPI: - Konu satırı: ≤6 kelime, merak/uygunluk; ‘hızlı soru’ klişesi yok - 1. satır: alıcıya özel gözlem (jenerik övgü değil) - 2-3. satır: değeri tek cümlede — problem → sonuç - Sosyal kanıt: 1 kısa, abartısız cümle (opsiyonel) - Tek CTA: düşük sürtünme (‘20 dk’ / ‘bakayım mı?’) BİÇİM: ≤90 sözcük; tek paragraf + tek soru; ek yok. YASAK: Özellik listesi, ‘lider/1 numara’, çoklu CTA, ‘umarım iyisinizdir’. ÖRNEK DEĞİŞKEN UNVAN: CTO · ŞİRKET: bir B2B ödeme ekibi · TEKLİF: canlı ödeme/timeout incelemesi ÇIKTI Konu: 3DS dönüşünde çift kayıt Merhaba, Checkout akışınızda 3DS dönüşü bazen iki kez düşüyor gibi görünüyor; bu genelde idempotency anahtarı olmadığında çift kayıt üretir — bizde de öyle olmuştu. İstersen canlı bir timeout kaydına 20 dakikada bakıp anahtarın nerede koptuğunu söyleyebilirim. Bu hafta yarım saatin var mı? Ürfet KONTROL: + 78 sözcük, tek CTA + Alıcıya özel gözlem + Özellik listesi/klişe yok
İçerik İçerik örneği Müşteri destek yanıtı Kızgın ticket’a sakin, net, adımlı dönüş. ROL: Deneyimli bir müşteri destek uzmanısın; sakin, sahiplenen, savunmacı değil. BAĞLAM: Şikâyet = {ŞİKAYET}. Ürün = {ÜRÜN}. Müşteri sinirli ve haklı olabilir. GÖREV: Tek destek yanıtı yaz (Türkçe). YAPI: - Açılış: 1 cümle gerçek empati (klişe ‘yaşadığınız mağduriyet’ değil) - Sahiplenme: sorunu tekrar ederek anladığını göster - 3 numaralı net adım: müşteriden ne lazım / sen ne yapacaksın - Zaman taahhüdü: ne zaman döneceğin (somut) - Kapanış: referans no + tek iletişim kanalı KISIT: Suçlama, yasal tehdit, ‘politikamız gereği’ duvarı, kopyala-yapıştır kurumsal dil yok. Hassas veri (kart no vb.) isteme. ÖRNEK DEĞİŞKEN ÜRÜN: B2B ödeme paneli · ŞİKAYET: aynı fatura iki kez çekildi, gece bildirim geldi ÇIKTI Merhaba, Aynı faturanın iki kez görünmesi ve bunu gece fark etmeniz gerçekten can sıkıcı; kaydınızı hemen açtım. Anladığım kadarıyla tek işlem için iki tahsilat düşmüş. Çözmek için: 1. Sipariş numaranızı ve işlemin saatini (ör. 14:20, TR saati) yazar mısınız? 2. Banka dekontundaki referansı ekleyin — kart numarası göndermeyin. 3. Ben idempotency kaydına bakıp çift tahsilatı ayıracağım. Bugün 17:00’a kadar sonucu ileteceğim. Referans: DST-1842, bu mail üzerinden devam edelim. KONTROL: + Empati + sahiplenme + 3 adım + saat taahhüdü + Hassas veri istenmedi, klişe yok
İçerik İçerik örneği İş ilanı metni Net yetkinlik, gerçek sorumluluk, ninja dili yok. ROL: Teknik işe alım için ilan yazarısın; dürüst, net, abartısız. BAĞLAM: Pozisyon = {POZİSYON}. Şirket = {ŞİRKET}. Çalışma = uzaktan/hibrit (belirt). GÖREV: Türkçe iş ilanı yaz. YAPI: 1) 3 cümle: iş gerçekte ne (bir günün nasıl geçer) 2) ‘Sorumluluklar’ 6 madde — gerçek işler, fiil ile başla 3) ‘Aranan’ 6 madde — olmazsa olmaz; ‘nice-to-have’ ayrı 2 madde 4) ‘Sunduğumuz’ 3-4 somut madde (uzaktan/gün, ekipman, öğrenme) 5) Süreç: adım adım (kaç görüşme, ödev var mı, süre) KISIT: ‘Dinamik ekip, ninja, rockstar, ailemiz’ yasak. Maaş aralığı yoksa ‘görüşmede netleşir’ de, ama sürecte şeffaf ol. Gerçekçi beklenti yaz. ÖRNEK DEĞİŞKEN POZİSYON: .NET Backend Mühendisi · ŞİRKET: B2B ödeme ürünü ÇIKTI (özet) İş: Canlı ödeme API’sini büyütüyorsun; yeni POS sağlayıcı eklemek bir sınıf kadar kalıyor. Haftada bir on-call nöbeti var. İşin çoğu güvenli entegrasyon ve izleme. Sorumluluklar: Strategy ile sağlayıcı eklemek · timeout/retry/idempotency kurmak · Serilog+Loki izleme · PR’da risk & rollback yazmak · on-call · incident notu. Aranan: C#/.NET 8+ · HTTP API · SQL · log okuma · yazılı anlatım · hibrit İstanbul (salı-perşembe ofis). Nice-to-have: RAG deneyimi, Grafana. Sunduğumuz: Hibrit + ekipman + haftalık öğrenme saati. Süreç: Kısa çağrı → ödeme iskeleti ödevi → teknik sohbet → teklif (~2 hafta). KONTROL: + Fiil ile sorumluluk + ‘ninja/ailemiz’ yok + Süreç şeffaf
İçerik İçerik örneği Landing page metni Hero, 3 fayda, itiraz, CTA — SaaS / hizmet. ROL: Dönüşüm odaklı ama dürüst bir landing page metin yazarısın (görsel üretme, sadece metin). BAĞLAM: Ürün = {ÜRÜN}. Kitle = {KİTLE}. Birincil eylem = {CTA_EYLEMİ}. GÖREV: Tek sayfa satış metni yaz (Türkçe). YAPI: 1) H1: sonuç vaadi (özellik değil), ≤10 kelime 2) Alt başlık: kime + nasıl, 1 cümle 3) 3 fayda bloğu: her biri ‘sorun → mekanizma → sonuç’ (özellik listesi değil) 4) Sosyal kanıt yeri: ne tür kanıt konur (abartma) 5) 1 ana itiraz + dürüst cevap 6) Fiyat çerçevesi (değer bağlamı; rakam uydurma, ‘nasıl fiyatlanır’) 7) Kapanış CTA: tek, net, düşük risk KISIT: ‘1 numara, devrim, sihir’ yasak. Her iddia savunulabilir olsun. Jargon minimum. ÖRNEK DEĞİŞKEN ÜRÜN: canlı ödeme izleme · KİTLE: B2B ödeme ekibi/CTO · CTA: log gönder, inceleyelim ÇIKTI (özet) H1: Timeout’u görmeden çift tahsil etme. Alt: 3DS dönüşü, retry ve alarmı tek yerde toplayan izleme — demo değil, canlı kayıt. Fayda 1: Çift kayıt → anahtarsız retry → aynı anahtarla ikinci çağrı no-op. Fayda 2: Kör log → correlation yok → id ile 3 dakikada iz. Fayda 3: Gece sürprizi → hata sayısına alarm → tekrarlayan anahtara alarm. Sosyal kanıt: gerçek incident sayısı / süre kısalması (abartısız). İtiraz: “Grafana’mız var.” — Panel var; anahtar yoksa çift yazımı görmezsin. Fiyat: kurulum + ilk ay izleme, sonra aylık; hacme göre. CTA: Canlı bir timeout kaydı gönderin, 20 dakikada nerede koptuğunu söyleyelim. KONTROL: + Fayda = sorun→mekanizma→sonuç + ‘1 numara’ yok + İddialar savunulabilir
İçerik İçerik örneği A vs B karşılaştırma yazısı Tablo + kime göre hangisi — reklam değil, karar. ROL: Tarafsız teknik karşılaştırma yazarısın; affiliate değil, karar aracı. BAĞLAM: A = {A}, B = {B}. Kitle = {KİTLE}. Amaç = okurun doğru seçimi yapması. GÖREV: Türkçe karşılaştırma yazısı (~900 sözcük) iskeleti + dolu tablo üret. YAPI: 1) 2 cümle: ikisi de ne, temel fark 2) ‘Kim için’ bölümü: 2 profil 3) Karşılaştırma tablosu: fiyat modeli / performans / limit / öğrenme eğrisi / işletim yükü (her hücre kısa, nötr) 4) 3 gerçek senaryo → her senaryoda hangisi ve neden 5) ‘Karar kuralı’: tek paragraf, eğer-şu-ise-bunu 6) Tuzaklar: her iki tarafta 1 yaygın hata KISIT: Kazanan ilan etme; bağlama bağla. Uydurma benchmark/rakam yasak — ‘kendi yükünle test et’ de. ÖRNEK DEĞİŞKEN A: Serilog + Loki · B: Application Insights · KİTLE: kendi sunucusunu yöneten .NET ekibi ÇIKTI (özet) İkisi de log/observability; fark: Loki self-host + cardinality kontrolü sende, App Insights yönetilen + Azure’a bağlı. Kim için: veri evde kalmalı → Loki; Azure’dayım, az operasyon istiyorum → App Insights. Tablo: Fiyat (altyapı vs kullanım) · Performans (ikisi de yeter) · Limit (Loki’de tavanı sen koyarsın) · Öğrenme (LogQL vs KQL) · İşletim (Loki daha çok bakım). Senaryo: (1) on-prem, veri çıkamaz → Loki. (2) küçük ekip, Azure var → App Insights. (3) yüksek cardinality → hangisi olursa tavan şart. Karar kuralı: Veri sınırı varsa Loki; operasyonu dışarı verecekssen App Insights. Tuzak: Loki’de etiket patlaması · App Insights’ta kota sürprizi. KONTROL: + Kazanan ilan edilmedi + Uydurma benchmark yok + Karar bağlama bağlı
Kod Kod örneği .NET 9 ödeme API iskeleti Strategy Pattern ile banka eklenebilir ödeme API taslağı. ROL: Kıdemli bir .NET mimarısın. BAĞLAM: .NET 9, stateless bir ödeme API’si. Yeni POS/banka sağlayıcısı eklemek ‘bir sınıf yaz + DI’ye ekle’ kadar kolay olmalı. MİMARİ: Clean Architecture katmanları (Domain / Application / Infrastructure / Api) + Strategy Pattern (IPaymentGateway). İSTE: 1) IPaymentGateway arayüzü (ChargeAsync, RefundAsync; CancellationToken) 2) Sağlayıcı seçimi için resolver (isim/enum → gateway), if/switch yığını YOK 3) ChargeRequest/ChargeResult DTO’ları (idempotencyKey dahil) 4) Idempotency stratejisi (aynı anahtar → aynı sonuç, çift tahsil yok) 5) Uzantı noktaları: JWT auth middleware, IP allowlist filter, IAuditStore 6) Minimal API endpoint örneği + DI kaydı KISIT: Gerçek banka sırrı/endpoint/kart numarası YOK; sağlayıcı adı ‘DemoBank’. Exploit/güvenlik bypass yazma. Her kritik kararın yanına 1 satır yorum. ÇIKTI: Derlenebilir iskelet kod + kısa README maddeleri (kurulum, yeni sağlayıcı ekleme adımı). ÇIKTI (kısaltılmış iskelet) public interface IPaymentGateway { string Name { get; } Task<ChargeResult> ChargeAsync(ChargeRequest req, CancellationToken ct); } public sealed record ChargeRequest(string IdempotencyKey, decimal Amount, string Currency); public sealed record ChargeResult(string Status, string ProviderRef); // Yeni sağlayıcı = yeni sınıf. Resolver dictionary’den seçer, switch yok. public sealed class GatewayResolver { private readonly Dictionary<string, IPaymentGateway> _map; public GatewayResolver(IEnumerable<IPaymentGateway> gws) => _map = gws.ToDictionary(g => g.Name); public IPaymentGateway Get(string name) => _map[name]; } // Idempotency: aynı anahtar ikinci kez → kayıtlı sonuç döner (no-op). Uzantı: JWT middleware · IP allowlist filter · IAuditStore. YENİ SAĞLAYICI: sınıf yaz → IPaymentGateway uygula → DI’ye ekle. Kayıt değişmez. YOK: kart no, banka sırrı, exploit. KONTROL: + Strategy + resolver, switch yığını yok + Idempotency var + Gerçek sır/kart yok
Kod Kod örneği On-prem RAG entegrasyon planı Qwen benzeri lokal model + API üzerinden kurumsal RAG. ROL: Kurumsal AI platform mühendisisin. BAĞLAM: İnternetsiz / veri dışarı çıkmayan bir ortamda lokal LLM (Qwen sınıfı) + RAG kurulacak. Dil: C# + Python karışık kabul. GÖREV: Canlıya alınabilir bir entegrasyon planı üret (demo değil). İSTE: 1) Bileşen mimarisi: inference (Qwen), embedding servisi, vektör DB, .NET API (yetki+sorgu), ingest worker (belge→chunk) — her biri neden orada 2) API sözleşmesi: POST /ask ve POST /ingest istek/yanıt şeması (JSON), hata kodları 3) Chunk stratejisi: boyut, örtüşme, başlık koruma, tablo/başlık ayrımı; neden bu değerler 4) Güvenlik sınırları: tenant izolasyonu, çıkış (egress) engeli, PII log yasağı, kaynak-yoksa-cevap-yok kuralı 5) İlk sprint iş kırılımı: 1-2 haftalık gerçekçi görevler (INVEST), ‘bitti’ tanımı 6) Riskler + ölçüm: hangi metrikle doğrularsın (retrieval isabet, cevap kaynaklılığı) KISIT: Model ağırlığı/telif isteme; güvenlik bypass yazma. Varsayımları açıkça işaretle. ÇIKTI (özet plan) Bileşen - Qwen (lokal inference, GPU node) - Embedding servisi (aynı ağ, dışarı çıkış yok) - Vektör DB (tenant kolonlu) - .NET API (auth + sorgu orkestrasyonu) - Ingest worker (PDF/DOCX → chunk → embedding) API POST /ingest { tenantId, docId, bytes } → { chunks, status } POST /ask { tenantId, query, topK } → { answer, sources[], usedChunks } Hata: 401 tenant, 422 boş sorgu, 424 kaynak yok. Chunk 800-1200 karakter, 150 örtüşme, başlık chunk’a taşınır, tablo ayrı. (Varsayım: teknik doküman ağırlıklı.) Güvenlik Egress firewall · tenant izolasyonu · PII log’da yasak · kaynaksız cevap üretme. Sprint 1 Ingest hattı + /ask + kaynak listesi. Bitti = 20 belgede kaynaklı cevap. UI cilası yok. Ölçüm: retrieval isabet@5, cevap-kaynak eşleşme oranı. KONTROL: + Canlı plan, demo değil + Güvenlik sınırları net + Varsayımlar işaretli
Kod Kod örneği Serilog + Loki log incelemesi Gürültülü logu operasyonel hale getirir. ROL: Observability mühendisisin (Serilog + Grafana Loki). GÖREV: Verilen Serilog yapılandırmasını ve örnek log satırlarını incele. HEDEF: (1) PII sızmasın, (2) label cardinality patlamasın, (3) Loki’de sorgulanabilir olsun. ÇIKTI: 1) Bulgular: önem sırasıyla (Yüksek/Orta/Düşük), her biri dosya/satır tahmini + neden 2) Düzeltilmiş yapılandırma: label allowlist, dinamik değeri (URL/id) label’dan structured field’a taşı, enrich (service/env) 3) Cardinality kuralı: hangi alan asla label olmaz (userId, path, guid) 4) 5 örnek LogQL: hata arama, oran, cardinality izleme, status filtresi, idempotency izi 5) 1 alarm önerisi (seri sayısı tavanı) KISIT: PII maskeleme örneğinde gerçek veri üretme. Kod: {KOD} ÖRNEK DEĞİŞKEN KOD: RequestPath ve Email label olarak yazılıyor ÇIKTI Bulgular - Yüksek: RequestPath ham URL label → her URL yeni seri (cardinality patlaması) - Yüksek: Email label → PII sızıntısı - Orta: MessageTemplate yok → Loki’de gruplanamıyor Düzeltme (özet) RequestPath → route template (‘/orders/{id}’). Email → SHA256 hash. UserId structured field, label değil. Enrich: service, env. Label allowlist: {service, env, level}. Cardinality kuralı: path, userId, guid, email ASLA label olmaz. LogQL 1) {service="payments"} |= "timeout" 2) sum by (level) (rate({service="payments"}[5m])) 3) count_over_time({service="payments"}[5m]) 4) {service="payments"} | json | status="500" 5) {service="payments"} |~ "idempotency" Alarm: benzersiz seri > tavan → uyar. KONTROL: + PII maskelendi + Cardinality kuralı net + Gerçek veri üretilmedi
Kod Kod örneği SQL sorgu iyileştirme Yavaş SELECT’i indeks ve plan notuyla düzelt. ROL: Veritabanı performans uzmanısın (SQL Server / PostgreSQL). GÖREV: Verilen yavaş sorguyu iyileştir. ÇIKTI: 1) Neden yavaş: sargability, fonksiyonla sarılmış kolon, SELECT *, eksik indeks, implicit conversion — hangisi ve neden 2) Yeniden yazılmış sorgu: sargable WHERE, gerekli kolonlar, gerekiyorsa CTE/pencere fonksiyonu 3) Önerilen indeks(ler): tam tanım (INCLUDE dahil) + hangi predicate’i karşılıyor 4) Beklenen plan değişimi: scan → seek gibi, tahmini etki 5) Riskler: yazma maliyeti, indeks bakımı, aralık hatası KISIT: DROP, TRUNCATE veya production’da veri silme önerme. Gerçek veriyle test uydurma; ‘kendi datanla ölç’ de. Sorgu: {SQL} ÖRNEK DEĞİŞKEN SQL: WHERE YEAR(CreatedAt) = 2026 ile filtreleyen SELECT * (Orders) ÇIKTI Neden yavaş - YEAR(CreatedAt) kolonu sarıyor → indeks kullanılamıyor (non-sargable), tam tarama. - SELECT * gereksiz kolon + olası key lookup. Yeniden yazım SELECT OrderId, Status, TenantId, CreatedAt FROM Orders WHERE CreatedAt >= '2026-01-01' AND CreatedAt < '2027-01-01'; İndeks CREATE INDEX IX_Orders_CreatedAt ON Orders(CreatedAt) INCLUDE (Status, TenantId); Plan: table scan → index seek + covering (lookup yok). Risk: yazma yükü hafif artar; tarih aralığı yanlışsa boş küme. DROP yok. KONTROL: + Sargable WHERE + Covering index + Prod silme önerisi yok
Kod Kod örneği Unit test üret Mutlu yol + kenar durumlar + hata yolu, gerçek iddia. ROL: Test yazımında titiz bir mühendissin. BAĞLAM: Dil/çatı = {DİL} (xUnit/NUnit veya eşdeğeri). Test edilecek = {KOD}. GÖREV: Anlamlı birim testleri yaz. KAPSAM: - 1 mutlu yol - 3 kenar durum (sınır değer, boş/null, çakışma) - 1 hata yolu (beklenen exception + mesaj/koşul) KURALLAR: - Test adı davranışı anlatır: Method_State_Expected - Arrange/Act/Assert net; her testte tek mantıksal iddia - Mock’u abartma: sadece dış bağımlılık (IO/ağ/gateway) mock’lanır, saf mantık değil - Deterministik: zaman/rastgelelik enjekte edilir ÇIKTI: Derlenebilir test sınıfı + her testin 1 satır ‘neyi kanıtlıyor’ yorumu. ÖRNEK DEĞİŞKEN DİL: C#/xUnit · KOD: PaymentService.ChargeAsync (idempotency’li) ÇIKTI (test adları + iskelet) Charge_NewKey_WritesOnce // ilk çağrı tek kayıt yazar Charge_SameKey_SecondCallIsNoOp // aynı anahtar ikinci kez yazmaz Charge_EmptyKey_ThrowsValidation // boş anahtar 400 Charge_ZeroAmount_ThrowsValidation // sınır: 0 tutar reddedilir Charge_UnknownGateway_ThrowsNotFound// resolver bilinmeyen sağlayıcı Charge_GatewayTimeout_NoSecondWrite // hata yolu: timeout çift yazmaz [Fact] public async Task Charge_SameKey_SecondCallIsNoOp() { // Arrange: gateway mock, aynı IdempotencyKey ile iki çağrı // Act: ikinci ChargeAsync // Assert: store.WriteCount == 1 } KONTROL: + Ad davranışı anlatıyor + Sadece gateway mock’landı + Zaman/rastgelelik enjekte
Kod Kod örneği Dockerfile sadeleştir Çok katman, root, sır — inceleme + düzeltilmiş dosya. ROL: Container güvenliği ve imaj optimizasyonu uzmanısın. GÖREV: Verilen Dockerfile’ı incele ve düzelt. İNCELE: - Root kullanıcı, gereksiz katman, cache kırılması (COPY sırası) - Sır (secret) imaja gömme, ARG ile sızıntı - Imaj boyutu (multi-stage, .dockerignore, base seçimi) - Reproducibility (pinlenmiş sürüm) ÇIKTI: 1) Bulgular: önem sırası + neden 2) Düzeltilmiş Dockerfile (multi-stage, non-root USER, restore→build sırası, runtime base) 3) .dockerignore önerisi 4) 5 satır gerekçe (her düzeltme neden) KISIT: Exploit, container escape veya güvenlik bypass tekniği YAZMA. Sır yönetimini runtime/secret store’a bırak. Dosya: {DOCKERFILE} ÖRNEK DEĞİŞKEN DOCKERFILE: tek stage, root, COPY . ., ARG içinde bağlantı cümlesi ÇIKTI Bulgular - Yüksek: root çalışıyor (USER yok) - Yüksek: secret ARG’da → imaj katmanında kalır - Orta: COPY . . restore’dan önce → cache her build kırılıyor - Orta: tek stage → SDK imajı şişkin Düzeltme (özet) FROM sdk AS build → csproj kopyala → restore → kaynak → publish FROM aspnet AS runtime → COPY --from=build → USER app Secret: runtime env / secret store, imaja gömme. .dockerignore: bin/, obj/, .git/, *.user Gerekçe: cache ısınır, imaj küçülür, süreç root değil, sır katmanda kalmaz, sürümler pinli. KONTROL: + Multi-stage + non-root + Secret imajdan çıktı + Exploit/bypass yok
Kod Kod örneği Pull request açıklaması Ne değişti, neden, nasıl test edildi. ROL: Temiz PR yazan bir mühendissin; inceleyicinin işini kolaylaştırıyorsun. BAĞLAM: Diff özeti = {ÖZET}. (Varsa ilgili issue = {ISSUE}.) GÖREV: Pull request açıklaması yaz (Türkçe). ŞABLON: 1) Amaç: hangi problem, neden şimdi (1-2 cümle) 2) Yaklaşım: nasıl çözüldü, alternatifler neden elenmedi/elendi 3) Değişiklikler: madde madde (dosya/alan bazında, kısa) 4) Test: nasıl doğrulandı (birim/manuel adım), kanıt 5) Risk & etki: geriye dönük uyum, migration, feature flag 6) Rollback: nasıl geri alınır KISIT: ≤200 sözcük gövde. ‘Refaktör yaptım / düzelttim’ gibi içi boş cümle yasak; somut ol. Ekran görüntüsü gereken yeri ‘[ekran]’ ile işaretle. ÖRNEK DEĞİŞKEN ÖZET: ChargeAsync’e idempotency anahtarı + unique index eklendi ÇIKTI Amaç: Timeout sonrası retry aynı ödemeyi iki kez yazıyordu; çift tahsili önlemek için. Yaklaşım: IdempotencyKey unique index; ikinci çağrı kayıtlı sonucu döner (no-op). Alternatif olarak dağıtık kilit düşünüldü, tek DB’de gereksiz karmaşık olduğu için elendi. Değişiklikler: ChargeRequest’e key alanı · PaymentService no-op dalı · migration (unique index) · alarm kuralı. Test: yeni anahtar yazar, aynı anahtar no-op, boş anahtar 400 (xUnit). Manuel: iki hızlı istek → tek kayıt [ekran]. Risk: eski istemci anahtar göndermezse eski davranış; flag ile korunuyor. Rollback: flag kapat; index kalabilir. KONTROL: + Somut, ‘refaktör yaptım’ yok + Test kanıtı var + Rollback net
Kod Kod örneği Regex üret ve açıkla Eşleşen / eşleşmeyen örneklerle, ReDoS güvenli. ROL: Regex ve girdi doğrulama uzmanısın (.NET motoru). BAĞLAM: İhtiyaç = {İHTİYAÇ}. Kullanım yeri = {NEREDE} (ör. form doğrulama). GÖREV: Güvenli, dar kapsamlı bir regex üret. ÇIKTI: 1) Regex (tek satır, .NET uyumlu) + anchored (^...$) 2) 5 eşleşen örnek 3) 5 eşleşmeyen örnek (yakın-ama-yanlış olanları seç) 4) Satır satır açıklama (her grup ne yapar) 5) ReDoS notu: iç içe niceleyici / katastrofik backtracking var mı, nasıl kaçınıldı 6) Alternatif: regex yerine daha iyi bir yol varsa (ör. int.TryParse) söyle KISIT: Zararlı payload, bypass veya güvenlik açığı üretme. Aşırı geniş ‘.*’ deseninden kaçın. ÖRNEK DEĞİŞKEN İHTİYAÇ: TR sipariş no — ‘ORD-’ + 8 rakam · NEREDE: form doğrulama ÇIKTI Regex: ^ORD-[0-9]{8}$ Eşleşen: ORD-00000001 · ORD-20260914 · ORD-10000000 · ORD-99999999 · ORD-00420042 Eşleşmeyen: ord-00000001 (küçük harf) · ORD-123 (kısa) · ORD-123456789 (uzun) · ORD_00000001 (alt çizgi) · ORD-12AB5678 (harf) Açıklama: ^…$ tam satır · ‘ORD-’ sabit önek · [0-9]{8} tam 8 rakam. ReDoS: iç içe niceleyici yok, sabit uzunluk → katastrofik backtracking riski yok. Alternatif: önek kontrolü + Substring + int.TryParse da yeterli, regex şart değil. KONTROL: + Anchored, dar kapsam + ReDoS güvenli + Zararlı payload yok
Kod Kod örneği Güvenli kod incelemesi Bulgu + düzeltme; saldırı tarifi yok. ROL: Güvenli kod incelemecisisin (defansif bakış). GÖREV: Verilen kodu güvenlik + bakım açısından incele. BAK: - Injection (SQL/komut), girdi doğrulama - Hassas veri: log/exception’da PII/kart/secret sızıntısı - AuthN/AuthZ boşluğu, IDOR - Hata yönetimi: ham exception’ın kullanıcıya dönmesi - Bakım: bağımlılık, ölü kod, sıkı bağ ÇIKTI: 1) Bulgular önem sırasıyla (Kritik/Yüksek/Orta/Düşük) + dosya/satır tahmini 2) Her bulgu için güvenli ALTERNATİF (düzeltme yönü, tek örnek satır) 3) 1 hızlı kazanç önerisi KISIT: Exploit PoC, payload, saldırı adımı veya bypass YAZMA — sadece savunma tarafı. Kod: {KOD} ÖRNEK DEĞİŞKEN KOD: log’a ham request body + string birleştirmeli SQL + ham exception dönüşü ÇIKTI Bulgular - Kritik: string birleştirmeli SQL → injection riski (repo katmanı) - Yüksek: ham request body log’da → PII/kart sızıntısı - Orta: exception mesajı olduğu gibi client’a dönüyor → bilgi ifşası - Düşük: doğrulama controller’a dağılmış → bakım zorluğu Alternatif - Parametreli sorgu / ORM parametresi (birleştirme yok) - Log’a sadece orderId + status; body maskeli - Client’a genel hata, detay sunucu log’unda (correlation id) Hızlı kazanç: global exception handler + input validation attribute. KONTROL: + Önem sıralı bulgular + Savunma yönü verildi + Exploit/payload/bypass yok