Владимир Балун
5.76K subscribers
345 photos
45 videos
355 links
Канал Балун Владимира — C++/Go разработчика из BigTech. Здесь вы найдете глубокие знания и материалы по программированию, личные истории и лайв-контент.

Сотрудничество: @vladimir_balun
Download Telegram
🎓 Открытый урок «Приручаем prometheus в масштабах: best practices из bigtech»

• 29 сентября, ПН
• 19:00 по мск
• 2 часа

Как подготовить метрики, системы и инженеров к росту, и не допустить ситуацию, в которой мониторинг становится проблемой, а не инструментом?

Любая система может сломаться на масштабе. Prometheus – не исключение. Метрики, которые помогают инженерам, превращаются в шум, алерты начинают прилетать сотнями, а дашборды грузятся десятки секунд. Причина не в prometheus, а в подходе к архитектуре и игнорировании проблем в observability-стеке, пока он еще хоть как-то справляется.

Что будет на уроке:

1️⃣Как подготовить метрики, системы и инженеров к росту

2️⃣Как не допустить точки невозврата, когда мониторинг перестает быть инструментом и становится проблемой

3️⃣Что смотреть в prometheus, чтобы понять, когда он перестанет вывозить нагрузку

4️⃣Проблемы роста кардинальности метрик и как они решаются при помощь relabeling

5️⃣ Оптимизация хранения и получения метрик, включая federation, sharding и remote write

6️⃣ Способы оптимизации запросов promQL на основе recording rules

7️⃣Ошибки в запросах promQL, которые приводят к неправильной интерпретации метрик

8️⃣Пути получения нешумных алертов на основе SLO и error budget

9️⃣Паттерны предаггрегации метрик на стороне сервиса для получения более высокой точности измерений

Запись будет для всех, кто зарегистрировался на урок.

➡️ Записаться на урок

Кто я | Навигация | Спасибо
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥104👍4
🗣На позапрошлых выходных рассказывал еще раз свой доклад про пакет unsafe в Go на конференции E-CODE от Ozon

В целом, это обычная практика - подготовить один доклад, чтобы затем его рассказать на нескольких конференциях! Тем не менее, для E-CODE я его немного расширил, добавил туда информацию про tagged pointers, XOR-связные списки и атомики.

Посмотреть доклад с E-CODE можно по ссылке

P.S. собираюсь последний раз рассказать этот доклад в Питере на конференции стачка 2-го октября, поэтому приходите на доклад!

Кто я | Навигация | Спасибо
🔥30👍11👨‍💻62
📹 Внутреннее устройство сборщика мусора Go

Это не очередное видео о том, как устроен сборщик мусора в Go. В новом видео рассказал большое количество основ о том, какие бывают сборщики мусора в разных языках программирования, как можно собирать и не собирать мусор. Поделился различными тонкостями и нюансами, например что такое балласты памяти, спираль смерти и как можно уменьшать нагрузку на сборщик мусора.

Только после все этой базы рассказываю то, как устроен сборщик мусора в Go - думаю, что после основ будет намного проще понять основополагающие концепции. Приятного просмотра!

Посмотреть видео можно по ссылке

Кто я | Навигация | Спасибо
2🔥50👍96
This media is not supported in your browser
VIEW IN TELEGRAM
👍368🤝4👏2
🏝️ В этом году решил снова поехать на зимовку

Только не на всю зиму, а до конца декабря. Так как в прошлый раз очень не хватило зимы…

Первая остановка на месяц во Вьетнаме в Нячанге

P.S. пишите, если кто-то будет в Нячанге до конца октября

Кто я | Навигация | Спасибо
🔥56👍152
🎓 Завтра начинается особенный, юбилейны поток курса по System Design!

За почти 3 года работы мы успешно провели 14 потоков: 12 общих и 2 отдельных корпоративных для Wildberries. За это время учебные материалы и процесс обучения прошли через множество итераций и усовершенствований. Сейчас я могу уверенно сказать: продукт отлажен и помогает студентам в короткие сроки систематизировать знания по проектированию систем и хорошо подготовиться к System Design интервью.

📌 Цифры одного из прошлых потоков подтверждают мои слова:
- NPS (вероятность рекомендации продукта от -100% до 100%) = 86.6% (высочайший показатель, который выходит за рамки стандартов онлайн-образования)
- CSI (удовлетворенность продуктом от 0 до 10) = 9.4 (ещё одно свидетельство высокого качества курса)

Мы собираем эти данные через анонимные опросы в Google Формах.

Для кого этот курс?

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

Наш курс по System Design может вам с этим помочь! А еще он помогает не только программистам, но и другим IT-специлистам, вот интересный кейс

Кто я | Навигация | Спасибо
🔥20👍7🎉31
У меня накопился огромный бэклог книг на самые разные темы: программирование, художественная литература, психология, бизнес, менеджмент, эзотерика и саморазвитие.

Не раз задавался вопросом — в каком порядке все это читать? 🤔

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

Совпадение ли это? Не знаю, но в большинстве случаев такие книги действительно оказываются полезными и часто дают ответы на мои текущие вопросы.

Следующая книга в моем списке — "Кафе на краю земли". О ней я слышал уже из множества источников.

Кто-то читал? Поделитесь своими впечатлениями в комментариях!

Кто я | Навигация | Спасибо
🔥24👍1151🏆1
📚 Можно ли систематизировать знания по Go?

Наши ученики говорят, что можно, и при этом не только систематизировать знания, но и углубить их, изучив множество тонкостей и нюансов языка Go.

Конечно, это нужно не всем, но если вам нужно уверенно проходить собеседования, структурировать знания по Go и детально разобраться, что скрывается за простотой этого языка, то можно начать этим заниматься уже завтра

Кто я | Навигация | Спасибо
🔥155👍5
Media is too big
VIEW IN TELEGRAM
Вспоминаем наш первый backend-meetup!

20 сентября мы собрались большой компанией, чтобы поговорить о самом важном и полезном:
– как писать микросервисы на Go и не тонуть в хаосе,
– что спросят на System Design-интервью,
– как эффективно писать промпты,
– и где прячутся баги в модели памяти Go.

Спикерами были наши преподаватели из BigTech. За лучшие вопросы дарили книги, обучение и mock-собесы. А потом – фуршет и afterparty 🥳

Кто я | Навигация | Спасибо
🔥22👍129🎉1
Заметил, что некоторые цитаты из мира программирования и не только, очень часто использую в различных разговорах: при обсуждении архитектуры, оптимизаций или при решении различных задач по программированию.

Решил поделиться своим топом цитат, возможно, они найдут отклик и у вас!

"Все проблемы в computer science можно решить ещё одним уровнем абстракции… Кроме проблемы слишком большого количества уровней абстракций" — Батлер Лэмпсон

"В теории нет разницы между теорией и практикой, но на практике есть" — Йоги Берра

"Некоторые проблемы лучше не решать, а избегать" — Тони Хоар

Делитесь в комментариях своими любимыми цитатами, которые чаще всего используете в работе!

Кто я | Навигация | Спасибо
👍3418🔥6🎉1
В сентябре мы с Сашей записали совместный подкаст, где глубоко погрузились в мир языка программирования Go!

Мы разобрали его уникальные особенности, тонкости использования и текущий спрос на рынке. Не обошли стороной и животрепещущие вопросы: какова его актуальность сейчас и в будущем, и насколько своевременен переход на Go сегодня?

Получилось достаточно интересно, посмотреть наш подкаст можно по ссылке: https://youtu.be/ds_7PG6JOXY?si=2Dc34H5o1fMD4QE3

Кто я | Навигация | Спасибо
🔥28👍127
🚀Отказоустойчивость кеш-слоя в микросервисной архитектуре

📅 29 октября в 19:00 по МСК пройдет бесплатный открытый урок по паттернам отказоустойчивости в микросервисной архитектуре на Go!

На отрытом уроке узнаешь:
- Как искать «лавины» (Cache Avalanche), «грозовые стада» (Thundering Herd) и проблемы с согласованностью данных, а также как устранять их с помощью Single Flight, jitter и многоуровневого кеширования
- Как поддерживать актуальность данных: от простого TTL до активной и событийной инвалидации
- Как выбирать стратегию вытеснения данных (LRU, LFU) под конкретную нагрузку приложения
- Как разбираться в плюсах и минусах подходов к согласованности: Write-Through, Compare-and-Swap
- Как мониторить здоровье и эффективность кеша, чтобы система заранее оповещала о проблемах

Зарегистрироваться можно по ссылке

Кто я | Навигация | Спасибо
🔥113👍3
В сентябре с ребятами из Go To IT записали совместный подкаст о программировании и развитии скиллов в программировании!

В подкасте обсудили карту роста программиста, собеседования программистов, еще поговорили о разнице курсов и ВУЗов, а также разобрали EdTech изнутри на примере нашей школы по программированию.

Получилось достаточно интересно, посмотреть наш подкаст можно по ссылке: https://youtu.be/ThRojDkU06s

Кто я | Навигация | Спасибо
🔥20👍11👏7
🚀Записал отдельное видео про пакет unsafe в Go

Видео получилось обширным и насыщенным. Думаю, что благодаря нему можно систематизировать и углубить знания по пакету unsafe в Go.

Также это видео будет полезно тем, кто хочет посмотреть, как абсолютно базовые операции можно выполнять под другим углом и зачем это нужно. Например, разобрав XOR-связные списки или tagged pointers.

Посмотреть видео можно по ссылке: https://youtu.be/6mTv1e8au9c

P.S. видео носит ознакомительный характер - в большинстве случаев читаемый и понятный код будет лучшим решением, чем оптимизированный, но более трудный для понимания

Кто я | Навигация | Спасибо
4🔥33👍762
💭 Постоянно сталкиваюсь с ситуацией: встречаешь инженера, у которого в голове куча знаний, опыт десятков проектов, он хорошо понимает архитектуру и классно пишет код!

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

И вот, все эти крутые скиллы – просто растворяются, а интервью пройдено не так хорошо или совсем провалено!

Как так получается, что человек, способный строить сложные системы, не может *ясно* и *доступно* объяснить свою мысль? Это же не проблема отсутствия знаний, а чего-то другого.

📌 Давайте вместе подумаем, как таким инженерам помочь научиться транслировать свои мысли просто и понятно? Делитесь мыслями и советами в комментариях, а также встречали ли вы подобные ситуации в практике?

Кто я | Навигация | Спасибо
2👍279💯7🔥42🎉1🏆1