Mennan Köse

Mennan Köse

.NET Core'da Custom Feature Flag Provider Geliştirme
.Net Core

.NET Core'da Custom Feature Flag Provider Geliştirme

Merhabalar 👋 Bu yazımda .NET Core'da feature'ları yönetebildiğimiz kütüphane olan FeatureManagement [https://www.nuget.org/packages/Microsoft.FeatureManagement/] kütüphanesinden ve feature ayarlarımızı saklayabileceğimiz farklı alanlardan bahsedeceğim. Bazen geliştirdiğimiz özellikleri canlı ortama almışken o özelliklerin kapalı gelmesini ve zamanı geldiği zaman açmak isteyebiliriz. Bu tip operasyonları yönetmek için
7 min read
Mountebank ile API Dönüşlerinin Mocklanması
Test

Mountebank ile API Dönüşlerinin Mocklanması

Merhabalar. Bu yazımda geliştirmiş olduğumuz uygulamaların iletişime geçtiği API'ların dönüşlerinin (response) nasıl mocklanacağından bahsedeceğim. Şöyle bir senaryoyu düşünelim. Bir Front-End uygulaması üzerinden (React, Vue veya Angular ile geliştirilmiş) bir API uygulamasına istek atıyoruz. Front-End uygulamamızın testlerini yazarken API uygulamasının da ayakta ve istediğimiz cevapları vermesini beklemekteyiz. Ancak Front-End
8 min read
.NET Core  ile RESTful API Design Sunumum
ASP.NET Core

.NET Core ile RESTful API Design Sunumum

15 Mayıs 2020 günü dotnet istanbul [https://kommunity.com/dotnet-istanbul]'da .NET Core ile RESTful API Design [https://kommunity.com/dotnet-istanbul/events/net-core-ile-restful-api-design-fe171c15] isimli online bir etkinlik gerçekleştirdik. Kısacası sunumda bahsettiğim konular şu şekilde; * API standartları * Kullanılması gereken HTTP metodları * Hangi HTTP durum kodu (Status Code) nerede kullanılır * Güvenlik
1 min read
Puppeteer'da Bir Web Uygulamasına Giriş Yapmak ve Giriş Bilgilerini Saklamak
Puppeteer

Puppeteer'da Bir Web Uygulamasına Giriş Yapmak ve Giriş Bilgilerini Saklamak

Merhabalar. Önceki 2 yazımda Puppeteer'a giriş yapıp [https://mennankose.com/puppeteer-ve-jest-ile-e2e-testlerinin-yazilmasi/], setup ve teardown [https://mennankose.com/puppeteerda-setup-teardown-ve-test-environmentin-kullanimi/] durumlarını incelemiştik. Puppeteer ile bir test yazarken bazı durumlarda web uygulamasına giriş yapılması gerekebilir ve giriş bilgilerinin (örneğin cookie veya token bilgileri) bir yerde saklanıp kullanılması gerekebilir. Bu yazımda ben
5 min read
Puppeteer'da Setup, Teardown ve Test Environment'ın Kullanımı
Jest

Puppeteer'da Setup, Teardown ve Test Environment'ın Kullanımı

Merhabalar. Bir önceki yazımda [https://mennankose.com/puppeteer-ve-jest-ile-e2e-testlerinin-yazilmasi/] Puppeteer ve Jest'in kurulumu ve testlerin nasıl yazılacağından bahsetmiştim. Bu yazımda ise birçok test aracında da bulunan Setup ve Teardown yapılarının Puppeteer'da nasıl yapılabileceğinden bahsedeceğim. Öncelikle Setup, Teardown ve Test Environment kavramlarından bahsedelim. Setup, tüm testler yazılmadan önce
4 min read
.NET Core ile Yazılan Testlerin Coverage Raporlarının Oluşturulması
.Net Core

.NET Core ile Yazılan Testlerin Coverage Raporlarının Oluşturulması

Code Coverage [https://en.wikipedia.org/wiki/Code_coverage], yazılmış olan testin kodunuzun ne kadarını kapsadığını belirten bir ölçümdür. Bu ölçüm sayesinde kodunuzda testi yazılmamış kısımlar bulunuyorsa analizini yaparak ilgili satırların veya bölümlerinin testini yazmaya karar verebilirsiniz. Mümkün olduğunca code coverage yüzdesinin yüksek olmasına önem verilmelidir. .NET Core'da
4 min read
ASP.NET Core Web API'da Swagger ile Dökümantasyon Oluşturma
ASP.NET Core

ASP.NET Core Web API'da Swagger ile Dökümantasyon Oluşturma

ASP.NET Core ile geliştirmiş olduğumuz Web API’ları kullanarak uygulama geliştirecek olan kişiler için dökümantasyon oldukça önemlidir. API’ın hangi endpointlere sahip olduğu, hangi HTTP metoduyla iletişim kuracağı, endpoint’in almış olduğu parametreler ve body içeriği, API’dan dönecek olan cevabın içeriğinin nasıl olduğu gibi bilgileri vermek uygulama geliştiricilerin
5 min read
Visual Studio Code API'da Context Menu Alanına Menü Ekleme
Visual Studio Code

Visual Studio Code API'da Context Menu Alanına Menü Ekleme

Visual Studio Code eklentisi geliştirirken ekranın sol tarafında bulunan Explorer alanına menü eklemek isteyebiliriz. Bunu yapabilmek için eklenti projemizin ana dizininde bulunan package.json‘ın menus bölümüne ekleme yapmamız gerekmektedir. Öncelikle aşağıdaki komutu kullanarak yeni bir Visual Studio Code projesi oluşturalım. yo code Oluşturmuş olduğumuz projeyi Visual Studio Code ile
2 min read
ASP.NET Core'da ile Farklı Configuration Provider Geliştirme
.Net Core

ASP.NET Core'da ile Farklı Configuration Provider Geliştirme

ASP.NET Core ile oluşturmuş olduğunuz bir uygulamaya ait belli başlı ayarları olabilir. ASP.NET Core’da varsayılan olarak File Configuration Provider [https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.2#file-configuration-provider] (INI, JSON ve XML dosyaları) kullanılmaktadır. Ancak bazı durumlarda ayarlarımızı farklı ortamlarda saklayıp yüklememiz gerekebilir.
4 min read
.Net Core'da HttpClient ile Proxy Kullanımı
.Net Core

.Net Core'da HttpClient ile Proxy Kullanımı

.Net Core ile geliştirdiğimiz uygulamalarda HttpClient [https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netcore-2.2] sınıfını kullanarak uç noktalara istek atmamız gerekebilir. Örnek olarak kurumsal firmalarda çalışacak olan uygulamanız internet ortamındaki bir adrese istek göndermek isteyebilir. Ancak uygulamanızın çalışmış olduğu sunucunun internet erişimi kısıtlandığından dolayı
2 min read
.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ı DbContext [https://docs.microsoft.com/en-us/
5 min read
Windows Server 2016 üzerine Active Directory Domain Services Kurulması ve SSL Ayarlarının Yapılması
Active Directory

Windows Server 2016 üzerine Active Directory Domain Services Kurulması ve SSL Ayarlarının Yapılması

Merhabalar. Bu yazımda Windows Server 2016 işletim sistemi üzerine Active Directory Domain Services’ın (AD DS) nasıl kurulacağına ve gerekli SSL ayarlarının nasıl yapılacağına değineceğim. Kuruluma sunucunun bilgisayar adını ve IP adresini değiştirerek başlıyoruz. İlk önce bilgisayar adını değiştiriyoruz. bilgisayar adını değiştirmek için System > Computer name, domain and workgroup
6 min read
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ğiX-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 = ForwardedHeaders.XForwardedAll }; app.UseForwardedHeaders(fo
1 min read
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 altı tarayıcılar tarafından desteklenmektedir. Kaynak: https:
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 [https://developer.mozilla.org/en-US/docs/Web/API/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 [https://developer.mozilla.
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 **placement** özelliğini aşağıdaki şekilde düzenlememiz yeterlidir.
1 min read
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-databasekomutları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 -SourceMigration:0 Bu komut sayesinde yapmış o
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 Page_Init ve Page_PreRender olayları