"Enter"a basıp içeriğe geçin

Kategori: ipucu

Facebook link paylaşma ön belleği nasıl temizlenir

Facebook’ta bir link paylaştığınızda arkaplanda bu sayfanın bir özeti oluşturulup, başlığı, varsa fotoğrafı ve açıklamasıyla birlikte sizin ekleyeceğiniz mesajın altında görüntülenir. Bu aşamada paylaştığınız linki isterseniz silebilirsiniz bile. Facebook bir kere ön belleğe aldığı bu sayfayı, siz url linkini değiştirmediğiniz müddetçe hafızasında tutuyor ve mesajınızı silip aynı linki baştan yazmaya çalışsanız da sayfanın ilk ön belleğe alındığı hali karşınıza geliyor. Mesela sayfanın adresi aynı kalmak üzere başlığı ve görseli değiştirseniz bile paylaştığınızda Facebook hep ilk cache’lediği hali kullanmak ister. Bu uyuz durumdan kurtulmanın bir çaresi linki değiştirmektir ama seo için özene bezene ayarladığınız linki değiştirmek istemiyorsanız başka bir çaresi daha var.…

WordPress’de YouTube videolarının düzgün görüntülenmesi için plugin: Fluidvids

Sayfalarınıza embed olarak eklediğiniz YouTube videolarının sayfanın genişliğine ve bağlandığınız cihaza göre tam oturması yani responsive olması için CSS ile birazcık takla atmanız gerekiyor. Bootstrap kullanan sayfalarda bunun çözümü hazır zaten: http://getbootstrap.com/components/#responsive-embed WordPress sayfalarında bu taklayı otomatik olarak atmayı sağlayan bir plugin mevcut: Fluitvids Kurup aktive etmekten başka ekstra hiç bir işleme gerek yok. Daha önce eklediğiniz YouTube videoları için de işe yarıyor. Tavsiye ederiz.

Core Data verisini dolu kullanmak – iOS

İlk ve tek ücretli iOS uygulamamız Ebruli Osmanlıca Sözlük’ün son sürümündeki bazı teknik sıkıntılar nedeniyle epey kötü yorum almış bir developer olarak diğer işlerimden vakit ayırıp bu sorunlu versiyonu düzeltmeye karar vermiştim. Yılbaşında bu fırsatı değerlendirip kodu gözden geçirmiş, sorunlu yerlerin civatalarını sıkılaştırmıştım ama istediğim gibi olmamıştı. Araya bir de gâvurların noel tatili girince uygulamayı AppStore’a gönderememiştim. Bu gece Ebruli’yi kökünden halletmeye karar verdim. Sorun şuydu: Uygulamanın son versiyonunda Apple’in kendi veritabanı sistemi olan Core Data’yı kullanmak istemiştim. Core-Data’nın kendisi de zaten SQLite tabanlı bir sistem ama kötü bir kod olmasın, abudik gubidik sqlite işlemleri yapmayayım diye bu yolu seçmiştim.…

UIScrollView içine UIButton mu koydunuz.. Yaklaşın…

Hazırlamakta olduğum bir haber uygulaması için klasik manşet fotoğrafları bölümünün (yanyana n tane fotoğraf, sağa-sola kaydırılarak geçiş yapılıyor) beni bu kadar uğraştıracağını sanmıyordum. Nitekim bu işlevi elde etmek kısa sürmüştü. Uygulamanın diğer kısımlarından olan haber detay ekranını tamamladığımda manşet fotoğrafına tıklanma işini de kotaracaktım. Manşet bölümü UIScrollView içerisine yerleşmiş n tane UIImageView’dan oluşuyor. UIScrollView sağa-sola doğru kaydırıldıkça fotoğraflar ekrana geliyor. Bunların üzerine aynı ebatta birer tane görünmeyen UIButton eklediğimde bu sorunu çözeceğimi sanmıştım. Ne hikmetse eklediğim butonlar (farketmeniz için boylarını kısalttım ve yeşil transparan renk ile kapladım) dokunulduğunda tepki vermiyordu. İçinde bulundukları UIScrollView “bana dokunabilirsin, ama çocuklarıma asla!” diyordu. Google’ı…

Yazılımcı dediğin yılda en az bir kere shell script yazmalı

Başlığı lafın gelişi yazdım. Yoksa böyle bir iddiam yok. Eski dost shell script yazımda uzun anlattığım için burda kısa geçeyim: shell script yazmayı, daha doğrusu shell script yazmayı sevmeyi bundan 13 sene evvel Ankara’da çalışırken o zamanlar arkadaşım olan birinden öğrenmiştim. Başı sıkıştığında shell script ile kotaramayacağı iş yoktu. Bu gece de benim başım sıkıştı. Üzerinde çalıştığım iOS uygulaması için sağolsun Apple’ın dikte ettiği 12 farklı boyuttaki (180×180, 120×120, 152×152, 76×76, 80×80, 40×40, 87×87, 58×58, 57×57,29×29, 50×50, 22×22)  ikonları hazırlıyordum. İlkinde üşenmedim Photoshop’la hepsini boy boy kesip biçip -daha doğrusu resize edip- projeye ekledim. Cihazda nasıl göründüğüne malesef en son…

XCode #pragma mark ne işe yarar?

Deneme yanılma ile öğrendiğim küçük ama faydalı bir Xcode özelliğinden kısaca bahsedeyim; çok seveceğinize eminim. Xcode’da kodlama yaparken herhangi bir yerde #pragma mark Burası Kodun Falanca Kısımları İle İlgilidir gibi bir ibare yazarsanız Xcode’un üst kısmındaki “Jump Bar” (kodun ilgili kısımlarına hızlıca dalma için kullanılıyor) alanında fonksiyonlar sizin belirttiğiniz açıklamalarla birlikte yer alıyor. “#pragma mark” ile fonksiyonları sadece başlıklar ile değil düz yatay çizgilerle de ayırabilirsiniz. Bunun için; #pragma mark – ifadesi yeterli..

NSNotification BAD_ACCESS verince..

İki gündür uğraştığım sorunun çözümüne nihayet ulaştım. Kısaca problemi anlatayım, başınıza gelirse demedi demezsiniz 🙂 UIButton’dan ürettiğim içinde timer olan özel bir class’ım vardı. Bu class’ın initWithFrame methodunda bir notification observer’i yani uygulamadan bir notification gelince cevap verecek fonksiyonu tanımlayan şu satır yer alıyordu. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ilgiliFonksiyon:) name:@”ilgiliNotification” object:nil]; Bu buton tipinden 3-4 tane oluşturup program ile ekrana yerleştiriyordum. Bu butonlara tıklandığında ekranda farklı işlemler oluyordu, mutlaka onlar da durumu etkiliyordu ama şimdi o detaylara girmeyeceğim. Butonlara hiç tıklamazsam ve ekranda herhangi bir şeyi değiştirmezsem sadece notification fırlatacak işlemleri yaptığımda uygulama sorunsuz çalışıyordu. Butonlar notification’lara düzgün tepki veriyordu. Fakat…

Zend’de view render ederken değişkenleriniz değişmiyorsa!

Bu gece de uzun bir debug sürecinden sonra uyuz bir durumun çözümüne ulaştık. Unutmadan hemen kendime not düşeyim, ayrıca yarın bir gün saftorik bir eleman ‘abi bu nasıldı?’ derse ‘Blogumda var, yoksa okumadın mı ha!!!!’ diye yalandan celallenebileyim 🙂 Bu gençler olmasa biz neyle eğleneceğiz yahu.. Zend’de bir action’da siz başka bir şey zorlamadığınız müddetçe o action’ın adında bir view dosyası render etmeye çalışır sistem.. Mesela TestController’ında denemeAction()’ını varsa bu action çalıştırıldığında views/scripts/test klasörü altında deneme.phtml’i bulunur, render edilir ve layout dosyanız ne ise onun içine render edilmiş hali oturur. Controller’da view katmanına $this->view şeklinde erişilir. View’a bir değişken gönderilmek…

Zend Framework’de Veritabanı ile Routing

Zend’de routing listenizi -en azından bir kısmını- veritabanında tutmak istiyorsanız Bootstrap’da bu işi yapamıyorsunuz. Çünkü henüz bootstrap aşamasında veritabanına bağlanamıyorsunuz. Google’da aradım taradım, bazı öneriler gördüm ama çözemedim. Routing işine girmeden önce, artık kullanılmayan URL’ler için ErrorController’da db taraması yapıp doğru linke 301 (Permanently Moved) hatası ile yönlendiriyordum. $this->_helper->redirector->setCode(301); $this->_redirect($yenilink); Burada yönderme yapılıyor. Yani kullanıcı açısından tarayıcının url’i değişiyor. Ziyaretçi artık kullanmadığınız mesela http://falanca.com/filanca adresine girmek isterken siz onu http://falanca.com/yeniadres gibi bir adrese yönlendirmiş oluyorsunuz.Bu sırada 301 hatası verdiğiniz için aynı linke arama motorları da erişmek istediğinde 301 hatasını dikkate alıp arama sonuçlarını güncelleyebiliyorlar. O nedenle 301 önemli. Routing’de ise…