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

Сотрудничество: @vladimir_balun
Download Telegram
📹 Запись открытого урока по решению concurrency задач с Go собеседований!

На открытом уроке разбирали задачи:
- на синхронизацию структур данных
- на nil-каналы и их особенности
- на data race и race condiition

🔗 Ссылка на видео:
https://youtu.be/3oGmaIGPv54
🔥35👍114🤔1🤩1🏆1
🚀 Best Practices по построению дашбордов в Grafana

📆 31 марта в 19:00 по МСК пройдет бесплатный открытый урок по Observability, как в BigTech!

На открытом уроке:
- поймешь, зачем и когда нужно строить дашборды, и когда это будет бесполезно
- изучишь RED / USE / 4 golden signals и drill down подходам для быстрого построения дашбордов
- изучишь разные виды визуализации, аннотации, переменные и их зависимости, а также алерты
- разберешься, как и зачем использовать версионирование, трансформации, аналитику использования дашбордов и теги

Регистрация по ссылке
🔥35👍7🤩32🥰1👏1
💭 В июне на конференции GolangConf буду рассказывать про черную магию пакета unsafe в Go... В связи с этим, хочу провести опрос среди своих подписчиков для подготовки доклада

📌 Go разработчики, проголосуйте, пожалуйста 🙌🏻
👍12🔥3🎉31
Приходилось ли использовать пакет unsafe в рабочих задачах?
Anonymous Poll
3%
Часто использовал и использую
18%
Редко приходилось использовать
79%
Никогда не использовал
💭Непрерывно стараюсь работать над своей эффективность, поэтому делюсь тем, что я стал использовать в последнее время...

Помимо календаря я стал вести TODO лист по каждому дню неделю с небольшими задачами, которые мне нужно выполнить (уже все не помещалось в голове). Не использую никаких приложений для этого, веду его в обычном текстовом редакторе, которые всегда под рукой. Планирование и заполнение TODO листа занимает не более 30 минут раз в неделю, но некоторые срочные задачи влетают в TODO и среди недели. Те задачки, которые не помещаются в предстоящую неделю, уношу в backlog, чтобы запланировать их как-нибудь потом. Помимо этого, я еще стал разбивать задачки на разные виды по матрице Эйзенхаура в TODO листе и backlog-е, чтобы было наглядно понятно, что делать в первую очередь, а что потом.

📌 Опыт показал, что продуктивнасть моя увеличилась, я меньше стал чего-то забывать и, самое главное, стал фокусироваться на важном, а второстепенным вещам уделять намного меньше времени благодаря матрице Эйзенхаура!
🔥34👍172🏆2🤩1🌚1
🚀 Эволюция MVC до чистой архитектуры

📆 1 апреля в 19:00 по МСК пройдет бесплатный открытый урок по Микросервисам, как в BigTech!

На открытом уроке:
- разберёшься, как устроены MVC, 3-уровневая, гексагональная, луковая и чистая архитектуры, а также поймёшь их сильные и слабые стороны
- узнаешь, почему и в каких условиях возникали различные архитектурные подходы, и как это повлияло на их популярность
- поймешь, в каких ситуациях и как BigTech-компании применяют каждый из этих паттернов
- задашь интересующие вопросы TeamLead'у из Ozon

Регистрация по ссылке
🔥21👍6👏1🎉1
🔊 Не так давно рассказывал на митапе cloud.ru про пакет unsafe в Go, а именно о его содержимом, особенностях и нюансах, оптимизациях, ну и черной магии!

Посмотреть доклад можно по ссылкам:
- YouTube
- VK Видео
🔥37👍18👏81🤩1
💭 Раньше убеждал себя, что мне не нужно никакое хобби, потому что моя работа - это и есть мое хобби (за исключением спорта только), которым я почти все свободное время только и занимался. Чувствовал в тот момент себя прекрасно и думал - как же классно, что я нашел то, чем мне нравится заниматься…

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

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

📌 По итогу сейчас я работаю немного меньше, жить стало намного интереснее, а работа все еще является моим хобби!
🔥72👍168🎉2🏆2👎1🤩1🍾1💋1
📹 Не так давно записали подкаст с Бондарем Олегом (CPO YDB) о том, как устроена разработка распределенной базы данных YDB в Yandex Cloud

Много всего интересного успели обсудить за 1.5 часа!

Кто интересуется базами данных и распределенными системами - ссылка на подкаст: https://youtu.be/U_MYwv2hRVo
👍16🔥86🤔3
💭 Подарки - это хорошо, но когда дарят книги - это еще лучше!

Прочитал уже почти половину - интересные переплетения целепологания, физиологии и психологии для себя уже подчерпнул! Кто интересуется подобным - рекомендую!
1👍27🔥5❤‍🔥32🏆21🥰1👏1🎉1
📰 Не так давно начался отдельный поток обучения по продвинутому Go только для сотрудников Wildberries!

На этом потоке сейчас примерно 100 разработчиков из Wildberries. Мы немного адаптировали материалы курса, а также сделали редизайн презентаций курса. Это уже не первый раз, когда мы сотрудничаем с Wildberries, например прошлой осенью мы проводили корпоративный поток обучения по System Design!

Мы активно развиваем корпоративное обучение, поэтому если вы хотите отправить ваших сотрудников на обучение в один из открытых потоков курсов, сформировать отдельный поток обучения, состоящий только из ваших сотрудников или попросить работодателя, чтобы он оплатил вам обучение - у нас есть отдельная страница с подробным описанием всего этого...
🔥22👍11🤝4🤔1🏆1
🎬 Внезапно обнаружил, что мой канал на YouTube стремительно приближается к 30.000 подписчиков!

Решил подвести небольшие итоги:
- канал был создан 26 марта 2020
- за все время было выпущено 174 видео
- видео суммарно набрали 2 970 248 просмотров

Цифры, лично для меня, большие и значимые, о них я раньше и не думал. Сейчас даже не знаю, как к ним получилось прийти, но тем не менее, уже написал себе цель добежать до 50.000 подписчиков 😅

Хочу сказать вам большое спасибо, что смотрите мои видео, комментируете их и пишите мне о том, что можно в них улучшать ❤️

Также хочу попросить вас написать в комментариях, какие видео вам нравятся больше всего, каких видео вам не хватает, или что еще хотели бы увидеть у меня на канале…
5🔥74👍189🎉7❤‍🔥41🤩1😎1
Forwarded from balun.courses
◻️ Проверка на Concurrency-чуткость

Многие задачи на Go кажутся простыми… пока не появляются каналы!

Вот кусок кода. Он компилируется. Он запускается.

⁉️Но… что выведет этот код и почему?

package main

import (
"fmt"
"sync"
)

func WaitToClose(lhs, rhs chan struct{}) {
lhsClosed, rhsClosed := false, false
for !lhsClosed || !rhsClosed {
select {
case _, ok := <-lhs:
fmt.Println("lhs", ok)
if !ok {
lhsClosed = true
}
case _, ok := <-rhs:
fmt.Println("rhs", ok)
if !ok {
rhsClosed = true
}
}
}
}

func main() {
lhs := make(chan struct{}, 1)
rhs := make(chan struct{}, 1)

wg := sync.WaitGroup{}
wg.Add(1)

go func() {
defer wg.Done()
WaitToClose(lhs, rhs)
}()

lhs <- struct{}{}
rhs <- struct{}{}

close(lhs)
close(rhs)

wg.Wait()
}

Что происходит в этом коде?
Где тут подвох (если он есть)?

💬Напиши в комментариях, как ты думаешь, что выведется на экран — и почему.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍42
🔥 Первый независимый митап в Ростове-на-Дону по Go

24 мая организовываем с ребятами митап по Go в Ростове на Дону. Выступать будут я, Олег Козырев, Женя Айти Красавчик и Максим Аверин.

📌 На митапе поболтаем за System Design и микросервисы, расскажем, как зарабатывать до $50к в месяц на валютной удаленке, поделимся опытом по перекату в Go из других стеков и языков, пофоткаемся, сгоняем в бар и с кайфом проведем выходной. Всю подробную информацию можно узнать на лединге митапа, а также мы создали отдельный чат, где можно задавать различные вопросы по митапу!

Если вы не из Ростова-на-Дону - приезжайте, в мае там очень круто! Будем рады всех видеть! Добраться до Ростова можно или на поезде или самолетом до Минеральных вод и там уже на ласточке.

P.S. Билет платный, потому что митап некоммерческий, спонсоров нет и не будет. Все средства покроют лишь часть расходов на фуршет, фото/видеосъемку, помещение и другие ништяки.

ОНЛАЙНА И ЗАПИСИ НЕ БУДЕТ
🔥32🤡15💩10🥱6👍43👏1
👨‍💻Кто бы что ни говорил об итераторах в Go, но в некоторых ситуациях код с их использованием выглядит уж очень приятно, например, как на скриншоте выше...

А вы что думаете о них?
🔥48👍124💩4👏3💊2👎1
🚀Opentelemetry: best practices

📆 28 апреля в 19:00 по МСК пройдет бесплатный открытый урок по Observability, как в BigTech!

На открытом уроке:
- узнаешь, как подружить трейсы, метрики и логи, чтобы не гадать, почему всё упало;
- разберешь настройки collector так, чтобы он не сжигал бюджет: рейт-лимитинг, семплирование, фильтрация;
- разберешься с авто и ручной инструментацией кода, чтобы собирать столько данных, сколько нужно, и не тормозить основное приложение;
- посмотришь практическую реализацию теории на Golang и других ЯП;
- разберешь интеграцию OpenTelemetry с Prometheus, Jaeger и Loki;
- узнаешь, что такое vendor-lock и как с этим работать.

Регистрация по ссылке
🔥15👍91