25 Ekim 2016 Salı

Yeni bir yazılım dili öğrenirken.


Merhaba,

Bu yazımda yeni bir yazılım dilini öğrenirken uyguladığım metodoloji'yi paylaşmak istiyorum. Bu metot Jr. seviyesindeki yazılımcılar için o kadar da kullanışlı olmayabilir.

Şayet bir dili çok iyi biliyorsanız, aynı teknolojiye hizmet eden farklı dilleri çözmeniz o kadar da zor olmayacaktır. Kodların hepsi temelde aynı şeydir, sadece syntax farkı vardır, bu problemin de kısa bir süre yavaşlık dışında bir negatif etkisi yoktur. Fark şu durumda oluşur, web developer iseniz ancak elinize hem web olmayan hem de farklı bir dille yazılmış bir proje geldiyse bu durumda yapacağınız şey nazikçe ben bunu yapamam demektir (:

Mesela
Örnek olarak, Php dilinde web projeleri kodluyorsunuz, ancak elinize .Net yada başka bir dille yazılmış bir web projesi geldi. Bu durumda yapacağınız şey bir web projesi için tüm dillerde geçerli olan ortak aksiyonların bu dil ile nasıl yapıldığını bulmak.

Nedir bu Web projesi için ortak aksiyonlar?

  • İde'nin kurulumu ve kodun derlenmesi için gereken işlemler.
  • Post,Get işlemleri.
  • Async işlemler.
  • Arayüzden backend'e veri gönderimi.
  • Backend üzerinden arayüze veri basılması.
  • Backend üzerinden veritabanı bağlantısı.
  • Veritabanı'na veri gönderilmesi ve alınması.
  • Kod life cycle'i nin hangi metotlardan oluştuğunun belirlenmesi.
Görüldüğü gibi bir kaç tane temel madde var. Önünüze bir web projesi geldiği zaman dili ne olursa olsun totalde  yapacağınız işlemlerin özeti aslında bunlardır. Yukarıdaki aksiyonları öğreneceğiniz yeni dil üzerinde çözdüğünüz zaman, ki bu max. bir haftanızı alır. Bu yeni dili %80 oranında öğrenmişsiniz demektir. Geriye kalanlar, syntax farkı nedeniyle oluşan zaman maliyeti ve bu yeni dile ait normalizasyon&sınıflandırma tekniklerinin, paternlerin oturması sürecidir. Bu da low level öğrenme süreciyle,  hem çalışıp hem öğrenerek max. 1 2 ayınızı alır. 

Yukarıda ben web teknolojileri için örnek verdim, diğer farklı platformların hepsinde de bunun gibi 5-10 maddelik özet çıkarılabilir. Yani aslolan dil değil, geliştirme yaptığınız teknoloji bütünlüğüdür.

Mobil Projeler üzerinde uygulayalım.
Şimdi de aynı tekniği mobil yazılımlar üzerinde uygularsak bu maddeler aşağıdaki gibi olacaktır.
  • İde ve emulator'un kurulumu ve kodun derlenmesi işlemleri.
  • Async Post ve Get işlemleri nasıl yapılır?
  • Web servisten gelen veri nasıl objelere parse edilir?
  • Arayüz üzerinden alınan veri web servis'e nasıl post edilir?
  • Kod life cycle'i hangi metotlardan oluşur?
  • Cihaz sensorleri nasıl kullanılır?(Bunu hemen öğrenmenize gerek yok, ihtiyaç oldukça)
Son bir trick daha. Yeni bir dil öğrenme aşamasında haliyle aldığınız hataların sayısı oldukça fazla olacak bir süre. Hatayı aldığınız zaman, Google üzerinden ararken kendi kafanıza göre açıklama yapmayın. Hata ekranında bulunan exception u kopyalayıp(kabul edilebilir bir uzunlukta), sonuna öğrenmeye çalıştığınız teknoloji ile ilgili tek kelimelik bir ibare ile Google search bar'a yapıştırın. 

Örnek olarak "[exception string] Android". Bu sayede Google sizi daha önceden bu hatayı almış ve sohbet esnasında exception detaylarının kullanılmış olduğu bir sohbetin içine götürecek. Yine bu sohbetin hepsini okumak ile uğraşmayın, okuyacağınız kısım 1. exception detaylarının olduğu kısım. Burayı doğruladıktan sonra, 2.  thank you, solved gibi cümleleri aratın. Çözümünüz bu mesajın bir kaç mesaj üstünde olacaktır.

 Google'i doğru kullanmak da bana göre kod yazmak gibi bir sanattır, hatta iyi bir developer olma yolunda olmazsa olmazdır (: Google kullanımı ile ilgili çok trick var bunun gibi. O konu üzerinden de başka bir yazımda geçeceğim.

Herkese iyi çalışmalar.

19 Ekim 2016 Çarşamba

Bisiklet İle Çanakkale İzmir yolculuğu

Merhaba,
Bu yazımda bisiklet ile ilk defa uzun yolculuk yapacaklar için işe yarayacağını düşündüğüm Bandırma, Çanakkale, İzmir rotasındaki deneyimlerimi paylaşmak istiyorum.
2016 yaz döneminin sonlarına doğru bu rota üzerinden ile 4 günde yaptığım 500 küsür km'lik yolculuğum Bandırma'dan başladı. Aşağıdaki resim Bandırmadan otoban'a çıktığım yer oluyor (:

Yola çıkmadan önce bulunması gereken malzemeler aşağıdakiler.

Bisiklet tamir kiti
  • En az 2 yedek iç lastik.
  • Bisiklet zincir eki, ve zincir ekleme aparatı.
  • Bisiklet pompası
  • Bisiklet alyan takımı.
  • 14-15 anahtar ve hafifinden bir ingiliz anahtarı
İlk Yardım
  • 2 bandaj
  • Yara bandı
  • Yaralanmalarda kıllı bölgeyi temizlemek için traş bıçağı.
  • Kas gevşetici krem ve hap
  • Bulabiliyorsanız antibiyotik.
  • Gazlı bez
  • Güneş kremi.

Bunlardan kas gevşetici kremi almadığım için ilk gün bacağımda oluşan çekme yolculuk bitene kadar daha da şiddetlendi, bacağım şişti ve o bölgede ödem oluştu. 2. gün yatağımdan doğrulduğum zaman yere bastıktan sonra acı ile düşmem bir olmuştu.  İyileşmesi 15 günü filan aldı sanırım. 14-15 anahtar ve ingiliz anahtarını da atlamışım, dağın başında arka lastiğim patlasaydı kalacaktım oralarda. (: Yukarıda saydıklarımda eksik olabilir ama fazla malzeme kesinlikle yok. Eğer konaklama işlemini dışarıda yapacaksanız, bu malzemelere çadır,uyku tulumu ve temizlik malzemesi eklemeniz gerekecek. Diğer, elbiseler ile olan bagaj kısmını saymıyorum. Yola çıkmadan önce dış lastikleri yenilemenizde fayda var.(burası yıldızlı**) Geceye kalma ihtimalinine karşı mutlaka sağlam bir ön &arka farınız ve reflektörlü giysiniz olsun.

Özellikle arka lastik yükün de etkisiyle çok çabuk yıpranıyor, ve diken üzerinden geçse patlamaya başlıyor, Ben ilk 3 gün sadece bir lastik patlaması vakası yaşarken son gün aynı günde 4 kez lastiğim patladı, karanlıkta sürmek zorunda kaldım, sonra önüme geyik atladı, köpekler kovaladı, hep bahsettiğim yıpranma yüzünden.
Resim: Altınoluk , ilk lastik patlama vakası


Başka Başka?

Yola çıkmadan önce bir iki ayda min. 500 km yapın, biraz kondusyonuzu yükseltip öyle çıkın, ben 1000 km yapmıştım. Benimle gelecek arkadaş 300 km de kaldığı için almamıştım yanıma (: Yolda yükte hafif ancak şeker ve kaloride yüksek erzağınız olsun, her 50 km bir adet canga yada tadelle tüketmiştim ben.Ek olarak mola verdiğim yerlerde mutlaka bir trileçe yemiştim. (:  Su tüketimi çok önemli, havanın durumuna göre susamadan az az tüketerek ilerlemelisiniz. Eğer susayıp da su içiyorsanız, su içmek için geç kalmışsınız demektir.
Resim: şekerim düştüğü anda imdadıma yetişen trakyalı kavun satan amca

Yollar nasıl?
Bandırma'dan otoban'a çıkıncaya kadar sert rampalar var. Otobanda bir süre rahat rahat sürüyorsununuz, emniyet şeridi kocaman. Ancak Biga geçildiği zaman yollarda düzlüğe pek rastlanmıyor,sert iniş yada rampa. İlk gün bu yolda bacağımı incitmiştim. Çanakkale Altınoluk arasında meşhur kaz dağlarımız var, ve sağlam tırmanıyorsunuz ((:Dağın içine girdikçe neredeyse sıvı kıvamına gelecek oksijen başınızı döndürüyor ve zirveye çıktıktan sonra Küçükkuyu'ya kadar tek pedal çevirmiyorsunuz.
Resim: Bergama İzmir Yolu, karadut suyu ile glikojen dopingi.

Ancak kaz dağı yolları çok kötü(hem çıkış,hem iniş), dolambaçlı,emniyet şeridi yok ve yol yapım çalışmaları sebebiyle sürekli tırlar geçip duruyor, oldukça dikkatli sürmek gerekli!
Resim:Kaz Dağlarında mola verdiğim bir yer

Altınoluk Bergama arası biraz inişli çıkışlı. Eğer Bergama'da sizi olanca heybetiyle çok uzaktan karşılayan meşhur Pergamon antik kentinin bulunduğu dağa tırmanmak isterseniz ortalama %10 oranında bir rampa, 400 metre civarı bir rakım var, adam seçiyor :D 
Resim:Pergamon zirvesi

Bergama İzmir arası ise bu rotanın en tatlı yolu. Emniyet şeridi tekrar kocaman, yollar düz ve rüzgar az. Ancak oldukça fazla cam kırığı var yolda. Dış lastiğin önemi burada ortaya çıkıyor.
Resim: Altınoluk Sahili.


Özet Geçelim:
  • Harcanan para: 450 TL(3 gün konaklama vapur bileti dahil). Mevsimden dolayı en fazla verdiğim otel parası 70 TL idi.
  • En çok sevilen yer: Altınoluk, aşık oldum buraya galiba. (Parayı bulduğum zaman yazlık alacağım yeri Altınoluk olarak güncelledim.)
  • En kötü yer: Dikili. Pahalı kaskımı çaldı şopar kardeşlerim o yüzden soğudum buradan.
Bu yolculuğumdan çıkarabileceğim özet bunlar nacizane. Seneye bu yoldan tekrar geçeceğim ama bu kez 1.100 km olacak rotanın uzunluğu ve yolculuk Kaş'ta bitecek. Bana katılmayı düşünürseniz şayet "serdarrah@gmail.com" üzerinden mail gönderebilirsiniz. Bisiklet sevginiz daim olsun efenim  (: