Today we are going to talk about writing code comments. I will share my view on comments and provide you with some best practices (or worst?) for commenting code. Why do we write code comments? In theory, we use comments to explain some complex or not clear enough parts of our code. We aim to make them easy for understanding for the other developers and us in the future. Everything sounds great, but in practice, things get a lot different. Reality shows that we often write comments to explain a poorly written code that we are lazy to refactor. That’s…
A couple of days ago, I had to migrate from Visual Studio 2017 to Visual Studio 2019. During installation, I came across a very annoying error – vs_runtimeMinimum_x64.msi is missing. The bigger problem was that I had that error message even trying to reinstall Microsoft Visual C++ redistributables. Keep in mind that this fix would work for any application that requires “vc_runtimeMinimum_x64”, not only Visual Studio. Steps to get rid of “vc_runtimeMinimum_x64.msi is missing” error message 1. First cancel any running installation of the problematic software (in my case, that was Visual Studio 2019); 2. Download “Microsoft troubleshooter”. You can…
While ago while I was looking for some papers I found out an old sticky note. On the sticky note, there are only four lines. They are: No duplication;One thing;Expressiveness;Tiny abstractions. Of course, I am not the author of it. The same set and order of rules I got from a book. I can not recall right now, but It is a book by Uncle Bob or Martin Fowler (if you haven’t read any of theirs books, I highly recommend you to do it). I remember I wrote that sticky note back in the days, and it stayed stuck…
CAP theorem is a concept that computer scientist Eric A. Brewer coined during a distributed computing talk in 2000. That’s why it’s also known as Brewer’s theorem. It states that a distributed system cannot have more than two of the following guarantees. ConsistencyHigh availabilityPartition tolerance A proof was published two years later by two MIT professors Nancy Lynch and Seth Gilbert. The term distributed system refers to a network that stores data on many physical or virtual machines (nodes) simultaneously. All cloud applications run on distributed networks; thus, a developer needs to understand how it works. A developer with a…
HTTP is a term that you should be prepared to come across many times in your programming journey. When I was starting as a junior programmer, I didn’t let the abbreviations intimidate me. Even experienced people have to look up some acronyms because new abbreviated technologies emerge every day. The main reason why some newbie programmers never make it in the industry is that they don’t do their research well (or at all). You need to dig deeper than just the definition of these abbreviations. Start by looking at some background of how it started to understand it better. In…
Hello guys! Lately, I don’t have much time for writing, so that’s the reason you haven’t seen any new articles. But I promise this is going to change (drastically). Today I will share with you three steps to take to be a better developer. They are not easy or straightforward. They require time, commitment, and discipline. But if you want to be an excellent professional, you should walk the extra mile. So let’s go! Read the old books These days many developers come from software boot camps, coding academies, or self-taught learning from online resources and experimenting. Don’t get me…
I am often asked where to start if you are learning design patterns. A Strategy pattern is a perfect way to start. It is probably the most straightforward pattern. If I think about it in only a few words, I would say that it is about using composition rather than inheritance. But, let’s consider the basic logic of the Strategy pattern. This behavior is typical in everyday programming that we do not even think about using this design pattern. When we implement an interface, we are already using the strategy pattern. The basic idea is that we are defining an…
Every junior developer faces the design patterns, and it seems to be a hard understandable thing at first glance. But! I’ll explain to you further in this article what they are, and you’ll get it. By using design patterns, your software development process will be much easier (and less painful). So, let’s start. What is a pattern? To figure out easily what is the design patterns let’s define what pattern is generally. A pattern is a repeatable element in various life spheres. It can be a sort of color combination, a shape of some object, or a mechanism. According to…
Yesterday I had to explain to a friend (a junior developer) what OAuth (OAuth 2.0) is. As I saw, It is relatively hard for a developer with little experience to grasp the idea behind it. Most of the time, people don’t get the concept behind OAuth 2.0 and OpenID Connect just because they are poorly explained. So in this article, I will try to explain them in the simplest way possible. What is OAuth 2.0? OAuth is an authorization protocol. Please don’t mistake it with an authentication protocol. The sole purpose of OAuth 2.0 is to grant access to resources,…
Stress! The release date is coming. The client is changing the requirements at the last moment. QAs are reporting bugs. Everything breaks. You work long hours, and you still have a ton of work (but meanwhile, you have two meetings you must attend). Sounds familiar, right? So, how do we survive that and keep our sanity? I won’t preach to you how you should meditate, eat healthily, do sports, etc. Of course, these things are essential, but today I want to share my approach with you—my philosophical point of view. Just embrace the stress I know this sounds ludicrous but…