29 Mayıs 2012 Salı

Apple IOS Uygulamamı Reddetti..Raund 1


Merhaba .. Önceki yazımda 2 günde yaptığım IOS uygulamasından bahsettim..Uygulamayı hatırlatmak gerekirse yaptığı temel olarak her gün internet sitesindeki bilgiyi parse etmek ve veritabanına eklemek .. Parse edildiği zaman kullanıcıya Notification ile göstermek ve istediği zaman kayıtları görmesini sağlamak .. Kayıtları görürken de 1 tane daha kısıtlama var .. Tümü - Okunmayan - Okunan
Uygulamayı 2 günde yaptım ... Gururla AppStore a yolladım ve kabul edileceğine %100 gözüyle bakıyodum ..Çünkü kendimi bile aşarak çok güzel bi iş ortaya çıkardım , hem de bu kadar kısa bi sürede ..Yani Android uygulamasından daha güzel oldu desem sorun olmaz heralde..
Uygulamayı AppStore a gönderdikten sanırım 1 hafta sonra RED cevabı geldi .. Şu an uygulama iconunun yanında kırmızı işaret var ve bu çok sinir bozucu ..Uygulamayı niye reddettiler diye baktım ve daha önce görmediğim bi neden gördüm ->"Web e çok bağımlı olması" .. Yani ingilizcesiyle "
  • 2.12: Apps that are not very useful, are simply web sites bundled as apps, or do not provide any lasting entertainment value may be rejected "
 İşin biraz daha özüne inersek ... Gerçekte denen şey şu -> "the App Store does not accept or distribute web apps."  Yazıyı ben bold yapmadım onlar yaptı ... Yani diyoki web uygulamasını süsleyip IOS uygulaması yaparsan yanımıza gelme ..
Uygulama gerçekten de web e %70 - %80 bağımlı .. Yani uygulamayı ilk açtığınızda eğer ki internet bağlantınız varsa sadece 1 tane kayıt görülüyo ve diğer kayıt için diğer günü bekliyosunuz .. Ama internet bağlantınız yoksa veritabanı bomboş ve ya internet bağlantısını açıcaksınız ya da güle güle ..
Aslında  pes de edebilirdim ve halaa edebilirim .. Ama geçmiş uygulamalardan edindiğim tecrübeyle Kore Mahallesindeki (Çorlu'da yaşayanlar bilir) insanlar kadar çingene olucam ...
Şimdilik ek olarak düşündüğüm şey veritabanını başlangıçta 30-40 kayıtla doldurmak , sonradan web deng geenleri üzerine eklemek ... Gerekirse 1 buton koyucam tekrar incelemeye yollucam .. İllaa ki birisi kabul edicek ya da bu böyle sonsuza kadar sürücek ...
Yani Raund 1 de yenik durumdayım ama maç daha yeni başladı :)

20 Mayıs 2012 Pazar

2 Günde 1 IOS uygulaması..Hem de Bitti :)


Merhaba ... Önceki yazımda IOS projesinden bahsetmiştim ve hedef olarak bugünü vermiştim..Proje bitti ve App Store a yolladım ... Dünki yazımda 1-2 küçük sorundan bahsetmiştim , veritabanından sorgulama yaparken "out of memory" hatası .. Hatanın 2 tane kaynağı olabilir .. 1 - memory management , 2-benim küçük saçmalıklarım ... Tahmin ettiğim üzere 2.seçenk çıktı ...
Veritabanında okundu bilgisi tutmak için "okundu" kolonu tuttum ve basit olarak okunduysa "1" okunmadıysa "0" olucaktı .. Ben de sadece okunmamışlar ya da sadece okunanları filtrelemek için basit bir where ile sorgu yapıyodum ve bana sonuç dönmüyodu  , sadece "out of memory "hatası dönüyodu .
Bugün bidaha baktığımda gördüm ki "where" kısmından sonra "okundu"  değil "okunan" diye arıyomuşum ... Yani olmuyan kolonda sorgu .. Düzelttikten sonra sorgu çalıştı ve istediğim işi yaptı .. Halaa "out of memory" hatası var ama sorun değil , istediğim şeyler oluyo ...
Projeyi bitirdikten sonra hemen Android uygulamasındaki gibi resimleri koydum , Android uyguamasında olmayan Splash ekranı koydum .. Sanırım Android den daha garanti olan Notification u koydum ... Aslında Notification u deneme fırsatım olmadı .. Çünkü Notification günde 1 geliyo ve ben beklemedim .. Bu yazıyı yazarken dedim ki bari 1 dakikada 1 notification vercek şekilde deniyim , böylece anlarım olucak mı diye , derken ipad i açtığımda karşımda yaklaşık olarak 4 tane uygulama notification u geldi .. Sorun değil..4 tane de iyidir...
Bu uygulama güzel ve hızlı oldu ... Artık bana ilerisi için çok büyük referans olucak ... Ayrıca uygulamanın da kaynak kodlarını açtım .. İsteyenler için link : http://www.4shared.com/zip/FHmydOvR/Gunluk_Hadis_IOS_Kaynak_Kodlar.html ...
Şimdilik Apple ın uygulamayı kabul etmesini umuyorum ... Uygulamada reklam yok .. Kim ne kadar sevdi , ne kadar bakıyo sadece Apple sitesinden bakıcam ve tabii ki güzel yorumlardan :) ...
Bu küçük haftasonuna bu kadar iyi bir proje  sıkıştırmak beni programlama açısından çok rahatlattı ... O kadar IOS PDF si okuduktan sonra extra kütüphane kullanarak bunları yapmak iyi geldi...


19 Mayıs 2012 Cumartesi

2 Günde 1 IOS Projesi Denemesi .. Hem de Notification lu


Merhaba ... Her yazdığım yazının bi hikayesi oluyo aslında ... Bu yazıyı da tahmin edileceği gibi bi olay sonrasında yazma isteği duydum...
Bugün IOS yazim dedim , yazarken de Notification ları merak ettim..Daha doğrusu bu adamlar nasıl bu kadar güzel notificationları veriyo .. Nasıl gelmesi gerektiğini biliyo falan .. daha sonra araştırdığımda 2 tür notification sayılacak şey gördüm .. 1 Web servisin programı uyandırmak için yolladığı notification (Haber uygulamaları) ... Diğeri de uygulama içinde yaptığın , web tarafıyla fazla alakalı olmayan tarafı ...
Daha sonra olay gelişti ve Günlük Hadis in iphone versiyonuna dönüştü..Önceleri sadece HTML i parse ediyodum .. Sonradan Notification ile her gün HTML parse et , kullanıcıya göster..Daha sonra Veritabanına kaydet , Veritabanı varsa 2 tane bölümümüz oldu (Bugün - Tüm kayıtlar) ... İşte o anda Tabbar devreye giriyo ... Daha sonra Tüm kayıtlar için de filtreleme yap (Tümü - Okumayanlar - Okunanlar ).Orda da devreye UIActionSheet devreye giriyo ve problem tam da orda başlıyo..

Veritabanında olan kayıtlar belli (id integer primary key autoincrement,tarih text,hadis text,okundu text)...eğer okunduysa okundu kolonu "1" okunmadıysa "0" olucak...Ama gel gör ki basit bir where sorgusunda bile hata veriyo .. Hata "out of memory" ... Neyden kaynaklandığını pek anlamadım ama şuan saat 02:05 ve ben yarım saat önce zaten pes etmiştim ... Yarın devam edicem..

 Sorunun nerden kaynaklandığını bilmemekle beraber tahmini olarak şunları düşünüyorum :
Ne kadar obje - class - IBOUTLET varsa türettiğim hiçbirini release etmedim..Aslında bazılarını release etmeme gerek yok çüknü XCode zaten bu işi benim için yapıyo .. Ama geri kalan IBOUTLET bozuntularını bi yerlerde "nil" etmem lazım ... Daha çok ViewDidUnload kısmında diye düşünüyorum , ama program bitmeden zaten program birkaç tane sayfa açıyo ... Belki üzerinde çalıştığım veritabanı nesnesini bi yerde kapatmadan diğer yerde açmaya çalışmış gibi bişey yapmış olabilirim..
Diğer seçenek ise  , uykusuzluk ve basit kod hatalarından kaynaklanan durumlar ..
Büyük ihtimalle 2.si olucak ama benim amacım uygulamayı yarın bitirip kendimi tebrik etmek ...
Uygulamanın son durumunu ve eğer çözebilirsem hatanın mantıklı sebebini ve çözümünü yazarım ..

17 Mayıs 2012 Perşembe

IOS , Sqlite ve Excel bütün olamayan 3 lü !


Merhaba ... Daha önceden IOS projesi yaptığımı söylemiştim ... Basit olarak yaptığım şey Excel de olan verileri Sqlite a çevirip IOS içinde listeleme , arama ve 1-2 basit şey yapmaktı .. Ama gel gör ki sorunlar hemen başladı ..
Öncelikle IOS in çok saçma bir Sqlite API si var .. Daha doğrusu insanı deli eden ... Sene olmuş 2012 , Android de mükemmel bir API var , ama IOS halaa o konuda çok zayıf kalmış .. Bu çok önemli bir sorun değil .. Yardımınıza açık kaynak kodlu dostlar yetişiyor :) ...
İkinci olarak da Excel sorunu ... IOS da doğal olarak Sqlite gibi Excel kullanımosunuz ...Sebebi de belli zaten .. Excel Microsoft un ve bedava vermiyo ...
İşte tam bu zamanda Excel verilerini kullanmak için tek bir seçenek kalıyo Excel i Sqlite a çevirmek .. Mantık olarak çok basit bişşey olması gerekirkern, sadece 1-2 tıklama ile çevirmek gerekirken beni en çok zorlayan şey oldu ..
Sorunlar üst üste geldi ... IOS geliştirmek için tabii ki MAC OS X kullanıyorum ve mecburum da zaten ... Çevirmek için 1 program buldum , o da tam çevirmiyor .. Herhangi bir hata aldığında "banane , ben sana yardım etmem" modunda ..Diyelim ki sorun yok , bu kez de kendisi sorun çıkarıyo ... Normalde kayıtların UTF-8 olması gerekirken Ingilizce de takılı kalıyo... Diğer çözümlerden bi tanesi olarak gördüğüm ise Firefox un Sqlite eklentisi .. Orda da 1-2 hatadan sonra saçmalamaya başlıyo ... Artık işlem yaptırmıyo ... Eklentiyi kaldırmak ve sonradan bi daha kurmak gerekiyo .. İşte bu saçmalıkların içinde başka yöntemler bulmak zorunda kaldım ...
Öncelikle Windows u açıp Excell i CSV ye çevirin... Dikkat -> Satırlarda ";" olmasın..sonradan CSV yi tekrar açıp Farklı Kaydet ile UTTF-8 olarak kaydedin ...  ... 2. olarak PHPMyAdmin i açın (Yüklü olduğunu varsaıyorum)...Orda Excel e uygun bir şekilde veritabanı ve tablo oluşturun ... Dikkat -> tablo kolonları UTF-8 türünde olsun ..Daha sonradan içe aktar ile CSV dosyanızı seçin , ayırma şekli doğal olarak "," siz onu ";" yapın .. İçe aktarmayı bekleyin.. Eğer ki şanslıysanız hepsini tek seferde ekler ..Benim gibi şanslı değilseniz CSV ile oynayıp kaldığınız yerden devam etmeniz gerekir ...
Kayıtlar sorunsuz eklendikten sonra kayıtları dışa aktarın .. Daha sonra Sqlite3 ü internet sitesinden indirim .. Ordadan da sql kodları yardımıyla veritabanı , kodlar ı oluştrun ve sql dosyanızı çalıştırın .. sonunda size bir sqlite veritabanı çıkıcak .. Eğer ki şanslıysanız sorunsuz biçimde kullanırsınız..

Bu yöntemlerden de anlıyacağımız , eğer ki bi proje geliştirmek istiyorsanız ve bu proje ne kadar dış kaynaklara bağlıysa veriminiz o kadar düşer ... Asıl işi kodlama ve tasarım değil çevirmeler alır ... İşte tam bu sorunu Sqlite çözüyo .. Yani sqlite IOS , Android , PHP gibi milyonlarca sisteme tam uyumlu olduğu için sizin işlerinizi daha verimli kılıyo .. eğer ki IOS için SQLIOS , Android için SQLANDROID , PHP için SQLPHP kullansaydık bugün sıkça kullandığımız birçok uygulamayı görmüyo olabilirdik...

Not : MAC OS X in kendi sqlite3 ü var ... eğer ki ".sqlite" uzantılı dosyanız varsa ordan da sqlite veritabanı oluşturabilirsiniz..

6 Mayıs 2012 Pazar

Android mi IOS mi hangisi mükemmel ?


Merhaba .... Önceki yazılarımda sitenin Android uygulamasını ve IOS uygulamasını yapmayaı düşündüğümü söyledim .. Fakat her zamanki gibi önyargılı yaklaştım ve " IOS belki olur , çok geç olur , geç olur  " falan yazdım ... Bunları yazarken sanki Android kısmını çook rahat yazıcakmışım gibi gösterdim..Ama hepsi önyargı ...

Android uygulamasında şimdi biraz sıkıntılar var .. Çözmem lazım .. Yaklaşık olarak 3-4 kütüphaneyi dışarıdan aldım .. En azından 3-4 tane de XML parser sistemi denedim .. Sonunda sanırım SAX ı seçtim .. Onun için de dışarıdan kütüphane aldım .. Tabii ki bu kadar kişiselleştirilebilir olması mükemmel ama Android in kendisinde yer alan XML Parser en basiti olmalıydı (Belki de SAX vardır )

IOS tarafında ise daha normal kontrolleri kullanamadığım için zaten XML Parse olayı hayal olarak geliyodu ... Ama gel gör ki NSXMLParser class ı mükemmel bir arayüz sunmuş .. Örnek bir projeyi incelerken gördüm ve resmen "işte bu " dedim ...

Android de her connection dan sonra bir inputstream döner ve siz ona göre bişey yaparsınız .. Bazen okuması çok zahmetli olur ..Sanırım o java nın azizliğinden ..Ama IOS kısmında NSDATA ile o olay da resmen bitiyo .. Yani milyonlarca interface i implement etmen gerekmiyo .. Bu da zaman ve mantık tasarrufu ...

İşte tam bu zamanlarda çok karmaşık bi hal alıyorum .. Yani IOS u baştan beridir imkansız olarak görürüm ve ara ara bu durum gelişir..Bazen de böyle kolaylıklar ve pratiklikler görünce "saçmala " diyorum kendime .. Önyargılarım olmasaydı şimdi sanırım ikisinde de çok iyi olabilirdim..

Bu olaydan sonra sitenin IOS uygulaması için aklımda daha çok şimşekler çakmaya başlıcak .. Zaten kötü de olsa vizeler de bitti .. Artık "GERÇEK DÜNYA" uygulamarı yapmanın zamanı da geldi .. Hem de staj yeri ararken çok büyük yararı olur .. .Neyse sanırım bu kadar mükemmlik yeter ..

Sonuç olarak ikisinin de mükemmel olduğu yerler var ... Ama şu an C# tabanından gelmem dolayısıyla (Okul yüzünden ) Android bana göre mükemmelik açısından açık ara önde :) ...

Şimdi Androidçiler sevinebilir :) 

1 Mayıs 2012 Salı

Staj Avı Sezonu Başladı , Fuck mobilada !!!


Merhaba ... Geçen dönem olduğu gibi bu dönem de staj yapmam lazım ... Her yılın bu ayları öğrenciler iyi bir şirket bulmak için , firmalar da iyi öğrenciler bulmak için çabalar .. Ben de olnlardan biriydim ...

Geçen seneki stajım berbat geçtiği için bu seneki stajdan da fazla bişey beklemiyorum ... Bazen "bu staj mükemmel olucak , iş hayatına yawaştan merhaba diyeceksin" diyorum , bazen de" geçen seneki staj bok gibiydi .. Günleri bırak saatleri , dakikaları sayıyodum ... Bu sene de öyle olucak" diyorum ...

Geçen seneki stajdan bahsedicek olursak : Başlamadan önce çok büyük hayallerim vardı .. Yani Turkcell gibi büyük bir şirkette staj yapıcam demiyodum ama hiç olmazsa stajda çok şey öğrenicem , ona göre kendime yol çizicem diyodum ..İnternette gördüğüm bir şirkete başvurdum ve bizim eve çok yakındı .. Görüşmeye gittim ... Mobil programlama istediğimi , onun için geldiğimi söyledim .. Adam da "tamam , zaten bizim de bir Android projesi var onun içinde olursun " dedi.. Ama gel gör ki aynı adam staj süresi boyunca neredeyse hiç konuşmadı , projeden bahsetmedi  ,  sadece Apartman Yöneticisi gibi faturalarla uğraştı ...

Staja başlarken direkt olarak gördüm ki firma PHP ve WEB üzerine ... Benimle ilgilenen adamın dediği ilk şey "Linux kur ".. Lan ne alaka .. Ben Windows ta rahat rahat yazıyorum (Şimdi de MAC de yazıyorum) .. .Ama adam illaha Ubuntu üzerinde yaz dedi .. Bence insan rahat olduğu platformda yazmalı .. Hatta açıkkaynağa yeni başlayanlar için olan openhatch.org daki görevleri yapmamı istedi..Genel olarak görevler komut satırında taşı , sıkıştır , diff le , falan filan ... Yani o kadar da önemli şeyler değil .. Hem de tek başına çalışırken .. Fuck you ...

Daha sonra 2. saçmalık geldi..Ben dedim ki adama "Java ile Android yazıyorum " , adam sonradan Titanium Appcelerator diye bişey çıkardı .. Yok efendim neymiş " 1 kodla bütün platformlarda çalışıcak ,  hem de javascript javadan daha basit " .. Lan sana mı kalmış javascript mi java mı kolay .. Ben yazıcam ... 1-2 debelenmeden sonra dedim ki "Bunla olmuyo .. Boktan dökümantasyonu var ben java ile yazıcam (o zaman Cross Platformdan nefret ettim) " ... Zor bela onu da kabul etti .. Daha doğrusu verdiği söze geldik ... Bu arada yaklaşık 1.5 ay çöpe gitti .. Fuck mobilada

En sonunda dediğini Android de yaptım , beğenmedi bi daha yaptım , ilerleme istedi bi daha yaptım .. Böyle kısa kısa yazıyorum ama o aralarda hiç benimle ilgilenmedi neredeyse , sabah günaydın , akşam iyi akşamlar .. Çünkü adam da Android bilmiyo .. Yani yardım edeceği bişey yok ve de bana yardımı büyük ihtimalle zaman kaybı olarak görüyo .. Çünkü başka projeleri var ve diğer stajerler le de ilgilenmiyo... Fuck system

Normalde 20 gün gösterdiğim stajı 2 ay yaptım ve staj günüm bittiğinde adam dışarıdaydı .. Ben de mail attım : "Staj bitti , bu da proje " diye ... Daha sonra staj defterini imzalatmaya gittim , orda da umursamaz davrandı ... Fuck Onur Yalazi

Sonuç olarak staj beklediğim gibi hiç geçmedi ... Sadece kendi çabamla bişeyler öğrendim ve iş hayatı , bazı insanlar (mobilada nın üst katı ) , para ve projelerden nefret ettim ... Fuck staj

İşte bütün bu sebeplerden dolayı stajdan fazla beklentim yok , ya da çok iyi şeyler olucak ve bu yazıyı gülerek okucam ... Yazı daha da uzayabilirdi , fakat bu kadar kin kusmak yeter...

Siz siz olun mobilada da staj yapmayın !!!