Notlar

Blog

Frontend mühendisliği, SEO, yapay zeka, analitik ve gerçek ürünler geliştirme üzerine notlar.

37 yazı

17 Ağustos 20269 dk okuma

DeepSeek fiyatları artırdı — aynı V4 Flash'ı eski tarifeden bile ucuza buldum

17 Ağustos sabahı DeepSeek API harcamamın normalin yaklaşık beş katına çıktığını gördüm. Ardından aynı DeepSeek-V4-Flash-0731 checkpoint'ini sunan başka bir sağlayıcı bulup test ettim; güncel fiyatı DeepSeek'in eski tarifesinden bile yaklaşık %45 daha düşük.

DeepSeekRunwareLLM APIAI altyapısıOpen-weight modeller
13 Ağustos 202611 dk okuma

Animasyonlu WebP, GIF ve APNG’yi kareleri veya zamanlamayı bozmadan H.264 MP4’e nasıl dönüştürüyorum

Üretim işlem hattım kullanıcının gerçekten gördüğü tam kareleri yeniden kuruyor, kaynak zamanlamasını koruyor, her nihai MP4 için tek bir CFR seçiyor, büyütmeden en küçük ortak tuvali hesaplıyor, uyumlu H.264 bölümleri kodluyor, ikinci bir kayıplı kodlama yapmadan birleştiriyor ve hem dosyayı hem HTTP üzerinden sunumunu doğruluyor. Ölçülmüş bir çalıştırmada toplam 1,49 GB olan 217 animasyonlu WebP tek bir 78,49 MB H.264 MP4’e dönüştü.

H.264FFmpegMP4Animasyonlu WebPGIFAPNGVideo sıkıştırmaMedya işleme
13 Ağustos 202614 dk okuma

Her şeye alarm veriyordum: tarayıcı hata gürültüsünü işe yarar üretim izlemeye nasıl dönüştürdüm

İlk frontend raporlayıcım reklam engellemelerini, GTM arızalarını, AbortError’ı, bilgi vermeyen Script error olaylarını ve gerçek Next.js parça hatalarını aynı düzeyde görüyordu. İzlemeyi sahiplik, kullanıcı etkisi, kanıt kalitesi, olay ilişkilendirmesi ve kurtarma etrafında yeniden kurdum.

Tarayıcı Hata İzlemeFrontend GözlemlenebilirliğiJavaScript HatalarıÜretim İzlemeNext.jsWeb Performansı
13 Ağustos 202617 dk okuma

Eski Next.js sekmeleri dağıtımdan sonra neden bozulur: bayat HTML, eksik chunk dosyaları ve sürüm uyuşmazlığı

Bir dağıtımdan sonra üretim izleme sistemim, kendi Next.js uygulamama ait bir chunk dosyasının yüklenemediğini kaydetti. Kayıt hatanın gerçekleştiğini kanıtlıyordu, nedenini değil. Bu olaydan yola çıkarak uzun süre açık kalan sekmeleri, bayat HTML’i, eksik /_next/static kaynaklarını, sürüm uyuşmazlığını, eski dosyaları saklamayı, deploymentId kullanımını, yayın sırasını, izlemeyi ve kontrollü kurtarmayı ele alıyorum.

Next.jsDağıtımSürüm uyuşmazlığıWeb önbelleğiÖnyüz güvenilirliğiStatik kaynaklar
13 Ağustos 20268 dk okuma

CFR’ımı bozan tek tick: 5580 neden 5625 değildi, 3751 neden 3750 değildi

Doğrulayıcım 16 fps MP4 dosyasını 5625 yerine 5580 tick süren bir paket yüzünden tekrar tekrar reddetti; daha sonra 24 fps için tam 3750 gerekirken 3751 buldu. Bu iki hata kaynak zamanlamasını, CFR nicemlemesini, MP4 zaman tabanını, PTS/DTS ilişkisini, çoklama işlemini ve paket düzeyindeki doğrulamayı birbirinden ayırmamı sağladı.

FFmpegH.264CFRVideo zaman damgalarıMP4Medya işleme hattı
13 Ağustos 202611 dk okuma

H.264 ile Bir Üretim Videosunu ~280 MB’den ~50 MB’ye Nasıl İndirdim

Üretim sistemindeki gerçek bir video, H.264 yapılandırmasını CRF 28, x264 veryslow, 720p sınıfı çözünürlük üst sınırı, anlamlı kare hızları ve ölçülü kod çözücü gereksinimleri etrafında yeniden kurduktan sonra yaklaşık 280 MB'tan 50 MB'a indi. Daha önceki bir aşamada aynı örnek yaklaşık 350 MB'tan 238 MB'a düşmüştü; eski kitaplığın denetimi de saniyede birkaç megabitlik H.264 dosyalarının yaygın olduğunu gösterdi.

H.264FFmpegx264Video Sıkıştırmaİnternet PerformansıMedya Optimizasyonu
16 Nisan 20265 dk okuma

Gitae’yi, web sitesi kesintilerini yalnızca “çalışıyor / çalışmıyor” seviyesinin ötesinde teşhis etmek için geliştirdim

Gitae’yi pratik bir soruya cevap vermek için geliştirdim: site gerçekten erişilemez mi, yoksa sorun yerel mi? Araç Moskova ve Helsinki’deki harici VDS kontrollerini DNS, HTTPS/TLS, port, routing, IP, hosting ve CMS sinyalleriyle birleştiriyor; her sonucu kesin kanıt değil, bir işaret olarak ele alıyor.

GitaeWeb sitesi tanılamaWebsite monitoringDNSSSLPingTraceroutePort kontrolüHostingSEO
14 Nisan 20265 dk okuma

TypeScript üretim yazılımında Codex ile neden bu kadar iyi çalışıyor

Üretim ortamında TypeScript, Codex'e iyi bir promptun tek başına veremeyeceği şeyleri sağlar: makine tarafından doğrulanabilir sözleşmeler, hızlı derleyici geri bildirimi ve büyük refactor'lar için daha güvenli bir yol.

TypeScriptCodexAI ile kodlamaYazılım teslimatıJavaScriptGeliştirici iş akışı
6 Nisan 20264 dk okuma

Jurfi.com’u geliştirdim: yapılandırılmış hukuk taslakları için tarayıcı tabanlı bir stüdyo

Jurfi.com’u form ve şablonlardan tarayıcı içinde yapılandırılmış hukuk çalışma taslakları üretmek, taslakları yerel olarak saklamak ve incelemeyi sürecin açık bir parçası yapmak için geliştirdim; yazılımın avukatın yerini aldığını iddia etmiyorum.

JurfiJurfi.comHukuk belgeleriLegalTechSaaSBelge taslağıTarayıcı araçları
5 Nisan 20263 dk okuma

İlk SaaS Gelirim: Tek Bir Ödeme Gerçekte Neyi Kanıtladı

Kendi geliştirdiğim bir SaaS ürününden aldığım ilk ödeme küçüktü ama elimdeki kanıtın niteliğini değiştirdi. Tek bir işlemin neyi doğrulayabileceğini, neyi kanıtlayamayacağını ve tekrarın neden ilk kilometre taşından daha önemli olduğunu anlatıyorum.

SaaSİlk gelirBağımsız geliştiriciÜrün doğrulamaÜrün geliştirmeStartup yolculuğuGeliştirici deneyimi
3 Nisan 20268 dk okuma

Codex ile 15 projeyi incelerken manuel kontrolü nasıl elimde tutuyorum

15 yazılım projesini incelemek eskiden tekrar eden kontroller içinde kaybolmak demekti. Codex bug, test, SEO, çeviri, yerelleştirme ve tutarlılık kontrollerini çok daha hızlı yapmama yardımcı oluyor; ama her AI bulgusunu hüküm değil ipucu, her değişikliği de doğrulanması gereken bir öneri olarak görüyorum.

CodexAI codingCode reviewYazılım testleriDeveloper workflowYerelleştirmeTeknik SEOGeliştirici verimliliği
2 Nisan 20266 dk okuma

ChatGPT Plus’taki Codex limitimin son %3–5’ini neden büyük mühendislik işlerine harcıyorum — Güncelleme: 2026 yazında bu yöntem çalışmayı bıraktı

Güncelleme: 2026 yazına gelindiğinde bu workflow benim için güvenilir olmaktan çıktı. Hesabımdaki 5 saatlik sayaç kayboldu, yalnızca haftalık limit görünür kaldı ve uzun bir görev haftalık limit bittiğinde durabiliyordu.

CodexChatGPT PlusAI kodlama araçlarıGeliştirici iş akışıYazılım mühendisliğiTypeScript geçişiESLint temizliğiRefactorCodex kullanım limitleri2026 güncellemesi
1 Nisan 20268 dk okuma

AI ile 10.000 SEO makalesi yayınladım; sonunda sitem Google’da sıfır indekslenmiş sayfaya düştü

Toplu AI yayıncılığı önce kısa yol gibi görünüyordu: Google oluşturulan 10.000 makale URL’sinin tamamını taradı, ancak yalnızca yaklaşık 1.000 sayfa gerçekten indekslendi, Search’te göründü ve gerçek trafik getirdi. Sonra bu sayfalar da kayboldu ve site sıfır indekslenmiş sayfaya kadar düştü. Bu deneyim AI, SEO, çeviri ve editoryal sorumluluk konusundaki yaklaşımımı değiştirdi.

AI SEOÜretken yapay zekaGoogle SearchÖlçekli içerikİndekslemeAI destekli yazımÇok dilli SEO
31 Mart 20265 dk okuma

8/256 GB M1 MacBook ile Beş Yıl: Neden Hâlâ Değiştirmedim

8 GB bellek ve 256 GB SSD’li temel M1 MacBook’u yaklaşık 1.000 dolara aldım ve geliştirme, medya işleri, yazma, öğrenme ve yan projeler için günde yaklaşık 15 saat kullandım. Beş yıl sonra sınırlarını açıkça görüyorum; ancak yükseltmeyi düşünmemin nedeni bilgisayarın işe yaramaz hâle gelmesi değil, iş yükümün büyümesi.

MacBookAppleM1Apple SiliconYazılım GeliştirmeUzun Dönem İncelemeDonanım Ömrü
30 Mart 20264 dk okuma

Blogumu ChatGPT ile 20 dile çevirdim — dünyanın her yerinden arama trafiği almaya başladım

Yapay zeka çok dilli yayıncılığın maliyetini benim için tamamen değiştirdi. Tek dilli bir blogdan, her yazıyı 20 dile kadar yayımladığım ve yeni organik arama girişleri oluşturduğum bir yapıya geçtim.

Yapay zeka yerelleştirmeÇok dilli SEOChatGPTNext.jsUluslararası SEOBlog
27 Mart 20264 dk okuma

QRViz’i ücretsiz bir statik QR kod üreticisi olarak yayına aldım — dağıtımı SEO’ya bıraktım

QRViz kampanya platformu değil, tarayıcı tabanlı statik QR kod üreticisidir. qrviz.com’u reklâm bütçesi, ücretli kullanıcı edinimi veya gelir hunisi olmadan ücretsiz bir QR kod oluşturucu olarak yayınladım. Keşfedilmek için tamamen SEO’ya güveniyorum; bu yüzden en büyük belirsizlik dağıtım.

QR kod oluşturucuQrvizÜrün lansmanıSEOYan projeWeb geliştirmeÜrün geliştirme
18 Şubat 20264 dk okuma

Müşteri kazanmak neden bana SaaS geliştirmekten daha zor geldi

Kendi SaaS deneyimimden çıkan ders: mühendislik bana açık ve kontrol edilebilir geri bildirim verirken dağıtım, konumlandırma, mesaj ve retention çok farklı ve daha az öngörülebilir bir döngü gerektirdi.

SaaS büyümesiMüşteri kazanımıÜrün pazarlamasıBootstrappingAçıkta inşa etmekDağıtım
17 Şubat 20264 dk okuma

Bir SaaS ürününü tek başıma yaptım. Ödemeleri açınca işin anlamı değişti

Bu ürünü akşamları, hafta sonlarında ve tatillerde tek başıma geliştirdim. Ödemeler açılınca bug'lar, onboarding, moderasyon, retention ve güven artık 'sonra bakılacak' konular değil, gerçek bir ürünü işletmenin parçası oldu.

SaaSSolo geliştirmeÜrün lansmanıPaymentsReliabilityÜrün operasyonu
22 Ocak 20264 dk okuma

I Got 550 Views from One Image, Voiceover, and Subtitles: What Three Shorts Tests Actually Taught Me

A simple YouTube Short built from one static image, a voiceover, and subtitles reached 550 views. After three early tests, the useful lesson was not a proven formula, but a repeatable way to experiment without confusing a promising signal with proof.

YouTube ShortsContent ExperimentsShort-form VideoVideo EditingCapCutCreator Workflow
20 Ocak 20264 dk okuma

Moskova’daki bir frontend ilanında yaklaşık 6.000 başvuru gördüm. Bu, Rusya IT pazarı hakkında ne söylüyor — ne söylemiyor?

2023’ün sonunda işe alımcılar bana ilan başına 300–500 başvurunun bile çok olduğunu söylüyordu. 20 Ocak 2026’da Moskova’daki mid-level bir frontend rolünün birkaç saat içinde yaklaşık 6.000 başvuruya ulaştığını gördüm. Bu sayının gerçekten neye işaret ettiğini, neyi kanıtlamadığını ve aday olarak bugün nasıl okuyacağımı anlatıyorum.

KariyerIT iş piyasasıFrontendRusyaMoskovaİşe alımİş arama
1 Ocak 20264 dk okuma

DeepSeek Node.js workflow’umu nasıl değiştirdi: altı ayda 4.000+ commit

2025 GitHub grafiğim yılın ilk yarısında neredeyse boşken ikinci yarıda 4.000’den fazla commit’e çıktı. Bu yazı AI coding’in Node.js side-project workflow’umu nasıl değiştirdiğini, nerede zaman kazandırdığını, nerede hata yaptığını ve neden doğrulamanın üretim hızından daha önemli kaldığını anlatıyor.

Node.jsDeepSeekAI CodingDeveloper ProductivitySide ProjectsSoftware Engineering
30 Aralık 20256 dk okuma

My First TikTok at 28: What a Vertical Product Demo Taught Me About Traffic

At 28, I posted my first TikTok and cross-posted the same product demo to Reels and Shorts. The useful lesson was not the view count: it was how much a 9:16 frame changes a desktop interface, and how to measure short-form traffic without confusing reach with acquisition.

TikTokProduct MarketingProduct DemosAnalyticsIndie Dev
16 Kasım 20255 dk okuma

25 yıllık bir domain aldım: ölü URL'lere günde 1.000+ istek gelmeye başladı

İlk kez 2000 yılında kaydedilmiş bir domainde yeni siteyi açtıktan sonra eski URL'lere günde 1.000'den fazla istek ve Yandex Webmaster'da bir gecede 900'den fazla hata gördüm. Gerçekte neyi kanıtlayabildiğimi, neden hedefli 410 kullandığımı ve bugün eski bir domaini nasıl denetleyeceğimi anlatıyorum.

SEOHTTPDevOpsDomainlerWeb crawling
14 Kasım 20254 dk okuma

Yandex 12.500 sayfayı indekslemişti ama Rusya’dan neredeyse hiç trafik gelmiyordu: gözden kaçırdığım Cloudflare sorunu

Yandex 12.500 sayfayı indekslemişti, ancak Rusya’dan trafik neredeyse sıfırdı. Sorunu ağ yoluna kadar daralttım, Cloudflare proxy’sini kapattım, önbellek, sıkıştırma ve temel korumayı VDS’imde Nginx’e taşıdım ve erişilebilirliği geri getirdim.

DevOpsSEONginxCloudflareAltyapı
27 Ekim 20254 dk okuma

Statik Next.js sitem günde binlerce güvenlik açığı taraması alıyor. Nginx bunu neredeyse hiç hissetmiyor

Loglarım WordPress, PHP backdoor, .env ve .git/config arayan probe’larla dolu. Statik Next.js + Nginx yapımda bunların çoğu ucuz miss ve 404 olarak bitiyor; gözlem sırasında CPU yükü değişmedi. Bu deneyimin statik site güvenliği hakkında gerçekten ne söylediğini ve neyi kanıtlamadığını ayırmak önemli.

GüvenlikNext.jsNginxDevOpsStatik hostingAttack Surface
27 Ekim 20253 dk okuma

Yandex yeni siteme trafik gönderirken Google neredeyse yerinde saydı

Aynı yeni projede Google uzun bir dönemde yalnızca yaklaşık 300 tıklama üretirken Yandex Webmaster belirgin bir yükseliş ve bir noktada +%500 tıklama artışı gösterdi. Önemli olan, bu sayıların gerçekten neyi kanıtladığını ve neyi kanıtlamadığını ayırmak.

SEOGoogle SearchYandexGoogle Search ConsoleYandex WebmasterTeknik SEO
17 Ekim 20254 dk okuma

Yandex, Next.js ile oluşturduğum 4.278 sayfayı bir gecede indeksledi — bu gerçekten neyi kanıtladı?

Yandex, Next.js ile statik olarak oluşturduğum 4.278 sayfayı neredeyse aynı anda indeksledi. Bu gerçek bir teknik dönüm noktasıydı; ancak sıralama veya trafik başarısının kanıtı değildi. Sonucun SSG ve programmatic SEO hakkında gerçekten ne söylediğini, ne söylemediğini ayırıyorum.

SEONext.jsSSGYandexProgrammatic SEOİndeksleme
16 Ekim 20255 dk okuma

İlk SEO Ayım: 632 Organik Ziyaretçi ve Bot Trafiğiyle İlgili Bir Gerçeklik Kontrolü

İş yerindeki daha büyük bir SEO girişimine hazırlanmak için kişisel bir yan projeyi deney alanı olarak kullandım. Bir ayda 632 organik ziyaretçiye ulaştı; ancak 83 ziyaretçili bir gün, şüpheli trafik ve analitik artefaktlarının sonucu ne kadar kolay çarpıtabildiğini gösterdi.

SEOWeb analitiğiBot trafiğiYandex MetricaSEO deneyleri
6 Ekim 20253 dk okuma

Yandex Webmaster’ı Neredeyse Görmezden Geliyordum. İki Hafta Sonra Google’dan Daha Fazla Trafik Getiriyordu

SEO’nun kritik olacağı iş projesinden önce pratik yapmak için Next.js ile bir yan proje kurdum. İlk iki haftada Google’dan 58, Yandex’ten 200 ziyaretçi gördüm ve trafik, indeksleme ve tanı verilerini ayrı değerlendirmeyi öğrendim.

SEONext.jsGoogle SearchYandexSearch Consoleİndeksleme
5 Ekim 20254 dk okuma

Yandex Metrica vs. Google Analytics: Bir Haftanın Ardından Neden Metrica’yı Tercih Ettim

Yeni bir projede Google Analytics ve Yandex Metrica’yı bir hafta boyunca yan yana kullandım. Metrica’yı daha çok tercih etmemin ana nedeni Webvisor ve oturum tekrarlarıydı; fakat bu, benim çalışma akışımla ilgili bir sonuç, herkes için evrensel bir üstünlük kanıtı değil.

Web AnalyticsUXOturum TekrarıYandex MetricaGoogle AnalyticsGA4
3 Ekim 20253 dk okuma

Yandex blogumu /en olmadan taradı. 308 yönlendirmeleri URL’leri 404’ten kurtardı

Sitemap’e yaklaşık 3.000 adet /en/blog/... sayfası ekledikten sonra Yandex’in karşılık gelen /blog/... yollarını denediğini gördüm. Önceden ayarladığım 308 yönlendirmeleri bu isteklerin 404 ile bitmesini engelledi. Asıl ders “Yandex sitemap’i bozdu” değil, sağlam bir yönlendirme katmanının URL mimarisine kattığı toleranstı.

SEOYandexSitemap308 YönlendirmesiTeknik SEOCrawling
2 Ekim 20254 dk okuma

İki yeni site Google’da hızla yükseldi, birkaç gün sonra trafik yaklaşık 10× düştü

Arka arkaya iki lansmanda Google gösterimleri hemen sıçradı, birkaç gün sonra trafik yaklaşık onda bire indi. Gözlem gerçekti; bunun kanıtlanmış bir “Google balayı dönemi” olduğunu söyleyemem.

SEOGoogle SearchSearch ConsoleOrganik trafikTeknik SEO
1 Ekim 20253 dk okuma

Yandex aramasından bir gecede 2.000 sayfa kayboldu. Bundan gerçekten ne çıkarabildim?

Yandex Webmaster’da yaklaşık 8.000 sayfanın 2.000’inin artık aramaya katılmadığını gördüm. %25’lik düşüş çarpıcıydı; asıl ders ise gözlemlenen arama durumu değişikliğini kanıtlanmış bir nedenle karıştırmamaktı.

SEOYandex WebmasterİndekslemeArama görünürlüğüTeknik SEO
11 Temmuz 20252 dk okuma

MoscowJS 66’da 10’dan fazla soru sordum ve iki ödül kazandım

MoscowJS 66’da Telegram botları, LangChain.js, site oluşturucu mimarisi ve TypeScript tip testleri hakkındaki konuşmalar sırasında 10’dan fazla soru sordum. İki soru en iyi sorular olarak seçildi ve iki ödülle ayrıldım.

EtkinliklerJavaScriptTypeScriptAILangChain.jsToplulukMoscowJS
23 Haziran 20254 dk okuma

PiterJS #79'dan Ne Aldım: Legacy Monolitler, FrontOps, Web Performansı ve Daha İyi Sorular

St. Petersburg'daki PiterJS #79, zaten var olan sistemleri sürdürmeye odaklandı: legacy monolit, FrontOps ve web performans metrikleri. Etkinlikten pratik notlar, Q&A'den iki ödül ve yüz yüze meetup'lara aktif katılımın değerini yeniden hatırlayarak ayrıldım.

PiterJSJavaScriptFrontOpsDockerWeb PerformansıTopluluk
17 Haziran 20256 dk okuma

I Launched a Next.js Blog in 21 Languages. Here’s What 439 Google Impressions Actually Told Me

In its first week, my 21-language Next.js blog recorded 439 Google impressions and 5 clicks. Later, 436 of 471 pages were indexed. The useful lesson was learning to separate visibility, indexing, and actual search performance.

Next.jsSEOI18nMultilingual SEOGoogle SearchWeb Development
7 Haziran 20253 dk okuma

JavaScript’le altı yılın ardından MoscowJS 65: Neden hâlâ yerel buluşmalara gidiyorum

5 Haziran 2025’te T Bank’te düzenlenen MoscowJS 65’e katıldım. Dört konuşma AI’a farklı açılardan yaklaşıyordu, ancak benim için asıl sonuç daha basitti: yerel meetup’lar hâlâ dokümantasyon ve kayıtların tamamen yerine koyamadığı bir şey sunuyor.

JavaScriptMoscowJSMeetupGeliştirici topluluğuAI