Hakkımda

Uzun süredir yazılım geliştiriyorum; işlerimi de kendi firmam Urcu Soft üzerinden yapıyorum. Bunları yaparken sürekli yeni sorunlarla karşılaşıyorum; onları nasıl çözdüğümü de bu blogda anlatıyorum.

Neden yazıyorum#

Buradaki yazıların çoğu aslında kendime not. Bir sorunu çözmek için saatler harcadığımda, çözümü bir yere yazmazsam altı ay sonra aynı şeyi baştan araştırdığımı fark ettim. Madem yazıyorum, herkese açık olsun — aynı duvara toslayan başka biri de bir öğleden sonrasını kurtarsın diye.

Amacım basit: aynı sorunu yaşayan birisi çözümü beş dakikada bulsun. O yüzden yazılarda bolca komut, kod ve “neden böyle” açıklaması var; sadece “şunu yap” deyip geçmiyorum.

Neler yazıyorum#

  • Karşılaştığım hataların çözümleri — nasıl teşhis ettiğim ve nasıl düzelttiğim
  • Kullandığım araçlar, yapılandırmalar ve onlarla ilgili deneyimlerim
  • Denediğim yaklaşımlar; işe yarayanlar kadar yaramayanlar da

Konular çoğunlukla Linux, web geliştirme ve güvenlik etrafında dönüyor. Yazılar Türkçe ve İngilizce — sağ üstteki dil seçiciden geçiş yapabilirsin.

Bu siteyi nasıl kurdum#

Blog sitemde sade bir tasarım kullanmaya karar verdim. Hazır bir tema kurmak yerine, Astro için Urcu Duru adında kendi temamı tasarladım — amacım sitenin hızını ve güvenliğini kendi kontrolümde tutmaktı.

Site tamamen statik çalışıyor: Astro yalnızca ben yazarken, derleme sırasında devreye giriyor; ziyaretçiye ise arkasında sunucu olmayan düz HTML ve CSS gidiyor. Yani ortada güncellenmesi gereken bir eklenti, yedeklenecek bir veritabanı ya da yamalanacak bir sunucu yok.

Kısaca altyapı:

  • Çatı: Astro (statik çıktı), çalışma zamanında sıfır bağımlılık.
  • Tasarım: Tailwind gibi hazır bir CSS çatısı yok; stilleri kendi değişkenlerimle elle yazdım.
  • Arama: Pagefind sayfaları derleme sırasında indeksliyor — arama da tümüyle statik.
  • Kod renklendirme: Shiki; renkler satır içi stil yerine CSS sınıflarına çevriliyor (katı CSP uğruna).
  • Güvenlik: Katı bir Content-Security-Policy ve ek güvenlik başlıkları — sayfa dışarıdan neredeyse hiçbir şey yüklemiyor.
  • Barındırma: Cloudflare Pages; her git push sonrası otomatik derlenip yayına çıkıyor.

Ulaşmak istersen#

Bir yazı hakkında sorun olur ya da bir şeyi yanlış yazdığımı düşünürsen, İletişim sayfasından bana ulaşabilirsin. Ayrıca her yazının altında yorum bölümü var.