GoLang - Web Programlamaya Giriş 27 Mayıs 2017 Burak-Selim-Senyurt GoLang Bir web uygulamasının temel malzemeleri nelerdir? Sunucu tarafında çalışan bir çatı, içeriklerin gösterildiği dinamik web sayfaları, tasarım, görsel zenginlik katan materyaller(resimler,css'ler vb), veri depolama enstrümanları ve diğerleri. Aslında internet programcılığının ilk yılları düşünüldüğünde basit HTML sayfalarının neredeyse her tür ihtiyacı karşılayacağı düşünülüyordu. Zaman geçtikçe programlama dillerinin dinamik web sayfaları ile olan etkileşimi, istemci taraflı çalışan betiklerin sunucu taraflı kullanılabilmesi de gündeme geldi. Modern programlama dillerinin neredeyse tamamı web uygulamaları geliştirebilmek için gerekli temel donanıma sahip. Backend tarafında eş zamanlı işlemlerde yüksek performans sunan GO diliyle de web tabanlı uygulamalar geliştirebilmemiz mümkün. [Daha fazla]
Tek Fotoluk İpucu 159 - GoLang ile Fonksiyonları Parametre Olarak Kullanmak 22 Mayıs 2017 Burak-Selim-Senyurt GoLang GoLang fonksiyonel programlama konusunda oldukça fazla kabiliyete sahip. Birinci sınıf fonksiyonlar(first-class functions), yüksek öncelikli fonksiyonlar(higher-order functions), closures, birden fazla değer döndüren fonksiyonlar,function literals ve kullanıcı tanımlı fonksiyon tipleri(user defined function types) bu kabiliyetler arasında. Dili anlamaya çalışırken strings paketinde yer alan FiledsFunc fonksiyonu ile karşılaştığımda etkilendiğim bir tanımlama keşfettim. [Daha fazla]
Bir SOAP Web Servisini Proxy Olmadan WebClient ile Çağırmak 22 Mayıs 2017 Burak-Selim-Senyurt XML Web Services Geçtiğimiz günlerde şirket dışı bir kurumun web servislerini çağırma ihtiyacımız oldu. Lakin Header bilgisinde bir OAuth Token değeri de geçmemiz gerekiyordu. Bu Header bilgisini SOAP bazlı Web servisine nasıl ekleyeceğimizi düşünürken WebClient sınıfı ile SOAP bazlı servisleri de çağırabileceğimizi öğrendim. [Daha fazla]
Tek Fotoluk İpucu 158 - GoLang'de Constructor var mı? 16 Mayıs 2017 Burak-Selim-Senyurt GoLang GO tam anlamıyla nesne yönelimli bir dil değildir. Object yerine aslında Type kavramının öne çıktığı bir ortam söz konusudur. Geliştirici tanımlı tipler için struct'lardan yararlanılır ve onların varsayılan olarak doğal yapıcı metodları(constructor) vardır. Ancak istersek kendi yapıcı metodlarımızı da işin içerisine dahil edebiliriz. [Daha fazla]
GoLang - Concurrency (goroutine, channel) 15 Mayıs 2017 Burak-Selim-Senyurt GoLang Go dilinin en önemli özelliklerinden birisi de eş zamanlı görevlerdeki performansıdır. Concurrency ile bir sürece ait n sayıda görevi(Task) aynı anda başlatabiliriz. Okuduğum kaynaklarda buna verilen en güzel örnek web sunucuları. İstemcilerden gelen talepler(Request) web sunucusu üzerinde ait oldukları uygulamalara yönlendirilip işletilmekte. Hiç bir talep için bir diğerini bekleme söz konusu değil. Web sunucusu bu görevleri eş zamanlı olarak yürütebilmekte. Concurrency'deki temel amaç da bu zaten. Görevleri aynı anda işletebilmek. Go dilinde Goroutine ve Channel yapıları ile Concurrency işlemlerini gerçekleştirebiliriz. [Daha fazla]
GoLang - Interface Kavramı 07 Mayıs 2017 Burak-Selim-Senyurt GoLang GO dilinde metod şablonlarının koleksiyonunu tutmak için kullanılan tiptir. Burada iki ayrı nokta vardır. Birincisi gövdesi olmayan metod tanımlamalarını içermesi, ikincisi ise kendisinin bir tip olmasıdır. [Daha fazla]
Ruby Kod Parçacıkları 34 - Fiber ve Eş Zamanlı Programlama 05 Mayıs 2017 Burak-Selim-Senyurt Ruby Eş zamanlı programlanın farklı dillerde veya çatılarda farklı uygulanma şekilleri olabiliyor. Esas itibariyle genel amaç eş zamanlı olarak birden fazla işin gerçekleştirilmesini sağlayabilmek. Bu noktada en zorlayıcı noktalardan birisi işlemcinin ve işletim sisteminin bu çalışma taleplerine olan anlık tepkilerinin yönetilmesi. Neredeyse pek çok programlama ortamında Thread'ler ile karşılaşıyoruz. Ruby tarafında da böyle bir yapı mevcut ama bunun dışında Fiber adı verilen farklı bir tip daha var. [Daha fazla]
Tek Fotoluk İpucu 157 - GO ile Bir Queue Yazalım mı? 04 Mayıs 2017 Burak-Selim-Senyurt GoLang Go programlama dilinde C#,Java veya bunlara benzer dillerden gelenler için söz konusu olan pek çok kolaylık bulunmayabilir. Söz gelimi Stack veya Queue gibi bir koleksiyon kullanmak istersek bu veri yapısını bizim tasarlamamız gerekebilir. Nitekim bu adresteki standart kütüphanelerde Queue ile ilgili bir şey bulamadığımı ifade edebilirim(aslında github üzerinde açık kaynak ek kütüphaneler var) Olsa da olmasa da biz kendimiz de bir queue veri yapısı tasarlayabiliriz. Aynen aşağıdaki fotoğrafta olduğu gibi. [Daha fazla]
JSON to BSON 01 Mayıs 2017 Burak-Selim-Senyurt C# Amacımız çalışan listesinin içeriğini BSON formatında bir dosyaya yazdırmak ve sonrasında bu içeriği tekrar okuyup ters-serileştirme işlemini gerçekleştirerek ekrana yazdırmak. [Daha fazla]