Bir React Uygulamasında En Ala SQL Veritabanını Kullanmak

Öğrenecek bir şeyler araştırırken AlaSQL isimli bir çalışma ile karşılaştım. Tarayıcı üzerinde çalışabilen istemci taraflı bir In-Memory veritabanı olarak geçiyor. Tamamen saf Javascript ile yazılmış. Geleneksel ilişkisel veritabanı özelliklerinin çoğunu barındırıyor. Group, join, union gibi fonksiyonellikleri karşılıyor. In-Memory tutulan veriyi kalıcı olarak saklamakta mümkün. Hatta bu noktada localStorage olarak ifade edilen yerel depolama'dan veri okunup tekrar yazılabiliyor. IndexedDB veya Excel'ide fiziki repository olarak kullanabiliyor. Ayrıca JSON nesnelerle çalışabiliyoruz ki bu da NoSQL desteği anlamına gelmekte. Benim amacım onu yalın bir React uygulamasında deneyimlemeye çalışmak. [Daha fazla]

Sunucu Bazlı Blazor Uygulaması ve Firestore Kullanımı

Blazor client-side web framework olarak düşünülebilir(Component ve DOM etkileşiminin aynı process içerisinde gerçekleşmesi) ancak process'lerin ayrılması konusunda da esnektir. Öyle ki, Blazor'u bir Web Worker içinde çalıştırıp UI thread'inden ayrıştırılabileceği ifade edilmektedir. Diğer yandan 0.5 sürümü ile birlikte Blazor uygulamalarının sunucu tarafında çalıştırılması mümkün hale gelmiştir. Yani .Net Core ile etkileşimde olacak şekilde Blazor bileşenlerini(component) sunucu tarafında çalıştırabiliriz. Burada .Net tarafı WebAssembly yerine CoreCLR üzerinde koşar ve .NET ekosisteminin tüm nimetlerinden(JIT, debugging vb) yararlanabilir. UI tarafı ile etkileşimde olayların ele alınması ve Javascript Interop çağrıları için SignalR bağlantılarından faydalanılır. [Daha fazla]

Azure Üzerinde Redis Cache Kullanımı

Bu yazımızda Azure üzerindeki minik maceralarımıza devam ediyoruz. Amacımız bir Redis Cache hizmetini devreye almak ve basit bir .Net Core istemcisinden yararlanarak kendisiyle konuşmak. Önce portaldan yararlanarak bir Redis Cache hizmetini devreye alacağız. Ardından StackExchange.Redis paketini kullanıp istemci tarafını geliştireceğiz. Redis'e ECHO komutu ile mesaj gönderecek ve kullanıcı tanımlı nesne örneklerini de nasıl kullanacağımız irdeleyeceğiz. Haydi gelin başlayalım. [Daha fazla]

GoLang - Bir ORM Denemesi

Veri depolamanın en popüler yolu NoSQL veya RDBMS bazlı sistemler. 90lı yıllardan beri program yazan insanlar için de özellikle Microsoft SQL Server, Oracle ve sonrasında gelen MySQL ya da SQLite gibi yapılar da oldukça fazla oranda kullanılmaktalar. E tabii bildiğiniz üzere bu serüvenin ortalarında bir yerlerde SQL dili ve RDBMS'in yapısının, programcıların kodlama mantığına biraz ters gelişi de vuku buldu. Sonuçta SQL tarafındaki varlıkların programatik ortamda ve özellikle nesne yönelimli(Object Oriented) dünyada nasıl daha anlamlı ele alınabileceğinin yolları araştırıldı. Artık popüler olma zamanı nesne ilişkilendirmelerini sağlayan araçlardaydı. Yani Object Relational Mapping(O/RM) konusu gündemdeydi. Neredeyse bütün programlama çatılarının bu tip araçlarla yakın ilişkisi bulunmakta. Hibernate ve Entity Framework gibi en azından ülkemizde adını sıklıkla duyduğumuz araçlar dışında farklı pek çok ürün de bulunmakta. Ben de GoLang tarafında SQLite operasyonlarını incelemeye çalışırken "bir O/RM aracı var mıdır?" sorusuna cevap ararken buldum kendimi. Murat Hoca'nın kitabı, GoLang'in resmi dokümanları, Stackoverflow konuları derken gitub üzerinden sunulan GORM ile karşlılaştım. [Daha fazla]

T-SQL ile Dinlenmece Eğlenmece

Açıkçası geçtiğimiz günlerde böyle sıkkın ve bıkkın bir ruh halindeyken ve konuşmak istediğim tüm arkadaşlarım yoğunken, ekranımda duran Management Studio' daki bembeyaz ve bomboş Query penceresi ile muhabbet etmeye karar verdim. Aslında amacım basitti. Daha önceki tecrübelerime dayanarak ihtiyaçlar dahilinde kullandığım T-SQL ifadelerini şöyle bir tekrar etmeye çalışacak ve siz değerli okurlarıma bir blog girdisi olarak sunacaktım. Aklıma geldikçe ihtiyaçlarımın T-SQL karşılıklarını yazmaya başladım. Düşündüğüm ilk gereksinim, sistemimde yüklü olan kaç veritabanı olduğunu ve bunlara ait bazı temel bilgileri edinmekti...İşte serüvenimiz bu ilk sorgumuz ile başlıyor. [Daha fazla]

Connection (Bağlantı) Kavramı ve OleDbConnection Sınıfı

Bu makalemizde, ADO.NET mimarisinde temel yapı taşı olan Connection (Bağlantı) kavramına kısaca değinecek ve OleDbConnection sınıfını incelemeye çalışacağız. ADO.NET mimarisinde, pek çok sınıfın veri kaynakları ile olan iletişiminde Connection (Bağlantı) nesnelerini kullanırız. Örneğin, bir veri kayağındaki tablolara ait verileri, DataSet sınıfından bir nesne örneğine taşımak istediğimizi düşünelim. Bu dataSet nesnesini dolduracak olan DataAdapter sınıfına, sahip olduğu sql sorgusunun veya komutunun işleyeceği bir hattı belirtmemiz gerekir. İşte burada devreye Connection (Bağlantı) nesnelerimiz girer. Yada bir Command sınıfı nesnesi yardımıyla veritabanı üzerindeki bir saklı yordamı (stored procedure) çalıştırmak istediğimizi düşünelim. Bu durumda komutun çalıştırılabileceği bir hattı veri kaynağımız ile Command nesnesi arasında sağlamamız gerekir. İşte Connection (Bağlantı) nesnemizi kullanmamız için bir sebep daha. [Daha fazla]

Bir Arayüz, Bir Sınıf ve Bir Tablo

Bugünkü makalemizde, bir arayüzü uygulayan sınıf nesnelerinden faydalanarak, bir Sql tablosundan nasıl veri okuyacağımızı ve değişiklikleri veritabanına nasıl göndereceğimizi incelemeye çalışacağız. Geliştireceğimiz örnek, arayüzlerin nasıl oluşturulduğu ve bir sınıfa nasıl uygulandığını incelemekle yetinmeyecek, Sql veritabanımızdaki bir tablodaki belli bir kayda ait verilerin bu sınıf nesnelerine nasıl aktarılacağını da işleyecek. Kısacası uygulamamız, hem arayüzlerin hem sınıfların hemde Sql nesnelerinin kısa bir tekrarı olucak. [Daha fazla]