Три степени принятия легаси-кода 🧩 Каждый разработчик однажды сталкивается с тем самым проектом. Где код живёт по своим законам, комментарии — артефакты древней цивилизации, а местами прослеживается квантовая запутанность наследования и логики. Работая с очередным легаси-проектом, я вывел три состояния, через которые проходит разработчик. 👶 Начинающий Ты впервые попадаешь на легаси. Опыт небольшой, и сложно отличить плохое от хорошего. Смотришь в код и думаешь: «Как это, блять, вообще работает...
Код со смыслом
Код со смыслом - авторский блог инженера. 🔹 Глубокие разборы кода и архитектуры 🔹 Backend, данные, системы и автоматизация 🔹 Реальные кейсы, ошибки и выводы из практики Без инфоцыганства и хайпа. Пишу о разработке так, как думаю и работаю.
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20🎉 Сегодня у меня маленькая победа - закрыл курс по ClickHouse. В целом - курс топ: много практики, всё на живых примерах, прям то, что нужно, чтобы не просто “послушать и забыть”, а реально руками пощупать. Единственное место, где я подвис - это репликация и вся магия, которая с ней связана. 🤯 Чувствую, что придётся докручивать эту тему уже самостоятельно - факультатив по вечерам с гуглом и доками. В остальном - кайф. Рад, что двигаюсь дальше, и в арсенале ещё один инструмент, который теперь с...
⚡️ Последний день интернета ⚡️ 30 сентября AOL окончательно отключает dial-up. После 34 лет службы несколько тысяч американцев в последний раз услышат этот культовый шум модема: пи-ииииии-брррр-тыдыщ-тыдыщ 🎶 Минутка ностальгии для олдов: ➖ ICQ падала, если мама брала трубку 📞 ➖ одна mp3-шка с зайцев.нет качалась по 40 минут ⏳ ➖ сайты открывались построчно, и картинки медленно сползали сверху вниз 🖼 ➖ ночные забеги в браузерных ролевках, потому что после полуночи тариф был дешевле 🌙 Dial-up б...
🐘 Почему PostgreSQL не применяет индексы В одном из предыдущих постов я упомянул высокую кардинальность. Тогда писал, что PostgreSQL использовал индекс по os_aggregate_id. Сегодня разберёмся, что такое кардинальность. 💡 Что за зверь кардинальность? Кардинальность = сколько уникальных значений есть в колонке. Термин пришёл из математики. ➖ Высокая кардинальность: почти все значения разные (например, user_id или email). ➖ Низкая кардинальность: значений мало, они часто повторяются (например, is_...
🎮 Давайте поиграем. Вы — сотрудник техподдержки. Пользователь присылает вам скриншот из отечественного ПО. Как думаете, в чём ошибка?
DISTINCT ON — скрытый чит-код PostgreSQL 🔑 При работе с периодическими данными, которые, например, сохраняем каждый день в таблицу, может возникнуть ситуация: нужно сгруппировать по какому-то признаку (например, name) и получить запись с датой, когда этот признак последний раз появлялся в таблице. 🚧 Неоптимальный способ (см. скрин) 1️⃣Сначала отбираем уникальные строки по нескольким атрибутам — date и name. 2️⃣Затем полученные строки разбиваем на нумерованные группы по атрибуту name. Строки вн...
🐘 PostgreSQL vs MySQL: магия индексов, о которой я раньше не знал Думал, что знаю всё про индексы. Ну, MySQL — там просто: поле в WHERE → индекс → жизнь прекрасна. Но PostgreSQL решил устроить мне квест. 💡 Немного предыстории Я работаю с аналитиками: они собирают отчёты, часто на временных таблицах и с не самым оптимальным SQL. Оптимизация у них в приоритете где-то на уровне «когда-нибудь». Запросы начали тормозить, и я пошёл на охоту за индексами. 🔍 Запрос select distinct date_trunc('day', h...
🔌 Интеграции = слепое пятно Есть одна вещь в backend-разработке, которая ломает релизы чаще, чем баги. Это интеграции со сторонними сервисами. И тесты здесь часто создают ложное чувство безопасности. Берём простой пример: есть ваше приложение A, и нужно интегрироваться с каким-то сервисом B через API. И вот тут начинается самое интересное… ❓В чём проблема? Лучше всего эта проблема видна не в теории, а в живых проектах. Расскажу на примере стартапа «Зов Буревестника» (#call_petrel). По началу мы...
Последнее время всё чаще натыкаюсь на заголовки вроде «Фальшивое расширение VS Code украло $500 000». И каждый раз возникает ощущение, что это какой-то экзотический взлом. На деле — всё гораздо прозаичнее. Я полез разбираться, как это вообще работает. Как выглядит атака в реальности Разработчик просит нейронку написать код. LLM быстро генерирует решение — почти без ошибок. Но есть нюанс.❓ Модели не проверяют фактическое существование пакетов и легко «галлюцинируют» названия. Именно этим и п...