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

BT Hayat Yazılar

CocoaPods ile QuickDialog Kurulumu

Bir önceki yazıda bahsettiğim kütüphanelerden QuickDialog‘u web sitesindeki yönergeleri defaatle tekrarladığım halde başarılı bir şekilde projeme dahil edemedim. Sürekli “#import <QuickDialog/QuickDialog.h> file not found!” deyip durdu. Forumlarda da çare bulamadım. Ofisteki bir arkadaşımın “CocoaPods‘la kurmayı deneyelim” demesiyle kolları sıvadık. Aslında bir önceki yazıda CocoaPods’dan da bahsetmiştim ama oraya yazdığım üzere CocoaPods’un sadece bu kütüphanelerin son sürümlerini takip edebilmek için bir araç olduğunu düşünmüştüm. Meğer bu paketleri projemize dahil edebilmek için kullanılıyormuş CocoaPods. Önce CocoaPods’u kuralım. Web sitesinde de yazdığı üzere CocoaPods “ruby gem” adı verilen bir platform üzerinden kullanılabiliyor. Ruby gem’i kurmak için de makinemde zaten kurulu olan “macports” platformunu…

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…

Karakuyruk Time’a Kapak Oldu(!)

10 ay önce imadeskins.com‘da hazırladığım Karakuyruk temalı iPhone koruyucu etiketinden bahsetmiştim. Geçen sürede girişimci arkadaşlar boş durmadılar ve işi ilerlettiler. Artık kılıf da üretiyorlar. Bunu haber alır almaz yine Karakuyruk temalı bir çalışma yaptım. Diğer koruyucu bir kaç gün öncesine kadar hala telefonumda sapasağlam duruyordu. Robotix blogumda detaylı anlattığım iPhone kontrollü robot çalışmalarım sırasında kullandığım vidalar sürtündükçe iPhone’umdaki koruyucuya zarar verdiler, ben de çıkarmak zorunda kaldım. Bu yeni kapak hızır gibi yetişti. Kapak yine güzel kutusunda geldi, koruyucu kılıfa nazaran daha kolay kullanılan bir ürün olduğu için herhangi bir talimatname kutusundan çıkmadı. Kapağın malzemesi çok temiz. Ben yine sadece arka…

BT’cinin Hayatı

Madem BT’ciyim, madem şükrettiğim bir hayat sürüyorum; o halde buna vesile olanlara dair bir kaç kelam edebilirim. İstanbul’daki büyük dayım kimya mühendisi olduğundan orta son sınıfta dayımla tanışana kadar ben de kimya mühendisi olmak istiyordum. 93’te kendisi ile tanıştığımda çoktan mühendisliği bırakmış ticarete atılmıştı. Mağazalarındaki bilgisayarlarda ETA’nın cari, stok, fatura vs işleri için hazırladığı yazılımları kullanıyordu. Bana bunları nasıl kullanacağımı ezberletmişti (F3, F2, F2 şeklinde).. Sonra bir mağazasındaki bilgisayarcı elemanı (sağsa kulakları çınlasın; Murat Tolu) benim yeni kullanmayı öğrendiğim ekranlara benzer şeyler(!) hazırlıyordu. Bir şeyler yazıyor, sonra F5’e basınca bizim ekranlar gibi görüntüler ortaya çıkıyordu. Meğer buna ‘program yazmak’ deniyormuş.…

Javascript ile veri sorgulama: LINQ

Bir süredir üzerinde çalıştığım klasik HTML tabloları MS Excel’deki gibi Pivot Table mantığında işleyebilecek bir mini javascript projesi giderek daha karmaşık hale gelmeye başladı. Yolun başında bağımsız fonksiyonlarla kullanıyorduk ama jQuery ile o kadar iç içe idi ki en iyisi bir jQuery plugini olsun dedik. Arayüzünde Twitter Bootstrap kullandığımız projemizi github hesabımızdan takip edebilirsiniz. Henüz tamamlanmadı ama kısa sürede neticeye varmayı ümit ediyoruz. Projede başta Jquery ve Twitter Bootstrap olmak üzere pek çok javascript plugin kullandık. Bunlardan biri bu yazının konusu: LINQ. LINQ’i, javascript tabanlı bir data sorgulama aracı olarak tarif edebiliriz. JSON tabanlı veriyi istemci üzerinde istediğini kriterlere göre…

Robotix.co

Son günlerde Arduino ve Romo‘ya -ve kickstarter’daki başarılı tüm teknolojik projelere- kafayı taktım. Arduino’yu bir yıldır takip ediyordum ve belirli bir amaç edinemediğimden ilerleme de kaydedemiyordum. Romo sayesinde amacım belli oldu. Ona yakın bir robot yapabilecek kadar bu işleri öğrenmek istiyorum. Acaba ne kadar sürede bitirebilirim diye kafa yorarken bütün merhaleleri bir blogta toplamanın daha faydalı olabileceğini düşündüm. Böylece robotix.co ortaya çıktı. Yeni bloguma da beklerim.

Leyla ile Mecnun

İki elin parmaklarını geçmez harika bir kitabı okur gibi severek izlediğim dizilerin ve filmlerin sayısı. Çalıkuşu’nu 10 kereden fazla okuduğum gibi Red Kit’i, Karaşimşek’i, Süper Baba’yı, Ekmek Teknesi’ni, Bourne Serisini, Shrek’i defalarca izlemişimdir. Bir milyon tane hatası eksiği gediği de olsa Kurtlar Vadisi’ni de yıllardır izlerim. Pek çoğunu sonradan sevdim. Çalıkuşu kitabı aylarca koca vitrinin en altında aynı evde yaşadığımız kuzenimin dolabından bana baktı durdu, bir ödev için almıştı, bir gün üşenmekten vazgeçip aldım. Bir kaç sayfa okudukdan sonra elimden bırakamadım. Süper Baba’nın adı hiç hoşuma gitmemişti en başta ama sonra günlerini bekler oldum. Tam lise zamanlarımdı. Vadiyi 58. bölümde bir…

Karakuyruk iPhone Uygulaması yayında

Karakuyruk çizgi karakterimizin 2. sezonunun sonunda verdiğimiz sözü tuttuk ve iPhone uygulamasını hazırlayıp AppStore’da yayınladık. Artık siz de kendi karakuyruk maceralarınızı oluşturup isterseniz Twitter’da, isterseniz Karakuyruk’da paylaşabilirsiniz. İlk versiyonunda özellikleri sınırlı tuttuk. Yayınlanan karakuyrukların beğenilmesi, yorum yapılması gibi özellikler henüz yok. Eğer uygulamamız beğenilirse ikinci sürümüne bunları ve ilaveten hoşunuza gidecek daha güzel özellikleri eklemeyi planlıyoruz.

Objective-C NSNotificationCenter ile veri aktarma

Objective-c’de iki ekran (yani iki viewController) arasında veri alışverişi yapmak için çeşitli yöntemler var. A ekranı B ekranını çağırıyorsa çağırmadan evvel B’deki bir değişkene değer atayabiliyoruz. Bu konuya dair yazımızı inceleyebilirsiniz. Bu yazımızda ise modal olarak çağırılan B ekranında işimiz bittiğinde A ekranına veri aktarmanın bir yöntemi olan NSNotificationCenter’e örnek vereceğiz. NSNotificationCenter isminden de anlaşıldığı üzere program esnasında herhangi bir ekrandayken “bir şey oldu!” demenin yoludur. İşte daha yolun başındayken programımızda diyoruz ki; “falan şey” olursa şu fonksiyonu çağır. Her ekranda “falan şey” olduğunda farklı fonksiyonların devreye girmesini tanımlayabiliyoruz. Örneğimizde AviewController içerisinde BviewController’i çağırdığımızı, B’de bazı işlemler yaptıktan sonra kapatıp…

Objective-C İki ViewController arasında veri aktarma

Objective-C’de iki ekran yani iki viewController arasında veri aktarmanın çeşitli yolları var. Eğer storyboard üzerinde A ekranından (AviewController) B ekranına (BviewController) segue (geçiş) tanımlanmışsa bu geçiş yapılmadan hemen önce – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender fonksiyonunu kullanarak B’nin bir değişkenine değer aktarabiliriz. Bunun için öncelikle BviewController.h dosyası AviewController.h dosyasında import edilir. Böylece B nesnesi A’da kullanılabilir. #import BviewController.h Sonra AviewController.m dosyası içerisinde  – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender fonksiyonu tanımlanır. – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if ([[segue identifier] isEqualToString:@”segDeneme”]) //birden fazla segue varsa storyboard üzerinde seguenize bir isim vermelisiniz. { BViewController *bvc = [segue destinationViewController]; bvc.stringDegisken=@”A’dan B’ye selam olsun”; //tabi BviewController’da string tipinde stringDegisken isimli bir…