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

Сотрудничество: @vladimir_balun
Download Telegram
🎓 Вспомнил я как-то свои студенческие годы в Ростовской области и подумал, что как было бы мне круто в тот момент, если бы какой-нибудь разработчик с опытом (особенно из крупной компании) пришел и рассказал что-нибудь интересное или поделился бы советами.

Так и появилась идея приехать в свой родной колледж в городе Азов, чтобы поделиться опытом. В общем, сегодня ходил на первую пару и рассказывал про поиск первой работы в программировании, как эффективнее изучать новые темы в программирование, а также про быстрое развитие карьеры.

Не знаю, поможет ли кому-нибудь та информация или нет, но я старался поделиться тем, чтобы было мне интересно, находясь там в прошлом за партой…
3🔥149👍4514👏11❤‍🔥2🤩1
🏕 Отдыхать ведь тоже нужно!

P.S. майские в Адыгеи
1🔥108👍2717💯3
Как я погружался в Go на курсе "Глубокий Go" Владимира Балуна

Это уже третий курс у Владимира, который я прохожу и о котором рассказываю вам (первый и второй отзыв). Я поступил на курс, потому что хотел разобраться с аллокатором, сборщиком мусора и в целом закрыть пробелы по устройству языка, на котором уже много лет пишу. И как думаете, получилось? 🙂

Во-первых, отмечу проработанную структуру курса: мы начали с самых основ и в целом computer science (я писал вот тут в начале курса), и с основ внутренностей языка Go. Например, разбирали работу строк, слайсов, механизм вызова функций, передачи аргументов, даже залезли в функциональное программирование, разобрали defer, панику и устройство структур. Больше всего мне запомнился урок про функции, потому что я обожаю погружаться именно вот в такие незаметные конструкции: как вызываются функции, как из них возвращаться, как процессор понимает что вызвать дальше, stack pointer, frame pointer, instruction pointer и всё такое.

Здесь же скажу про структуру занятий: они сами по себе тоже построены по принципу "пирамиды", когда сначала разбирается "а как вообще можно", "а какие проблемы у каждого подхода" и "как сделали разработчики го". Очень показательным является занятие про аллокаторы, когда мы сначала разобрали линейный, блочный и стековый алгоритм распределения памяти, затем познакомились с известным malloc, затем поверх него обсудили thread-cached malloc, и только потом разобрали чем примечателен аллокатор в самом Go, который как раз основан на разобранных концепциях.

Во-вторых, я вновь отмечу открытость к вопросам и разбору того, что непонятно. После каждого блока обязательно есть пауза, когда можно сформулировать и задать вопрос, если что-то было непонятно. Если не успеваешь сформулировать или осознать вопрос (я думаю медленно, например), то задашь в перерыве в середине занятия. Или в конце занятия. Или в начале следующего. Или вообще когда угодно, мы бывало возвращались к примерам из прошлых занятий.

И в-третьих, хочу рассказать про плотность информации: всё подаётся мега-подробно, почти на каждое утверждение по примеру с кодом, под разные конструкции языка, вроде defer, panic, interface, error и так далее, есть примеры corner кейсов и популярных ошибок, паттерны (и даже антипаттерны). Буквально каждая тема покрывается от основы до нескольких практических кейсов, у меня 50 страниц в тетрадке уже исписано 😁

А ещё мы даже Concurrency затронули 🙂 Не так глубоко, как на отдельном курсе, конечно, но базу по устройству планировщика, GMP модели, примитивам синхронизации обсудили.

В итоге уже в третий раз испытываю радость от пройденного курса у Владимира, и за последние сумасшедшие полгода я значительно вырос и закрыл огромное количество пробелов благодаря его курсам. И после каждого появляются связанные с этим коммиты: тут выравнивание структурки поправил, тут избавился от false-sharing, убрал лишнее выделение памяти, сделал структуры (или скорее данные) кеш-дружелюбными и так далее.

В прошлый раз меня спрашивали ссылку, поэтому не сочтите за рекламу, но сразу прикреплю её https://balun.courses/courses/deep_go.

Новых открытий вам, славные гошники 🫰
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍6🔥62🤔1💩1💘1
💭 Такими отзывами, уж простите, но нельзя не поделиться...

Кстати, для тех, кто интересовался нашими продуктами - сейчас у нас действует акция, когда можно приобрести два курса "Глубокий Go" + "Concurrency в Go" комплектом, при этом "Concurrency в Go" будет стоить на 50% дешевле, подробности по ссылке

И да, учиться у нас можно бесплатно — если проходить обучение за счет вашего работодателя, все подробная информация доступна по ссылке
🔥13👍5❤‍🔥2
⛰️ Походные выходные в Архызе
🔥135👍28🏆93
📚 Новое чтиво на этот месяц
🔥28👍19🤡73👎3🏆31
📹 Давно уже записал это видео для новичков, но все никак не хватало времени выложить...

В видео рассказываю свою точку зрения по тому, как бы я заново начал изучать программирование и где можно было срезать углы на этом не простом пути: https://youtu.be/SD0RdL9SRew
1🔥35👍6
This media is not supported in your browser
VIEW IN TELEGRAM
📺 Провели в субботу с ребятами самостоятельно митап по Go в Ростове-на-Дону!

У нас был первый опыт организации таких мероприятий в оффлайне, но судя по отзывам получилось вполне неплохо! Помимо ребят из Ростова, были люди из Москвы, Санкт-Петербурга, Краснодара, Новосибирска, Ставрополя, Казани и других городов… Всего нас было около 200 человек, а аудитория была абсолютно разная - как по стеку, так и по грейду (кстати, студенты тоже были).

В оффлайновых мероприятиях все же есть что-то особенное! Решили подумать теперь над тем, чтобы повторить такое, но уже например в Москве или Санкт-Петербурге

Ставь , если был(а) с нами митапе
🔥74385
🚀Git под капотом

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

На открытом уроке:
- научишься понимать сообщения об ошибках вместо слепого копирования решений со StackOverflow
- научишься находить потерянные изменения и эффективнее решать конфликты с помощью объектной модели Git
- ноймёшь, почему одни команды меняют историю, а другие нет - научишься выбирать правильный инструмент для конкретной задачи
- поймёшь, когда стоит использовать Git LFS и как правильно чистить репозиторий
- узнаешь, почему Git работает быстро даже с большими проектами

Регистрация по ссылке
🔥345👍3
📰 Сегодня в 13:30 на GolangConf буду рассказывать про пакет unsafe Go

В докладе расскажу о нюансах и тонкостях этого пакета. Поделюсь зачем нужен этот пакет в Go и когда он может быть реально полезен и как использовать его надежно и эффективно (конечно, не обойдется без черной магии из С++).

Кто будет на конференции, приглашаю всех на доклад)
1🔥45👍83🤔2
💭 На прошлых выходных ходил на митап от RND PHP рассказать про подготовку к System Design интервью

Доклад был для тех, кто готовится к собеседованию по System Design и кто хочет улучшить свои навыки в проектировании систем или для тех, кто недавно провалил собеседование по проектированию большой системы, либо посмотрел видео по System Design на YouTube и ничего не понял. Также был полезен тем, кто давно работает и кому тяжело демонстрировать свои знания и навыки в условиях ограниченного времени на собеседовании.

📌 Решил не оставлять эту информацию в рамках только выступлений на митапах, поэтому 27 июня в 19:00 проведу бесплатный открытый урок, где поделюсь тем, как не проваливать собеседование по System Design - регистрация по ссылке
1🔥22👍65🏆1
💭 С командой планируем в ближайшее время подумать над отдельным циклом видео на YouTube и отдельными продуктами для новичков в языке программирования Go

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

📌 Если вы все еще изучаете Go и хотите устроиться на первую работу, но еще это у вас так и не получилось сделать - заполните, пожалуйста, анонимный опрос на несколько вопросов: https://forms.yandex.ru/cloud/684328acd0468877a6629e60/ (ваши ответы очень сильно помогут нам)
🔥30👍6😁2