aaPanel Nedir? Kurulumu Nasıl?

aaPanel,  BAOTA panelinin Uluslararası versiyonudur (www.bt.cn). 2014 yılından bu yana Çin’de BAOTA panelini kurmuş milyonlarca sunucu var. Dünya genelinde de aaPanel bir süredir yayılmaya devam etmektedir. Bu yönetim paneli sayesinde sunucularınızı plesk, cpanel, vb… ciddi aylık fiyatları olan (özellikle Türk Lirası karşılığı olarak) panellere bir alternatif olarak sunucunuzu yönetebileceğiniz bir management panel, yani yönetim paneli uygulaması. Github üzerinden ulaşabileceğiniz açık kaynak kodları, api desteği ve tamamen ücretsiz eklentileri mevcuttur. Giderek yaygınlaşacağını düşündüğümüz aaPanel, şimdilik ücretsiz …

Html5 Video Player

Bu yazıda kısaca Html5 ile birlikte gelen standart video oynatıcısı ve bir kaç özelliğinden bahsetmek istiyorum. Daha eskiler bilirler hayatımızda bir süre öncesine kadar flash, vb… tabanlı video oynatıcılar hüküm sürüyordu. Epey zamandır bu durum html5 teknolojisi ve daha öncesindeki bazı jquery veya javascript tabanlı eklentiler ile değişmiş durumda. Artık günümüzde bir video oynatmak için bu tip taklalara gerek kalmadan sadece <video> tagi ile bu işlemi yapabiliyor durumdayız. Tabi daha gelişmiş oynatıcılar yine var. Onlara …

Dapper Repository Kullanımı ve Örnek Proje – 1

Merhaba Arkadaşlar, bugün kendimce biraz marjinal bir karar alayım dedim ve dapper repository kullanarak örnek bir proje makale serisi hazırlamaya karar verdim. Bu projenin içerisinde temel olarak sıfırdan bir proje açmayı ve EF, FNhibernet, vs… değil de data katmanında DapperRepository kullanarak işlemlerimi yapmayı düşünüyorum. Dapper Nedir? Son yıllarda yazılımdan çok yazılımın güvenliği, performansı ve işlevselliği daha büyük önem kazanmış durumunda. Bu neden ile aslında kendim de yaptığım ORM testlerinde epey bir fark ile dapper’ın performansını …

C# Asp.Net ve Core İle E-Mail Gönderme

Merhaba Arkadaşlar. Uzun zamandır hiç paylaşım yapmıyordum. Tabi bu arada kodlamalara devam ediyoruz. Hayatın bir gerçeği. 🙂 Az önce belki hayatımda yüzlerce kez kullandığım bir kodu tekrar tekrar yazmak zorunda kaldım. Bu da haliyle bende “neden ben siteme bu kodu hazırlayıp koymadım ki” hissiyatını uyandırdı istemsizce. Bu yüzden de hemen kodu hazırlayıp, açıklamaları ile birlikte siteye atmak istedim. İşte bu paylaşım tamamen böyle bir durumun ürünü. Umarım daha sonralarında size çok çok daha yararlı gelecek …

C# İle Kurulu Bir Uygulamanın Yolunu, Adresini Bulmak

Bilgisayarda kurulu veya yüklü olduğunu bildiğiniz bir uygulamanın tam yolunu bulmak isteyebilirsiniz. Bu gibi bir durumda aslında başvurulması gereken yöntem iç içe bir foreach döngüsü ve Directory sınıfından ibaret olacaktır. Diyelim ki uygulamamızın adı notepad++.exe olsun. Bu dosyanın da C:\Program Files (x86)\ dizininde kurulu olduğunu biliyoruz. İşte bu gibi bir durumda aşağıdaki kodu rahatlıkla kullanabiliriz; Burada, try – catch bloğunu kullanmamın sebebi; Bazı uygulamaların dizinlerine erişmekte başarısız olabiliriz. Örneğin temp klasörü altında veya windows klasörü …

MSSQL – Cursor Kullanımı

MSSQL içerisinde bir çoğumuzun bildiği üzere çok sayıda döngü bulunmamakta. Bu yüzden genellikle WHILE döngüsüne hapsolup kalabiliyoruz. Ancak kimi zaman kayıtlarda işlem yaparken birden fazla alana ihtiyaç duyabiliyor ve o alanları döngünün içerisinde kullanmak isteyebiliyoruz. Aslını isterseniz CURSOR metodu da tam olarak burada imdadımıza yetişiyor. Kendisi WHILE döngüsü ile birlikte kullanılan bir yöntem aslında. Tek farkı da, WHILE ile tek başına rakam içerisinde dönerken CURSOR ile birlikte kullanımında bellekte o döngü sırasına birden fazla değişken …

C# İle TCMB Döviz Kurlarını Okumak/Almak

Bildiğiniz üzere Türkiye içerisinde genel yasal döviz kurlar Türkiye Cumhuriyet Merkez Bankasından alınmakta. Tabi bu işlem için kendilerinin de bir hizmeti yok değil. Her gün saat 15:30’da yeni kurlar açıklanır ve TCMB’nin sitesinde ve XML’inde bu kurlar güncel olarak görüntülenebilir. İşte o adres; https://www.tcmb.gov.tr/kurlar/today.xml Buradaki değeri istediğiniz periyotta okuyup veritabanınıza kaydederek güncel kur işlemlerini takip edebilirsiniz. Nasıl mı? İşte size tam kod; Burada belirtilen “USD” / “EUR” gibi alanları XML’deki alanlara göre güncelleyerek istediğiniz kuru …

C# Döngüler, For, Foreach, While Döngüleri, Karşılaştırma

Selam Arkadaşlar, Özellikle yazılım sektöründeki yeni arkadaşlar için kıssadan hisse şekilde bazı çıtır çerez bilgiler verecek makaleler yayınlayayım istiyorum arada bir de olsa. Bu döngüler konusu da bunlardan bir tanesi elbette. Hepimizin bildiği gibi döngüler yazılımın en temel unsurlarından bir tanesi. Farklı alternatifler geliştirilmeye çalışılmış olsa da (linq bunlardan bir tanesi) çoğu zaman bir döngüden daha performanslı bir hal alamayabiliyorlar. Örneğin en basit şekilde şöyle bir testi anlatayım; Tüm ilişkilerden, database, vb… üçüncü parti uygulamalardan …

NopCommerce ve GrandNode Kurulumu

Merhaba Arkadaşlar, Aslında bu yazımı okuyuculardan gelen bir yorum üzerine yazma gereği duydum. Nopcommerce ve GrandNode arasındaki temel farkın %99 kullandıkları database’den kaynaklandığından daha önceki yazılarımda bahsetmiştim. Bu yazıda ise bu uygulamaların kurulup çalışır hale getirilmesinden bahsetmek istiyorum biraz da. Yazı içerisinde GrandNode’un kurulumunu yaparak gösteriyor olacağım. Burada dikkat edilmesi gereken husus, NopCommerce kurarken mongodb bağlantıları isteyen kısımlarda MSSQL bağlantı bilgilerinizi giriyor olmak. Bunun dışında kurulum kısmında hiçbir fark bulunmamaktadır. Bu anlatımda Windows ortamında yayınlamadan …

MongoDB Sort Memory Limit

MongoDb içerisinde sort işlemi yaparken RAM’de ki alanınız 32 MB ile sınırlıdır. Bu durumda aşağıdaki şekilde bir hata ile karşılaşırsınız. Executor error during find command :: caused by :: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit.   Ancak bu alanı arttırmak sizin elinizde. Yalnız en aşağıdaki uyarıyı lütfen es geçmeyin. db.adminCommand({setParameter: 1, internalQueryExecMaxBlockingSortBytes:50151432})   Uyarı: Bellekteki yeri açtığınızda unutmayın ki sunucunudaki kullanılabilir belleğinizden …

MongoDB Ve, Veya, Büyüktür, Küçüktür, Büyük Eşittir, Küçük Eşittir Sorguları

MongoDB – Ve ($or) – Küçüktür, Büyüktür, Küçük Eşittir, Büyük Eşittir gte : büyük eşit lte: küçük eşit   gt : büyük lt: küçük   MongoDB – Veya ($or) – Küçüktür, Büyüktür, Küçük Eşittir, Büyük Eşittir gte : büyük eşit lte: küçük eşit

NopCommerce Kurulumu Nasıl Yapılır?

Selam Arkadaşlar, Geçen haftalarda anlattığım nopcommerce e-ticaret uygulamasının kurulumu ve geliştirilmesi ile ilgili bir yazı dizisi kaleme almak istedim. Aslına bakarsanız kafamda 4-5 bölümlük bir plan var. Eğer farklı bir talep gelir ise tabii ki değerlendirerek ona göre yeni bölümler planlayabiliriz. Ama her zamanki gibi yorum kısmına varsa sorularını yazmaktan çekinmeyin. Öncelikle www.nopcommerce.com adresine giriyoruz. Artından yukarıdaki menüden Downloads > Download NopCommerce linkini takip ediyoruz. Burada karşımıza 3 seçenek çıkıyor (Şu an yayında 4.10 versiyonu …

NopCommerce Nedir?

Selam arkadaşlar, Yeni notlar silsilesi ile karılaşıyor olacağız. Burada aslında sizlere anlatmak istediğim birden fazla hazır .net tabanlı platform. Ancak şimdilik bir yerinden başlamak gerekiyor. Bu nedenle nopcommerce ile işe başlamak istedim. Yaklaşık 2,5 yıldır NopCommerce ile alakadarım. Hatta son 2 yıldır aşırı derecede içlidışlıyım diyebilirim. 🙂 Bu diziyi hazırlamak istememin sebeplerinden bir tanesi de, Türkiye’de bir çok firmanın kullanmasına karşın neredeyse hiç Türkçe dökümantasyonu olmaması ve bu nedenle çok da yaygınlaşamıyor olması. İşte buna …

Centos 6/7 – SSH Aracılığıyla MongoDB Kurulumu

Merhaba Arkadaşlar, Hakkımda sayfamda da belirttiğim gibi aslına bakarsanız bu site benim için kendi kendime notlarımı tutmak için açtığım, ancak zaman içerisinde taleple biraz daha biraz daha derken zenginleştirmeye çalıştığım bir site haline geliyor. Bunu neden anlattım? Elbette bu konu da ne alaka demeyesiniz diye 🙂 Öncelikle asli amacım MongoDB için bir linux sunucu almak ve bu sunucuda mongoDB kurulumunu gerçekleştirerek uzaktan testlerimi ve canlı işlemlerimi bu sunucu üzerinde yapmaktı. Ki öyle de oldu zaten. …

MongoDB – Update Many (Toplu Update İşlemi)

Merhabalar, MongoDB’de toplu update işlemi özellikle SQL severlerin karşılaşabileceği problemlerin başında. Zira internette her aramada yeterli ve geçerli bir kaynak bulmak maalesef söz konusu olamıyor. Bu nedenle kısaca bahsedeyim istedim; [highlight] db.collection.updateMany( <filter>, <update> ) [/highlight] Burada görünen “filter” alanı aslına bakarsanız SQL’deki “where” koşulunun yerine geçiyor. Yani şu şekilde yazılabilir örneğin; [highlight] { Name: “Türkiye” } [/highlight] Bu koşulla gittiğimizde ilgili güncelleme sadece “Name” field’ı “Türkiye” olan kayıtlar için yapılacaktır. Son olarak da asıl …

Dapper Nedir? Farkları Nelerdir?

Son zamanlarda bir projemde kullanmak üzere farklı ORM’ler üzerinde çalışmaktayım. İşte bu yazımda bunların sonuncusu olan Dapper hakkında bilgi vermek istiyorum. PetaPoco, EntityFramework, Fluent NHibernate ile ilgili yazılarımı da dilerseniz okuyabilirsiniz. Şimdi geçelim nedir bu Dapper ve farkları nelerdir?… Dapper Nedir? Aslında temelde Ado.Net tabanlı olan ve size sadece modelleme yaparak hızlı kodlama imkanı sağlayan bir ORM. Tabi bu kadar kısa ve net özetleyerek bundan ibaret olduğunu düşündürmek istemem. Özellikle performans olarak gerçekten ado.net’i aratmayacak …

EntityFramework vs Fluent NHibernate

Başlıktan da anlaşılacağı üzere bu testimde kendi bilgisayarımda EF ve FNHibernate’i karşılaştırdım ve performans grafiğini çıkardım. Bahsi geçen işlemleri elimden geldiğince aynı datalar üzerinde uygulamaya çalıştım. Şimdi işlem işlem performans sonuçlarını görelim isterseniz. Not: Tüm işlemler BULK(Toplu) olarak yapılmıştır. Yalnızca adet olarak “tekil” belirtilen işlemler tek başına yapılmıştır. INSERT İŞLEMİ Adet 10.000 Entity Framework 26.576 ms Fluent NHibernate 4.695 ms Adet 25.000 Entity Framework 185.167 ms Fluent NHibernate 9.251 ms Adet 1.000.000 Entity Framework 34.275.210 …

ORM Yapıları, Eksi ve Artıları

ORM Yapıları ORM Nedir? Ne İşe Yarar? ORM yapılarını sanırım bir çoğumuz duymuşuzdur. Object Relational Mapping-İlişkisel Nesne Eşleştirme’nin kısaltılmışı olarak biz developer’ların hayatına çok çok uzun olmayan bir zaman önce giren ve işlerimizi gerçek anlamda kolaylaştırmaya dönük yapılar. Eskiden hatırlayın; bir kayıt üzerinde işlem yapmak ve/veya binlerce kayıt üzerinde işlem yapmak için satırlarca SQL komutu girmek zorundaydık. İşte, bir birinden farklı bir çok ORM yapısı ile bu sorgular çok ama çok kısalmış durumda artık. Peki bu …

C# ile String Replace

Replace kelime anlamından da anlayabileceğimiz üzere “değiştirmek” anlamındadır. Yazılımdaki karşılığı ise bir karakteri/leri başka bir karakter/ler ile değiştirmek için kullanılmasıdır. Yani diyelim ki “erkan” karakter katarını “ahmet” karakter katarıyla değiştirmek istiyoruz. Bu durumda Replace fonksiyonuna ihtiyaç duymaktayız. Gelin şimdi bir kaç örnek ile kontrol edelim;