Arkadaşlar merhaba bu yazımda ASP.NET Core projelerinde code first yaklaşımını kullanarak EF-Core ile PostgreSQL üzerinde veritabanı ve tablo oluşturmaktan bahsedeceğim.

Image for post
Image for post

Code-First nedir?

Öncelikle code first yaklaşımının amacı kod ile oluşturduğunuz sınıfların veritabanı üzerinde oluşturulmasını sağlamaktır. Burada tablolarımızı sınıflar, içerisine eklediğimiz özellikleri (property) ise kolonlar olarak düşünebilirsiniz. İlişkileri ise sınıfların birbirleri içerisinde tanımlanmış özellikler olarak düşünebilirsiniz. Biliyorum biraz karmaşık oldu ancak kod örnekleri ile rahatça anlayacağınıza eminim.

Kurulum ve Gereklilikler

Veritabanı işlemleri için bilgisayarınıza PostgreSQL kurmanız gereklidir. Sonrasında PgAdmin içerisinden bir veritabanı oluştıralım.(https://www.postgresqltutorial.com/postgresql-create-database/) Veritabanı kurulumunu bu şekilde tamamlamış olduk. Kod tarafında ise aşağıdaki örnekte ben ASP.NET Core 3.1 ile bir Web API üzerinden anlatacağım.

Bunların yanı sıra migration işlemleri için Dotnet CLI kullanacağız. Dotnet CLI bilgisayarınızda kurulu olması gerekiyor…


Hi everyone! In this article i will explain what is Redis? and how to implement Redis in ASP.NET Core projects.

Image for post
Image for post

What is Redis?

Remote Dictionary Server (Redis) is a NoSQL database that stores data as key-values. It is written using the C programming language. It is completely open source on Github. (https://github.com/redis/redis)

Redis advantages

Redis works very fast because it stores data on memory and reads and writes from it. So, it’s used as a cache infrastructure on applications. The data are written on Redis at regular intervals and the user is enabled to access this data quickly.

Redis can also be used to store session information. Because it can read in very fast times, it is very convenient to use for Session information. …


Arkadaşlar herkese selamlar. Bu yazımda Redis nedir? ASP.NET Core projelerinde Redis nasıl implemente edilir bu konulardan bahsedeceğim.

Image for post
Image for post

Nedir bu Redis?

Remote Dictionary Server (Redis) verileri key-value olarak saklayan bir NoSQL veritabanıdır. C programlama dili kullanılarak yazılmıştır. Tamamen open source olarak Github üzerinde bulunmaktadır. (https://github.com/redis/redis)

Redis bize ne sağlar?

Redis verileri bellek üzerinde tuttuğu ve buradan yazma ve okuma yaptığı için çok hızlı çalışır. Bu sayede uygulamalar üzerinde cache altyapısı olarak kullanılır ve cache üzerinden okunmak istenen veriler Redis veritabanına yazılır.

Cache mekanizması yanında Redis Session bilgilerini saklamak için de kullanılabilir. Çünkü çok hızlı sürelerde okuma yapabildiği için Session bilgileri için kullanımı gayet uygundur.

Redis Kurulumu

Redis’in Windows işletim sistemi üzerinde kurulumundan kısaca bahsedeceğim. …


Hi everyone. In this article i will try to explain what is the DI and How can you use it on ASP.NET Core projects. Also i will try to explain lifecycle types of Dependency Injection.

Image for post
Image for post

Dependency injection is a method used to minimize dependencies when applying SOLID principles. With the use of dependency injection, we have written appropriate code for the loosely coupled structure. When adding new features to the project, the cost of correction or addition is minimized.

While defining dependency, there are 3 different life cycles.

Transient (AddTransient)
It ensures that the object we create and use as dependency in the application is re-created for each use and call. …


Arkadaşlar selamlar bu yazımda, ASP.NET Core projelerinde çok kullandığımız Dependency Injection kavramından ve yaşam döngüsünden bahsedeceğim.

Image for post
Image for post

Dependency injection SOLID prensiplerini uygularken bağımlılıkların en aza indirmek için kullanılan bir yöntemdir. Dependency injection kullanımı ile beraber loosely coupled yapısına da uygun kod yazmış oluruz. Projeye yeni özellikler eklerken, düzeltme veya ekleme yapılacak bölümler en aza indirilmiş olur.

Bağımlılık tanımlarını yaparken 3 adet farklı yaşam döngüsü bulunmaktadır.

Transient (AddTransient)

Uygulama içerisinde bağımlılık olarak oluşturduğumuz ve kullandığımız nesnenin her kullanım ve çağrıda tekrardan oluşturulmasını sağlar.

Singleton (AddSingleton)

Uygulama içerisinde bağımlılık oluşturduğumuz ve kullandığımız nesnenin tek bir sefer oluşturulmasını ve aynı nesnenin uygulama içinde kullanılmasını sağlar.

Scoped (AddScoped)

Uygulama içerisindeki bağımlılık oluşturduğumu nesnenin request sonlanana kadar aynı nesneyi kullanmasını farklı bir çağrı için gelindiğinde yeni bir nesne yaratılmasını sağlar. …


Hi everyone, in this article, I will talk about installing and using Swagger on your ASP.NET Core project.

Image for post
Image for post

First of all, Swagger is a documentation tool for the api you code. It is not just documentation, it also allows you to easily try and see the result. In this way, you can easily debug andresolve errors.

Now let’s talk step by step to the ASP.NET Core Web Api project.

First, we need to install the Swashbuckle.AspNetCore package on your ASP.NET Core Api project via the Nuget package manager.


Arkadaşlar herkese selamlar, bu yazımda ASP.NET Core projenize Swagger kurulumu ve kullanımından bahsedeceğim.

Image for post
Image for post

Öncelikle Swagger yazmış olduğunuz api için bir dökümantasyon aracıdır. Sadece dökümante etmekle kalmayıp aynı zamanda yazdığınız api’leri kolay bir şekilde denemenizi ve sonucunu görmenizi sağlar. Bu sayede karşılaştığınız hataları hızlı bir şekilde debug edebilir ve çözebilirsiniz.

Şimdi biraz bahsettikten sonra adım adım ASP.NET Core Web Api projesine Swagger tanımını adım adım yapalım.

İlk olarak ASP.NET Core Api projenize Nuget paket yöneticisi üzerinden Swashbuckle.AspNetCore paketini kuruyoruz.


Herkese selamlar dostlar, bugünkü yazım aslında başlıktan da anladığınız gibi önceki yazılarım gibi teknik konular içermiyor. Yurtdışı kararı almamız ve sonraki dönemde yaşadığımız zorluklardan ve bu karadan nasıl vazgeçtiğimizden bahsedeceğim.

Image for post
Image for post

Linkedin Mesajı ve Mülakat Süreçleri

Öncelikle yurtdışı ve Almanya fikri Linkedin üzerinden gelen bir mesaj ile başladı. Tabi bir yandan askerlik vs de var ancak başlangıç noktası bu fırsatı değerlendirmek ister misiniz şeklinde gelen bir mesaj oldu. Tamamen mülakat tecrübesi olması ve bir yandan geliştirmeye uğraştığım ingilizcemi test etme amacıyla denemek istedim.

Firma Hamburg’ da aslında startup ama biraz daha büyümüş bir startup ve hem ofiste hemde remote olarak birçok çalışanı olan bir firma .(40'a yakın) Öncelikle insan kaynakları ile skype görüşmesi yaptık. Bu görüşme de bana aslında firmayı anlattılar ve bir kaç standart ik soruları sordular. Görüşme esnasında sabah 08.00 akşam 19.00 arasında çalıştıklarından bahsettiler. Tabi önce bir garipsedim bu durumu, çünkü Almanya bu konuda sert kanunları olan bir ülke ve garibime gitti. Ama tabi 24 yaşında Almanya’ya gitme düşüncesi, bir yandan blue card maaş sınırının üstünde olacak olmam ve 2 yıl sonunda kalıcı oturum alabiliyor olmam gibi durumlardan dolayı benim açımdan bir sorun olmayacağını söyledim. …


Image for post
Image for post

Herkese selamlar, bir kaç hafta önce Twitter üzerinde şöyle bir tweet ile bilgisi olanlara kendimizi geliştirmek adına kullanabileceğimiz API önerileriniz var mı şeklinde bir soru sordum :


Hi everyone. In this article i will descripe the what is GitFlow and how it works?

As you know Git is a version control system. And GitFlow is a branching model of Git. People uses GitFlow for manage branches better and more logical.

Before i started writing this article i drew a structure of GitFlow branch system on board.

Image for post
Image for post
GitFlow

And i want share with you more professional picture for GitFlow. :)

About

Okan Davut

Continuously learning developer. Software Engineer @intertechIT Checkout my open source projects at http://github.com/okandavut

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store