A guide to write better code with the help of the SOLID Design Principles, illustrated by Python examples. 5 Principles to write SOLID Code: Single Responsibility Principle, Open/Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle
What is the context in object-oriented programming? This question changed my view on object-oriented programming forever. It was a few years ago when I accidentally found the answer I hadn’t even sought. Eventually, however, it was surprisingly simple, yet enlightening.
Where am I going with this? Like all principles, the idea of Object-Oriented Programming (OOP) originated as a way to guide programmers on how to solve a particular problem, not as the only way of solving all problems.
You can’t rule the development world for decades without attracting some enemies. And object-oriented programming, which provides the conceptual underpinning for dozens of languages old and new, certainly has some enemies.
Exception handling is common to most programming languages, and the mechanism and behaviors are similar in most languages: try\catch\finally. It is well documented. We are not going to discuss that.
Get practical and actionable insights into what you need to know to plan and implement microservices effectively.
Microservices architecture doesn’t require an introduction. It has been widely adopted in recent years by many companies in various domains and sizes. Some companies have redesigned their monolith architecture and broke it up to microservices, while others have built it up from the ground up as a pure microservices architecture.
We all agree: a good name is always the most important thing. Let’s find them. There are only two hard things in Computer Science: cache invalidation and naming things.
Message Queues play an important role in large-scale solutions, as the project becomes more and more sophisticated — micro-services are added and we become dependant of the message-queue functionality.
Productivity software is indispensable for all of us. Dedicated tools for creating spreadsheets, writing down notes, managing our to-dos etc. ensure that we are productive in our professions. Incumbent vendors (e.g. Microsoft, Google) have dominated this space for many years — yet, there is a chance for new players to enter the stage.
Learn about basics of microservices architecture and considerations before opting for it.
Hello Guys, today, I am very excited to talk about another useful software architecture book (Clean Architecture: A Craftsman’s Guide to…
Full-text search should not slow down your application. Learn the basics and understand that the solution is not always just code! Then you probably faced with the problem caused by LIKE ‘%...%'.
A Value by Any Other Name - We cover assignment, name resolution and scopes. Once and for all - how does it work in Python?
To Be, or Not to Be - We talk about if statements—even though you probably get the gist, there’s still a lot to say, from syntax to software design.
Loopin’ Around - We take a look at loops-but do so from a Pythonic point of view, as Guido intended.
Functions at Last - We discuss functions -all the different signatures they can have, and the different ways they can be invoked.
To Functions, and Beyond! We consider functions as objects — and develop the decorator design pattern on top of that, in all its glory.
Function Internals 1- This time, we delve into the function’s less familiar features—and even disassemble it, and take a first look at its bytecode.
The Cost of Wrong Abstractions - Why rushing to abstract duplicated logic can cost us more than keeping it.