Desired State Configuration

DevOps dünyasının karşı karşıya kaldığı en büyük problemlerden birisi kuşkusuz ki yapılandırma yönetimidir (configuration management). Özellikle günümüz rekabet ortamındaki hızlı değişim gereksimini ve bulut mimarisinde uygulamaların yatayda hızla çoğaltılabildiğini düşünecek olursak artan önemini daha iyi kavrayabiliriz. Bir fikir sahibi oaln değil, bir fikri hızla ürüne dönüştüren, geliştiren kazanacaktır. Bu bakış açısıyla, geçen her saniye para…

DevOps Üzerine…

   Siz de kabul edersiniz ki günümüzde yazılım trendlerinden Agile (Çevik) yazılım geliştirme, üniversite sıralarında kulaklarımızda yer etmiş Waterfall’u silip süpürdü. Artık öyle bir noktaya geldik ki; yazılım dünyasında hangi taşın altına baksanız karşınıza çıkar oldu Agile yazılım geliştirme. Agile manifestosunu hatırlayın, temelinde müşteri geri dönüşleri karşısında yazılımın hızlı refleks verebilmesini anlatır. Yazılımın değişime hızlı…

Raspberry Pi – Mono ile GPIO işlemleri

   Raspberry Pi’mize mono kurulumunu gerçekleştirdikten sonra sıra geldi eğlenceli şeyler yapmaya. Bu makalemde, birlikte ilk GPIO işlemimizi gerçekleştireceğiz.    Raspberry Pi üzerinde yer alan GPIO pinlerini kullanmak malesef ki mono ile birlikte gelen hazır bir kütüphane bulunmuyor. Hemen üzülmeyin, C# içerisinde GPIO kullanımının bir kaç farklı yolu bulunuyor. Bu yöntemlere geçmeden, Raspberry Pi üzerinde…

Raspberry Pi GPIO Kütüphanesi Yayında

   Mono ile geliştirdiğiniz Raspberry Pi uygulamalarınızda GPIO pinlerini yönetmekte kullanabileceğiniz RPI.GPIO kütüphanesi yayınlandı.    WiringPi kütüphanesi üzerime C# wrapper olarak geliştirilen Enterprisecoding RPI.GPIO kütüphanesi kaynak kodlarına https://github.com/fatihboy/RPI.GPIO adresinden erişebilirsiniz. Visual Studio üzerinde geliştirdiğiniz projelerinizde kullanabileceğiniz NuGet paketini ise aşağıdaki şekilde paket konsolundan yükleyebilirsiniz; PM> Install-Package Enterprisecoding.RPI.GPIO

Profesyonel Projelerimizde Dependency Injection Yaklaşımı

   Dependency Injection makele serisinde geldiğimiz noktada sıra geldi bir solution üzerinden konuyu örneklemeye. Aslında, bu makalemde paylaşacaklarım örneklemeden öte olacak. Amacım iş hayatınızda kullanabileceğiniz bir yaklaşım, bir metodolojiyi sizlerle paylaşmak. Bu sebeple dikkatle okumanızı tavsiye ederim. Öncelikle, gevşek bağlı (loosely coupled) uygulamalar geliştirmenin ne kadar önemli olduğunu bir kez daha hatırlatmak isterim. Hatta önemli…

Raspberry Pi – Asp.Net uygulamalarını Sunulması

   Önceki makalemle giriş yaptığımız Raspberry Pi dünyasında Mono ile uygulama geliştirmeye tam gaz devam ediyoruz. Raspberry Pi ile geliştirilen projeleri inceleme fırsatınız olduysa dikkatinizi çekmiştir, pek çok örnekte uzaktan kullanım tercih edilmekte. Özellikle ev otomasyonu ile ilgili örneklerde kullanım kolaylığı oluşturması nedeniyle mobil cihazlardan erişim ön plana çıkmakta. Bu yaklaşım gerek LCD v.b. bir…

Ninject – Bağlama göre Şekillenen Tür Bağlamaları

   Ninject konusunda hızla ilerlerken bir önceki makalemizde ileri düzey konulara da giriş yapmıştık. Geldiğimiz noktada artık tür bağlamalarını da otomatize edebildik. Bu makalemde ise Ninject’in bir başka yönüne, güçlü olduğu bir yöne göz atacağız; Türlerin içinde bulundukları bağlama göre ilişkilendirilmesi. Dikkat edecek olursanız şimdiye kadar geldiğimiz noktada türlerin bağlanması tamamen statikti. Örneğin; IGunlukDeposu uygulamanın…

Raspberry Pi – Mono Kurulumu

   Twitter takipçilerim elektronik’e ne kadar meraklı olduğumu biliyorlardır. Arduino, Odroid derken B+’ın çıkmasıyla birlikte bir de Raspberry Pi’yi denemeye karar verdim.    Paketi elime geçti; fakat hafta içinin yoğunluğuyla üzerinde çok çalışma fırsatı bulamamıştım. Hafta sonu ile birlikte kolları sıvayıp Raspberry Pi Model B+’ı incelemeye koyuldum. NOOBS ile birlikte kurulum işleminin olabildiğine kolaylaştığı bir…

Ninject, Otomatik Tür Bağlamaları

   Ninject konusunda, önceki makalelerim ardından temel düzeyde ve hızla projelerimizde uygulayabileceğimiz bilgi birikimine sahip olduğunuza inanıyorum. Artık sıra yavaş yavaş daha ileri konulardan bahsetmekte. İlk konumuz tür bağlamalarında otomasyona gitmek…    Diyelim ki; önceki makalelerimde verdiğim örneklerden farklı olarak, modul projelerimizin içerisinde bağlanması gereken pek çok modülümüz bulunuyor. Bu durumda hepsini tek tek modül…

Ninject – Yaşam Döngüsü Yönetimi

   Dependecy Injection kütüphanelerini incelerken öncelikle türleri nasıl ele aldıkları, nasıl oluşturdukları konusuna eğildik. Dependecy Injection kütüphaneleri bu görevlerini yerine getirirken kaçınılmaz olarak oluşturdukları nesnelerin ne zaman yeni bir örneğinin oluşturulması gerektiğine, ne zaman mevcut bir örneğini kullanılması gerektiğine karar vermelidirler. Hatta bundan da öte; oluşturulan nesne örneklerinin ne zaman hafızadan atılması gerektiğine de karar…