Rust Dilinde Warp, Tokio Küfelerini Kullanarak Asenkron Web Api Geliştirmek

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]

GO Ortamında Minik Bir CRUD Servisini Gin-Gonic ile Geliştirmek

Gin-Gonic hafif siklet sayılan ama yüksek performansı ile öne çıkan(muadili olan martini'den çok daha hızlı olduğu ifade ediliyor) bir HTTP-Web framework. Elbette açık kaynak bir çatı. Middleware tarafında(Yani Request ve Response'lar arasında) Recover ve Log desteği sunuyor. Tabii kendi middleware bileşenimizi yazıp ekleyebiliriz de. Recovery modülü en başından beri ekli olduğundan paniklemeyen bir framework diyebiliriz :) Yani Go çalışma zamanında HTTP talepleri ile ilgili olarak bir panic oluştuğunda uygun bir 500 cevabı verebiliyor. [Daha fazla]

NextJS ile Web API Tüketen bir React Uygulaması Geliştirmek

Geçen sene React ile ilgili basit birkaç örnek denemiiş olmama rağmen öğrendiklerimi çok çabuk unuttuğumu fark ettim. Gerçek saha projelerinde sıklıkla kullanmayınca böyle bir şeyin olması kaçınılmazdı. Dolayısıyla skynet çalışmaları kapsamında tekrardan pratik yapmanın uygun olacağını düşündüm. Bu sefer amacımız Star Wars için https://swapi.dev adresinden sunulan REST servisini tüketen ve karakterlerin listesini gösteren bir web uygulaması geliştirmek. Bunu yaparken hafif siklet kategorisinde sayılan ancak bir çok işi kolaylaştırdığı söylenen Next.Js isimli web framework'ten faydalanacağız. [Daha fazla]

Bir Web API Hizmetinde Talepler ile CQ Arasında Mediator Kullanmak

CQRS, nam-ı diğer Command Query Responsibility Segregation mimari deseni, veritabanına doğru yapılan yazma, güncelleme, silme gibi aksiyonlar ile veri çekme işlemlerini ayrıştırmayı önermektedir. Command tarafı ile ilişkilendirilen aksiyonlar sadece veri üzerinde işlem yapar ve geriye bir şey döndürmezler. Sorgulama(Query) tarafına ayrılan aksiyonlar da tam tersine sadece veri döndürmekten sorumludurlar(Listeleme veya tek bir öğe detayının döndürülmesi gibi) Bir Web API ve CQRS söz konusu olduğunda karşımıza birde Mediator tasarım kalıbının uygulanışı çıkar. [Daha fazla]

Web API Tarafında Dapper Kullanımı

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]

Firebase Cloud Messaging ile Abonelere Bildirim Yollamak

Tarayıcı üzerinde yaşayan ve çevrim dışı ya da çok düşük internet hızlarında da çalışabilme özelliğine sahip olan PWA(Progressive Web Applications) uygulamalarının en önemli kabiliyetlerinden birisi de Push Notification'dır. Bu, mobil platformlardan yapılan erişimler düşünüldüğünde oldukça önemli bir nimettir. Arka planda içerik güncelleme (updating) özelliği de bir diğer önemli kabiliyettir. Bu yetenekler uygulama için tekrardan submit operasyonuna gerek kalmadan güncel kalabilmek anlamına da gelir. [Daha fazla]

Servis Çıktılarını Plotly.js ile Grafikleştirmek

West-World'de eğlence tüm hızı ile devam ediyor. Bu geceki "Easy Graphics of new Era" isimli partinin onur konuğu ise açık kaynak javascript grafik kütüphanesi Plotly. Oldukça renkli bir kişiliğe sahip olan plotly github şehrinin de en sevilen karakterlerinden birisi. Kendisini West-World'e getirense en yakın arkadaşları D3.js ve WebGL. Ona West-World sakinleri adına bir soru yönelttik ve izleyicilerini nasıl büyülediğini sorduk. Enerjik ve içten uslübuyla "dans figürlerimi çalışırken çoğunlukla JSON ve CSV melodilerinden ilham alıyorum. Kareografide uzun zamandarı Mr. jQuery ile ilerliyorum. Ayrıca Node'un bana sağladığı içsel motivasyondan bahsetmeden geçemem. Hepsi içimde harika bir karmanın oluşmasına neden oluyor. Sonuç gülümseyen ve ritmime uymaya çalışan insanların ortaya çıkarttığı müthiş enerji" diyor... [Daha fazla]

Node.js - Asenkron Talep Karşılama

Bu yazımızda Node.js ile geliştirilmiş sunucu uygulamalarında async kullanımını inceleyeceğiz. Amacımız istemci talebi sonrası arka planda paralel servis çağrıları gerçekleştirmek ve ayrıca bu süreç sırasında sunucuya gelecek diğer isteklerinde değerlendirilebileceğini görmek. Bunlara ilaveten ön tarafta konuşlandıracağımız ana servisin bir yönlendirici(router) gibi kullanılabileceğini öğreneceğiz. Haydi gelin hiç vakit kaybetmeden serüvenimize başlayalım. Konuyu basit bir şekilde anlayabilmek adına örnek bir senaryo üzerinden gitmekte yarar var... [Daha fazla]

Linkedin Bağlantılarını Elde Etmek

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]

Google Cloud Storage Kullanımı

Bu yazımızda Google Cloud Storage hizmetini nasıl kullanabileceğimizi incelemeye çalışıyoruz. Özellikle fiziksel depolama olarak kullanabileceğimiz bu hizmeti hem komut satırından hem de .Net Core ortamından kullanmayı deniyoruz. Bir Bucket oluşturup, fotoğraf yüklüyor, yüklediğimiz içerikleri kendi ortamımıza çekiyoruz. [Daha fazla]

Sadece Tarayıcı Kullanarak Web API Servisini Google Cloud Platform Üzerinde Yayınlamak

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]