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

Сотрудничество: @vladimir_balun
Download Telegram
🗣На позапрошлых выходных рассказывал еще раз свой доклад про пакет 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. пишите, если кто-то будет в Нячанге до конца октября

Кто я | Навигация | Спасибо
🔥54👍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 🥳

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кто я | Навигация | Спасибо
🔥30👍651
Многие бэкендеры думают, что чемпионаты по программированию — это только для студентов и любителей алгоритмов.

Но Yandex Cup легко ломает этот стереотип.

Здесь отдельный трек для бэкенда — с реальными задачами, которые ближе к продакшену, чем к олимпиаде.
Во многих задачах в треке бэкенд нужно не просто «написать функцию», а работающий сервис. Подумать про архитектуру, контракты HTTP-API, базы данных и поведение при сбоях и под нагрузкой.

Призовой фонд — 12 млн₽, финал — в Стамбуле.

В этом году у чемпионата сильная концепция — CODECRAFT: мастера ручного кода.

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

Если хотите проверить свои силы, вспомнить вкус задач не из Jira и просто покодить с азартом — регистрируйтесь 👉 https://yandex.ru/cup/backend

Ну и зовите коллег — сразиться на коде веселее, чем спорить на митингах о REST vs gRPC.

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

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

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

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

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

Кто я | Навигация | Спасибо
1👍258💯6🔥42🎉1🏆1
💭 Есть мнение, что рынок переполнен программистами, которые вообще не знают основ Computer Science. И, мол, без этих знаний они — не настоящие программисты.

Конечно, углублённые знания Computer Science — это очень полезно. Они помогают выделяться на фоне остальных, а также брать реально сложные и интересные задачи на работе.

Но вот вопрос: а всем ли это нужно на самом деле?

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

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

А вот в случае со сложными системами — например, с высокими нагрузками или непростой бизнес‑логикой — тут, да, без серьёзной базы никуда. Как правило, в таких проектах углублённые знания просто необходимы!

А вы как считаете? Пишите в комментариях!

Кто я | Навигация | Спасибо
👍496💯6🔥2👏1👨‍💻1