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

Kategori: ipucu

Mobilist’ten iOS Uygulama Geliştirme İpuçları

Geçen ay (21 Nisan) Bahçeşehir Üniversitesi’nde yapılan Mobilist – Mobil Uygulama Geliştirme Konferansı’nda aldığım bazı notları kaynakları ile birlikte yayınlamak istiyorum. Konferans’da iOS konusunda Sarp Erdağ, Taylan Pince ve Emrah Ayanoğlu konuşma yaptılar. Bilhassa Sarp Erdağ (Hızlı iOS ve Mac uygulama geliştirme) ve Taylan Pince’nin (iOS ve XCode Üzerine Pratik Öneriler) sunumları çok ilgimi çekti. Sarp Erdağ’ın sunumundan aldığım notlar: Uygulama inceleme siteleri: App Annie, 148Apps, Distimo Uygulamanızı minimum ihtiyaçları karışlayacak şekilde hızlıca çıkarın, sonraki güncellemelerle diğer özellikleri ekleyin. Geliştirme safhasını kısa tutun Arayüz sade ve kullanışlı olsun, abartılardan, karmaşık detaylardan kaçının Kimler nasıl mobil arayüzler hazırlamış diye inceleyin: pttrns.com…

iPhone Explorer

iPhone’daki dosyalarınızı Sync belasına bulaşmadan almak istiyorsanız ücretsiz iPhone Explorer (yeni adıyla iExplorer) tam bu iş için biçilmiş kaftan. Voice Memo’daki 40 dakikalik ses dosyasını iPhone’u sync etmeden nasıl alabilirim diye araştırırken bu harika uygulamaya rastladım. Windows versiyonu da mevcut. iPhone’unuzdaki fotoğraflar, videolar, voice memo gibi medya öğelerinin yanısıra uygulamaların içindeki Documents klasörünü de gösterip oradan data almanızı sağlıyor. Sürükle bırak yöntemi ile iExplorer’daki dosyaları masaüstünüze kopyalayabiliyorsunuz.

Chrome’da file objesini tetiklemek

  Web sayfanızda File input öğresi yerine bir buton veya link ile dosya diyalog penceresini açmak istediğinizde ilk yaptığımız şey “display:none” diyerek mevcut file input nesnesini gizlemektir. İşte chrome da tam buna gıcık oluyormuş. O nesne görünmez olduğu için jquery ile $(“#file_input_nesnesi”).trigger(“click”) dediğinizde bir tepki vermiyor. Yapılacak iş file input nesnesini başka bir şekilde gizlemek. Mesela “position:absolute; top:-999px; left:-999px” şeklinde stil vererek gizlediğimizde sorun kalmıyor..

Jcrop ve Twitter Bootstrap çakışması

Bir mikroproje için lazım olan Jcrop (görselleri kesmeye yaran güzel bir jQuery eklentisi) düzgün çalışmayınca mutlaka başka bir Javascript ile ya da CSS ile çakıştı diye düşündüm. Yanılmamışım, sayfadaki diğer Javascript ve css dosyaları sırayla kaldırdığımda sorunun projede kullandığım Twitter Bootstrap css dosyaları ile çakışmasından kaynaklandığını farkettim. Her ikisi de çok kullanılan kaynaklar olduğu için kesin bu problem başkalarının da karşısına çıkmıştır ve bir çözüm üretmişlerdir diyerek Googling yaptım ve bir iki çözümü denedikten sonra sorunumu şu adresteki düzelme ile hallettim. Jquery.Jcrop.css dosyanıza şu düzeltiyi yaparsanız, ya da bunu en son yüklenecek şekilde ayrı bir css’e koyarsanız sorun düzeliyor: /* Fix for using with Bootstrap, from Twitter */…

SEO uyumlu link

SEO yani arama motoru optimizasyonu için haber.php?id=110 gibi manasız bir link yerine haber/bugun-teknoparka-kar-yagdi gibi semantik yani kelime bakımından anlamlı linkler çok mühimdir. Google’da “teknopark” aratıldığında bu haber sayfasının çıkması için bu şekilde link vermek, alınacak SEO önlemlerinden biridir. SEO uyumlu linkler genelde içeriğin (haber, ürün, sayfa vs) orijinal başlığındaki Türkçe özel karakterler İngilizce benzerleriyle (ö yerine o gibi) değiştirilerek ve noktalama işaretleri kaldırılıp kelime aralarındaki boşluk yerine “-” (orta tire) konarak oluşturulur ve bu şekilde kaydedilir. Gerçi bunun bir kaç taklası var. Mesela haber.php?id=110#bugun-teknoparka-kar-yagdi demek de SEO için aynı etkiyi verir. Bu örnekte yine id önplandadır, haberin içeriği id ile…

MySQL’de bozuk view’ların detayını görmek

MySQL view’ları siz view’i oluşturduğunuz tabloda yapısal değişiklikler yaptığınızda bozulurlar. Kullandığınız veritabanı istemcisine bağlı olarak MySQL’deki bozuk viewlarınızı oluşturan sorguyu göremeyebilirsiniz. PhpMyAdmin gösterir mesela. Göremediğiniz view’ın içeriğini not almamışsanız düzeltmek için epey terlemeniz gerekir. Eğer istemciniz bozuk view’ları göstermiyorsa şu query’i kullanarak view detayını bozuk da olsa alabilirsiniz. select view_definition from information_schema.views where table_name = “buraya_view_adi_gelecek”;

Group Concat!

İyi kötü 11 yıldır PHP-MySQL-PostgreSQL ile uğraşıyorum. Binlerce kez tablo şeklinde listeler hazırlamışımdır; sipariş listesi, müşteri listesi gibi. Genel olarak benzese de aslında sipariş listesi ile müşteri listesi ayrı yapıdadır. Müşteri listesi tek tablodan ibaret olabilir. Müşterinin adı, soyadı, adresi, telefonu vs. Bunları alt alta listelemekte hiçbir beis yok. Ama sipariş listesi öyle değildir. Siparişin genel bilgilerinin (sipariş tarihi, siparişi veren müşterinin id’si, siparişin durumu vs) yanısıra bir de o siparişte geçen ürünlerin id, adet ve belki o anki satış fiyatlarının tutulduğu ayrı bir tablo vardır. İç içe query’ler olmasın, kullanıcının da kafası karışmasın diye  sipariş listesini oluştururken sadece sipariş…

Form’u sayfadakinden farklı bir charset ile göndermek

Hiç iso-8859-9 charsetinde hazırlanmış bir sayfadan utf-8’e göre hazırlanmış başka bir sayfaya form datası göndermeniz gerekti mi? Bize gerekti. Kütüphane web sitemiz biraz eski kalmış ve iso-8859-9 formatında hazırlanmış. Yeni kurulan kütüphane yazılımı ise utf-8’e göre hazırlanmış.  Web sitesindeki arama kutucuğuna “ağaç”,”şair”, “ırmak” gibi Türkçe özel karakter içeren kelimeler yazdığınızda karşı tarafa a?a?, ?air, ?rmak gibi abuk subuk karakterler gittiğinden aramalar sonuç vermiyordu haliyle. Bu sorunu gidermek için önce utf8’e çeviren javascript fonksiyonlarını inceledim. Malesef bulduğum bir kaç tane fonksiyon sadece belli karakterleri düzeltiyordu. Aramaları biraz daha derinleştirince formların accept-charset diye tam bu iş için hazırlanmış bir özelliği daha olduğunu…

YouTube Videolarına Önizleme Resmi

Web sitenizde video galeri yapmak ve bu hizmet için YouTube’dan yararlanmak istiyorsanız vidoların önizleme resimlerine ihtiyaç duyacaksınız. Aşağıdaki örnek url’leri kullanarak videoların önizleme imajlarına ulaşabilirsiniz. Videoyu verdiğiniz gibi imaj dosyasını da YouTube üzerinden verebilir ya da yazacağınız kodla sisteminize kopyalayabilirsiniz. O size kalmış: Örnek YouTube videosu: http://www.youtube.com/embed/4rb8aOzy9t4 Önizleme imaj dosyası yolu: http://img.youtube.com/vi/4rb8aOzy9t4/1.jpg http://img.youtube.com/vi/4rb8aOzy9t4/2.jpg http://img.youtube.com/vi/4rb8aOzy9t4/3.jpg

MacosX İkinci Monitörde Dock ve Menü Kullanmak

Henüz 6 aylık olan Mac Mini’miz bugün GG’de yeni sahibine kavuştu. İş böyle olunca Mac Book Air’i büyük monitöre bağlamak ve konfigüre etmek lazım oldu. Miniport-VGA adaptörü sayesinde ikinci monitör problemsiz çalıştı fakat menü ve dock küçük ekranda kaldı. Bu can sıkıcı durum çok şükür fazla uzun sürmedi. Meğer “System Preferences / Displays” ekranında orta tab’da yer alan “Arrangement” sadece monitörlerin hizasını değil, dock ve menünün nerede olacağını da ayarlamamıza yarıyormuş. İnternette yabancı bir sitede nasıl yapılacağını gösteren videoyu izlemeseydim hayatta aklıma gelmezdi. Yandaki ekran çıktısında da görebileceğiniz üzere sağ taraftaki küçük ekran üzerindeki temsili menü çubuğunu fare ile sol…