Mark Stratmann
ABout Background

Bu Site Hakkında

Bu siteyi neden oluşturdum

Bu site neden var?

Herhangi bir yeni teknolojiyi öğrenirken uzun süredir var olan bir sorun şudur: internette veya yapay zekâlardan edinebileceğiniz dokümantasyon ve örneklerin çoğu o kadar basittir ki, teknolojinin ya da sizin onu uygulama biçiminizin gerçek, karmaşık bir iş yüküne dayanıp dayanmayacağı konusunda size hiçbir fikir vermez. Bunun bir örneği de sayısız yapılacaklar listesi örneğidir.

Bir SASS projem var; gerçek projeyi kurmayı denemeden önce test edilmesi gereken birkaç teknoloji varsayımına dayanıyor. Bunun gibi, tamamı bir CMS arka ucu tarafından yönetilen kişisel bir profil sitesi, düzgün bir üretim kurulumunu hak edecek kadar karmaşık ve bir araya getirmesi çok uzun sürmeyecek kadar basit. Üstelik ek bir fayda olarak, her şey yolunda giderse iyi performans gösteren bir profil sitesine sahip olurum ve bu da daha teknik deneyler için iyi bir test ortamı olur.

Dağıtım hedefi olarak Cloudflare

Cloudflare Workers https://workers.cloudflare.com/ ilk bakışta karmaşık bir uygulamayı dağıtmanın son derece ucuz bir yolu gibi görünüyor. Arka uç geliştirme basit ve sağlam görünüyor ve OpenNext https://opennext.js.org/ paketi, ön yüzünüzü Next.js https://nextjs.org/ ile verimli bir şekilde geliştirip Cloudflare’a dağıtmanın etkili bir yolunu sağlıyor gibi duruyor.

Bu sitenin çok fazla insan trafiği çekeceğini sanmıyorum; ancak mümkün olduğunca fazla web araması ve yapay zekâ tarayıcı (crawler) trafiğini buraya yönlendirmeye çalışacağım. Böylece Cloudflare’ın platformunda yoğun bir site çalıştırmanın gerçek maliyetini anlayabilmeliyim.

Bu siteyi olması gerekenden daha karmaşık hâle getirmek

İçerik Yönetim Arka Ucu (CMS)

Dürüst olmak gerekirse, bu site şu anki hâliyle bir kodlama ajanı ile birkaç saat içinde alelacele toparlanabilir; ancak ciddi bir sistem, temel içeriği değiştirmek için dağıtım (deployment) gerektirmemelidir. Bu nedenle bu site, ayrı bir Cloudflare Worker olarak dağıtılan Payload CMS (https://payloadcms.com/) tabanlı tam bir CMS kullanıyor.

Payload’un kendisi bir SQL veritabanı kullanır; bunun da bir CloudFlare D1 SQLite veritabanı örneği olarak dağıtılması gerekir https://developers.cloudflare.com/d1/ ve geliştirme yaşam döngüsünü desteklemek için veritabanı migrasyonlarıyla düzgün şekilde yönetilmelidir.

Otomatik çeviriler

Bu site 20 dili destekler. Web sitesi CMS içeriği için basit bir iskelet olduğundan, i18n tarafı geliştirme sırasında bir kodlama ajanı (Co-pilot ve Claude Opus 4.5) ile ele alınır.

Bu da, mevcut ve gelecekteki tüm CMS içeriğinin, herhangi bir İngilizce içerik değiştiğinde otomatik olarak çevrilmesi gerektiği anlamına gelir.

Kuyruk ve Cron Tabanlı Worker

Çeviri gereksinimi, makul derecede karmaşık bir süreç gerektirir; bu süreç:

  • Bir Cron zamanlayıcısı ile tetiklenecek.
  • Yeni bir çeviri gerektiren herhangi bir içeriği belirleyecek.
  • Çeviriyi güvenilir biçimde gerçekleştirecek.
  • Bir hatadan güvenilir biçimde kurtulacak.

Bu nedenle, çeviri işlerini takip etmek için başka bir CloudFlare D1 örneği kullanılır ve görevleri yönetmek ve ölçeklemek için cron tabanlı üretici-tüketici deseniyle Cloudflare queues (https://developers.cloudflare.com/queues/) kullanılır. Çevirileri yapmak için OpenAI’ın gpt-5.2 API’si çağrılır ve AI.SDK https://ai-sdk.dev/ her şeyi birbirine bağlar.

Bu site için bu, fazlasıyla kapsamlı; ancak herhangi bir üretim sistemi, herhangi bir ölçekte, arka plan işlemlerini orkestre etmek için sağlam bir desene ihtiyaç duyar.

Bu sitenin önceki sürümleri

Yeni teknolojileri öğrenmek için bir araç olarak bu siteyi iki kez yaptım:

2013 - Ruby ve AWS öğrenmek

  • Ruby on Rails v4.0.0.
  • Bootstrap stil v3.
  • UI için CoffeeScript.
  • Backbone Marionette VMC ön yüz deseni.
  • Bir AWS host üzerinde dağıtıldı.

2017 - React öğrenmek

  • UI için React v16.0.0.
  • Asenkron işlemler için Redux ve Thunk.
  • Stil için Semantic UI.

Sırada ne var

Site SEO için düzgün şekilde bağlandı ve tarayıcı trafiğini artırmak için düzenli bir yeni içerik temposu gerekiyor. Kullanılan çeşitli teknolojiler ve çözümler hakkında daha detaylı makaleler yayınlayacağım.