Titanium – OS X Mountain Lion – Emulatör/Simülator Hataları

OS X Mountain Lion’a Titanium yükledim. Ardından örnek uygulamalardan Kitchen Sink’i açtım. Simulatörlerde denemek istediğimde hem Android hem de iOS simulatorlerinde hata aldım.

Androdi emülatörde aldığım hata; [ERROR] : Build process exited with code 1
Çözümü
; Android SDK Manager üzerinden Android 3.0 yüklemek. Ben daha öncesinde Android 2.2, Android 2.3.3 ve Android 4.3′ü yüklemiştim ancak sorun Android 3.0 yükledikten sonra düzeldi. Hatanın tam sebebini Titanium > Run > Run Configurations >

iOS simulatörde aldığım hata; Invalid target value ‘s�mulator’
Çözümü; Sistem dilini İngilizce olarak ayarlamak

 

Nefis Yemek Tarifleri v4 yayında!

5 yıldır aktif olan sitemiz Nefis Yemek Tarifleri’nin yeni tasarımını uzuun süren çalışmalar sonunda aktif hale getirdik.

İlk 4 ekran görüntüsü yeni tasarımıza, son 3 ekran görüntüsü ise 3 yıldır aktif olan eski tasarımımıza ait.

Yeni ara yüzümüzü tasarlayan Onur Can Çoban‘a teşekkürler.

Her şey yolunda

Merhaba, uzun zaman oldu yazmayalı. Ara ara mailime “yeni yorum geldi” e-postaları geliyordu. Bloguma yorumlara bir bakmak için girdim. Yorumları onayladım, bir de temayı mı değiştirsem dedim, değiştirdim. Ardından kategorilere bakarken günlük kategorisine tıkladım ve en son yazının “Askerden geldim, iş arıyorum.” olduğunu gördüm. Ardından kendime not olur diye bir yazı yazmaya karar verdim. İşte o yazı bu yazı.

En son iş arıyormuşum, yazıyı 11 Şubat 2010′da yazmışım. Bir çok görüşmenin ve “biz size döneceğiz”in ardından Mayıs 2010′da kurumsal şirketlere dış kaynak personel sağlayan BilgeAdam Kurumsal ile anlaştım; Anadolu Sigorta’da “Java Yazılım Uzmanı” pozisyonunda çalışmaya başladım. Ardından Aralık 2010′da BilgeAdam’dan ayrılıp Anadolu Sigorta’nın kadrolu “Java Yazılım Uzmanı” oldum ve halen görevime devam etmekteyim. IBM ile ortak geliştirmeye devam ettiğimiz bir projede Java yazıyorum.

İş aradığım süreçte daha çok WordPress ile ilgilendim ve birkaç tane WordPress eklentim oldu.  Sonrasında kendileri ile çok fazla ilgilenemedim, üzgünüm. Boş bir vaktimde kendileriyle ilgilenmek istiyorum…

2011 sonlarında IBM ile geliştirdiğimiz proje ile ilgili eğitim için İsrail’de 1 ay bulundum. İstisnalar dışında İsrail halkının bize karşı tavrı iyiydi, sorun olmadı. Oraları da görmüş olduk…

Bu aralar 5 yıllık projemiz olan Nefis Yemek Tarifleri‘nin yeni tasarımı ve yazılımı ile uğraşıyorum. Kendisi şu an alt yapı olarak WordPress kullanıyor, yeni versiyonda BuddyPress ile daha sosyal olacak. Aslında yeni tasarımı pek sevgili tasarımcımız Onur Can Çoban 2011 ortalarında bitirdi ancak iş yoğunluğundan dolayı halen “bitti, hadi açalım” diyemedik ancak artık çok az kaldı…

Bunların dışında bu süreçte bir HTC Sensation ve bir Seat Leon aldım, ikisi ile de mutluyum.

Ve gelelim en önemli ve en güzel gelişmeye. Hayatımda verdiğim en doğru kararlardan birini vererek Elif ile evlendim, kendisiyle çok mutluyum. Buradan kendisine sevgilerimi iletiyorum.

Yani her şey yolunda… Sizler nasılsınız ?

cloudflare-etkisi-apache2

CloudFlare Etkisi 2

CloudFlare Etkisi yazısınını devamı niteliğindedir.

Şimdi de CloudFlare’ın kendi sunucumuz üzerinde yaptığı etkiye bakalım. Sitemize aynı sayıda kişi girmesine rağmen sunucudaki yük aşağıda görülebileceği üzere bir hayli azalıyor.

Diğer grafiklerde pek bir değişiklik yok.

CloudFlare etkisi

GÜNCELLEME: Şu anda beklenmedik erişim hataları oluşması ve çok stabil olmaması sebebiyle CloudFlare kullanmayı bıraktık.

CloudFlare‘i ilk fark ettiğim anda gönderdiğim tweet: “Uzun zamandır beni CloudFlare kadar heyecanlandıran bir servis olmamıştı…”

Sonra bir deneme yaptım, ilk denemede sorunlar yaşadık, çünkü CloudFlare subdomain’leri otomatik olarak görmemiş, ben de bu aşamada eklemeyi unutmuştum. Subdomainler ile çalışanlar A record’larını eklemeyi unutmasınlar…

İkinci denemede başarılı sonuca ulaştım. Sitemizdeki resimlerin açılma hızı yarıya indi.

CloudFlare’in bir çok lokasyonda sunucusu mevcut. Statik içeriğinizi (jpg,png,css,html,js) bu sunuculara cache’liyor ve isteği yapan istemciye en yakın sunucusundan statik içeriği istemciye iletiyor.

CloudFlare Aktif Değil…

CloudFlare‘in aktif olmadığı subdomain üzerinden bir jpg dosyası yüklediğimde dosya 627 ms’de yükleniyor.

Yüklenen bu dosyayı F5 ile yenilediğimde dosya 161 ms’de yükleniyor.

CloudFlare Aktif…

CloudFlare‘in aktif olduğu subdomain üzerinden bir jpg dosyası yüklediğimde dosya 474ms’de yükleniyor;

Yüklenen bu dosyayı F5 ile yenilediğimde dosya 63 ms’de yükleniyor.

 

Hız farkının sebepleri

CloudFlareaktif olmadığında direkt İngiltere’de bulunan kendi sunucumuza istek yapıyoruz.

CloudFlare aktif iken en yakın CloudFlare sunucusuna istek yapıyoruz. Türkiye’ye en yakın CloudFlare sunucusu Hollanda ve Almanya’da bulunuyor. İngiltere’den daha yakın olduğu için daha hızlı cevap dönüyor.

Eğer isteği yapan kişi Çin’de ise, CloudFlare’in Hong-Kong’daki sunucusu cevap verecek.

Farkın bir diğer sebebi bizim sunucuda Apache Keep-Alive özelliği aktif değil, istemci her seferinde dns lookup yapıyor.

Sonuç

Eğer sunucunuz yurtdışında ise CloudFlare‘i kullanmanızı öneririm.

CloudFlare’i kullandığımız site; Nefis Yemek Tarifleri bekleriz :)

11.08.2011 tarihinde bu yazınının devamı yayınlandı.

Git, Her “Push” Sonrası Otomatik Olarak E-posta Atsın

Güzel bir başlık olmadı. Git’te kod değişikliklerini depoya göndermek için “git push” komutunu kullanırız. Bu yazıda, her “git push” komutundan sonra belli bir e-posta adresine otomatik olarak bu “push” ile ilgili bilgi gitmesini nasıl sağlayacağınızı yazacağım.

SVN kullananlar için ise konuyu şöyle açıklayabilirim; svn’de her commit’ten sonra belli bir e-posta adresine commit hakkında bilgi gönderilebiliyor. Bu yazıda anlatacağım şey bunun git’te nasıl yapılacağı.

Git repository’lerinde hooks klasörü bulunuyor. Bu işlemi de bir hook dosyası sayesinde yapabiliyoruz. Bu hook dosyasını buradan indirebilirsiniz. İndirdikten sonra bu dosyayı git deponuzudaki hooks klasörü altına taşıyın. Dosya ismini post-receive olarak isimlendirin ve dosyayı çalıştırılabilir bir dosya haline getirin.

Ardından git deponuzdaki config dosyasını düzenleyin. Şuna benzer bir hale gelsin;

[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = “<commitler-bu-eposta>@<adresine-gelecek>.com”
senderemail = “git@<projeniz>.com”
emailprefix = “[<projeniz>-git] “

Bu ayarı da yaptıktan sonra her “git push” sonrası post-receive hook’u otomatik olarak mailinglist’in karşısında bulunan e-posta adresine bir e-posta gönderecek.

E-postalarda proje adınız “UNNAMED PROJECT” olarak görünüyorsa git deponuzdaki description dosyasının içine proje adınızı yazın.

Daha detaylı ingilizce bir yazı; http://pkill.info/blog/post/setting-up-git-commit-email-notification.html

PayPal’da Üyelik Gerektirmeden Kredi Kartı Ödemesi Alma Devri Başladı

Bugün açıklanan Adaptive Payments API sayesinde artık PayPal üyeliği olmayanlardan da kredi kartı ile ödeme alabileceksiniz. Daha detaylı bilgi almak için PayPal X Developer Network‘te duyurusu yapılan 13 Temmuz’da yapılacak olan webinara kayıt olabilirsiniz. PayPal X Developer Network’e kayıt olmadıysanız, kayıt olmanızı öneririm.

Bu gelişme özellikle internetten satış yapan/yapmayı düşünen kişiler için güzel bir haber. PayPal API’leri ile kolayca kredi kartı ödemesi alabilmek mümkün olacak. Geliştiriciler için de PayPal API’lerini kullanmak hiç zor değil. Daha önce kullandım, oradan biliyorum.

PayPal’dan gelen e-postayı da paylaşmış olayım;

Hello Huseyin Berberoglu,

The #1 request we’ve heard from you is to change Adaptive Payments to accept credit cards without a PayPal account. Done. We’ve launched Guest Payments to create a better payment experience for customers.

If you’ve already integrated Chained or Split Payments into your app, Guest Payments will launch automatically.

If you haven’t yet built a solution with our Adaptive Payments APIs, it’s easy to get started now

Thanks for developing with PayPal X. Keep the feedback coming.