IT

MongoDB Transaction Read Locks in Go

Sometimes, things do not go well on the coding level. In that case, we know what to do - fix the issue, get to another task. Sometimes, things don’t work out on the architectural level. For such stuff we have to apply additional resources to work around it. Fixing it won’t make the tech debt disappear though.

One of such issues was our MongoDB schema design. Most of us acknowledge the fact that a noSQL DB should be denormalized to be used efficiently. This convention was overlooked in one of the projects, which led us to a normalized, relational-like schema. And it actually worked fine, until it didn’t. Remember ACID?

Golang 14 лет

Когда-то, во времена великих свершений человечества, когда мамонты ходили по земле и птеродактили охотились на йоркширских терьеров (я про 2016 год) мной было принято решение об инвестиции мозговых мыслей в новый модный язык программирования. Язык должен был быть прогрессивным, удобным, дорогим и с большим коммьюнити. Вот тут то и пришло понимание - Golang! Ведь он не подходит ни по одному из параметров!

Thunderbird Supernova

Тут на днях мой любимый почтовый секретарь Thunderbird разродился стабильной версией апдейта с кучей прелестных новшеств в интерфейсе. Кто-то скажет, что до опережающих время дизайнов потомка великого писателя будет далеко, но тут стоит вспомнить, что держится компания на мандариновой шелухе из карманов и чистом энтузиазме.

Работа над любым публичным проектом с открытым исходным кодом - это как писать в стол прозу за прозой, чтобы потом пришел издатель, забрал у тебя этот стол, налепил на него ценник, а тебе сказал дальше продолжать писать в другую мебель. В общем, дело неблагодарное, хоть и не без бонусов в виде козыря на очередном собеседовании. Но если проект становится совсем популярным и все ждут, что ты продолжишь поддерживать софт годами и выпускать релизы для собранного в каморке клона Apple II с архитектурой PowerPC под капотом, то приоритеты смещаются с красивой картинки в выживание каждый вечер после работы. Сам факт наличия подобного обновления у ребят заставляет снова поверить в человечество.

Балансировка нагрузки на пальцах

Как говорится, если хочешь узнать в самом деле ли ты понял какую-то предметную область, то попробуй объяснить её пятилетнему ребенку. Подход рабочий, особенно когда действительно приходится объяснять будущим специалистам суть понятия инкапсуляции рискуя нарваться на инфаркт у слушающих 💀

Автор следующей статьи решил раз и навсегда попрощаться с рутинными и высокопарными объяснениями концепции балансировки трафика в веб-приложениях. С прыгающими картинками и интерактивными вставками, прямо как в музеях. Даже если тематика далека от вашего профессионального и светского интереса, настоятельно рекомендую ознакомиться, чтобы понимать, почему страница с видосом не открылась сразу 😭

Low Code / No Code - Зло?

Недавно наткнулся на любопытную заметку от разработчика о том, что Low Code решения являются большой ложью (наравне с AI инструментами) и на самом деле не добавляют ничего полезного в процесс решения проблем у бизнеса.

Хотя я и понимаю откуда могло появится такое мнение, согласен не на 100%. Автор в достаточно выразительной форме описывает мысль, что тезис “Написание кода - самая сложная часть решения проблемы и нам нужны специалисты только для этого” неверен в большинстве случаев. Но что делать, когда это действительно так? 🙂

Как работают квантовые компьютеры?

На протяжении достаточно большого времени я пытаюсь понять одну вещь: нужна ли докторская степень по квантовой физике, чтобы осознать принцип работы квантового компьютера. Несколько вполне подробных научно-популярных документальных фильмов и роликов уже позади, но все еще нет ощущения, что пришло полное понимание способов обработки вводимых данных квантовым процессором. 😢

Серверы в РФ

Вышло текстовое описание занимательного доклада Selectel (крупнейший провайдер серверов и датацентров в РФ) о состоянии серверного рынка в РФ. В презентации достаточно подробно расписано положение дел, но самое занимательное, что есть четкая закономерность - чем выше мы поднимаемся по техническим уровням (здание, железо, ПО и т.д.) тем меньше возможности заменить это чем-то местным.