>>/articles

All Articles

If a Key Dies, Does the Value Die Too?
[Notes]MAR 24, 2026

If a Key Dies, Does the Value Die Too?

Java's WeakHashMap automatically drops entries when their keys become unreachable. This post unpacks how that works, when it's the right tool, and where it quietly misbehaves — including the trap of values that reference their own keys.

javaweakhashmapgarbage collection
Hello to the Sky! — Episode 1
[Cloud]FEB 26, 2026

Hello to the Sky! — Episode 1

A friendly introduction to cloud computing and the first six AWS services worth knowing — EC2, S3, Lambda, IAM, RDS, CloudFront — framed as characters in a small town you're about to move into. Aimed at people studying for the AWS Cloud Practitioner exam.

awscloudcloud practitioner
Gökyüzüne Merhaba! — Bölüm 1
[Cloud]FEB 26, 2026

Gökyüzüne Merhaba! — Bölüm 1

Bulut bilişime ve bilmeye değer ilk altı AWS servisine (EC2, S3, Lambda, IAM, RDS, CloudFront) sıcacık bir giriş — hepsi yakında taşınacağınız küçük bir kasabanın karakterleri olarak anlatılıyor. AWS Cloud Practitioner sınavına hazırlananlar için.

awscloudbulut bilişim
Have You Ever Wondered How Many Beans Your Project Uses?
[Backend]MAY 16, 2024

Have You Ever Wondered How Many Beans Your Project Uses?

Three quick ways to find out how many beans are actually living in your Spring application: the Actuator /beans endpoint, the ApplicationContext API, and a one-line CommandLineRunner.

javaspringspring boot
Cipher Algorithms
[Cryptography]APR 30, 2024

Cipher Algorithms

A look at three classical ciphers: the Vigenère cipher (a polyalphabetic substitution that defeated frequency analysis for centuries), Kasiski's method for breaking it, and the unbreakable-in-practice Running Key cipher.

cryptographyciphervigenere
Şifreleme Algoritmaları
[Cryptography]APR 30, 2024

Şifreleme Algoritmaları

Klasik üç şifreleme algoritması: Vigenère şifresi (yüzyıllarca kırılamayan polialfabetik bir yöntem), bu şifreyi kıran Kasiski analizi ve uzun bir anahtar metniyle çalışan Running Key şifresi.

kriptografişifrelemevigenere
A Journey Through the World of Algorithms
[Algorithms]MAR 12, 2024

A Journey Through the World of Algorithms

An end-to-end tour of how computer scientists think about algorithms — from what 'efficient' actually means, through Big-O notation, to the five design techniques (Divide & Conquer, Transform & Conquer, Dynamic Programming, Greedy, Brute Force) that cover almost every algorithm you'll meet.

algorithmscomplexitybig o
Beans and Components in Java Spring
[Backend]AUG 20, 2023

Beans and Components in Java Spring

What Spring beans actually are, why the framework leans so hard on Inversion of Control, and the practical difference between @Component (class level) and @Bean (method level).

javaspringdependency injection
Spring Validations
[Backend]AUG 14, 2023

Spring Validations

How Spring Validation removes boilerplate from your controllers — declare the rules with annotations on your entity, drop `@Valid` in the controller, and let the framework reject invalid requests for you.

javaspringvalidation
Spring JPA Annotations
[Backend]JUL 24, 2023

Spring JPA Annotations

The JPA annotations every Spring developer reaches for — @Entity, @Table, @Column, @Id, and the four relationship annotations that wire your domain model to the database.

javaspringjpa