Yakup KALEBAŞI Alınan Bilginin Karşılığı Öğrenmektir ...

Redis + Sentinel + Docker?

Modern web uygulamalarında, performans ve erişilebilirlik kritik. Önbellekleme, veri hızını artırmak için çok yaygın; bu alanda öne çıkan isimlerden biri de Redis. Ancak tek bir Redis sunucusu kullanmak bazen yetersiz kalabilir — sunucu arızalanırsa...

Kubernetes Üzerinde Apache APISIX Kurulumu (Helm + Etcd + Dashboard)

API Gateway çözümleri arasında Apache APISIX, modern, hafif, eklenti tabanlı ve yüksek performanslı yapısıyla öne çıkıyor. Özellikle microservice mimarilerde, trafik yönetimi, routing, authentication, rate-limit, observability gibi konularda çok güçlü bir altyapı sunuyor. Bu yazıda,...

pgRouting Nedir?

🧠 pgRouting Nedir? ⚙️ Kullanım Alanları 🧮 Basit Örnek Bu sorgu, edges tablosundaki graf yapısı üzerinden start_vertex’den end_vertex’e en kısa yolu bulur. ✅ Özet Özellik Açıklama Tür PostgreSQL / PostGIS için routing eklentisi Ne...

PeerDB nedir?

PeerDB Aşağıda, PeerDB’nin ne olduğu, teknik mimarisi, kullanım alanları, avantajları-dezavantajları ve senin “mikroservisler + CDC/ETL” ortamında nasıl değerlendirebileceğin anlatılıyor. 1. PeerDB nedir? 2. Teknik mimari ve özellikleri 3. Kullanım senaryoları Senin mikroservis/CDC ortamın bağlamında...

Materialized View Nedir?

Çok güzel bir soru Yakup 👏“Materialized View” (kısaca MV) kavramı — özellikle PostgreSQL, TimescaleDB ve analitik sistemlerde — performans optimizasyonunun kalbidir.Kısaca özetleyecek olursam: Materialized View, bir sorgunun sonucunu fiziksel olarak diske kaydeden, yani “önceden...

Superset Nedir?

Harika soru Yakup 👌Apache Superset, açık kaynak dünyasının en güçlü data visualization (veri görselleştirme) ve BI (Business Intelligence) araçlarından biridir — ve PostgreSQL / TimescaleDB gibi veri kaynaklarıyla da mükemmel entegre çalışır. Aşağıda Superset’i...

TimescaleDB Nedir?

Harika — çok doğru yere parmak bastın 🔥Timescale (özellikle TimescaleDB ve onunla entegre analiz araçları) zaman serisi (time-series) veri analizi için PostgreSQL tabanlı, güçlü bir platformdur.Aşağıda hem teknik mimarisini hem de hangi analiz araçlarıyla...

Kestra’yı Kubernetes Üzerinde External PostgreSQL ile Kurmak

Kestra, modern workflow yönetimi ve task orkestrasyonu sağlayan güçlü bir platformdur. Kubernetes üzerinde deploy edilebilir ve hem internal hem de external veri kaynakları ile çalışabilir. Bu yazıda, Kestra’yı external PostgreSQL ile Kubernetes’e kurma adımlarını...

Azure DevOps Self-Hosted Agent Kurulumu (Windows)

Bu yazıda, Windows üzerinde Azure DevOps self-hosted agent kurulumunu nasıl yaptığımı adım adım anlatacağım. Kurulum sırasında Personal Access Token (PAT) ile kimlik doğrulaması ve servisi Windows hizmeti olarak çalıştırma gibi detayları da paylaşacağım. 1....

Kubernetes Ortamında Velero ile Otomatik Yedekleme

Kubernetes ortamlarında veri sürekliliğini sağlamak için yedekleme kritik bir konudur. Bu yazıda, Velero kullanarak belirli bir namespace’in her gün Türkiye saatiyle saat 16:00‘da otomatik olarak nasıl yedeklendiğini adım adım göstereceğim. 🔧 Kullanılan Araçlar 📦...

Kubernetes Yedekleme Çözümü: Velero Kurulumu (MinIO ile)

Kubernetes üzerinde çalışan uygulamalarınızın yedeklenmesi ve gerektiğinde geri yüklenmesi için Velero güçlü ve açık kaynaklı bir araçtır. Bu yazıda, Helm chart kullanarak MinIO destekli bir Velero kurulumunu adım adım nasıl gerçekleştirdiğimi anlatacağım. Neden Velero?...

Redis Sentinel ile Manuel Failover Nasıl Yapılır?

Redis Sentinel, yüksek erişilebilirlik (HA) sağlayan güçlü bir Redis bileşenidir. Sisteminizde birincil (master) sunucu arızalandığında otomatik olarak yedek (replica) sunuculardan birini master olarak atayabilir. Ancak bazı durumlarda, manuel failover başlatmak gerekebilir. Bu yazıda, Redis...

🔍 SonarQubeSetting Nedir? .csproj Üzerinden Nasıl Kullanılır?

C# projelerinde SonarQube analizini yapılandırmanın en güncel ve pratik yolu .csproj dosyası üzerinden yapılır. Eskiden SonarQube.Analysis.xml dosyası ile yapılan bu işlemler, artık doğrudan proje dosyasına eklenen SonarQubeSetting öğeleri ile tanımlanabiliyor. Bu yazıda, SonarQubeSetting nedir,...

Bad file format reading the append only file of Redis

Redis bu hatayı, AOF (Append Only File) dosyasının bozulduğunu fark ettiğinde verir. Bu, verilerin bir kısmının kurtarılabileceği ancak AOF dosyasının onarılması gerektiği anlamına gelir. Hatanın mesajı zaten temel adımları özetliyor ama sana ayrıntılı bir...

XRDP Tam Masaüstü Deneyimi Aktivasyonu İçin Yapılacaklar

Bu işlem, xrdp ile tam masaüstü deneyimi yaşamanız için gereklidir. Bunun için /etc/xrdp/startwm.sh dosyasını düzenlemeniz gerekiyor. Bu dosya, xrdp oturumu başlatıldığında çalıştırılan betiği içerir. Aşağıdaki adımları takip ederek bu düzenlemeyi gerçekleştirebilirsiniz: Bash Script Dosyasını...

Elasticsearch ILM ve Index Template ile Doğru Rollover Yapılandırması

Elasticsearch ILM (Index Lifecycle Management), log indekslerini otomatik yönetmek için kullanılır. Ancak ILM’nin YYYY.MM formatında indekslerle çalışmadığını unutmamak gerekir. Elasticsearch ILM (Index Lifecycle Management), log indekslerini otomatik yönetmek için kullanılır. Ancak ILM’nin YYYY.MM formatında...

Awesome Prometheus Alerts

Awesome Prometheus Alerts, Prometheus kullanıcıları için hazır uyarı kurallarını içeren açık kaynaklı bir koleksiyondur. Özellikle Redis gibi popüler yazılımlar için kullanıma hazır uyarı şablonları sunar. Bu kurallar, sistem yöneticilerinin ve DevOps ekiplerinin kritik sorunları...

endoflife.date: Yazılım Yaşam Döngüsünü Yönetmenin Kolay Yolu

Yazılım geliştirme dünyasında, kullandığımız araçların ve teknolojilerin güncel olup olmadığını bilmek çok önemlidir. Güncellemeler yalnızca yeni özellikler değil, aynı zamanda güvenlik yamaları ve performans iyileştirmeleri de sunar. İşte tam da bu noktada endoflife.date devreye...

Serilog.Expressions – Nuget

Serilog.Expressions NuGet paketi, Serilog ile loglama yaparken log filtrelemelerini ve veri manipülasyonlarını daha güçlü ve esnek hale getirmek için kullanılan bir kütüphanedir. Bu paket, log mesajlarının içeriğine dayalı olarak dinamik kurallar tanımlayarak loglama işlemlerine...

Serilog.Redaction – Nuget

Serilog.Redaction NuGet paketi, Serilog ile loglama yaparken hassas verilerin (örneğin, kişisel bilgiler, kredi kartı numaraları, şifreler vb.) loglarda görünmesini önlemek için kullanılır. Bu paket, log mesajlarını yazmadan önce belirli verileri maskeleyerek (redact ederek) gizler....

crowdstrike hatası

1.enter in drive C: 2.system 32 folder 3. Drivers 4. Rename crowdstrike folder to something else doesen’t matter what. ————————————————————————————- 1. Rename csagent.sys ( the file causing the BSOD ) 2. Rename c:\windows\System32\Drivers\Crowdstrike

Hardening an ASP.NET container running on Kubernetes

Dockerfile üzerinde yapacağınız bir kaç düzenleme ile container daha güvenli hale getirebilirsiniz. https://techcommunity.microsoft.com/t5/microsoft-developer-community/hardening-an-asp-net-container-running-on-kubernetes/ba-p/2542224 https://stackoverflow.com/questions/72821020/how-to-resolve-permission-denied-on-net6-in-eks

İleri Seviye SQL: CTE (Common Table Expressions)

# CTE (Common Table Expressions) Nedir ? CTE, tek bir DML ifadesi süresince var olan ve genelde yinelemeli(recursive) ve karışık sorgu ifadelerinde kullanılan bir sorgunun sonuç kümesi olarak düşünülebilir. Veritabanı görünümleri(view), geçici tablolara(temp table),...

TLS Ayarları

.NET 4.0 TLS1.2 yi default olarak desteklememektedir bunun için Windows üzerinden “Power Shell” uygulamasını yönetici olarak başlatıp

SQL – XACT_STATE

XACT_STATE işleminde aşağıdaki değerler dönecektir: XACT_STATE Sonucu Açıklaması 0 Etkin herhangi bir transaction yok. 1 Hali hazırda aktif olan ve commit edilebilir bir transaction var. -1 Aktif transaction var fakat hata oluşmuş. Transaction sadece...

İncelenecek Yazılar

İncelenecek Yazılar

https://github.com/berkaybasoz/Generics https://www.c-sharpcorner.com/article/learn-web-api-using-sql-helper-class/ https://github.com/mirabeau-nl/Mirabeau-Sql-Helper https://www.codeproject.com/Articles/1037947/Implementing-Repository-pattern-and-Dependency-Inj https://codereview.stackexchange.com/questions/144784/unit-of-work-uow-pattern-with-ado-net http://www.enterprisecoding.com/post/ninject-giris Spiceworks Snipe-IT PDQ İnventory – PDQ Deploy Manage Engine Sitesini inceleyebilirsin abi

NInject Cheat Sheet

NInject Cheat Sheet   https://lukewickstead.wordpress.com/2013/01/18/ninject-cheat-sheet/

MECZUPLUK BUYSA “AKILLILAR” YANMIŞ….

MECZUPLUK BUYSA “AKILLILAR” YANMIŞ….

1965 yılında ELÂZIZ'DE vefat eden bir “deli”nin son dilekçesi:   “Ben dünya Kürresi, Türkiye karyesi ve Urfa Köyünden, (El-Aziz –Elazığ )Tımarhanesi (Akıl ve Ruh Sağlığı Hastanesi) sakinlerinden; İsmi önemsiz, cismi değersiz, çaresiz ve kimsesiz...

Tlbimp.exe (Type Library Importer)

The Type Library Importer converts the type definitions found within a COM type library into equivalent definitions in a common language runtime assembly. The output of Tlbimp.exe is a binary file (an assembly) that...

web.config ‘e proxy eklemek

<system.net> <defaultProxy useDefaultCredentials=”true”> <proxy usesystemdefault=”True” proxyaddress=”http://127.X.X.X:8080″ bypassonlocal=”True” /> </defaultProxy> </system.net>  

Is it possible to specify proxy credentials in your web.config?

namespace SomeNameSpace { public class MyProxy : IWebProxy { public ICredentials Credentials { get { return new NetworkCredential("user", "password"); } //or get { return new NetworkCredential("user", "password","domain"); } set { } } public Uri...

Get running job name from sysprocesses

Get the substring of the running job from sysprocess .. have filtered out generic refresher ETC select substring(program_name,55,7) ‘to search’ from master..sysprocesses where program_name like ‘%agent%’ and program_name not like ‘%DatabaseMail – SQLAGENT -%’...

Sql Takvim

create procedure spCalendar –draw a calendar as a result set. you can specify the month if you wwant @Date datetime=null–any date within the month that you want to calendarise. /* For Novermber 2013 it...

(HttpWebRequest)WebRequest.Create(url);

try { WebProxy oWebProxy = new WebProxy(ConfigurationManager.AppSettings[“ProxyAddress”]) { Credentials = CredentialCache.DefaultCredentials }; string url = "htt://www.yakupkalebasi.com/"; var req = (HttpWebRequest)WebRequest.Create(url); req.Proxy = oWebProxy; req.Method = "GET"; var resp = req.GetResponse(); var outStream = resp.GetResponseStream();...

IBAN Kontrol

https://github.com/eozban/csharp/tree/master/IBANKontrol

Vb script – MapNetworkDrive

Vb script – MapNetworkDrive

Option Explicit Dim objNetwork, objFSO, objShell Dim strDriveLetter, bForce, bUpdateProfile, strNewName strDriveLetter = "Z:" bForce = "True" bUpdateProfile = "True" strNewName = "\\bıdıbıdı\folder" Set objFSO = CreateObject("Scripting.FileSystemObject") Set objNetwork = CreateObject("Wscript.Network") If (objFSO.DriveExists(strDriveLetter) =...

Sql XML PATH

I had a similar issue when I was trying to join two tables with one-to-many relationships. In SQL 2005 I found that XML PATH method can handle the concatenation of the rows very easily. If there...

ajax post

$.ajax({ url: “http://www.yk.com/Insert”, type: “POST”, dataType: “json”, contentType: ‘application/json; charset=utf-8’, data: JSON.stringify({ Code: 123, Data: “data”, Comment: “” }), success: function (data) { } });  

Asp.NET MVC Hata Sayfasına Yönlendirme

Asp.NET MVC Hata Sayfasına Yönlendirme

ErrorController  public class ErrorController : Controller { public ActionResult ErrorPage(Exception exception) { Response.TrySkipIisCustomErrors = true; return View(); } public ActionResult ErrorPage404() { Response.StatusCode = 404; Response.TrySkipIisCustomErrors = true; return View(); } public ActionResult ErrorPage403()...

IP Adres Bulma

public string IP() { string ip = "" if (HttpContext.Current.Request.ServerVariables[“HTTP_X_FORWARDED_FOR”] != null) { ip = HttpContext.Current.Request.ServerVariables[“HTTP_X_FORWARDED_FOR”]; if (!string.IsNullOrEmpty(ip)) { string[] ipRange = ip.Split(",".ToCharArray()); ip = ipRange[0]; } } if (string.IsNullOrEmpty(ip)) if (HttpContext.Current.Request.ServerVariables[“REMOTE_ADDR”] != null)...

Get password for IIS Application Pool account

APPCMD: appcmd is an IIS tool used to manage IIS server. It provides many functions that can be used to manager server related activities like create/configure sites, start/recycle/stop app pools, etc. Retrieve Password of an...

Yazdığınız script’i kaydetmeden sildiniz mi?

Yazdığınız script’i kaydetmeden sildiniz mi? Management strudio’nu hata verip kapandı ve satırlarca sql’inizi recover edemiyor musunuz? Temp dosyalarda bulamadınız mı? Script’inizi bir defa çalıştırdıysanız üzülmeyin, hala kurtarabilirsiniz  Nasıl mı? Şöyle; use [DBName] go select...

String Format for DateTime

This site has great examples check it out // create date time 2008-03-09 16:05:07.123 DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008"...

TLS 1.1 ve 1.2 TLS varsayılan Güvenli protokoller WinHTTP Windows içinde olarak etkinleştirmek için güncelleştirme

Kolay düzeltme DefaultSecureProtocols kayıt defteri alt anahtarını otomatik olarak eklemek için Yükle düğmesini tıklatın. Dosya Yükleme iletişim kutusunda Çalıştır veya Aç' ı tıklatın ve sonra kolay düzeltme Sihirbazı'ndaki adımları izleyin. Notlar Bu sihirbaz yalnızca İngilizce olabilir. Ancak otomatik düzeltme, Windows'un diğer dil...

Google’ın “Test My Site” servisi yeni özellikler kazandı

İlk olarak geçtiğimiz yıl karşımıza çıkan Google’ın Test My Site servisi, web sitelerinin hem mobil hem de masaüstünde ne kadar hızlı çalışabildiğini ölçüyordu. Herhangi bir web sitesinin ne kadar kullanıcı dostu olduğuyla ilgili bir yüzde de...

ASP.NET 4.0’da ClientIDMode ile HTML ID’lerinin kontrolü.

ASP.NET'te en sevmediğim özelliklerden biri yaratılan HTML kodu üzerindeki kontrolün pek de mümkün olmaması. Aslında bu sevmediğim özellik ASP.NET'in işimizi bu kadar kolaylaştırabilmesini sağlayan en önemli altyapısı ile ilişkili. Fakat derdime çare arayacak olsam...

Windows Server 2012 / IIS 8.0 uygulamalarında tarih formatının “d.M.yyyy” olarak değişmiş olması

Merhaba Arkadaşlar, Varsayılan tarih formatı “Windows Server 2012” üzerinde, “Windows Server 2008 R2” den farklı olduğu için, IIS uygulamalarınızı IIS 8.0 üzerine taşırken, uygulamanızda kullanmakta olduğunuz tarih formatlarında değişiklik olduğunu farketmiş olabilirsiniz. Bunu en basitinden aşağıdaki “aspx” kodunu kullanarak test edebilirsiniz. Bu kod “System.DateTime.Now” çıktısını...

HTTP Durum Kodları – HTTP Status Codes

HTTP için durum kodları aşağıdaki gibidir :  1xx : Bilgi Amaçlı 100 Continue : İstek başarılı alındığı ve devam edilebileceği belirtilir 101 Switching Protocols : Sunucu, istemciden aldığı protokol değiştirme isteğine uyacağını belirtmektedir 2xx : Başarılı ...

SSL ile TLS Arasındaki Fark

SSL’in açılımı Secure Sockets Layer yani güvenli soket katmanıdır. TLS ise Transport Layer Security yani taşıma katmanı güvenliğidir. Bu yazıda SSL ile TLS arasındaki farkları inceleyeceğiz. TLS aslında SSL’in yeni adıdır. SSL protokolünün son versiyonu 3.0 idi ve TLS 1.0 aslında...

WCF Nedir?

Windows Communication Foundation WCF, servis-yönelimli mimariyi temel alarak dağıtık-uygulamalar geliştirmek için kullanılan, dağıtık mimari modelleri ve teknolojileri tek çatı altında birleştiren ve içerisinde bir çok hazır bileşen barındıran bir Framework API‘sidir. (Bknz. Service Oriented Architecture) Ayrıca WCF...

How to change WSDL URL from internal machine name to public?

<serviceBehaviors> <behavior name="<name>"> <!– Other options would go here –> <useRequestHeadersForMetadataAddress> <defaultPorts> <!– Use your own port numbers –> <add scheme="http" port="81" /> <add scheme="https" port="444" /> </defaultPorts> </useRequestHeadersForMetadataAddress> </behavior> </serviceBehaviors> Kaynak: https://stackoverflow.com/questions/5007270/how-to-change-wsdl-url-from-internal-machine-name-to-public?answertab=votes#tab-top

Sys.WebForms.PageRequestManager

Sys.WebForms.PageRequestManager

Sayfamıza bir UpdatePanel eklediğimizde otomatikman bir alt render motoru eklemiş oluruz. Yani o updatepane içeriği sayfanın geri kalanından bağımsız olarak sunucuya gidip gelmeye başlıyordu.  Bunun ingilizcedeki karşılığı “partial-page rendering”.  Başka bir deyişle aynı sayfa içinde...

C# Caller Information

namespace CallerInfo { public class CallerInfoExample { public void Log(String logMessage, [CallerMemberName] string callerName="", [CallerLineNumber] int lineNumber=0, [CallerFilePath] string filePath="") { Console.WriteLine("Çağrıldığı Dosya=" + filePath); Console.WriteLine("Çağıran Metod="+callerName); Console.WriteLine("Çağrıldığı Satır Numarası=" + lineNumber); } }...

Export To Excell Helper

public static void GridExportToExcel(string fileName, object dataTable) { var grid = new GridView(); grid.DataSource = dataTable; grid.DataBind(); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}-{1}.xls", fileName, DateTime.Now.ToShortDateString().Replace(".", ""))); HttpContext.Current.Response.ContentType = "application/ms-excel"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.Unicode; HttpContext.Current.Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble()); StringWriter sw =...

Mapper kütüphaneleri Performans Testi

Aşağıdaki yazının sonuç kısmını paylaşmak istedim. 4 Farklı renklere ayrılma sebebi 1,10,100 ve 1000 kayıt üzerinde yapılan işlemler sonucunda hangi Mapper türünün ne kadar sürdüğünü ayırtedebilmek için. 4 farklı değerdeki parametre sonucunda mapper türlerinin...

16.04.2017 Tarihi Anayasa Değişikliği İçin Referandum Yapıldı.

2017 Türkiye anayasa değişikliği referandumu, 16 Nisan 2017'de gerçekleşen halk oylamasıdır. Seçmenler, mevcut Türkiye Anayasası'nın 18 maddesi üzerindeki değişikliklerini oyladı. https://tr.wikipedia.org/wiki/2017_T%C3%BCrkiye_anayasa_de%C4%9Fi%C5%9Fikli%C4%9Fi_referandumu

SQL Server Locking Hints

Merhabalar, Sql server da yaptığımız bazı işlemler sırasında kullandığımız tabloları kilitlememiz gerekebilir. Yada kilitli bir tablodan kilidin açılmasını beklemeden sorgu çekmek isteyebiliriz. Bu gibi durumlar için kullanabileceğimiz sql server locking hint leri aşağıdaki gibidir;...

SQL Transactions

TRANSACTIONS   Transaction’lar, aynı anda birden çok işlemin yapıldığı durumlarda, bütünü oluşturan parçalardan en az birinde hata meydana gelirse bütün işlemleri geriye almamızı sağlayan ifadelerdir.   Transaction ifadelerini en yaygın olarak 2 yolla oluşturmak...

MVC ATTRİBUTE KULLANIMI

MVC Attribute aşağıdaki gibi kullanabilirsiniz. Filter  Interface  Default Implementation  Authorization Filter  IAuthorizationFilter AuthorizeAttribute  Action Filter  IActionFilter ActionFilterAttribute  Result Filter  IResultFilter ActionFilterAttribute  Exception Filter  IExceptionFilter HandleErrorAttribute Authorization : Diğer filtreler ve Action metodlardan önce çalışmaktadır.Controller ya...