Н
Николай Тузов
27.08.2026 18:34 · 👁 6.4K
😐 Ультимативный разбор... Go 1.27?
Честно, не знаю зачем я это сделал, но я сделал.. Ну почти.
https://golang.guide/go-1-27/
Сначала я решил просто написать базовый обзор релиза. Но потом я увлёкся и не смог вовремя остановиться.
Мне хотелось не просто сухо рассказать об изменениях, а добиться глубокого понимания читателя — причины этих изменений, какие проблемы они решают, как реализовано, почему именно сейчас, какая история стоит за самыми интересными фичами. При этом, я старался писать так, чтобы всё это читалось интересно и легко.
В итоге, работа над статьёй так сильно затянулась, что когда она выйдет, сам релиз уже никому не будет интересен. Поэтому я решил опубликовать ту её часть, которая уже готова — это примерно 60%, и туда вошло всё самое интересное и важное:
- Дженерик-методы, которые десять лет обещали не добавлять
- Новый движок JSON v2
- Пакет uuid наконец-то в стандартной библиотеке
- Детектор утечек горутин, который переиспользует сборщик мусора — на мой взгляд, самое красивое, что есть в этом релизе
Во вторую половину войдут: постквантовые подписи, рантайм, net/http, SIMD и тулинг. Это я дописываю прямо сейчас, оно появится в той же статье.
Все код-сниппеты запускаются прямо из статьи на актуальном go1.27. Каждый из них можно редактировать и экспериментировать — не нужно открывать отдельный плэйграунд. А ещё я подготовил для вас наглядный виджет с демонстрацией механики работы детектора утечки горутин.
Я потратил на эту статью ОЧЕНЬ много времени. Возможно, стоило потратить на более фундаментальный гайд — тот же GC, над которым я также сейчас работаю. Но надеюсь, вам всё же понравится ❤️
Стоит ли писать подобные обзоры про новые релизы?
————
А ещё я прикрутил к сайту email-рассылку (и письмо про Go 1.27 туда ушло сильно раньше этого поста) и комментарии к статьям. Если вдруг заметите какие-то баги, пишите в комментариях, постараюсь оперативно поправить.
И не хулиганьте в комментариях на сайте! 👍
#article #go1_27
Н
Николай Тузов
24.08.2026 09:02 · 👁 7.1K
🤓 Небольшая инженерная задачка, чтобы размяться
Ты пилишь сервис уведомлений. Обычная штука, которая шлёт людям пуши: юзер оформил заказ, ему на телефон прилетело "заказ отправлен". Внутри всё скучно: приняли запрос, записали в Postgres, кинули событие в Kafka, ответили 202. Дальше отдельный сервис с воркером, разгребает очередь и шлет пуши.
Окей, а что будет, если посреди этого что-нибудь отвалится?
Попытка 1. Пишем в базу, потом в Kafka
Записали в базу, коммит прошёл, идём публиковать в Kafka, и там таймаут. Клиенту мы уже ответили 202 типо все ок. Запись в базе лежит, в Kafka пусто. Воркер не сделает ничего, для него этого события просто не существует. И кто его теперь опубликует? Клиент второй раз не придёт, он получил успешный ответ и живёт себе дальше.
Попытка 2. Кладём запись и намерение в одну транзакцию
Ладно. Рядом с сервисом заводим outbox табличку и пишем туда в той же транзакции. Из хендлера в Kafka не ходим вообще. Теперь единственный, кто публикует, это отдельный крон: вычитал неотправленные строки, отправил, пометил.
Потерю между базой и Kafka убрали. Зато вылез дубль: крон мог опубликовать и упасть до того, как пометил строку, а после перезапуска отправит ещё раз.
Попытка 3. Учим систему узнавать повторы
Значит, каждому событию свой event_id, живёт от outbox до воркера. Воркер, вычитав из Kafka, сначала смотрит, не обрабатывал ли он это уже, и уникальный ключ в базе не даёт двум инстансам взяться за одно событие.
И вот можно накидывать про backoff, rate limit, circuit breaker и так далее. второму кругу.
Такие вот развилки и спрашивают на System Design секции.
А от неё зависит немало: пройдёшь ты собес или нет, на какой грейд возьмут и с какой зарплатой. При этом готовиться к ней непонятно как: что спрашивают, насколько глубоко копают, по каким правилам оценивают, сколько надо успеть за 50 минут.
Чтобы разобраться с этим, мой хороший знакомый Олег Козырев 27 августа в 19:00 по МСК проводит открытый урок:
📆Как пройти секцию System Design за 50 минут
Для кого будет урок:
- Хочешь апнуть грейд и зарплату, а рост упёрся в сисдиз, с которым ты мало работал
- Уже готовишься к секции: теорию знаешь, а как уложиться в отведённое время и ничего не упустить, непонятно
- Уже пробовал проходить секцию, но в итоге завалил
Что будет на уроке:
🔍Разберём реальную задачу с собеса: сервис уведомлений на 2 млн отправок в сутки
🔍Поймём, что интервьюер оценивает на самом деле и обычно это совсем не то, что тебе кажется
🔍Какие вопросы задать в начале, чтобы размытая формулировка превратилась в задачу, которую реально закрыть за 50 минут
🔍Посчитаем нагрузку и хранение руками: 2 млн в сутки, вечерний пик х5, запас на год, и на выходе цифры, под которые дальше и рисуется схема
🔍Разберёмся с углублёнными вопросами, на которых ломаются заученные решения: потери, дубли, тормозящий провайдер
🔍Также Олег подробно расскажет про свой курс по System Design, который как раз заточен на прохождение собесов
После урока у тебя будет понятный порядок действий на секцию: что спросить в начале, что посчитать, что рисовать и в каком порядке всё это говорить.
Урок бесплатный и ссылка на него будет в этом телеграм-канале⬇️
🔨Перейти в канал с уроком
P.S. Напоминаю что урок будет уже в этот четверг и записи, если что, не будет
#промо #текст_прислан
Н
Николай Тузов
24.08.2026 06:57 · 👁 7.5K
👴 Посоветуйте хорошего бухгалтера на аутсорс в Казахстане, в идеале в Астане
Рынок у нас маленький, и хороших специалистов найти сложно. При этом, сейчас многие разработчики работают по ИП, и наверняка часто делегируют ведение бухгалтерии профильным специалистам.
Если у вас есть на примете хорошие проверенные специалисты, поделитесь контактом, пожалуйста.
Можно в ЛС: @justskiv
Н
Николай Тузов
22.08.2026 18:28 · 👁 8.2K
Что будет, если дать мне возможность заниматься своими проектами фуллтайм?
Думаете, ролики / статьи будут выходить чаще?
Нет.. Все этого все статьи станут сопоставимы по масштабу с "ультимативными" гайдами, вроде того же Планировщика. Даже разбор новой версии Go 😩
Мне надо бороться с перфекционизмом и максимализмом, а вам готовиться к чтению самого глубокого разбора релиз-нотов в вашей жизни.
Надеюсь, в ближайшие дни закончу, пока тема вообще актуальна. Жаль, не успел в день релиза.
Не выйду из дома, пока не допишу это ☀️
Н
Николай Тузов
02.08.2026 08:53 · 👁 15.5K
Эх, не успел перед походом дописать статью, много времени ушло на сборы.
Штош, ждите меня через неделю. Если будет связь, буду делиться кружочками, фотками и впечатлениями тут: @ntuzov_live
Н
Николай Тузов
26.07.2026 18:45 · 👁 19.6K
Хотел отдохнуть, но руки чешутся дописать следующую статью.
Я уже давно над ней работаю, поэтому, скорее всего, на днях выложу.
Кстати, небольшой обзорный пост про Go 1.27 я уже написал
Н
Николай Тузов
26.07.2026 09:17 · 👁 16.3K
Олег — Король кринжа🤦♂️
Но было весело, спасибо что пригласил поболтать ❤️
Н
Николай Тузов
25.07.2026 14:36 · 👁 17.8K
🦄 Опубликовал платформу для гайдов и первую статью
https://golang.guide/
Надеюсь, вам понравится, я очень старался ☀️
Там всего один единственный гайд — первая часть серии статей про Планировщик. Даже если вы читали оригинальную статью, или смотрели ролик, всё равно советую перечитать — тут полный ремастер и режисёрская версия с интерактивом 👍
Остальные статьи уже в работе. Буду выпускать их по мере сил.
Советую читать с десктопа — там пока больше фич, чем на мобилке.
Если заметите какие-то баги или проблемы — пишите, поправлю.
Н
Николай Тузов
24.07.2026 18:19 · 👁 11.8K
В последние дни работаю чуть ли не по 16 часов над этим проектом — мой перфекционизм не даёт мне покоя. Делаю одну правку, и тут же ещё десяток идей возникает в голове.
Сейчас мне всё более-менее нравится, второстепенное отложил на потом.
Планирую сделать релиз завтра в первой половине дня. Ну, я надеюсь на это 😩
Н
Николай Тузов
16.07.2026 17:39 · 👁 14.3K
🦄 Платформа для гайдов, о которой я давно мечтал
Видение того, как должен выглядеть сайт с гайдами / курсами у меня сложилось довольно давно, и все эти годы продолжало эволюционировать.
Но вот в чём проблема — видение то было, но возможности реализовать его не было, потому что:
- Из меня ужасный дизайнер — я могу объяснить чего и как хочу, и сказать "красиво" или "не красиво, но сделать красиво самостоятельно не получается
- Я далёк от фронтэнда — что-то знаю, но опыта мало. На полноценный проект уйдёт много времени, а результат будет плохой
- Свободного времени было так мало, что лучше потратить его на что-то более приземлённое
Нанять настоящего верстальщика и дизайнера я бы не потянул, т.к. все мои проекты строятся на чистом энтузиазме, и почти не монетизируются.
Что ж, времени у меня теперь сильно больше, а дизайнера и верстальщика мне заменил Claude — с недавних пор он стал в этом невероятно хорош. Все блокеры сняты, наконец-то можно свободно творить. И я сотворил 👍
————
Как должна выглядеть "платформа моей мечты", чего мне все эти годы не хватало:
- 💅Дизайн строго по моему вкусу — я очень падок на визуал, и крутой дизайн очень меня мотивирует. Словами мне это сложно описать, чуть позже сами увидите.
- Лёгкая сборка — статичный сайт, который собирается из md-файлов — в идеале, Hugo, конечно же. Сайты получаются очень лёгкие и их поддержка почти ничего не стоит.
- Наличие интерактивных виджетов и пошаговой анимации. Часто бывает так, что какую-то концепцию проще "показать", а не описать словами и ли нарисовать. Дать читателю это "пощупать", поиграться. Это может заметно сократить размер статьи, и при этом сделать её понятней, интересней, наглядней. Мне этого очень не хватало, когда я писал статью про планировщик.
- Удобная работа с "сериями" статей. Опять же, на Хабре и других платформах таких механизмов нет вовсе, и поэтому мне проще написать монолитную статью, чем делать из неё неудобный сериал. Но наличие такого механизма сильно упростило бы жизнь как мне, так и читателям.
- Интерактивное содержание (TOC) — такое уже много где есть, но вот на Хабре, увы, нет. В случае больших статей без него вообще ни как.
- Минимализм. Да, после всего вышеперечисленного кажется, что слово "минимализм" тут неуместно. Но я под этим подразумеваю, что на сайте должно быть только то что действительно улучшает пользовательский опыт, и ничего лишнего
Это основные моменты. Кроме них, есть ещё множество мелочей, которые суммарно дают огромный вклад — удобный быстрый поиск по материалам, несколько цветовых тем на выбор (не всем удобно читать только на белой/черной теме), режим "фокусирования" (когда на экране нет ничего лишнего, кроме текста статьи) и др.
————
Что ж, на днях я полностью закончил разработку такой платформы, и сейчас активно наполняю её контентом.
Для начала, я хочу перенести в неё мои имеющиеся материалы — разбор планировщика, написание grpc / rest api сервисов, а также разбор каналов и map (по ним статей ещё нет, только ролики — теперь будут).
Все эти материалы я попутно актуализирую и дополняю — за годы я многому научился, есть что добавить. Кроме того, теперь мне не мешают "технические ограничения" других платформ.
Короче, мои старые работы скоро получат "режиссёрскую версию" 👴
Релиз первой статьи будет примерно на днях, а пока можете полюбоваться красивой заглушкой 💅
#анонс