Rust, WASM, Web Api ve Can-Ban Board ! 24 Mayıs 2024 Burak-Selim-Senyurt Rust Bu videoda Rust programlama dilini kullanarak geliştirdiğim basit Kanban Board uygulamasının arka planını anlatıyorum. Uygulamanın önyüz tarafında biraz HTML, Javascript, Bootstrap ve Rust ile derlenmiş Wasm paketi kullanılırken, arka planda yine Rust ile yazılmış Rest tabanlı bir Web Api yer alıyor. Günümüzdeki birçok uygulama senaryosunda benzer yaklaşımlar söz konusu. Web tabanlı önyüzler, asıl iş fonksiyonellikleri için backend taraftaki servislere Rest tarzı stiller ile ulaşıyorlar. Hatta benzer senaryo .Net dünyasında Blazor ile de icra edilmekte. Uygulama aynı anda en fazla 5 görev ile çalışılmasına izin veriyor. Bu durumda yeni bir tane eklemek için ya tamamlananları arşive göndermek ya da diğerlerinden feragat etmek lazım... [Daha fazla]
Effective Engine — Bir Uzay Macerası 14 Mayıs 2021 Burak-Selim-Senyurt Asp.Net Web API Altunizade’nin bahar aylarında insanı epey dinlendiren yeşil yapraklı ağaçları ile çevrelenmiş caddesinin hemen sonunda, köprüye bağlanmadan iki yüz metre kadar öncesinde dört katlı bir bina vardır. Araba ile geçerken eğer kırmızı ışığa denk gelmediyseniz pek fark edilmez ama yürürken önündeki geniş kaldırımları ile dikkat çeker. Ana cadde tarafındaki yeşillikler binanın ilk katlarını gizemli bir şekilde saklar. Binanın bulunduğu adanın etrafı cadde ve ara sokaklarla çevrilidir. Bir sokağın karşısında yeni yapılmış hastane ile metro çıkışı, ana cadde tarafında ev yapımı tatlılarının kokusu ile insanı baştan çıkaran pastane, eczane, kuaför, camii ve minik bir park bulunur. Dört yola bakan diğer cadde tarafında ise eskiden karakol olan ama çok uzun zamandır kreş olarak işletilen bir komşu yer alır. [Daha fazla]
Rust Dilinde Warp, Tokio Küfelerini Kullanarak Asenkron Web Api Geliştirmek 13 Kasım 2020 Burak-Selim-Senyurt Rust Geçtiğimiz birkaç ay içerisinde Rust dilini öğrenmeye çalıştım. Zevkli olduğu kadar bir o kadar da zorlayıcı bir süreçti. Öğrendin mi derseniz, "Hayır!" derim :D İşlediğim konuları tekrar etmem gerekiyor. En çok sahiplenme(ownership) ve borçlanma(borrowing) konularında beynimi yaktım diyebilirim(Ah birde trait ve smart pointer konuları var!) Yinede Rust ile vakit geçirdikçe ortaya karışık bir şeyler çıkmaya da başladı. Dilin, Message Passing ve Mutex konularını öğrenmeye çalışırken karşıma Warp ve Tokio küfeleri(Crates) çıktı. Derken olay asenkron çalışan bir Web API geliştirmeye kadar gitti. Her ne kadar Warp denince aklımıza Star Trek gelse de mevzu bambaşka... [Daha fazla]
Web API Tarafında Dapper Kullanımı 16 Ağustos 2019 Burak-Selim-Senyurt .Net Core Veri kaynakları ile kod tarafındaki modeller arasında devreye giren bir çok ORM aracı mevcut. Stackoverflow tarafından geliştirilen ve Micro ORM olarak nitelendirilen Dapper bunlardan birisi. SQLite, MySQL, SQLCE, SQL Server, Firebird ve daha bir çok veritabanı platformu ile çalışabilen Dapper'ın performans olarak da iyi sonuçlar verdiği ifade edilmekte. Amacım Dapper'ı bir Web API uygulamasında SQLite ile birlikte kullanabilmek. [Daha fazla]
Vue ve NW.js ile Desktop Uygulaması Geliştirmek 14 Haziran 2019 Burak-Selim-Senyurt Vue.js Daha önceden Electron ile cross platform desktop uygulamalarının geliştirilmesi üzerine çalışmıştım. Bu kez eskiden node-webkit olarak bilinen NW.js kullanarak WestWorld üzerinden desktop uygulaması geliştirmek istedim. NW.js cephesinde de aynen Electron'da olduğu gibi Chromium, Node.js, HTML, CSS ve javascript kullanılmakta. Lakin ufak tefek farklılıklar var. Electron'da entry point yeri Javascript script'i iken NW.js tarafında script haricinde bir web sayfası da giriş noktası olabiliyor. Build süreçlerinde de bir takım farklılıklar var. [Daha fazla]
Node.js, MongoDB, Fastify ve Swagger Kullanılan Web API Servisi Geliştirmek 13 Mayıs 2019 Burak-Selim-Senyurt Node.js Bu sefer eski örneklerden birisini masaya yatırmaya karar verdim. 07 numaralı örnekteki amacım MongoDB kullanan Node.Js tabanlı Web API servisi geliştirmekti. Ancak bunu yaparken web framework olarak sıklıkla kullandığım express yerine Fastify'ı denemiştim. Ayrcıa web api tarafından sunulan operayonların kullanıcı dostu bir şekilde sunulabilmesi için Swagger'dan yararlandım. Örneği geliştirdiğim WestWorld'de (Ubuntu 18.04 64bit) Node.js, npm ve MongoDB yüklü durumdaydı. Bu örneğe ait notların üstünden bir kez daha geçerken javascript, node.js, mongodb ve REST API bilgilerimi yeniden hatırlama fırsatı bulmuş oldum. [Daha fazla]
Peki ya Kong Kim? 06 Mayıs 2019 Burak-Selim-Senyurt DevOps Hali hazırda çalışmakta olduğum firmada, microservice'lerin orkestrasyonu için KONG isimli bir araç kullanılıyor. Kabaca bir API Gateway rolünü üstlenen KONG microservice'lere gelen request'lerle ilgili olarak Load Balancing, Authentication, Rate Limiting, Caching, Logging gibi cross-cutting olarak tabir edebileceğimiz yapıları hazır olarak sunuyor(muş) Web, Mobil ve IoT gibi uygulamalar geliştirirken backend servisleri çoğunlukla microservis formunda yaşamaktalar. Bunların orkestrasyonunda görev alan KONG, Lua dili ile geliştirilmiş performansı ile ön plana çıkan NGINX üzerinde koşan açık kaynaklı bir proje olmasıyla da dikkat çekiyor. [Daha fazla]
Daha Verimli Konfigürasyon Yönetimi (.Net Core) 10 Aralık 2018 Burak-Selim-Senyurt .Net Core .Net core'da konfigurasyon bilgileri varsayılan olarak json formatlı olarak tutulur(appsettings.json) Burada çalışma zamanına özgü varsayılan parametreler dışında özel konfigurasyon içeriklerini tutmak da mümkündür. Hatta istersek birden fazla konfigurasyon dosyasını da bir arada kullanabiliriz. Her ikisini uygulamak da oldukça kolay aslında. Nasıl mı? Gelin birlikte bakalım. [Daha fazla]
Bir Web API Servisi Nasıl Hata Döndürmeli ? 19 Kasım 2018 Burak-Selim-Senyurt .Net Core Bu yazımızda IETF(Internet Engineering Task Force) ekibinin koyduğu önemli standartlardan birisi olan "Problem Details for HTTP APIs" konusunu incelemeye çalışıyoruz. Bu bağlamda RFC 7807 maddesinde belirtilen sonuçları elde edebilmek için Kristian Hellang'in geliştirdiği Hellang.Middleware.ProblemDetails nuget paketinden yararlanıyoruz. [Daha fazla]
Docker SQL Server Kullanımı 09 Kasım 2018 Burak-Selim-Senyurt .Net Core West-World'e daha önceden Microsoft SQL Server sürümünü kurmuş ve basit denemeler yapmıştık. Esasında bu şart değildi. SQL Server'ın Linux platformu için olan Docker imajını da kullanabilirdik. İşte bu yazımızda docker imajını baz alarak, Entity Framework çatısının kullanan basit bir Web API servisini nasıl geliştirebileceğimizi öğrenmeye çalışacağız. [Daha fazla]
.Net Core Web API Uygulamalarını Windows Service Üstünden Sunmak 17 Ekim 2018 Burak-Selim-Senyurt .Net Core .Net Core 2.1 sürümü ile birlikte bazı yeni özellikler geldi. Bunlardan birisi de Asp.Net Core uygulamalarını Windows Service üzerinden sunabilmek. Söz konusu yeniliği inceleyeceğimiz bu yazımızda bir Web API hizmetini host etmeyi öğreneceğiz. [Daha fazla]
Web API'leri Swagger ile Zenginleştirelim 21 Eylül 2018 Burak-Selim-Senyurt Asp.Net Core Bu yazımızda Web API servislerimizi OpenAPI Specification'da belirtilen dokümanlaştırma standartlarına göre nasıl zenginleştirebileceğimizi incelemeye çalışıyoruz. Web api servisinin ne işe yaradığını gösteren ve sunduğu operasyonları hızlıca test edebilmemize olanak tanıyan Swagger arabirimini de deneyimliyoruz. [Daha fazla]
Linkedin Bağlantılarını Elde Etmek 18 Ağustos 2018 Burak-Selim-Senyurt .Net Core Linkedin üzerindeki bağlantılarınızın listesini elde etmek ister misiniz? Aslında bu sanıldığı kadar kolay değil ancak nasıl yapıldığını öğrenmeye çalışırken OAuth 2.0 standartları ile kendimizi doğrulatmamız gerekiyor. Kabaca pek çok platformun yaptığı gibi bir yol izlememiz gerektiğini söyleyebiliriz. Gelin maceramıza başlayalım ve OAuth 2.0 tabanlı bir sistemin nasıl işlediğini anlamaya çalışalım. [Daha fazla]
Nasıl bir Web API Tasarımı? 06 Ağustos 2018 Burak-Selim-Senyurt REST Web API'ler dahası RESTful API türünden servisler çok uzun zamandır hayatımızda. Benim de gerek blog yazılarımdaki örnekler olsun gerek iş yerinde kullandıklarımız olsun sürekli haşırneşir olduğum enstrümanlar. Ancak son zamanlarda okuduğum kaynaklardan sonra bir çok isimlendirme hatası yaptığımı fark ettim. Nedir bu işin doğru yolu diyerek ortak standartları araştırmaya başladım. Elde ettiğim bir takım sonuçlar oldu. Bu sonuçlardan basit bir çizelge de hazırladım. Öncesinde bir kaç kısa bilgi verelim. [Daha fazla]
Post Görünümlü Put 02 Ağustos 2018 Burak-Selim-Senyurt .Net Core Hiç bir REST servisine Post talebi gönderip aslında onun Put işlemini yapmasını istediğiniz oldu mu? Bir kaç değişik sebepten dolayı tasarlayacağınız REST tabanlı servisin bu tip senaryolara hizmet verebilir olmasını isteyebilirsiniz. Haydi gelin bir .Net Core Web API için bunu nasıl yapacağımıza bakalım. [Daha fazla]
West-World'ün Uzaydan Gelen SQL Server ile Tanışması 26 Haziran 2018 Burak-Selim-Senyurt .Net Core Bizim kuşağın yazılımcıları uzun yıllar boyunca çeşitli çatışmalar içerisinde yer aldılar. Java'mı, .Net mi, SQL mi Oracle'mı, SOA'mı Microservices'mı....Bu ve benzeri tartışmalar uzun yıllar sürecek mi diye düşünürken birden şartlar değişmeye başladı. Mesela Microsoft açık kaynak dünyası ile el sıkıştı, ortaya .Net Core'u koydu. Hatta Java Developers Day'a altın ortak bile oluverdi. Ne alıp veremdikleri vardı ki bu ayrı dünyalarda yaşadıklarını zanneden standart koyucuların... [Daha fazla]
Bir Web API Servisini Github Hesabıyla Yetkilendirmek 04 Nisan 2018 Burak-Selim-Senyurt .Net Core Senaryomuzda basit bir Web API Servisi bulunuyor. .Net Core ile geliştirilen servisin bir Controller'ı için yetkilendirme(Authorization) sürecini uygulatmak istiyoruz. Burada OAuth 2 standardını ele almak, kullanıcı yetkilendirme yöneticisi ve bilet(Token) tedarikçisi olarak Github'dan yararlanmak istiyoruz. Temel olarak Web API servisimiz Consumer, Github'ın kendisi ise Service Provider olarak düşünülebilir. Tabii bu senaryonun gerçekleşmesi için bizim Github'a bir proje kaydettirmemiz ve özellike Redirect URI bilgisini Consumer rolündeki uygulamamız için bildirmemiz gerekiyor(Az sonra yapacağız) [Daha fazla]
Apache Üzerinden Bir Web API Hizmeti Sunmak 22 Mart 2018 Burak-Selim-Senyurt .Net Core Bu yazımızda West-World üzerine Apache kuruyor ve 80 portuna gelen talepleri Kestrel'e yönlendirerek bir Asp.Net Web API hizmetini nasıl sunabileceğimizi incelemeye çalışıyoruz. Daha önceden NginX için gerçekleştirdiğimiz vakayı Apache tarafı için ele aldığımızı ifade edebiliriz. Tabii farklı olan bazı noktalar var. Yine de teorinin aynı olduğunu ifade edebiliriz. Bakalım Apache, Ubuntu üzerinde nasıl Reverse Proxy Server haline geliyor. Haydi başlayalım. [Daha fazla]
Asp.Net Core Routing Mekanizmasını Kavramak 02 Şubat 2018 Burak-Selim-Senyurt Asp.Net Core Bu yazımızda Asp.Net Core routing mekanizmasını yakından incelemeye çalışacağız. .Net tarafında MVC zamanlarından beri kritik bir yere sahip olan talep yönlendirme mekanizması .Net Core tarafında da etkili bir biçimde kullanılmakta. Bir kaç farklı örnek yaparak mekanizmanın nasıl çalıştığını anlamaya çalışalım. [Daha fazla]
Sadece Tarayıcı Kullanarak Web API Servisini Google Cloud Platform Üzerinde Yayınlamak 14 Ocak 2018 Burak-Selim-Senyurt .Net Core Sizi Cumartesi geceme davet etsem...Olmaz mı? Pekiiii...Sadece 15 dakika içerisinde standart bir .Net Core Web API hizmetini Google Cloud Platform üzerine taşıyabileceğinizi söylesem. İlginizi çekmedi mi hala...Pekiiii...Tüm bunları sadece tarayıcı(Chrome, IE, Firefox, Opera, elde ne varsa) ile yapabileceğinizi söylesem :) Sanırım şimdi dikkatinizi çekmiş olmalı. [Daha fazla]
AWS Lambda Üzerinde .Net Core Koşturmak 12 Ocak 2018 Burak-Selim-Senyurt .Net Core, AWS Bu yazımızda Amazon Web Service'lerinden Lambda ürününü kullanmaya çalışıyoruz. Geliştireceğimiz basit bir Asp.Net Core Web API hizmetini Lambda üzerine fonksiyon olarak yerleştiriyoruz. [Daha fazla]
CORS(Cross-Origin Resource Sharing) 30 Aralık 2017 Burak-Selim-Senyurt .Net Core Bu yazımızda .Net Core WebAPI servislerine CORS(Cross-Orijin Resource Sharing) özelliklerinin nasıl eklenebildiğini inceliyoruz. Konuyu ele alırken CORS'un ne olduğuna da değinir ve örnekler ile açıklamaya çalışıyoruz. [Daha fazla]
JWT(JSON Web Token) Kullanımı 08 Aralık 2017 Burak-Selim-Senyurt .Net Core Bu yazımızda .Net Core üzerinde Json Web Token'ların nasıl üretilebileceğini ve bir Web API hizmeti üzerinden nasıl sunulabileceğini incelemeye çalışıyoruz. [Daha fazla]
.NET Core 2.0 ile Basit Bir Web API Geliştirmek 04 Ekim 2017 Burak-Selim-Senyurt Asp.Net Web API Bir süredir de .Net Core tarafına bakmak ve servis geliştirme noktasında neler yapılabileceğini incelemek istiyordum. İşlerden boşluk bulduğum bir sırada Web API nasıl yazılır araştırayım ve yaptığım örneği bloğuma ekleyeyim istedim. [Daha fazla]
Asp.Net Web API ile OData Kullanımı 21 Nisan 2016 Burak-Selim-Senyurt Asp.Net Web API İşlerin epeyce hafiflediği bir haftaydı diyebilirim. Dolayısıyla kırda parkta bayırda oturup dinlenmek için epeyce vaktim vardı. Ya da bir şeyler araştırmayı da tercih edebilirdim ki ben de öyle yaptım. Uzun zamandır Asp.Net Web API tarafında bir şeyler yapmıyordum. Araştırmalarım sırasında OData'nın Web API tarafındaki kullanımına denk geldim. Her zaman ki gibi konuyu olabildiğince basit bir halde öğrenmenin iyi olacağını düşündüm. Sonunda konuyu kaleme almayı başardım. Haydi başlayalım. [Daha fazla]