Bir Jason Bourne fanatiği olduğumdan beri Matt Damon’un filmlerini merakla bekliyorum. Jason Bourne serisinin başarılı yönetmeni Paul Greengrass’ın çektiği Green Zone’da yine Matt Damon ve…
Bir Jason Bourne fanatiği olduğumdan beri Matt Damon’un filmlerini merakla bekliyorum. Jason Bourne serisinin başarılı yönetmeni Paul Greengrass’ın çektiği Green Zone’da yine Matt Damon ve…
İki haftadır iPhone kursumuzla ilgili yazı yazamadık. Bunun en büyük nedeni kurs dışındaki işlerimizin aşırı yoğun olmasıydı. Kursdaki konular da giderek daha karmaşık hale geldiği için malesef yazacak vakit bulamadım. Bir ara screen-recording ile video şeklinde hazırlayayım dedim ama sessiz bir ortamda boşluğa konuşmayı beceremedim. Bir kaç popüler video blog inceledim, ama bana göre değilmiş. Hasılı, klasik usüle devam.
Bugün sanırım 10. dersi gördük. Sayısı mühim değil, mevzusu mühim. Artık dışardan data alabileceğimiz konulara geldik. Hocamız önce plist denen dosyalardan nasıl veri okuyabileceğimizi anlattılar. Kısa fakat çok yararlı bir konu olduğundan blogda paylaşmak istedim.
Plist dosyaları, anahtar=>değer (key=>val) formatında veri içeren basit xml dosyalarıdır. Aslında bütün iPhone/iPad uygulamalarında zaten bir tane plist dosyası (uygulama_adi.plist) bulunmaktadır ve uygulamanın icon dosyaları, uygulamanın görünecek adı, ana nib dosyasının ne olduğu gibi bazı ayarlar bu dosyada tutulur.
Biz de istediğimiz kadar plist dosyası oluşturup projemizin resource kısmına koyabilir ve uygulamamızda bu dosyalardan faydalanabiliriz.
Basit bir örnekle konunun detaylarına girelim: Amacımız yine yemek tarifleri uygulaması yazmak olsun. Ama bu kez datamızı kodun içerisine değil bu plist dosyalara yazalım. İnşallah ileriki konularda da veritabanına yazarız. Uygulamamız “navigation based” bir uygulama olsun ve ilk açıldığında listede yemek kategorileri olsun, tıklandığında ikinci listede de o kategorilerdeki yemekler görünsün. Sonraki aşamaların mantığını zaten daha önceki yazılarda uzun anlatmıştık. O kısımlara hiç girmeyelim. Sadece birbiri ardınca iki listeyi plistlerle doldurmayı görelim.
Bir önceki yazıda MySQL için split_str() fonksiyonunu oluşturmuştuk. Kelimeleri verdiğimiz karaktere göre bölüyordu. Amacımız; ad ve soyad değerleri tek bir sütunda isim olarak verildiğinde bu isim bilgisinden ad ve soyadı ayrıştırabilmek idi. split_str() fonksiyonu datayı istediğimiz karaktere göre (örneğin boşluk karakteri) bölebiliyor ve ortaya çıkan gruplardan hangisini görmek istiyorsak onu almamızı sağlıyor. Ama problemimiz için bu yeterli değil. Çünkü isimler her zaman “Fehim Tabak” gibi bir ad ve bir soyaddan oluşmuyor. İki ad ve bir soyad, hatta kulakları çınlasın sevgili arkadaşım “Yusuf Ziya Bektaş Köseoğlu” gibi üç ad ve bir soyad da olabiliyor. Böyle bir bilgiden soyadı ve adı ayrıştırabilmek için “en son kelime soyaddır” ve “en son kelime hariç diğerleri addır” diyebilmek gerek. Aşağıda yazacağımız count_str() fonksiyonu işte bu noktada devreye giriyor.
CREATE FUNCTION COUNT_STR(
x VARCHAR(255),
delim VARCHAR(12)
)
RETURNS INT
RETURN LENGTH(x)-LENGTH(REPLACE(x,delim,”));
Bu fonksiyon parametre olarak verdiğimiz karakterin yine parametre olarak verdiğimiz kelimenin içerisinde kaç kere geçtiğini döndürüyor. Boşluk ‘ ‘ karakteri ilgili alanda kaç kere var diye kullanırsak ‘Fehim Tabak’ için 1, ‘Yusuf Ziya Bektaş Köseoğlu’ için 3 döndürür. Bu sayının bir fazlası bize o alanda kaç kelimelik bir bilgi olduğunu yani ismin kaç kelimeden oluştuğunu döndürür.
Excel’den aldığım bir veriyi hazırladığım bir tabloya aktarmam gerekiyordu. Tablomda ad ve soyad sütunları ayrı ayrı olacak şekilde tasarlanmıştı ama aktarmak istediğim Excel dosyasında isim…
Geçtiğimiz sene eşime iMac almakla başlayan Mac yolculuğumuz büyük bir keyifle devam ediyor. O zamanlar daha yeni aldığım Asus laptop’u önce MacOs’a çevirmek sonra da satmak için ne kadar uğraştığımı “olMAC ya da olmaMAC” başlıklı şu yazıda uzuun uzun anlatmıştım. En nihayet kendime bir Mac Mini almayı başarmıştım. Zaten işyerinde daha öncesinden MacOs kurulu Dell Vostro kullanıyordum (bu Dell’lerin yerine de Mac Mini aldırma çalışmalarım hızla devam ediyor).
Hasılı, Mac kullanmaya başladığımdan beri bilgisayar karşısında işim gereği saatlerimi harcarken artık büyük bir keyif alıyorum. Çocukluğumdan beri bilgisayar başında sadece program yazdığımda (ve gençliğimde Tomb Raider oynadığımda) saatlerin nasıl geçtiğini anlamazdım. Şimdi bilgisayarı bir son kullanıcı olarak kullanırken de akıp gidiyor zaman.
Format denen illet hayatımdan uçup gitti. Antivirüs kurmak, crack aramak derdi kalmadı. Komut satırında coşmak istediğim zaman daha doğru düzgün tam ekran bile olamayan aptal CMD’ye mahkum olma devri bitti. Bir sunucuya bağlanmak için Putty gibi harici programları değil doğrudan kendi komut satırımı kullanabiliyorum. Dosyalarım disk üzerinde A, B, C gibi ayrı ayrı ağaçlarda değil, tek bir “/” köküne (root) bağlı. Unix’in 1970’lerden beri süregelen sapasağlam yapısını işletim sisteminin iliklerinde olduğunu bilmek bir nevi Hummer kullanmak gibi bir şey (Hiç Hummer’a binmedim ama herhalde sağlam bir arabadır).