C# Elasticsearch Nedir

Visual Studio programında NEST kütüphanesiyle Elasticsearch arama motorunu kullanabilirsiniz. Nuget Package Manager ile NEST kütüphanesini yükleyebilirsiniz. https://www.elastic.co/downloads/elasticsearch Yukarıdaki adresten Elasticsearch arama motorunu indirebilirsiniz. 64 bit Windows işletim sistemi için “MSI (BETA) sha” kısmına tıklayınız. Windows+R ile çalıştır komut satırı açılıp “services.msc” komutu yazınız. Elasticsearch servisi manuel olarak çalışabilir. Kontrol ediniz. Chrome üzeride JSON gösterimini daha …

C# interface kullanımı

interface, implement edilen sınıflara yön gösterme için kullanılır. Bir sınıfa birden fazla interface implement edilebilir. interface üyelerine gövde tanımlaması yapılmaz. interface üyelerine erişim belirleyicisi(access modifier) belirtilmez. Default olarak public olurlar. interface bir sınıfa implement edilirse, sınıfta interface üyelerinin tümü tanımlanması gerekir. arayüzü(interface) isimlendirme için genellikle I harfi ile başlar. Çıktı : IDBLog, IFileLog ve ILog …

C# abstract kullanımı

Abstract sınıf, ortak özelliklere sahip sınıflara base sınıf(alt sınıf) olma görevini üstlenir. Abstract sınıftan nesne oluşamaz. Abstract metot ise sadece abstract sınıfında tanımlanır ve metodun gövdesi yazılmaz. Abstract sınıfı miras alan sınıflar abstract metodu override etmek zorundadır. Böylece gövdesi miras alan sınıflarda(üst sınıflar) yazılmış olur. Abstract metotlar private olarak tanımlanamaz. Çıktı : SMS ve Mail …

C# Boxing ve Unboxing Nedir?

Boxing, bir değer tipini(value type) object tipine(object type) dolaylı olarak dönüştürme işlemidir. Yukarıdaki örnekte i değişkeni değer tipi(value type) olarak gösterilir. CLR, değer tipini(int i = 123;) kutular(box). 123 değerini System.Object içine paketler(wrap). Sonra yönetilmiş yığında(managed heap) depolar. Yığında(stack) bulunan object o, yönetilmiş yığında(managed heap) bulunan değer tipinin(value type) değerini referans verir. Bu değer, i …

Redis Nedir ve Kullanımı

Redis(Remote Dictionary Service), key value olarak tasarlanmış NoSQL veritabanıdır. Sabit Diske(Hard disk) yazmadan RAM üzerinde tutmaya yarar. Sunucu kapansa bile veriler NoSQL veritabanından dolayı kaybolmaz. sql, CPU üzerinde ciddi yer tutabilir. (Özellikle yüksek trafikli web sitelerinde) Redis bu yükü hafifletmektedir. Redis tüm veriyi bellekte tuttuğu için çok hızlıdır. Redis çok az bellekte yer kaplar. Client …

C# static class nedir

Örneği(instance) oluşturulmadan static üyelere erişebiliriz. Sınıfın örneği(instance) ile static üyeye erişemeyiz. Sadece static üyeler içeren bir sınıf için instance oluşturmak bellekte(memory) kullanılmayan olan oluşturur. Bu yüzden böyle bir durumda instance oluşturmaya gerek yoktur. Bu durumda instance oluşturmayı engellemek için oluşturucusu(constructor) private olarak tanımlanır. Sınıfın kendisi static olursa, sadece static üyeler eklenir. Ayrıca instance oluşturmayı engellemek …

C# Generic Sınıf ve Metot Kullanımı

Örneğin bir generic tipi(type) T parametresini kullanma yoluyla, belirli bir tipe bağlı olmayan, bir tek sınıf yazabilirsin. Kod tekrarını önler. MyList generic sınıfı T parametresini kullanarak veri türü farketmeksizin(int, string, Person) işlem yapabilmektedir. System.Collections.Generics kütüphanesini de kullanabilirsiniz. Örneğin List, Dictionary, Queue (First In First Out), Stack (Last In First Out), SortedList (Key değerine göre sıralama) …

C# Serialization nedir?

Bir sınıf örneğindeki(instance) verinin bir yerde depolanırken veya bir yere transfer edilirken programlama dilinden bağımsız standartlara dönüştürme işlemine serileştirme (serialization) denir. Verilerin depolanması veya transfer edilmesi için Binary, SOAP, JSON veya XML gibi standartlar kullanılabilir. Deserialization bu işin tam tersidir. (Serileştirilmiş verinin dönüştürme işlemi sonucunda belli sınıfın örneğine(instance) dönüştürülmesi işlemidir. ) Serileştirme işlemi veya tersi …

Singleton Design Pattern c# nedir

Singleton design deseni kullanılarak, bir programın yaşam süresince belirli bir sınıfın örneği(instance) yalnızca birkez oluşturulur. Bu desen sayesinde yeni örnek(instance) oluşturma yerine referansı kullanılır. Bu referansa global düzeyde erişim sağlanır. Örnek(instance) oluşturma işlemi ilgili sınıf içerisinde static özellik(property) veya static metot ile yapılmaktadır. Oluşan örnek(instance) private erişim türündeki özelliğe atanır. 1. Örnek 2. Örnek private …

C# Factory Design Pattern Nedir

Creational Desenlerden (Pattern) Factory Design Pattern 2 alt gruba ayrılır. 1. Factory Method 2. Abstract Factory Client tarafındaki kodumuzu etkilemeden, factory design desenimizi kullandığımız kodda en az dokunuşla değişiklik yapmamıza izin verir. Factory Method desenini kullanarak bir örnek yapalım. (interface kullanıyoruz.) Senaryomuz File ve DB sınıfları oluşturmak, log kayıtlarımızı veritabanına veya metin dosyasına yazdırmak olsun. …