Hexagonal Architecture 101

Kurumsal uygulamaları göz önüne aldığımızda zaman içerisinde birçok yazılım mimarisinin ortaya çıktığını görüyoruz. Programlama dillerinin gelişim, framework'lerin ortaya çıkması ve değişen müşteri ihtiyaçları sonucunda bu kavram çok daha büyük önem kazandı. Belki de her şey üç katmanlı(3-tier) yaklaşımla başlamıştı. Geldiğimiz zaman diliminde ise monolit sistemlerin modüler hale getirildiğiği Modulith'lerden mikro servislere, soğan halkaları benzetmesi ile popülerleşen Onion mimariden, servis odaklı yaklaşıma kadar birçok stil var. Bazı kaynaklarda yazılım mimarileri katmanlı(Layered) ve dağıtık(Distributed) olmak üzere iki ana kategoriye de ayrılıyor. Üzerinde uzun uzun konuşulacak olan bu kavramları elbette deneyimleyerek görmek en güzeli. Bende bir süredir bakmak istediğim Hexagonal mimari yaklaşımını öğrenmeye karar verdim ve işte karşınızdayım. Gelin .net üzerinde bu mimariyi çok temel seviyede de olsa uygulamalı olarak anlamaya çalışalım. [Daha fazla]

Microsoft DotNet Platformunda Bir MCP Server Yazmak

MCP(Model Context Protocol), yapay zeka araçları için tool desteği sağlamak amacıyla kullanılan bir protokol olarak düşünülebilir. Anthropic tarafından geliştirilmiş bir standarttır. Bu protokolün geliştirilmesinde amaç yapay zeka araçlarına belli bir standart dahilinde harici araç desteği sunabilmektir. Genel senaryoda bir dil modeline gitmeden önce bu protokol üzerinden hizmet veren MCP Server`lara gidilerek sağlanan araçlar kullanılabilir. Araçlar da arka planda çoğunlukla REST API hizmetlerini çağırır ama bu zorunluluk değildir. Bir başka deyişle MCP server'ın sağladığı araç seti arka planda sarmalladığı herhangi bir başka araca da gidebilir. MCP, yapay zeka araçları için standart bir protokol sunduğundan tüm MCP server'lar bir yapay zeka aracı tarafından çağırılabilir. [Daha fazla]

Copilot SDK ile İlk Deneyimler

İçimiz dışımız, sağımız solumuz yapay zekadan geçilmiyor. Öyle bir dönemdeyiz ne ona burun kıvırabiliriz ne de her şeyimizle teslim. Halen daha işin özünde problemi anlamanın, parçalara bölebilmenin, doğru metodolojileri ve araçları kullanarak ideal çözüm yollarını geliştirebilmenin önemli olduğunu düşünüyorum. Bunun içinde kendimizi donatmaya devam etmemiz gerektiğini biliyorum. Ayrıca yapay zeka araçlarını tanımanın ve yazılımcılara ne gibi avantajlar ya da tam tersi dezavantajlar getireceğini de araştırmalıyız diyorum. Ne yazık ki yapay zeka denildiğinde onu sadece chat-gpt'den ibaret bir şey olduğunu düşünenler var. Bunun böyle olmadığını deneyimlediğim araçlar bana gösteriyor. Tanımak lazım. İşte bugünkü yazımızın konularından birisi de bu; Microsoft'un Copilot SDK paketini kullanarak neler yapabilirizin basit bir Hello World demosu. [Daha fazla]