20 Temmuz 2012 Cuma

Recursive - NonRecursive Functions


Merhaba,

     Bugun biraz teknik konulardan konuşuyor olucaz.Belki nette ufak tefek yazılımsal çözümler arayan arkadaşlara yardımcı olabilirim.En küçük örnek olarak bugün bir recursive fonksiyonun yani kendi kendini tekrar çağıran fonksiyonun verimliliği ile ilgili konuşalım.Bunun için en güzel örnek de Fibonacci dizisi olucaktır.Fibonacci dizisini duymamış olanlar için kısaca bahsedersek bir önceki sayı ve sıradaki sayının toplanmasıyla bir sonraki sayının oluşturulduğu sayı dizisidir yani 0 1 1 2 3 5 8 13 ... diye devam etmektedir.
Şimdi bazı fibonacci sayılarını bulmak için ufak bir algoritma yazalım hem recursive hemde non-recursive ve bunları karşılaştıralım.

Recursive Fibonacci algoritması Java implementasyonu aşağıdaki gibidir.

public static int Recursive_fibonacci(int n){
    if(n <= 1)
                return n;
     else
          return Recursive_fibonacci(n-1) + Recursive_fibonacci(n-2);
   }
Nonrecursive Fibonacci algoritmasın Java implementasyonu da aşağıdaki gibidir.
public static int Non_Recursive_fibo(int k){
   int sum;
   int result=1;
   int prev=0;
   for(int i =1 ; i < k ; i++){
                     sum = result + prev;
                     prev = result;
                     result = sum;
  }
    Aşağıdaki tabloda da çalışma zamanlarıyla ilgili test süreleri bulunuyor.

Recursive Fibo
Non-Recursive Fibo
n = 10
12709 nanosec
4594 nanosec
n = 20
417462 nanosec
4594 nanosec
n = 30
11821715 nanosec
5083 nanosec

     Recursive fonksiyon küçük numaralar için non-recursive’e göre daha kısa sürede sonuç verirken büyük numaralar için ise çalışma zamanı daha hızlı büyüyerek uzun sürelerde sonuç vermeye başladı.N artarken recursive fonksiyonun çalışma zamanı diğerine göre daha hızlı büyüdüğü için büyük numaralarda verimsiz oldu.
     Recursive fonksiyon bize kolaylıklar sağlayabileceği gibi bazı durumlarda da verimsiz olabiliyor koşulları iyi değerlendirirseniz doğru algoritmayı seçebilirsiniz.


6 Temmuz 2012 Cuma

Berlin Hatırası, Eylül 2011


Merhabalar, yaz geldi herkesten tatil planlarına kulak misafiri oluyorum bu günlerde. Bana her ne kadar bu yaz pek tatil gözükmese de insanın canı istiyor tabi.Malum staj İstanbul sıcağında geleceğimiz için bir şeyler kapmaya çalışıyoruz.Ben gençliğin bu yaz günlerini gezerek geçiremesem de daha önce ki tecrübelerimi hatırlayarak biraz kafa dağıtmak istedim sizlere de aktarmış olurum aynı zamanda.Bakarsınız bir gün yolunuz düşer buyrun işte size Berlin J
2011 eylül ayında ev arkadaşımla Berlindeydim.Yolculuğa başlamadan önce İstanbul’da bunaltıcı bir sıcak vardı fakat orada hava kapalı ve yağmurluydu.Havaalanından şehre geldiğimiz de birinden yol tarifi aldık gayet akıcı İngilizcesiyle bize gerekli bilgileri vermişti.Daha sonra arkamızdan yürürken bizim konuşmalarımızı duymuş olacak ki ‘Arkadaş siz Türk müsünüz ya’ diye seslenmesi bizim koptuğumuz andıJ Koskoca Berlin’de ilk konuştuğumuz kişi Türk çıkmıştı.Evet aslnda pek şaşırmamak lazım yaklaşık 200,000 civarında vatandaşımız Berlin’de yaşıyor. Bu, Türkiye dışında yaşayan en kalabalık Türk, aynı zamanda Berlin'deki en kalabalık yabancı nüfusunu oluşturur. Berlin'de en yoğun Türk nüfusu Kreuzberg semtinde bulunmaktadır.Neyse buna tekrar değineceğim.
En çok dikkatimi çeken şeyden başlamak istiyorum.Metro otobüs vs kullanabilmek için “Welcome Card” denilen bir kart aldık.Çeşitli tarifeler var bizdeki akbil,İstanbul kart gibi bir şey fakat öyle büyük bir fark var ki onuda metroyu kullanacağımız sırada fark ettik.Metro girişinde ne bir gişe ne bir turnike ne de bir görevli.Biz kartı göstereceğimiz bir yer ararken herkes elini kolunu sallaya sallaya biniyordu.Şaşkınlık içinde bizde kendimizi metro da bulduk.Binerken inerken her türlü toplu taşıma aracında bu olay böyle işliyordu tabi merak edip araştırdıktan sonra öğrendik ki devletin vatandaşına olan güvenine dayalı bir sistem varmış.Herkes bizdeki gibi aylık kartını doldurturmuş fakat bi yere okutmak gerekmezmiş.Ama belirli zaman aralıklarıyla görevliler gelip kartını soruyormuş. Kartı olmayan kişiye ağır ve caydırıcı cezalar olduğunu öğrendik.Vaay arkadaş diyor insan.  Aklımıza hemen İstanbul geliyor düşünemiyoruz böyle bir uygulama yaptığımızı kim bilir nelerle karşılaşırız J 
Bizi şaşırtan bir şey daha var ki anlatmadan geçemeyeceğim.İstanbul’dan alışık olduğumuz bir metro ulaşım sistemimiz var.Hani şu sıralarda İstanbul’un Anadolu yakasına daha yeni gelen(!) Avrupa yakasında da 2-3 farklı metro-tramvay-tren hatlarının birleşmesinden oluşan.Evet bizim belki de en hareketli şehrimizdeki yer altı ulaşım durumu böyleyken taşıt trafiği konusunu hiç açmıyorm bile. Berlin’de trafiğin “T” sine denk gelmedim desem hiç abartmış olmam çünkü her yere metro ile çok ama çok rahat ulaşabiliyorsunuz.Sizlerle metro haritasını paylaşmak istiyorum daha açıklayıcı olucaktır.



Evet işte gördüğünüz resim yer altında bir şehir daha olduğunu gözler önüne sermeye yeterli sanırım.Metroya girdiğinizde birkaç kattan oluşan raylar birbirininin üzerinindeki raydan geçen trenler görüceksiniz gerçekten mükemmel bir sistem yapmış adamlar.Biz hala bekliyoruz Anadolu yakasına bir metro açılsın diye…
Ulaşımın bu kadar kolay olduğu bir şehri gezmek çok zevkli tabi.


           Şimdi biraz da gezilecek yerlerden bahsetmek istiyorum. Kentin doğusunda yer alan Müzeler Adası (Museumsinsel) içinde Pergamon (Bergama) Müzesi de dahil, birçok müzeyi barındırmaktadır. Bergama Zeus Sunağı, Milet'in Market Kapısı, İştar Kapısı ve Mshatta Alınlığı gibi original yerlerinden yapının parçaları toplanarak bu müzede yeniden birleştirilmiş anıtsal yapılar Bergama Müzesi'nin adını dünyada meşhur etmiştir. Özellikle Bergama ve Milet'ten alınan eserlerle oluşturulan koleksiyonun edinimi meşruluğu konusunda tartışmalar vardır. Türkiye bu eserlerin gün ışığına çıktığı yer olduğu için koleksiyonun geri iade edilmesi için Almanya Hükümetine başvurulmuştur.
        Brandenburg Kapısı zamanında Berlin’de doğu batı geçişinin yapıldığı yer olarak karşımıza çıkıyor görülmeye değer.
        Berlin Duvarı (Berliner Mauer) , Duvarı görmek için U-bahn ile (metro) U-Ostbahnhof veya U-Warschauer str. ‘ye gidin. Burada inip sokağa çıkınca zaten görceksiniz duvarı. Bol bol resim çekilebilirsiniz 
         Deutsches Technikmuseum Berlin: Biraz olsun uçaklara,eski trenlere,arabalara yada durun böyle sayamıycam teknik – teknolojik şeylere ilginiz varsa bu müzeyi mutlaka görün derim.Şahsen 3 saatte çıkamadım bu müzeden.
         Birde Nollendorfplatz  diye bir mahalle var ki burada aç kalmazsınızJ Burada bulunan Hasır Restaurantın dönerini denemelisiniz.Tori-Katsu adında Japon çalışanları olan bir yer var ben denemedim ama pişmanım, sonradan öğrendiğime göre çok lezzetliymiş L Maibach ve Xara da buradaki Türk cafeler.Birde Falafel denilen nohut köftesi şeklinde bir şey denedim ama pek beğendiğimi söyleyemem denemesi size kalmış.
        Yolunuz “Kreuzberg” semtine düşerse hiiiç şaşırmayın Türkiyede miyim diye. Tüm dükkanlar türk. Çiçek pasajı falan da var, nargile içebilrsiniz. E tabii türk yemekleri de var güzel.Hatta bir bakkalda “Bize Her Yer Trabzon!”  yazısını gördüğümü de söylemeden geçemicem J

     Tabi anlatıcak daha çok şey vardır ama şimdilik gözümden Berlin manzaraları bu kadar.Adamlar vatanının reklamını öyle güzel yapıyolar ki her yeri gezesin geliyor.Biz güzelim Anadolu'muzu kendimiz bile gezip öğrenemezken turiste nasıl açalım.Bu konuda o kadar çok yapılması gereken var ki..Biraz olsun reklamımızı yapabilsek biraz olsun vatanımızın değerini bilip,bu güzel yurdu değerlendirmesi bilsek çok farklı yerlerde olacağımıza inanıyorum.
      Biraz anılarımı tazeledim biraz da sizlere rehberlik edebildiysem ne mutlu bana J

25 Mart 2012 Pazar

Sabreden Derviş

Uzun bir aradan sonra tekrar merhaba,
   Biliyorum çok unutturdum kendimi.O kadar hevesle başladığım yazma işine birden çok uzun süre ara verdim.Elimde olmayan sebepleri hesaba katamamıştım.Bu kadar uzun ara vermeyi hiç düşünmemiştim.Artık öğrencilik hayatımın yoğunluğundan fırsat bulamamış olmam mı deseniz yoksa Alperen’in yazma konusundaki tembelliği mi deseniz siz karar verin. J
   Üniversiteyi kazandığımdan beri aileden uzaklaşmak, ayrı eve çıkmak vb. şeylerin getirdiği sorumluluklarla hayatımın belirli dönemleri çok daha yoğun geçmeye başladı.Bu yoğunluk içinde olaylara sabırla yaklaşmak gereği de giderek önem kazandı.İnsanın hayatının her anında sabırlı olması gerektiği gerçeği önümde dururken ben son zamanlarda çok sabırsız olduğumu düşünmeye başladım.
   Aslında hayatın her anında vardır sabır.Trafikte kırmızı ışığı beklerken,arkadaşından telefon beklerken,sağlığına kavuşmayı dilerken,askerden dönecek oğlun yolu gözlenirken,Beşiktaş’ın golünü beklerken ve daha birçok yerde…
   Okulda, evde, yolda kendimle konuşmaya fırsat bulduğum her an da sabırsızlık yaşadığımı fark ettiğimde kendime biraz kızdım.Geçenlerde vapurda çayımı yudumlarken bile sabırsızca davranıp sıcak çayı bir yudumda içerken yakaladım kendimi.Neydi bu bendeki acele anlam verememiştim.Telefon konuşmalarımın iki dakika uzamasına sabredemiyordum,karşıdan karşıya geçerken kırmızı ışığa sabredemiyordum.Ama bunun böyle gitmeyeceği açık ve netti.Artık bir dur demem gerekiyordu. Oysaki ben sabırlı olmayı küçüklüğümden itibaren öğrenmeye başlamıştım.Öğrenmeye başladım diyorum çünkü anlık bir şey değil öğrenilip bitmiyor.İnsan her yaşında sabırlı olmayı öğrenmeye devam ediyor.9-10 yaşlarındaydım,2 yaşındaki kardeşim hastaneye yatana kadar sabretme eylemiyle tanışmamıştım.Daha küçükken mutlaka karşıma çıkmıştır sabretmem gereken bir durum ama bazı şeyleri fark etmeye başladığım zaman en çok bunun aklıma kazındığını hatırladım.Bu olay benim için ilkti.Kardeşimin hastanede geçirdiği aylarda ona kavuşmayı sabırla beklemiştim.İnsanı en çok etkileyebilecek olaylar yakınlarıyla,sevdikleriyle yaşadıklarıdır.Bende o günlerde sabretmeyi öğrendim ve bu yüzden bu olaya ilk diyorum.
    Kardeşim sağlığına, ben de kardeşime kavuştuğunda sabredip muradımıza ermiştik ikimizde.Bundan sonra önümüze çıkacak her türlü zorlukta sabrımızı koruyup yılmayacaktık.Sırada benim lise sınavım,kardeşimin okula başlaması gibi hayatın bir çok önemli anı vardı ve hepsinde sabırlı olmanın ne kadar önemli olduğunu gördüm.
   Şimdi okuduğum bölümde de başarılı olmak için her zaman gerekli olan çalışkanlık,azim,hırs gibi şeylerin yanında sabrın yerinin ne kadar büyük olduğunu öğreniyorum.Bilgisayarla uğraşmak gerçekten büyük sabır gerektiren bir iş.Özellikle yazılım alanı sürekli gelişen bir alan olduğu için ayak uydurmak için koşmaktan daha fazlasını yapmak gerekiyor.
   Geçenlerde telefonumun yazılımıyla uğraşırken karşılaştığım sorunlarda gördüm ki sabırsızlığımı tamamen yenmişim. Bilgisayar, telefon gibi teknolojik aletlerle uğraşırken takıldıklarında bir an önce düzelmeleri için gereksiz bir çok şeye başvuran ben, sabrın önemini kavrayınca ne kadar doğru hamleler yapılabileceğini bir kez daha gördüm.Sabırsızlıkla içimde bir şeylerin beni yemesine engel olunca her şeyin daha doğru ve akıcı gittiğine,istenilen sonuca vardığına şahit oldum.
   Yaşadığım bazı tecrübeleri, farkına vardığım bazı şeyleri paylaşmak istedim sizlerle.Beni sabırla dinlediğiniz için teşekkürü bir borç bilirim.Yakında tekrar görüşmek üzere…

27 Şubat 2012 Pazartesi

Çok sayıda sekmeyle çalışan Chrome kullanıcılarına ipuçları..


   Bir yerden başlamak lazım artık yazmaya diyerek giriştiğim bu işte en çok ilgili olduğum alanlardan biriyle karşınızdayım.Bugün teknoloji üzerine bazı ufak tiyolar vermek istedim.Konumuz web tarayıcısı Google Chrome.
   Web tarayıcınızda 10'larca sekme açtığınızda bu sekmeler arasında yolunuzu bulmanız oldukça zor bir hal alabiliyor.Bunu en çok yaşayanlardan biriyim ve sizde benim gibi bilgisayarın başına geçtiğinde sekmelerin sayısının artmasına engel olamayanlardansanız bu yazı tam size göre J Ben Chrome web tarayıcısını kullandığım için onun üzerine konuşmaya çalışıcam.
 
1.Sekmeleri sabitleyin: Çok fazla sayıda sekmeniz açık olduğunda sekmeler giderek sıkışıyor ve bu sıkışmayla birlikte kapatma butonu ve sekmeler giderek birbirine yaklaşıyor.Yanlışlıkla sizin için önemli olan bir sekmeyi kapatma ihtimaliniz artıyor bunun önüne geçebilmek için korumak istediğiniz sekmeye sağ tıklayıp “Sekmeyi İğnele” seçeneğini kullanabilirsiniz.


2.Tüm sekmeleri kaydedin: Bilgisayarınızın başından bir süre kalkacaksınız ancak açık olan sekmeleri kapatmak istemiyorsunuz,herhangi bir etkene karşın sekmelerinizi koruma altına almak için bir sekmeye sağ tıklayarak "Tüm sekmelere yer işareti koy" seçeneğine tıklayın. Böylelikle açık olan tüm sekmelerinizi yer imlerine ekleyebilir, daha sonra tekrar açabilirsiniz.


3.Chrome ‘u daha etkin kullanabilmek için işte size birkaç kısayol:
Sekmeler arasında dolaşmayı kolaylaştıran birkaç kısayol tuşu bulunuyor. Windows'ta CTRL+TAB ile sağ taraftaki sekmeye, CTRL+SHIFT+TAB ile sol taraftaki sekmeye geçiş yapabilirsiniz.Kapattığınız bir sekmeyi tekrar açmak için geçmişinizi açmanıza gerek yok. CTRL+SHIFT+T tuşlarına basmanız yeterli olacaktır.


Ve benim en çok takdir ettiğim özelliklerden bir tanesi…


Açık olan sekmelerinizi eşitleyin: Chrome'daki sekmelerinizi Google hesabınızla eşitleyebilirsiniz. Bu özelliği etkinleştirmek için chrome://flags/ adresini Chrome'da açın ve açılan sayfada "Açık sekmeleri senkronize etmeyi etkinleştir" seçeneğini bularak etkinleştirin.Bu sayede farklı bir bilgisayarda aynı sekmeleri açabilirsiniz.Tabi yine Chrome da google hesabınızla oturum açmanız gerekiyor.Aynı özellik, Android 4.0 için yayınlanan Chrome web tarayıcısında da bulunuyor.

Ayrıca bazı eklentiler de bu konuda size yardımcı olabilir.
Tab Wrangler, belirli bir süre açık kalan ve kullanılmayan sekmeleri otomatik olarak kapatıyor. Kapatılan sekmeleri istediğiniz zaman tekrar açabiliyorsunuz. Belirli sayfaları kilitleyerek kapanmasına engel olmanız mümkün.

Sekmelerinizi mobil cihazınıza gönderin
Bazen bilgisayarınızın başından kalkarak işinize cep telefonunuzda veya tabletinizde devam etmeniz gerekebilir. Açık sekmelerinizi mobil cihazınıza göndermeniz oldukça kolay.
Açık sekmelerinizi Android veya 
iPhone'a göndermek için Chrome to Phone veya Site to Phone eklentilerinden birine ihtiyacınız var. Chrome to Phone, açık sekmeleriniz Android cihazınıza gönderirken Site to Phone, iPhone, BlackBerry, Windows Phone 7 ve webOS gibi üçüncü parti cihazları ele alıyor.


İşte bu da Chrome to Phone için bir örnek video:


Benden şimdilik bu kadar umarım yardımcı olabildim..

23 Şubat 2012 Perşembe

Blog’uma başlarken…


Merhaba,
  Ben Marmara Üniversitesi Bilgisayar Mühendisliği öğrencisi Alperen İNAL olarak kendimi tanıtma faslını uzun tutmak istemiyorum.Zaten günler geçtikçe beni tanıma fırsatı bulacağınızı düşünerek aklımdakileri yazıya dökmeye başlıyorum. Uzuuun zamandır böyle bir işe girişmek istiyordum aklımda olmasına rağmen bir türlü başlayamamıştım ama sonunda başardım.

   Evet aklımdakileri yazıya dökmekten bahsediyorum.Gerçekçi olmak gerekirse ne ilkokul yıllarımda nede lise de bir günlük tutmuşluğum yada anı yazmışlığım yoktur bir kenara.Hani ilkokulda günlük tutma alışkanlığı kazandırmaya çalışılır ya çocuklara ben hep uzak durmuştum bu tavsiyelere:) Şimdilerde ise keşke o zamandan gelen böyle bir alışkanlığım olsaymış diyorum ve başlıyorum yazmaya…

   Zaman buldukça, elimden geldiğince yaşadıklarımı anlatmaya, karşılaştığım şeyleri ve tecrübelerimi paylaşmaya çalışacağım.Bu süre zarfında sürçi-lisan edersem affınıza sığınıyorum.Şimdilik giriş yazımı noktalamak istiyorum en yakın zamanda tekrar görüşmek üzere..:)