It is rare but probably happens once in a few years that we write a very long list of if-else blocks. Not only this kind of code is hard to manage, it is bad for a single responsibility. And it’s slow. I just devised a faster and cleaner way to do it.
There has always been confusion and debates on what to do with “exception” and how to use it. Now, if you see “exception handling” in context of just a programming practice, or java, or a convention, you are sure to get challenged by both your team members and yourself. During my early years, I have been in turmoil for making right decisions on it. But over the time, I have learned lessons and found the real purpose of exceptions which I am gonna share today:
I guess I am reading too much recently and writing less and less every week. It’s probably because I serendipitously hit a strain of books about “brain” which essentially mix psychology, neuroscience, biology, and case studies, and give a totally different outlook to how we see ourselves and others. So, most of my second list is slanted for the brain.
I have been leading teams for years and changing my management and leadership patterns over the course. It’s very difficult and confusing. Having read a lot of articles and books, I made some simple discoveries and patterns which I can effectively follow no matter how busy I am. That’s how the idea of “Fitness 101” came.
I have found some more usages of “special case pattern” coined by Martin Fowler and I have tried to name them rhetorically to make you remember – dummy, dead, and deformed.
In the beginning, I had a hundred problems creating beans, and spent hours to understand how spring works. I produce a lot of modules and libraries and separate everything by features. So, my applications don’t have a simple model-view-controller folder-set as I have hundreds or even thousands of classes in enterprise solutions. And, I was facing issues with setting up my libraries which were not in the application package in spring. By application package I mean where the Spring Application class resides in and all the sub-packages.
So, what happens when packages are outside? – the beans are not created, the spring annotations do not work! The solution is pretty easy but hard to find unless you are already familiar with “spring keywords“. But, the only way to get familiar with spring terminology is to become a master of it first! Anyway, so my goal here is to write tutorials which would be easy to find with common keywords like “my beans are not working in spring”.
I have been sharing book titles with my colleagues for over a year now – to help them increase productivity, building up habits, defining goals, etc. Unfortunately, I found a common pattern which is very ineffective – reading as fast as possible. Most of us tend to complete a book as if they were reading a story, or they are supposed to finish it. Here are some facts that we need to remember when reading these kinds of books:
Let’s say we want to add a full-text search engine to you application. Apache solr is a open source and popular choice for search engines. Now, I am going to share a simple architecture to synchronize data between the primary data-store (like mysql, mongodb, etc) and solr engine.
I am going to start writing a new series on “white hacks” that I frequently make as makeshift solutions to exigent problems. Many a times these solutions are not ideally the best approach to solve problems, but they are highly valuable when you are working on projects which have tight schedule constraints. People need the software first, then the performance.
These hacks will be found in the WHack Category.
The day I started learning refactoring, I fell in love with it. I got so addicted to it that I have developed a new habit automatically which not only makes refactoring an easy task, but also saved a huge amount of time when I write some complex algorithm or business logic. It’s a refactoring-integrated process of programming.