DeveloperDay#02

Seyhun AKYÜREK
Seyhun Akyurek
Published in
4 min readMay 16, 2016
Credit: Jeff Sheldon

DeveloperDay#02” serisi ProductHunt keşifleri, verimlilik ipuçları ve incelediğim açık kaynak kütüphanelerin derlemesinden oluşuyor.

Keşifler

ProductHunt, Yazılım geliştiriciler için okunası, 12 en etkili kitabı listeyen bir koleksiyon yayınladı. Özellikle The Pragmatic Programmer’ın mutlaka okunması gerektiğini düşünüyorum.

Verimlilik konusunda inanıyorum pek çoğumuz, belli metodları deniyor yada araştırıyor ve acaba nasıl daha verimli olabilirim diye düşünmüşüzdür. James Clear tarafından yazılandefault decision konulu yazısı, günlük rutin aldığımız kararların hayatımızı ne kadar etkilediğini ve aslında nasıl da monoton yaptığımız davranışların direkt düşünmeden aldığımız kararlar olduğunu gösteriyor.

James’in verdiği örneklerde, cep telefonunu yatağın yanına koyup yattığımızda sabah kalkar kalkmaz ilk iş olarak yeni epostaları kontrol ediyor ve sosyal medya hesaplarımıza bakıyoruz yada akşam koltuğumuza oturduğumuzda karşımızda TV’yi duruyorsa, TV izlemeye başlıyoruz vb.

Örnekler biraz tembellik gibi görünse de elbette positif olarak da default decision’lar geliştirebiliriz, hatta biraz daha farkındalık ile verimliliğimizi basit değişikliklerle artırmamız mümkün.

Smooch, son zamanlarda keşfettiğim göz alıcı girişimlerden biri. Bot devrimi ile birlikte yapay zekaya sahip bot’lar ve uygulama içi davranışlar sağlamaları ilgi çekici. Smooch bu alanda, çok kanallı mesajlaşma altyapısı sunuyor. IOS/Android ve REST API desteği var. IOS SDK’sını test edebildim.

Bununla ilgili olarak, Esther Crawford’ın kendi yaptığı bot Smooch.io ile kullanıma bir örnek. Bot basit sorulara cevap verebiliyor. Pek çok alanda, yaratıcı fikirlerin önünü açabilir. Özellikle aklıma gelen, kişisel ihtiyaçlar için çok pratik.

Örneğin, botlar ile IK çalışanları ve Headhunter’ların sık gönderdiği iş fırsatlarına otomatik yanıt vermesini sağlayabilir yada kişisel olarak size yönetilen ve size özel merak edilen sorulara önceden hazır yanıtlar verdirebiliriz.

Altyapısında kullanılan mesajlaşma yapısı da Smooch.io ile Twilio, Facebook Messenger’ın yeteneklerini de kullanmak mümkün.

Medium’da, Umberto Raimondi tarafından yazılmış bir liste keşfettim. Swift ile yazılabilecek tek satırlık kodlara “one-liner code” örnekleri listelemiş. Ruby’den alışkın olduğum one-line kod’lar Swift’in dil yapısı gereği gayet müsait. İnceleyip denemek eğlenceli aynı zamanda.

WWDC 2016 renklerine uyumlu Xcode color schema hazırlanmış, yeşil tonlar ve rahat okunması sayesinde yeni Xcode teması olarak kullanmaya başladım.

Rails ile pek çok uygulama geliştirdim. Rails 5'e kadar, IOS/Swift/Objective-C tarafında daha yoğun çalıştığımdan bir süredir uzak kalmıştım.
Rails 5 ve TDD hakkında fikir ve deneyim paylaşımlarının yapılacağı bir meetup düzenleniyor. Gidebilirseniz kayıt yaptırabilirsiniz. http://www.meetup.com/Istanbul-Ruby-on-Rails/events/230285599

IBM’in Swift Sandbox’ı ile online Swift kodu yazıp çalıştırmak mümkün. IBM’in arka planda kurduğu sunucu altyapısı Linux üzerinde çalışıyor ve her sandbox IBM Cloud üzerindeki Docker container üzerinde çalıştırılıyor. Ayrıca “Share Code” özelliği ile snapshot olarak yazılan kodu paylaşarak, collaborative bir yapıya da sahip. Pratik olarak kod yazıp denemek için https://swiftlang.ng.bluemix.net

Açık Kaynak

Komut satırını sık sık kullanan biri olarak, en son YADR dotfiles’larını base alarak ek olarak da kendi dotfiles’larımı birleştirdiğim kendime özel bir terminal kullanıyorum. Vim entegrasyonu ile de kapsamlı ama kullanımı basit.

https://github.com/skwp/dotfiles

En son keşiflerimden biri de gitsome. gitsome, Github ile entegre çalışan, otomatik tamamlama ve interaktif yardım özellikleri sağlayan Terminal komutlarını sağlıyor.

https://github.com/donnemartin/gitsome

İçeriğinde, Git komutları, ağaç yapıları, etiketleme ve Github spesifik komutları dahil edilmiş durumda. Sık Github kullanan biri iseniz, işinize çok yarayacağına eminim.

Moya, Swift uygulamaları için, network altyapılarını abstract edebileceğiniz bir kütüphane. Uygulamalarımda sık kullandığım Alamofire için genelde ApiManager, WebServiceManager gibi kullanımları iyileştirmek için kullanıyorum.

Çalıştığım işlerde Alamofire’ı implemente ederek servis çağrılarını yapmak durumunda idim fakat problem şu ki; her servis çağrısı için ayrı servis adresine hangi method ile gideceğim, servis altyapı değişikleri durumlarında nasıl etkilenecek, servis versiyonlaması vb pek çok fazla detay ile uğraşmak gerekiyordu.

Moya’nın avantajı, kendine ait bir Manager’ı olması ve servisleri, HTTP verb’lerini Router’lara ayırması ile kolay, yönetilebilir ve anlaşılabilir kod yazmanızı da sağlamış oluyor. Ayrıca SwiftJSONObjectMapper eklentisi ile tam olmuş diyebilirim (pek çok object mapper desteği de mevcut)

Örnek olarak;

Moya’nın örnek projesinden alıntı

Tanımlı provider, bizim servis çağrılarımı yöneten Manager’ımız UserRepositories, Moya tarafından yönetilen konfigüre edilebilen bir enum tutuyor, Böylece completion handler’ları ile birlikte istediğim şekilde dönen cevap bilgisini JSON olarak kullanabiliriz.

Realm bildiğiniz üzere, CoreData ve SQLite veritabanı yerine kullanabileceğiniz bir kütüphane. LittleBitesOfCocoa, Realm ile birlikte gelen, Collection Notification özelliğini pratik kullanabileceğimiz Fine Grained Notification örneğini yayınlıyor.

Bültenler

İkinci yazımı da böyle noktalıyorum.

Beğendiğiniz umuyorum. Medium’un küçük tavsiye butonunu kullanarak tavsiye edebilirsiniz. Ayrıca Twitter, Facebook yada Linkedin’de paylaşabilirsiniz.

Güzel haftalar :)

--

--

Seyhun AKYÜREK
Seyhun Akyurek

Application Team Leader Mobile Channels in Commercial Bank Of Dubai. Enterprise Design Thinking Co-Creator/Practitioner, Blogger