Stop Wasting Brainpower
How many times have you found yourself saying: “I worked all day, but I didn’t get anything done.” I know, we have all been there. We feel bad about it, too. On the surface, it...
Writing on long-lived system structure, architectural trade-offs, and evolution over time.
How many times have you found yourself saying: “I worked all day, but I didn’t get anything done.” I know, we have all been there. We feel bad about it, too. On the surface, it...
If you’ve worked in software long enough, you’ve probably seen it: a CRUD app serving a handful of users, deployed on a Kubernetes cluster with half the CNCF landscape stitched...
When someone asks for a technical deep dive, they don’t care if . They want proof that you actually understand the beast you’ve built. Can you walk me through the system like yo...
Everyone’s been talking about LLMs. I didn’t want to be too late to the party. When everyone’s talking about doomsdays scenarios, I just wanted to see for myself. As an engineer...
I know. When you hear legacy, you think , , weird edge cases, and “what the hell just broke now.” Every moment feels frustrating. You don’t know what the next change will trigge...
As a software engineering instructor, I’ve taught a diverse group of master’s students with varying technical backgrounds. Not everyone comes in with the same level of expertise...
Domaindriven design (DDD) has been around for quite a long time. In short, DDD focuses on domain to match domain requirements. One of the pillars of DDD is bounded context. A bo...
Tech debt occurs when we solve a software problem with our limited understanding of the business at the time. We start building a solution to get feedback as early as possible....
Service overload happens a lot. If you haven't seen one, count yourself lucky. The first time I watched it take a system down, I realized how serious it’s to get the basics righ...
I’ve been asked once to design a key value store in an interview. It looks easy at first. Then it gets hard, fast. What makes it interesting is how ambiguous it is. I started us...
I have noticed that APIs are a bit like abstractions in general. APIs that impress people quickly are very often the ones that cause the most trouble later. I do not mean this a...
A wrapper library is a thin layer of abstraction around an existing library, dependency, or functionality. A wrapper library offers a better and cleaner interface or rather hide...
We live in a time when every month brings a new framework, library, or architectural pattern that promises to change everything. Increasingly often, we come across a new technol...
Ufak servisler(micro services) son zamanlarda yazılım alanında sıkça yaygınlaşan bir yöntem. Micro'yu ufak diye çevirmek hoşuma gitti ama tahminen mikro daha çok kullanılır. Zat...
An architect? According to Wikipedia, an architect is a person who plans, designs, and oversees the construction of buildings. So, we obviously have derived the role from civil...
Yazılım dünyasında başlıca endişelerinden biri, yazılımdaki parçaların biri birine çok bağlanmasıdır(high coupling, crosscutting concerns). Bu durum yazılımın belirli bir noktad...
Bu yazımda size Mediator adındaki nesneye dayalı yazılım şablonunu (ObjectOriented Design Pattern) anlatacağım.Mediator bize, bjeler arasında fazla bağ kurmadan (tightcoupled) i...
Bu yazımda size Strategy adındaki nesneye dayalı yazılım şablonunu (ObjectOriented Design Pattern) anlatacağım. Bu şablonun genel amacı yapılacak iş için alternatifler oluşturup...
Bu yazımda size Observer adındaki nesneye dayalı yazılım şablonunu (ObjectOriented Design Pattern) anlatacağım. Bu şablonun genel amacı bir objeyle başka objeler arasında bağ ku...
Bu yazımda size Facade adındaki nesneye dayalı yazılım şablonunu (ObjectOriented Design Pattern) anlatacağım. Bu şablon(pattern) genelde birden fazla pakete (package) aynı anda...
Bu yazımda size Adapter adında nesneye dayalı yazılım şablonunu (ObjectOriented Design Pattern) anlatacağım. Bu yazılım şablonu genellikle daha önce yazılan bir kodun başka bir...
Bu yazımda size Abstract Factory adındaki nesneye dayalı yazılım şablonunu (ObjectOriented Design Pattern) anlatacağım. Abstract factory, bir veya birden fazla nesnenin farklı t...
Bu yazımda size Factory adındaki nesneye dayalı yazılım şablonunu (ObjectOriented Design Pattern) anlatacağım. Factory şablonunu şöyle anlatayım. Painte benzer bir program yazma...
Bu yazımda size Singleton adındaki nesneye dayalı yazılım şablonunu(ObjectOriented Design Pattern) anlatacağım. Singleton benim en çok kullandığım dizayn şablonlarından biri. Bu...
Mimari denildiğinde insanın aklına gelebilecek ilk konu değildir yazılım. Ama nasıl köprüler, barajlar gibi büyük yapıtların bir mimariye ihtiyacı varsa, geniş kapsamlı yazılım...