Mennan Köse

Software Developer

.Net Core

Entity Framework Core'da Global Query Filters Kullanımı

Global Query Filters, entity nesnelerinde özellikle Where sorgu operatörüyle gönderdiğimiz sorguların her sorguya otomatik olarak eklemek için kullanılır. Kullanım senaryolarına örnek vermek gerekirse soft delete veya multi tenancy sorguları verilebilir. Bu yazıda örnek olması açısından soft delete senaryosu üzerinden ilerleyeceğiz. Global Query Filter tanımları

ASP.NET Core

ASP.NET Core Uygulamalarında Remote IP Adresi Problemi

ASP.NET Core ile geliştirilmiş bir web uygulamasının load balancer arkasında çalışabilmesi için UseForwardedHeaders middleware’ının kullanılması gerekmektedir. Bu middleware load balancer’ın yönlendirdiği X-Forwarded-Proto ve X-Forwarded-For http headerlarından gelen değerin uygulamamız tarafından erişilebilmesini sağlar. Örnek kullanımı aşağıdaki gibidir. var forwardingOptions = new ForwardedHeadersOptions() { ForwardedHeaders

JavaScript

JavaScript'te Seçilmiş Metindeki Seçimi Kaldırmak

JavaScript’te input bir alanda olan seçili metindeki seçimi kaldırmak için aşağıdaki yöntemden faydalanabiliriz. if (window.getSelection) { window.getSelection().removeAllRanges(); } else if (document.selection) { document.selection.empty(); } window.getSelection Internet Explorer 9+ ve diğer tarayıcılar tarafından desteklenmektedir. document.selection ise Internet Explorer 8 ve

JavaScript

Tarayıcıda Sekme Değiştirmenin Algılanması

Merhabalar, Tarayıcılarda bir sekmeden başka bir sekmeye geçişi Page Visibility API sayesinde anlayabiliriz. visibilityState özelliğinde sekmenin durumu tutulmaktadır. Örnek olarak aşağıdaki kodu inceleyebiliriz: document.addEventListener("visibilitychange", function() { console.log(document.visibilityState); }); Sekme değişikliklerini visibilitychange olayı yakalamaktadır. visibilityState özelliği aşağıdaki değerleri almaktadır: visible:

Bootstrap

Bootstrap Popover Eklentisinin Ekran Görünümüne Göre Konumlanması

Bootstrap’in Popover eklentisini kullanırken tarayıcının ekran boyutlarında herhangi bir değişim olduğunda açılan Popover ekranda düzgün bir şekilde konumlanmamaktadır. Örneğin Popover’ın placement özelliğini top olarak atarsanız tarayıcı ekranını aşağı doğru kaydırdığınızda veya ekran boyutunu değiştirdiğinizde Popover ekranın dışında kalacaktır. Bu sorunu önlemek için

Entity Framework

Code-First ile Üretilmiş Migration'ların SQL Çıktısının Üretilmesi

Entity Framework Code-First yöntemi kullanılarak geliştirilmiş uygulamalarda add-migration ve update-database komutlarını Package Manager Console üzerinden çalıştırdığımızda uygulamamızın kullanmış olduğu Connection String üzerinden değişiklikleri veritabanına uygulayabiliyoruz. Ancak üretilen bu migrationları veritabanında herhangi bir değişiklik yapmadan SQL çıktısı olarak alabilmek için aşağıdaki komutu kullanabiliriz. Update-Database -Script

ASP.NET

ASP.NET'te Page_Load Olayının Master Page'deki Page_Load Olayından Önce Tetiklenmesi

ASP.NET’te bazı durumlarda sayfa yüklemeden önce bazı işlemlerin yapılması gerekebilir. Örneğin kullanıcı doğrulaması gibi. Bu gibi durumlarda hem sayfalarda hem de Master Page’lerde Page_Load olayı kullanılır. Ancak bu olayda sayfanın içeriği oluşturulmaktadır. Sayfanın içeriği oluşturulmadan önce bu kontrolleri yapabilmemiz için

SQL

SQL Server'da Komutların Çalışmasını Belli Bir Süre Bekletme

SQL Server’da çalıştırdığımız komutları belli bir süre bekletip tekrar çalıştırabilme olanağımız vardır. Bazı programlamla dillerinde bulunan Delay veya Thread.Sleep metodlarının aynısını SQL Server üzerinde de kullanabiliriz. WAITFOR DELAY komutu bu işlemi gerçekleştirmektedir. Kullanımı aşağıdaki şekildedir: -- 5 dakika bekletir. WAITFOR DELAY '00:

Bash

Apache'de Dizin Listelemeyi Pasif Yapma

Apache’nin önceki sürümlerinde Dizin Listeleme’yi (Directory Listing) devre dışı bırakmak için httpd.conf dosyasında bazı değişiklikler yapmak gerekliydi. Ancak Ubuntu üzerinde Apache2 kullanıyorsanız bu dosyayı düzenlemenize gerek kalmamaktadır. Terminal üzerinden aşağıdaki kodu yazıp çalıştırdığınızda dizin listeleme pasif olacaktır. sudo a2dismod autoindex Terminal’

SQL

SQL Server'da Tüm Kolonların Collation'ını Değiştirme

SQL Server üzerinde veritabanının Collation’ını değiştirdiğiniz zaman Collation kolonlarda değişmeyebilir. SQL Server Management Studio’da tablo düzenlemesinden değiştirmek istediğinizde eğer tablo üzerinde veri varsa hata mesajıyla karşılaşacaksınız. Aşağıda bulunan T-SQL sorgusu veritabanındaki tüm tabloların tüm kolonlarının Collation’larını değiştirmektedir. DECLARE @collate nvarchar(100)

You've successfully subscribed to Mennan Köse!