Skip to main content

Berk Özbalcı

2025-05-25

(Bu bir "şimdi sayfası", başlıca Derek Sivers olmak üzere buna benzer sayfalar yapan kişilerden esinlenerek hazırlandı.)

Arşiv'den eski gönderileri okuyabilirsiniz.

Bugün bir palindrom tarih, tabii Özgürlük™ tarih formatını kullanıyorsanız. (5/25/25)

Kahve

Kısa süre önce ilk kez London Coffee Festival’a katıldım. Vaktimin çoğunu Latte Art bölümünde geçirdim; ulusal ve dünya şampiyonlarının yeteneklerini sergileyişlerini izledim.

Benim için deneyimin en unutulmaz kısmı, Hermanos Coffee Roasters standıydı. Burada “Siberia” adını verdikleri, yıkanmış bir Kolombiya kahvesini tattım — gerçekten çok lezzetliydi. Henüz internet sitelerinde satışta değil, bu yüzden festivalde satılan paketler bir nevi “erken erişim” çekirdeklerdi.

Kodlama

Bu site benim başlıca yan projem (şimdi fark ediyorum, bu biraz oksimoron gibi oldu). Son güncellemeden bu yana birçok iyileştirme yaptım.

Wagtail

Backend’ime Wagtail’ı entegre ettim. Bu oldukça ironik aslında, çünkü bu projenin çalışma başlığı “NotCMS” idi. Demek ki her yazılım eninde sonunda bir CMS’e dönüşüyor, bu doğruymuş.

Geçiş süreci oldukça sorunsuzdu: önceden “PhotoAlbum” ya da “BlogPost” gibi düz Django modellerim vardı. Yapmam gereken işin büyük kısmı, Wagtail’ın Page modelinden miras alan yeni modeller oluşturup verileri oraya taşımaktı.

Bunun sonucunda, daha önce Django admin paneli için yazdığım birçok özel kodu kaldırmış oldum — örneğin küçük görsel (thumbnail) üretimi, yeniden boyutlandırma veya yükleme sırasında sıkıştırma gibi işlemler. Wagtail bunların hepsini kutudan çıktığı haliyle sunuyor.

Uluslararasılaştırma (i18n, veya u19a)

Bu site artık Türkçeye de çevrildi! CMS içeriğini çevirmek için wagtail-localize, statik şablonlar için ise .po dosyaları kullanıyorum.

En büyük zorluklardan biri, yerelleştirilmiş sayfalar arasındaki çoktan çoğa ilişkileri yönetmekti. Örneğin, galeri sayfasında bir veya birden fazla albüme ait olabilen fotoğraflar var. Veritabanında her fotoğraf ve her albüm her dil için ayrı ayrı tutuluyor, fakat wagtail-localize, yerelleştirilmiş fotoğrafların otomatik olarak ilgili yerelleştirilmiş albümlere ait olmasını sağlamıyor. Bunu birkaç ORM hilesiyle çözdüm.