Sphinx‘de indexlenecek veriye, arama sırasında filtreleme yapmak için özellikler (attributes) tanımlayabiliyoruz. Bu özellikler full-text olarak indexlenmiyor (*), sadece aramayı filtreleme amaçlı kullanılıyor ve arama sonucunda dönen veri setine dahil oluyor.
Continue reading Sphinx Filtrelerinde ‘OR’ Koşulu Kullanımı
Twitter API ile Application-only Access Token Kullanımı
Twitter, kullanıcı hesaplarıyla birebir etkileşim sağlayan API endpoint’ler (örneğin tweet atmayı sağlayan statuses/update
gibi) haricindeki işlemlerde kullanmanız için, Twitter uygulamanıza ait bir access token (bearer token) veriyor. Sadece bu token kullanılarak bir çok API işlemi yapılabilir. Bu sayede api rate limiti artırabiliriz. Örneğin tweet aramasında bir kullanıcaya ait access token ile 15 dakikada 180 api isteği yapabilirken, application token ile 450 istek yapabiliyoruz (limitler).
Aşağıdaki cURL komutu işe application access token’ınızı alabilirsiniz. consumerKey
ve consumerSecret
bilgilerinize uygulama detay sayfasından ulaşabilirsiniz.
Continue reading Twitter API ile Application-only Access Token Kullanımı
GitHub Web Hook ile Deployment
Git hosting olarak Github kullanılan projelerde, Github’a gönderilen her yeni commit’de bir web adresinin tetiklenmesini sağlayabilirsiniz. Service Hooks menüsü altında yer alan WebHook URLs sayfasından, kaynak kodda değişiklik olduğu zaman, önceden tanımlanmış adres(ler)e POST methoduyla, güncelleme bilgilerini içeren JSON-encoded data ile beraber istek gönderilir. Burada örnek içeriğini bulacağınız payload bilgisine bakarak isteğin Github’dan gelip gelmediğini kontrol edebiliriz.
Continue reading GitHub Web Hook ile Deployment
2-legged OAuth PHP İmplementasyonu
Şirket içinde geliştirilen bir uygulamaya hem web’den hem de native mobile uygulamalardan erişilmesi planlanmaktaydı. O nedenle API-Centric bir uygulama yapıp, tüm client’ların bu API üzerinden işlemlerini gerçekleştirmesine karar verdik. Güvenlik katmanında da 2-legged OAuth kullanmaktayız. Normal OAuth kullanımından farklı olarak 2-legged OAuth’da ziyaretçinin (resource owner) API’ye (source) izin vermesi gerekmiyor çünkü API’yi sadece kendi güvenilir client’ların (consumer) kullanması amaçlanıyor, bu nedenle uygulamaya ait client’ın yine kendisine ait API’yi kullanmak için izin alması gereksiz oluyor.
Continue reading 2-legged OAuth PHP İmplementasyonu
Amazon EBS üzerinde MySQL Çalıştırmak
Amazon EC2 instance’larında, instance’dan bağımsız olarak çalışan EBS (Elastic Block Store) alanları, MySQL gibi hassas data’lara sahip yazılımların verilerini saklamak için tercih ediliyor. Burada MySQL için EBS alanlarının kullanımının faydaları mevcut.
Continue reading Amazon EBS üzerinde MySQL Çalıştırmak