Yıllık Arşiv: 2019


Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...
13

Asp.NET Core – Çok Katmanlı Mimaride İstenilen Katmanda Dependency Injection Kullanımı

Merhaba, Önceki içeriklerimizden Asp.NET Core 3.0 – Çok Katmanlı Mimaride Migration İşlemleri başlıklı makalemizde çok katmanlı mimari yapılanmasının migration işlemleriyle birlikte yapısal inceliklerini ele almıştık. İlgili makaleye göz atarsanız eğer, katmanlar arasında DAL ->...

Asp.NET Core Identity 25

Asp.NET Core Identity – Claim Bazlı Kimlik Doğrulama – XVII

Merhaba, Bu içeriğimizde Asp.NET Core Identity yazı dizimizin 17. makalesi olan Claim Bazlı Kimlik Doğrulama(Claims Based Authorization) yöntemini inceleyeceğiz. Herşeyden önce kavramsal temelleri oturtabilmek için ilk olarak temel tanımlamalarda bulunmamız gerekmektedir. O halde buyrun...

Asp.NET Core Identity 5

Asp.NET Core Identity – Politika Bazlı Kimlik Doğrulama – XVI

Merhaba, Asp.NET Core Identity yazı dizimizin 16. yazısında Politika Bazlı Kimlik Doğrulama(Policy Based Authorization) stratejisinin nasıl işlendiğine dair kalem oynatacağız. Ayriyetten ilgili içeriği yazı dizimizin oluşturulma sürecinde release edilen Asp.NET Core 3.0 versiyonu alt...

C# Repository Design Pattern(Repository Tasarım Deseni) 8

C# Repository Design Pattern(Repository Tasarım Deseni)

Merhaba, Bu içeriğimizde yazılım projelerinde olmazsa olmaz bir tasarım kalıbı olan Repository tasarım kalıbını inceliyor olacağız. Repository Design Pattern, veritabanı sorumluluğunu üstlenen sınıfı tasarlarken bir standart üzerine oturtmayı hedefleyen ve Entity Framework gibi ORM(Object...

10

Asp.NET Core 3.0 – Çok Katmanlı Mimaride Migration İşlemleri

Merhaba, Bu içeriğimizde çok katmanlı mimari yapılanmasının kullanıldığı Asp.NET Core 3.0 uygulamalarında migration işlemlerinin nasıl gerçekleştirildiğini inceleyeceğiz. Herşeyden önce ilk olarak örnek bir Asp.NET Core 3.0 uygulaması açıyoruz. Bu uygulama bizim sunum katmanımız(PL –...

csharp8 0

C# 8.0 – Asenkron Foreach

Merhaba, Bu içeriğimizde, bir önceki IAsyncEnumerablee<T> ve IAsyncEnumeratore<T> Arayüzleri İle Asenkron Iterasyonel İşlev Oluşturma başlıklı makalemizle ilişkili olan Asenkron Foreach yapılanması üzerine konuşuyor olacağız. C# 8.0 ile gelen IAsyncEnumerable<T> interfacei IEnumerable<T> türünün yeni bir...

Angular 8 7

Angular 8’de Angular Universal İle Server-Side Rendering (SSR)

Merhaba, Angular, mimarisel olarak kullanıcıdan alınan istek neticesinde üretilen componenti tarayıcıya göndermekte ve yapısal olarak client tabanlı bir değişiklikle sayfanın tekrar renderına ihtiyaç duymaksızın ekrana basmaktadır. Böylece tarayıcı üzerinde elde edilen çıktının SEO(Search Engine...

Angular 8 1

Angular 8 – Dynamic Imports For Lazy Loading

Merhaba, Bu içeriğimizde Angular 8 ile gelen dynamic imports for lazy routes yeniliği üzerine konuşuyor olacağız. Esasında Lazy Loading Angular mimarisi için pekte yeni bir özellik sayılmaz. Önceki yazılarımda, kâh Angular ile ilgili yazı...

Asp.NET Core Identity 13

Asp.NET Core Identity – Sayfaları Yetkilendirme (Authorization) – XV

Merhaba, Bir önceki RoleManager Sınıfı İle Rol Yönetimi başlıklı makalemizde uygulama bazlı rol yönetimini incelemiş bulunmaktayız. Bu içeriğimizde ise oluşturulan roller odaklı Sayfaları Yetkilendirme(Authorization) işlemini ele alacağız. Herşeyden önce yetkilendirilmiş sayfalara yetkisi olmayan kullanıcıların...

Asp.NET Core Identity 42

Asp.NET Core Identity – RoleManager Sınıfı İle Rol Yönetimi – XIV

Merhaba, Asp.NET Core Identity yazı dizimizin 14. makalesinde, uygulamamızda kullanıcıları belirli yetkiler doğrultusunda yönlendirebilmek ve sayfa odaklı erişim durumlarına müdahale edebilmek için rol yönetimi üzerine konuşacağız. Rol Bazlı Yetkilendirme Nedir? Roles Based Authorization Rol...

Asp.NET Core Identity 3

Asp.NET Core Identity – Oturum Kapatma – XIII

Merhaba, Asp.NET Core Identity yazı dizisinde sıra oturum kapatma işlemini ele almaya geldi. Uygulamada oturum açmış olan kullanıcıların oturumlarından çıkış yapabilmesi için nasıl bir işlem gerçekleştireceğimizi inceleyeceğiz. Kullanıcının, nasıl ki giriş yaptığında süreci SignInManager...

Asp.NET Core Identity 3

Asp.NET Core Identity – Üye Bilgileri Güncelleme – XII

Merhaba, Asp.NET Core Identity yazı dizisinin 11. makalesinde, kayıt işlemi gerçekleşen ve Cookie bazlı doğrulama neticesinde o an oturum açan kullanıcının bilgilerini güncellemeyi ve bunun yanında bilgileri güncellenen kullanıcıyı oturumdan düşürmeksizin yeni bir cookie...

8

Asp.NET Core Identity – Invalid Token Hatası ve Çözümü

Merhaba, Bu içeriğimizde Identity mekanizmasının kullanıldığı Asp.NET Core uygulamalarında herhangi bir senaryoya hususi olarak üretilen token değerini mail yahut farklı aparatlar eşliğinde farklı noktalara taşırken alınan “Invalid Token” hatası üzerine konuşuyor olacağız. Örneğin, ‘şifremi...

Asp.NET Core Identity 57

Asp.NET Core Identity – Şifremi Unuttum – XI

Merhaba, Asp.NET Core Identity yazı dizimizin 11. makalesinde web sitemize üye olan kullanıcılar tarafından belirtilen şifrelerin -insanlık hali- unutulması durumunda kullanıcının nasıl yeni şifre talep edeceğini Identity mekanizması üzerinden inceleyeceğiz. Süreçte bütünlüğü sağlayabilmek adına...

Asp.NET Core Identity 9

Asp.NET Core Identity – Belli Sayıdaki Başarısız Girişlerde Kullanıcı Hesabını Kilitleme – X

Merhaba, Asp.NET Core uygulamalarında bilgi bazlı gizliliği sağlayabilmek ve gelen kullanıcıları tarafımızca tanımlayabilmek için Identity mekanizmasıyla süreçte doğrulama yapılarını devreye sokuyoruz ve uygulamalarımızın bu şekilde tanımlı kimlikler eşliğinde güvencesini sağlamış oluyoruz. Tabi güvence bir...

Asp.NET Core Identity 29

Asp.NET Core Identity – Cookie Bazlı Kimlik Doğrulama – IX

Merhaba, Bu içeriğimizde; artık Asp.NET Core Identity yazı dizimizde sıra Cookie bazlı kimlik doğrulama mekanizmasını inşa etmeye geldiğinden dolayı web uygulamamızda kullanıcı doğrulama kontrolünün Cookie mekanizmasıyla nasıl yapılandırıldığını inceleyecek ve uygulamalı olarak örneklendireceğiz. Yine...

Asp.NET Core Identity 20

Asp.NET Core Identity – Varsayılan Validasyon Mesajlarının IdentityErrorDescriber Sınıfı İle Özelleştirilmesi – VIII

Merhaba, Asp.NET Core Identity yazı dizimizin son iki makalesinde(1. makale, 2. makale) hem password hem de username değerlerine dair varsayılan validasyon konfigürasyonun ve özelleştirilmiş validasyon yapılanmalarının nasıl geliştirildiğini incelemiştik. Bu içeriğimizde ise Identity mekanizmasında...

Asp.NET Core Identity 6

Asp.NET Core Identity – Kullanıcı Validasyon Ayarları ve IUserValidator Arayüzü – VII

Merhaba, Bir önceki Şifre Validasyon Ayarları ve IPasswordValidator Arayüzü başlıklı makalemizde Identity mimarisinde varsayılan ayarları bulunan kullanıcı şifresi üzerinde validasyon ayarlarını değiştirmeyi ve özelleştirilmiş validasyon yapılanmasının nasıl inşa edildiğini ele almıştık. Bu içeriğimizde ise...

Asp.NET Core Identity 7

Asp.NET Core Identity – Şifre Validasyon Ayarları ve IPasswordValidator Arayüzü – VI

Merhaba, Asp.NET Core Identity yazı dizimizin 6. makalesinde, kullanıcı üye olurken varsayılan şifre validasyon ayarlarının değiştirilmesini ve bunun yanında IPasswordValidator arayüzü ile kendimize özel validasyon yapılanmasını oluşturmayı inceleyeceğiz. Herşeyden önce bir önceki UserManager Sınıfı...

Asp.NET Core Identity 34

Asp.NET Core Identity – UserManager Sınıfı İle Kullanıcı Yönetimi – V

Merhaba, Asp.NET Core Identity yazı dizimizin 5. adımı olan bu içeriğimizde UserManager sınıfı ile kullanıcı yönetimi üzerine inceleme gerçekleştireceğiz. Önceki yazılarımızda kullanıcılarımızı modellediğimiz IdentityUser ve o kullanıcılara biçilen rolleri tanımladığımız IdentityRole sınıflarının ne olduğunu...

Asp.NET Core Identity 30

Asp.NET Core Identity – Kullanıcı ve Rol Modellerinde Custom Property Tanımlamak – IV

Merhaba, Asp.NET Core Identity yazı dizimizin bu 4. içeriğinde “IdentityUser” sınıfından türeyen “AppUser” isimli kullanıcı modelimize custom property ekleyerek özel kolonlar oluşturmayı inceleyeceğiz ve bunun yanında “IdentityRole” sınıfından türeyen bir kullanıcı rollerini modellediğimiz sınıf...

Asp.NET Core Identity 10

Asp.NET Core Identity – Veritabanı Tablolarını İnceleyelim – III

Merhaba, Bir önceki Asp.NET Core Identity – Identity Altyapısı Kurulumu – II başlıklı makalede Asp.NET Core uygulamalarında Identity altyapısının nasıl kurulduğunu incelemiştik. Bu inceleme neticesinde migrate edilerek oluşturulan veritabanı içerisinde aşağıdaki tablolar oluşturulmuştur. İşte...

Asp.NET Core Identity 28

Asp.NET Core Identity – Identity Altyapısı Kurulumu – II

Merhaba, Bir önceki Asp.NET Core Identity – Nedir ve Temel Kavramlar? – I başlıklı içeriğimizde Asp.NET Core Identity kütüphanesine dair teorik olarak bir giriş yapmıştık. Bu içeriğimizde ise bir Asp.NET Core uygulamasında Identity alt...

Asp.NET Core Identity 22

Asp.NET Core Identity – Nedir ve Temel Kavramlar? – I

Merhaba, Üretim, insanoğlunun fıtratında tüketim, güç ve yönetim olamak üzere üç farklı duyguyu tetiklemektedir. Bunlardan birisi vardır ki diğerlerine nazaran daha çok ön plana çıkmakta ve ağır basmaktadır. O da yönetimdir. İnsanoğlunun ürettiğini istediği...

23

Asp.NET Core Identity – Yazı Dizisi

Merhaba, Bu içeriğimizde Asp.NET Core Identity üzerine a’dan z’ye bir yazı dizisi yayınlanacaktır. Asp.NET Core uygulamalarına dair piyasadaki en büyük açıklardan birisi olan üyelik sistemi konusunu bu yazı dizisi sayesinde en çağdaş ve güncel...

csharp8 0

C# 8.0 – Readonly Members

Merhaba, Geliştirilen yazılımlarda, bazen tasarım amacınızı tam olarak belirtebilmenizi sağlayıcı yapılara yahut bu yapılardan ziyade bu işi gerçekleştirebilecek keywordlere ihtiyaç duyabilirsiniz. C# 8.0 versiyonu ile Readonly Members özelliği, inşa edilen tasarım üzerinde tamda istendiği...

7

Entity Framework Core – Lazy Loading

Merhaba, Yazılım uygulamalarında temelde esas amacımız bir veriyi doğru işleyebilmek ve varsa üretilen çıktıyı doğru bir şekilde gerekli yere yansıtabilmektir. Basit bir rehberlik uygulamasından tutun uzaya füze göndermeye kalksak bile en temeldeki gayemiz budur...

0

Thread Safe – ConcurrentQueue, ConcurrentDictionary, ConcurrentBag, ConcurrentStack ve BlockingCollection Koleksiyonları ve Kullanım Durumları

Merhaba, Yazılımsal problemlere çözüm olarak geliştirdiğimiz algoritmalar ihtiyaca dönük olarak yer yer asenkron işlevde geliştirilebilmektedirler. Asenkron süreçler, senkron gidişata nazaran process önceliğini tahmin edilemeyecek bir şekilde değiştirebilecek bir doğaya sahiptirler. Haliyle bu tahmin edilememezlik...

Entity Framework Core - Data Concurrency 10

Entity Framework Core – Data Concurrency

Merhaba, Geliştirdiğiniz yazılım uygulaması, eş zamanlı olarak son kullanıcılar tarafından yoğun bir işlevsel trafiğe maruz kalıyor ve bu yüzden veritabanı üzerinde fazlasıyla CRUD işlemleri söz konusu oluyorsa ‘veri tutarlılığı‘ sizler için oldukça önem arz...

csharp8 0

C# 8.0 – Using Declarations

Merhaba, Bu içeriğimizde, C# 8.0 ile gelen ve bir değişken tanımlama beyanı olan Using Declarations yeniliği üzerine konuşuyor olacağız. Klasik using expression deyiminden hiçbir farkı olmayan using declarations, aynı işi esasında daha pratik bir...

0

MongoDB – Karşılaştırma Sorgu Operatörleri

Merhaba, NoSQL yaklaşımını benimsemiş veritabanlarından biri olan MongoDB’de sorgu oluştururken karşılaştırma mantığını uygulayabilmek için aşağıdaki operatörleri kullanabilirsiniz. Öncelikle örneklendirmede kullanacağımız modeli ve veritabanı içerisindeki documentleri aşağıda ele alalım; Evet… Şimdi aşağıdaki operatörleri yukarıdaki modele...

4

Asp.NET Core 3.0 – Logging

Merhaba, Nasıl ki; bir kaya parçası tarihsel bir muammayı günümüze aydınlatıcı bir bilgi taşıyabiliyorsa, nasıl ki; insan vücudundaki bir reaksiyon sağlığına dair geçmişini gözler önüne serebiliyorsa yahut nasıl ki; beşeri hayatta devletler vatandaşları hakkında...

csharp8 0

C# 8.0 – Static Local Functions

Merhaba, C# 7.0 ile hayatımıza giren Local Function yapıları ile metot içerisinde metot tanımlayabiliyorduk. Bunun üzerine C# 8.0 ile de Local Functionlar static özellik kazanmış, Static Local Function şeklinde karşımıza gelmiş bulunmaktadırlar. Şimdi hiç...

0

Angular 6/7 – Animasyon İşlemleri

Merhaba, Bu içeriğimizde, Angular mimarisi eşliğinde yapılmış bir uygulamayı görsel olarak süsleyebilmemiz için geliştirilmiş animasyon yapılanmasını inceleyecek, nesnesel animasyonlarla ve componentler arası geçiş efektleriyle konumuzu örneklendirerek adım adım derinlemesine irdeleyeceğiz. Giriş Öncelikle “animasyon” kelimesinin...

csharp8 0

C# 8.0 – Switch Expression(Property – Tuple – Positional Patterns)

Merhaba, Günümüzde birçok yazılım dili değişmekte lakin bu değişim esintisinin altında birçok gelişim gerçekleşmektedir. Değişim ile gelişim arasındaki farkı tasavvur edersek eğer; var olan bir özelliğe olmayan bir özellik eklendiğinde yahut sıfırdan yepyeni bir...

0

C# 7.0 – Deconstruct Metodu

Merhaba, Son zamanlarda her ne kadar C# 8.0 versiyonu özelliklerine odaklanmış olsakta 7.0 versiyonunda ele almadığım güzel bir manevra sağlayan Deconstruct özelliğini kısaca sizlerle tanıştırıp, esas güncel konularımızdan yazı akışımıza devam etmek istiyorum. Deconstruct...

5

Asp.NET Core’de In-Memory Cache

Merhaba, Bir uygulamanın performansını önemli ölçüde arttırabilecek en mühim yapılanmalardan biriside önbelleğe(Cache) alma sistemidir. Son kullanıcıya gösterilen veriler arasından nadiren güncellenen veya geniş aralıklarla tazelenen verileri her istek neticesinde veritabanı üzerinden elde ederek kullanıcıya...

csharp8 1

C# 8.0 – Default Implementations In Interfaces

Merhaba; Bir sınıfın imzası olan ve içerisinde tanımlanmış olan üyeleri ilgili sınıfa implement etmeye zorlayan interface yapıları C# 8.0 ile radikal bir yenilikle karşımıza gelmiş bulunmaktadır. Bu içeriğimizde C# 8.0 ile interfacelere özel gelen...

csharp8 1

C# 8.0 – Ranges and Indices

Merhaba, Yazılım dillerinde koleksiyonlar veya diziler üzerinde işlem yaparken ilgili yapıyı sadeleştirmek yahut verisel açıdan manüpüle edebilmek için LINQ sorgularından ya da her türlü tarafımızca veya harici geliştirilmiş algoritmalardan faydalanırız. C#, 8.0 versiyonunda koleksiyonel...