Николай Тузов (@ntuzov) — Telegram-канал | Telegram Dialogs
Telegram Dialogs — логотип
Все каналы
Николай Тузов

Николай Тузов

@ntuzov

16.7K подписчиков блоги 💬 Комментарии открыты

Go Developer, автор YouTube канала по Go: https://www.youtube.com/@nikolay_tuzov Live канал: @ntuzov_live AI News: @tuzov_ai_lab Go Digest: @golang_digest Обратная связь: @justskiv Поддержать: https://boosty.to/nikolay.tuzov/ https://t.me/ntuzov/126

Последние публикации

Николай Тузов
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 (по ним статей ещё нет, только ролики — теперь будут). Все эти материалы я попутно актуализирую и дополняю — за годы я многому научился, есть что добавить. Кроме того, теперь мне не мешают "технические ограничения" других платформ. Короче, мои старые работы скоро получат "режиссёрскую версию" 👴 Релиз первой статьи будет примерно на днях, а пока можете полюбоваться красивой заглушкой 💅 #анонс
Чат поддержки
Ответим здесь же, обычно быстро
Здравствуйте! Напишите ваш вопрос — оператор ответит в этом чате.