Why do we use Node.js in our backend?

Ryan Dahl kicked off work on Node.js in 2009 on top of two years of research related to server-side web components. The journey of the runtime wasn’t a smooth ride at all but as of today the major component of its semantic versioning hit 18. The revolutionary premise of Node.js was “server-side JavaScript” because since…

Что будет если Солнце погаснет?

Сегодня как это периодически случается пост на отвлеченную тему =) Прогуливался недавно утром после ночных осенних заморозков и задумался о причинах колебания температуры. Заодно вспомнил термодинамику и почему мгновенно замерзающие в космосе несчастные – чушь собачья, хоть и драматичная. Но обо всем по порядку. В молоке и двух водах Если смешать холодную и горячую воду,…

Backend for Frontend – What is it?

Backend for Frontend design pattern – BFF for short while it’s definitely not “Best Friends Forever” 🙂 – seems to get some hype lately. It’s nowhere a new thing: one of the first mentions were by SoundCloud guys back in 2015. Basically it’s a specialized case of a more generic API Gateway pattern. Let’s figure…

503 Backend Fetch Failed – WTF?

At high level “503 backend fetch failed” boils down to an HTTP protocol status code from the 5xx group. 5xx group consists of so called “server errors” which means that client’s request overall seem to be valid but server failed to fulfill it. Some common reasons for such behavior include: Some bug in the application…

Why is there a big pay discrepancy between different software engineers?

From a client’s perspective it may be confusing to pick up an independent developer. That’s because prices for what seems to be similar work may be drastically different. For instance, it’s not uncommon for web development work to be priced in $20-200/hr range. How so? Why is there a big pay discrepancy between different software…

When to use microservices?

This is a follow up to an earlier article on microservice architecture implementation principles. It was promised back then to get back to the question of “when to use microservices”. A bit of history The overall architecture pattern of microservices was successfully implemented in 2010-ish. That was an endeavor on the part of a few…

Вера современного человека

Вопреки традиционной коннотации “вера” в заголовке не равно “религия”. Я обращаюсь к фразе “вера современного человека” в прямом значении – “убеждение, уверенность в чем-то” – как у Гугла: На мой взгляд в наше время вера в этом значении обрела не меньшее значение, чем она имела несколько веков назад в значении “религия”. Согласись, это малость странно…

Memory Layers Latency Difference

There’s such term as memory hierarchy in computer architecture. In simplistic terms it’s about structuring different memory/storage types based on response time. In software design & architecture memory hierarchy directly affects performance and may make or break design of a particular software system. Memory layers latency difference is very important to software design. Basics of…

Продуктовая ИТ-компания и техническая экспертиза

В наш век расцвета консьюмеризма потребителю предоставляется все больше товаров и услуг на любой вкус и кошелёк. На этой волне не менее развитым становится и сектор B2B-услуг. Это позволяет управленцам компаний аутсорсить всевозможные сферы деятельности своих компаний как никогда прежде. Продуктовая ИТ-компания – не исключение. Если 50-100 лет назад запуск компании был невозможен без значительных…