Nis
15
    
Posted (serkan) in ben yaptım, django on Nisan-15-2011

Yayına aldığım bir web programı hakkında bu kadar geç yazacağıma ihtimal vermezdim. 11 Nisan’da yayına girdi yetenekler.im. Aslında bir çeşit hobi projesi ve yayına girmesinden önceki gün hariç tam zamanlı bir uğraş vermedim hiç. Zamanında biyoloji için düşündüğüm ama eğer onun için yaparsam asla kullanılmayacağına emin olduğum bir etiketleme sisteminden ibaret. Kendinize yetenek etiketleri yapıştırıyorsunuz ve arama sonucunda bulunuyorsunuz. Hepsi bu kadar.

Django ile geliştirdim. django-messages ve django-registration gibi uygulamalardan faydalandım. Bir hobi projesi olarak bakıldığında iyi iş olarak düşünebilirim. Hatta bir ara acaba daha çok ciddiye alsam mı diye bile düşündüm.

AWS üzerinden sunmayı tercih ettim. Aslında WebFaction üstünde de çalışıyor olabilirdi ama amacım AWS üstünde daha fazla tercübe edinmek olduğundan ve MySQL üstünde birkaç ufak ayar yapmam gerektiğinden böyle bir tercihte bulundum.

Logo ve benzeri işlerden anlamadığım için Ahmet yardıma koştu. Hatta tasarımda neyin nerde olması gerektiği konusunda yardım etti. Cihan da hata ayıklamama yardımcı oldu.

Unutmadan bu projenin aslında Google App Engine üzerinde çalışmak üzere Google’ın Python frameworkü Webapp ile geliştirildiğini ama Google IPleri engellendiğinden orada yayına giremediğini söylemem gerek. Projeyi tam da bitirmişken. Yayına birkaç saat kala gelen engellemenin nasıl da sinir bozucu olduğunu tahmin edersiniz. Bu durum App Engine’in avantaj ve dezavatajlarından bahseden bir yazı yazmama sebep olmuştu.

Google App Engine her ne kadar belirli konularda çok baraşılı olsa da şuan Türkiye için birkaç kullanım durumu dışında önemsiz hale gelmiştir.


 
Şub
11
    
Posted (serkan) in ben yaptım, django on Şubat-11-2010

En son iki ay önce yazı yazmışım buraya. Aslında bu kadar ara vermiyordum. Her ay en az bir yazım oluyordu. Hatta geçtiğimiz Ocak ayı hiç yazı içermeyen ikinci ay oldu aylar sonra. Neyse çok önemli değil. Vakit bulamıyorum demek de doğru değil. Yazmak içimden gelmiyor. Bazen böyle oluyor. Bazen de söyleyecek bir şey kalmıyor. Elbette yazacak çok şey var ama bu çoğu zaman yazmak ya da daha doğrusu yazmaya başlamak için yeterli olmuyor.

Arada bir bloğumun yapısında biraz değişiklik yapmayı düşünüyorum. Bazı konulara biraz daha odaklanmayı ve ciddi yazılar yazmayı planlıyorum. Şimdilerde bu planlar sadece kağıt üstünde kalıyor. Henüz bunun için kılımı kıpırdatabilmiş değilim. Bir süre daha böyle gideceğine eminim. Başka işlerim var.

İş demişken. Geçenlerde uluslararası bir kongre olan SIP2010 için kayıtları, başvuru özetlerini ve ödemeleri kabul eden bir web uygulaması yazdım Django ile. Tabi tasarımı ben yapmadım. O yüzden iyi çalışmanın yanında güzel de görünür oldu. Bunu buraya not düşmek istedim çünkü ciddi anlamda bir başkası için kod yazdığım ilk durum oldu bu. Genelde sadece kendi kendime ya da birileri ile birlikte yazılım geliştirip web servisi olarak sunmaya çalışıyorum.

Tekrar yazı yazmıyor olmama dönersek… Sanırım bu olaydaki en büyük katkıya FriendFeed sahip. Aslında orada da çok sık yeni bir şeyler söylediğim yok ama takip etmek ve az da olsa yorum yazmak ses çıkarma arzumı bastırmama sebep oluyor galiba. Evet asıl suçlu FriendFeed ve bir süre daha böyle kalabilir.


 
Oca
20
    
Posted (serkan) in django, Google App Engine, Linux Gezegeni on Ocak-20-2009

Google App Engine, şuan halen varsayılan olan 1 numaralı uygulama geliştirme arayüzü (API) ile yayına başladığında içerisinde o zamanın kararlı sürümü Django 0.96 ile geliyordu. O zaman bile eskimiş olan bu Django sürümü üstüne şimdi 1.0 ve onun güvenlik güncellemeleri ile örneğin şuan 1.0.2 çıkmış durumda. Google’ın App Engine için yeni bir API versiyonu çıkarmadan django sürümünü güncellemesi mümkün değil. Yeni bir API sürümünün ne zaman çıkacağı da belli değil. Bunlar bir kenara böyle birşeyi beklemek ise hiç mantıklı değil. Haliyle siz kendi ellerinizle kurabileceğiniz bir sürüm kullanmak isteyebilirsiniz.

App Engine disk alanında binden fazla dosya barındırmamak gibi bir sert limite sahip. Hatta bu donanım kaynaklı bir kısıtlama olduğundan ilerde parasını ödeyip genişletebileceğiniz bir özellik olmayacak. Oysa tek başına Django bile bu dosya sayısından fazlasını içeriyor. O halde ne yapmalı? Python’un geliştiricisi ve App Engine takımının da başı olan Guido’nun tavsiyesine göre Django’yu sıkıştırarak tek bir zip dosyası haline getirmek ve sunucuya yollamak ile tamamen açık olarak yollamak arasında bir fark yok. Zaten sunulmadan önce derleyip gerektiği gibi algılayan sisteme ilgili modülleri zip dosyası içerisinden yükleme emri vermek hem kolay hem de verimli.

Yanlız App Engine’de farklı bir kısıtlama daha var. Hiç bir dosya 1MB’dan daha büyük olamaz. Bu kısıtlamaya tabi ki bizim ziplenmiş Django kütüphaneniz de dahil. Django’nun python dosyalarından oluşan kısmını olduğu gibi sıkıştırıp boyutunu kontrol ettiğinizde 3.5MB’lık bir dosya ile karşılaşıyorsunuz. Ama tabi ki otomatik admin arayüzü gibi zaten Google App Engine üzerinde çalışmayan kısımları ayıklayarak 1MB sınırının epeyce altına inmek mümkün. Ben bir de desteklenmeyen uluslararasılaştırma dosyalarını yok ettim. Hatta yetmedi Django içine yeni eklenmiş Gis frameworke veda ettim.

Bunun için Google Code’daki App Engine sayfasında bir makale yayınlamışlar. Tüm bunları ben de o makaleden öğrendim ama bana kalırsa pek yeterli değil. Ben ona uyduğumda elimde halen 2.5MB boyutunda yani yeterince kırpılmamış bir kütüphane dosyasına sahiptim. O makaleye ek olarak hangi klasörlerin silinmesinin tamamen zararsız olsuğunu gösteren bir ip ucu lazım. Benim keşfettiğim haline bir bakalım.

Öncelikle hatırlatmakta fayda var. DjangoProject’den indirdiğiniz dosya muhtemelen Django-1.0.2-final.tar.gz gibi bir isme sahip ya da sürüm numarası değişik. Bu dosyayı açtığınızda içerisinde bir sürü dizinle karşılaşacaksınız. Bizim ilgilendiğimiz bu dizinler arasından “django” isimli olanı. O dosyayı bir kenara alın ve içerisindeki -aşağıda bahsettiğim- gereksiz kısımları silmeye başlayın:

/django/contrib/admin
/django/contrib/admindocs
/django/contrib/gis
(dev gibi, sadece bunu silseniz bile yeter)
/django/conf/locale/* (bu dizin içinde sadece kendi ilgilendiğiniz dili bırakın gerisini yok edin, hatta hiç birini bırakmasanız bile muhtemelen sorun olmayacak)
/django/bin
/django/test

Ben Google App Engine’deki tüm çalışmalarımda Django kullanyorum ve şimdiye kadarki her denememde büyük kolaylık sağlayan Google App Engine Helper for Django yazılımını kullandım. Google tarafından destekleniyor olması güvenmemin tek sebebi, yoksa bel bağlamak doğru olmazdı. Yanlız dikkatli olmak gerek. Kod deposunun anasayfasında 52.revizyondan kalma indirilebilir bir sürüm var. Eğer 1.0 öncesi haliyle kullanmak istiyorsanız uygun ama Django 1.0 için trunk versiyonunu çekmelisiniz. Şuan yayında olan 64.revizonu indirdikten sonra üstte belirttiğim dizinlerden arındırılmış ve sıkıştırılmış django.zip dosyasını helper uygulamasının ana dizinine koymanız ve yerel sunucunuzu olağan şekilde çalıştırmanız yeterli. Eğer dosyayı doğru yere koymazsanız zaten sunucu başlangıcında Django 1.0′a ihtiyaç olduğunu belirten bir hata mesajı ile karşılaşacaksınız. Yerel sunucuda 3.5MB’lık dev halini kullanmanız sorun çıkarmaz ama sunucuya göndermenin mümkün olmadığını unutmayın.


 
Nis
23
    
Posted (serkan) in ben yaptım, biyoloji.org, biyoteknoloji, django, internet, python on Nisan-23-2008

Nihayet :)

Duyurmanın vakti geldi dedik. Bu günü seçmiştik. Çok kötü bir tercih değil sanırım.

Biyoloji.org için sadece 2008 içinde yapılan ve terk edilen plan sayısı bile pek çok kimsenin tahmininden daha fazla. Gerçek sayısını ben de bilmiyorum aslında.

Şuan tematik bir ekşi sözlük klonu olduğunu söyleyebiliriz. Eğer WebFaction daha fazla bellek işgal etmemize müsaade etseydi daha güzel olacaktı ama şimdilik olsun bakalım.

Görünüşe bakılırsa zamanla sözlüğün yanına pek çok kardeş gelecek ve tabi ki hepsi birbirine tümleşik şekilde çalışacak, şimdiden kaydettirilmiş tek bir hesap yeterli olacak. Diğer uygulamaların ilk örneklerini belki yakında test edebileceksek bile kısa sürede kullanılabilir hale getiremeyeceğimden uzunca bir süre tek hizmet vermeye devam eden özelliğimiz sözlük olacak.

Ayrıca sözlüğün şu halinin de yetersiz olduğunun farkındayım. Bu sadece ilk sürüm.

Bir de beni tanıyanların bileceği gibi tasarım dediğimiz şeyden hiç anlamadığım gerçeği var ki bu sefer en azından acısız bir çözüm bulmanın keyfini çıkardım. Kısacası hiç bulaşmadım. Sitenin XHTML ve CSS’sini Cihan İnan hazırladı. Hatta renk seçiminde yardımcısı Samet Alboy oldu. Logomuzu ise Cihan’ın arkadaşlarından Yasemin Kuleli çizdi.

Tüm biyoloji ilgililerine hayırlı uğurlu olsun diyorum. Eleştirileri ve önerileri ne şekilde olursa olsun bekliyorum.