If you are not a paid Medium member you can read it here.

1. What is the purpose of Optional Class?

If you have been into coding for a while, you should have encountered Null Pointer Exception before. If you try to use a reference type that doesn’t point anything in the memory, you get NullPointerException. This sentence may be complicated, see the example below:

I declared a name variable that points to null and tried to print it. This will throw NullPointerException since name variable doesn't show anywhere in the memory. Generally, you do not assign null to a variable and print…


Update 2020/05/02: I removed useless `csrf().disabled()` config and CustomAuthenticationProvider class. Also I changed Optional logic and used `orElseThrow()` method. Thanks @gokcendedat and @utkuozdemir for their valuable comments.

Hello! In this article I’ll explain how to register users to your application, how to send confirmation mail and handle user logins. My main resource will be official docs and you can access Github repository link at the end of the article. I will not explain exception handling parts since our main subject is different.

Requirements

You need to know Java and must have developed at least one Spring project to understand this article.

1. Creating a Project with Spring Initialzr


Photo by Tim Gouw on Unsplash

If you are not a paid Medium member you can read it here.

Debugging code can be difficult for newbies sometimes but it is not as difficult as it seems. In this post I will explain debugging in IntelliJ starting from the basics. I will not cover all the features. They are the ones that I use most.

Requirements

There is no requirements for this.

My Motivation

I used to debug my code with System.out.println(); and it was OK for me. I didn't have any complaints about it because I thought using debugging interface does the same thing with a fancy label. Last…


Hello, in this article I will try to lead you to go beyond default Jackson usage in Spring Boot applications. My main resource will be official documentation as always. Source codes and additional references can be found at the end of the article.

Introduction

All my examples will be in a Spring Boot project that has Web and Lombok dependencies. I will not list all features and explain them one by one like a documentation. Instead, I will ask some questions and answer them. I hope you will find your questions! …


If you are not a Medium Member you can read it here.

Hello! In this article I will explain what template engine is and give you a crash course about Thymeleaf with Spring Boot. My main resources are official documentations which are published under the title of Thymeleaf 3.0 and Thymeleaf+Spring. Github repo is also available at the end of the article.

1.Theoretical
1.1 What is Thymeleaf?
1.2 Thymeleaf Standart Dialect
2. Practical
2.1 Folder Hierarchy
2.2 Syntax
2.2.1 Simple Expressions
2.2.2 Constructing Texts
2.2.3 Arithmetic Operations, Comparators and Equality
2.2.4 th:if, th:unless, th:switch, th:case
2.2.5 Loops with th:each
2.2.6 Ternary and Elvis Operator
2.2.7 th:* Attributes
2.2.8 General Attribute Modification
2.2.9 Local Variables
2.2.10…


Not: Bu yazı ilk olarak kamerelciyar.com’da yayınlanmıştır.

Merhaba, bu yazıda Docker ile PostgreSQL container‘ı ayağa kaldırmayı ve kullanmayı anlatacağım. Yazı herhangi bir Docker bilgisi gerektirmemektedir. Yalnızca kulak aşinalığı yeterlidir. Komutları tek tek açıklayacağım.

Bilgisayarınızda Docker’ın kurulu olduğunu varsayıyorum. Eğer yüklü değilse bu bağlantıya giderek kurulum yapabilirsiniz.

1. Uygun bir image bulmak

Bu adım zorunlu değildir. Docker’ı giriş seviyesinde bilenler için ekstra bir adımdır.

Kullanmak istediğimiz image‘ı Docker Hub’dan arayacağız. Bunun için terminalden docker search postgresql şeklinde bir arama yapabiliriz. Bu arama aşağıdaki çıktıyı verecektir:


If you are not a Medium Member you can read it here.

Hello! In this article, I’m gonna cover validations in Spring Boot. The only requirement for you to understand this topic is to be able to create controllers in Spring Boot and of course, be comfortable with Java.

You can find source code for examples here: https://github.com/kamer/validations-in-spring-boot

Why do we need both client-side and server-side validation?

In web applications, we generally use both client-side and server-side validations for form data or any other data that goes to server-side. Why do we bother with both of them?

Because we use client-side validation to validate and respond quickly. For instance…


Güncelleme 02.05.2020: `csrf().disabled()` konfigürasyonu ve CustomAuthenticationProvider sınıfı kaldırıldı. Ayrıca Optional kullanımını değiştirdim ve `orElseThrow()` metodunu kullandım. Değerli yorumları için @gokcendedat ve @utkuozdemir’e teşekkür ederim.

Merhaba, bu yazımda Spring Boot uygulamasında kullanıcı kaydı, onay maili gönderme ve kullanıcı girişi işlemlerinin nasıl yapılacağını anlatacağım. Ana konudan sapmamak için exception handling kısımlarından bahsetmeyeceğim. Spring Boot hakkında bilgi sahibi olmanız, tercihen bir IDE kullanmanız gerekmektedir. Doğrudan kaynak kodları incelemek için https://github.com/kamer/spring-boot-user-registration

Spring Initialzr ile Projenin Oluşturulması

https://start.spring.io/ adresine giderek veya kullandığınız IDE’nin ilgili plugin’lerini kullanarak bir proje oluşturun. Projede Spring Web, Lombok, Thymeleaf, Spring Security, Java Mail Sender, H2 ve Spring Data JPA…


Merhaba. Bu yazıda REST’in özelliklerinden ve iyi bir REST API tasarımı için dikkat etmemiz gereken ayrıntılardan bahsedeceğim. Kavram kargaşası olmaması için anahtar kelimeleri İngilizce karşılıklarıyla yazacağım.

REST Nedir?

Önce basit bir tanım yapıp örnekler ışığında bu tanımı genişletelim. REST(REpresentational State Transfer), web…


by Clint Adair on Unsplash

Dağıtık sistemler hakkında bazı tezler öne süren CAP teorisi, 2000 yılında Eric Brewer tarafından ortaya atılmıştır ve 2002 yılında Seth Gilbert ve Nancy Lynch tarafından ispatı yayınlanmıştır. O zamandan bu yana da birçok dağıtık sistemin tasarımını etkilemiştir. Peki CAP teorisi blockzincir teknolojisine dair düşüncelerimizi ne yönde etkileyebilir? Bu sorunun cevabını verebilmek için öncelikle CAP teorisini inceleyelim.

CAP Teorisi

Teori, veri paylaşımının yapıldığı dağıtık sistemlerin tasarımında bazı “trade-off”lara dikkat çeker. Bu sistemlerde aşağıda bahsedeceğim üç özellikten en fazla iki tanesinin garanti edilebileceğini öne sürer. Baş harfleriyle teoriye adını veren özellikler şunlardır:

-Consistency(Tutarlılık): Ağda bulunan her düğümün(node) verilerin en güncel halini barındırmasıdır. Yani her…

Kamer Elciyar

Java | Kotlin | Spring | Micronaut | https://kamer.dev kamer@kamer.dev

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