First of all, this article is the beginning of a series which fundamental testing strategies and contains lots of java testing topics.

Firstly, we need to describe unit keyword. Unit is the smallest structure in software, it is also called function/method, all of this production code contains the business logic.

You can be beware to add a new feature or refactor when working on any complex domain that contains several long methods.

if I affected the running of existing code?

This worry can bother us and it can be needed to review all methods, this situation may take us a…


Garbage Collection is a mechanism provided by Java Virtual Machine. All garbage collection algorithms run/process in the background. We will take a look at one of those algorithms bellow.

Why is there garbage collector and what is it doing on JVM?

First of all, developers who wrote C or C++ in the past may remember malloc and free functions. malloc function provides memory allocation, free function frees the memory space. However there is it who does this instead of us in JVM.

The fundamental task of the garbage collector is memory management and reclaim to heap space which eligible objects. Java developers only care about creating objects. They don’t care about cleaning…


Config Server Infrastructure

Bu konuyla birlikte aslında iki yazıdan oluşan bir seri düşündüm; ilkinde yani bu yazıda, config server nedir? neden ihtiyaç duyulur? ve beraberinde ise projeyi dockerize hale getirip, Spring ile implementasyonundan bahsedip bir sonraki yazıda Gitlab’de CI/CD Pipeline ile birlikte AWS’ye deploy kısmına değineceğim. Merak edenler için amazon kısmındaki stack şu şekilde olacak. Dockerize edilmiş image’ı ECR (Elastic Container Registry)’ye pushlayıp ECS(Elastic Container Service) ile yöneteceğiz.

Neden Config Server Kullanmalıyız?

Büyük ölçekli bir monolitik api uygulamanız olduğunu düşünün ve bütün gerekli config bilgileri (postgre - elasticsearch - redis vs.) uygulamanın içerisinde tanımlı.

  • Herhangi bir config bilgisini değiştirmek için deploy çıkmak zorunda kalacaksınız ve deploy süreniz…


Veri Madenciliği alanında Birliktelik Kuralları Yönetimi(Association Rule Mining) konusu altında yer alan ve sıkça kullanılan apriori algoritmasının ismi, tümdengelim ile edinilen anlamına gelir; tam türkçesi önsel (bilgi) “prior” anlamına gelmektedir. Bir veri kümesini adım adım keşfetmeye ve veri kümesi içerisinde bulunan verilerin birliktelik kurallarını incelemeye yarayan bu algoritmayı yakından tanıyalım.

Apriori algoritmasının en bariz örneği alışveriş sepetidir.

Yukarıdaki resimden de anlaşılacağı üzere bir alışveriş sepetinde bulunan ürünlerden ya da alışveriş fişlerinden yola çıkarak hangi ürünün ne sıklıkla satıldığı ve hangi ürünlerin birlikte satıldığını öğrenmemiz mümkündür.

Algoritma da kullanılan destek değeri (support value) veri kümesinin eşik değeridir. Örneğin şunu diyebiliriz. Bir…


Çok sert bir başlık oldu sanki 🙂 Aslında anlatılmak istenen kendi değerimizi biliyor muyuz? Biz yazılımcıları değerli kılan şeyler neler? Üstad Yegor Bugayenko kendisinde gelen maillerde ne gibi kriterlere dikkat ettiğini maddeler halinde ele alıyor ve bu maddelerin tamamen kişisel düşüncesi olduğunu, hiçbir standart iddiasında bulunmadığını da ekliyor. Bu arada yazının kaynağına buradan erişebilirsiniz. Bazı önemli kısımları not aldım ve bunları sizlerle paylaşmak istiyorum. Bu noktada ilham aldığım Ufuk Uzun’a teşekkürlerimi sunuyorum.

Kullanmakta olduğunuz açık kaynak üründe bir hata bulamıyor veya bir bug’ı düzeltebiliyor musunuz?


Düşünün bir yazılım takımınız var ve bir projeye başladınız. Projeyi modüllere ayırdınız ve her kişiye ilgili görevi atandı. Takım halinde çalışabilmeniz için bir yönetim aracı gerekli ve bir kitabın baskıları gibi bir baskı da hata çıktığı zaman hemen versiyonu değiştirip eski haline getirmeniz lazım. Burada imdadınıza (birçok iş ilanında da gördüğünüz üzere) git koşuyor. En büyük avantajlarından birisi ise merkezi yapıda bulunmamasıdır. (Dağıtık Sistem)

Az önce dağıtık yapıda bulunur dedik. Ne demek bu şimdi ?

Git ile versiyonladığınız proje dosyaları her geliştirici de saklanır. Ve proje de bir değişiklik yapıldığı zaman sadece değişen kısım değil o an projeden bir snapshot…


Firebase modül serisine kaldığımız yerden devam ediyoruz. Bu yazıda sizlere Firebase’in gözde modülü olan ve ilk çıktığı zamanlardan beri büyük ilgi gören bölümünden bahsedeceğim.

Firebase’in modülleri bazı seviyelere kadar ücretsiz buradan modül fiyatlandırmalarına bakabilirsiniz.

Neden mi Realtime Database ?

Şöyle düşünelim bir mimari tasarlıyorsunuz ve birçok client bulunmakta. Mobil , Web , Desktop vs. tüm istemciler aynı anda asenkron bir şekilde bilgi alışverişi yapabiliyor ve zaten ismi buradan geliyor. Bulutta çalışan bir NoSql veritabanı düşünün ve veritabanı olarak alışık olduğumuz tablo ve kolonlar yok.

Nasıl mı ?

Bu yapıyı bir json ağacı şeklinde düşünebilirsiniz. En önemli avantajlarından biri de şu…


Öncelikle yazıya başlamadan önce birkaç kavramı açıklamak doğru olacaktır. Özgür Yazılım (Free Software) denilince (isimden de anlaşılacağı üzere) bedava yazılım algısı oluşmamalıdır ama bu özgür yazılımların çoğunun ücretsiz olduğu gerçeğini değiştirmez. Burada özgürlük dediğimiz kavram aslında işin tarihçesinde yatıyor.


Uzun zamandır aklımda olan bir konu , firebase serisine nihayet başlamış bulunmaktayım. İlk olarak Push Notification servisi olan cloud messaging den başlamayı uygun gördüm.


Tasarım desenlerine kaldığımız yerden devam ediyoruz. diğer tasarım deseni yazılarımı buradan bulabilirsiniz. Ayrıca sizlerde tasarım deseni yazıları (okuduğunuz ya da yazdığınız) ekleyerek projeye katkıda bulunabilirsiniz. Peki gelelim konumuza Factory(Fabrika) tasarım deseni nedir ? Nelerde kullanılır ? bu ve benzeri sorulara cevap aramaya çalışıp bir örnek ile desteklemeyi düşünüyorum.

Factory (Fabrika) tasarım deseni sınıf yaratma üzerine kurulu bir yapıdır. Peki nelerde işimize yarayacak bu desen.

Yusuf Çakal

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