Библиотека Go (Golang) разработчика
2.58K subscribers
263 photos
95 videos
29 files
334 links
Полезные материалы по всему, что может быть полезно Golang разработчику. По всем вопросам @evgenycarter
Download Telegram
Stream: 10-недельная онбординг-программа для бэкенд-инженеров на Go

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

Stream — это API для создания чатов, живого видео и лент активности. Мы обеспечиваем работу тысяч приложений и охватываем более миллиарда конечных пользователей. Такие приложения, как Strava, Nextdoor, IBM, Adobe и Patreon, полагаются на наши технологии.

По мере расширения команды стало очевидно, что отличная программа онбординга крайне важна. Мне всегда казалось немного странным, что у большинства команд по продажам процесс адаптации выстроен отлично, а у инженерных команд - часто нет.

Эта 10-недельная программа онбординга по Go охватывает несколько тем:

- Основы Go и производительность
- Базы данных, масштабирование и Redis. Распространённые шаблоны масштабируемости
- Лучшие практики тестирования
- Ревью, метрики, обработка ошибок и полный жизненный цикл кода
- Raft и WebRTC

Во время этого онбординга мы работаем в группе и берём реальный проект - лучший способ учиться это сочетать теорию с практикой. Добро пожаловать, начнём!

👉 Читать

👉 @golang_lib
1👍1
Media is too big
VIEW IN TELEGRAM
Doom на Go

Это минималистичный, независимый от платформ порт легендарного движка DOOM на Go, транслированный из кодовой базы doomgeneric.

Никакого CGo. Никаких зависимостей от платформы.

Оригинальный код на C был конвертирован в Go с помощью modernc.org/ccgo/v4 авторства cznic (репозиторий doomgeneric).
После этого он был вручную переработан: удалено множество операций с указателями, код стал более «в духе Go», но при этом сохранил совместимость с оригинальным DOOM и его архитектурой.

https://github.com/AndreRenaud/gore

👉 @golang_lib
👍1😁1
Как упорядочить код на Go и сделать его масштабируемым?

➡️ На открытом уроке 20 августа в 20:00 МСК мы разберём, что такое пакеты в Go, как правильно организовывать структуру папок и работать с модулями.

❗️Вы получите знания о том, как избежать частых ошибок и эффективно использовать Go в реальных проектах.


🔴 Присоединяйтесь к открытому вебинару «Golang Developer. Basic»: https://vk.cc/cOAU6J

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1
Швейцария в картах Go: путешествие по Swiss Tables

Golang продолжает развиваться. Изначальные проектные решения ставятся под сомнения, а новые вызовы заставляют язык меняться: дженерики, итераторы, новая имплементация мап. Однако, даже нововведения приходят к нам не такими, как в других языках. Вспомните обсуждения сразу после релиза тех же дженериков. На Go, как мне кажется, в большинстве своём пишут люди, пришедшие из прочих языков, у кого Golang не первый ЯП. Они привыкли к другому подходу работы с абстракциями. И им порой не хватает того, что предлагает язык Гофера. Swiss Tables — попытка быть в тренде.

С вами Кирилл Кузин — ведущий подкастов про IT на канале gIT, где вместе с коллегами по цеху рассматриваем индустрию под разными углами, открывая новые горизонты для вас и самих себя. А работаю ведущим разработчиком в Ви.Tech — IT-дочке ВсеИнструменты.ру. Там мы с командой пишем внутренние системы на Go под задачи бизнеса и по ходу дела разбираемся, как наши инструменты устроены и как реально влияют на процесс разработки.

В этой статье речь пойдёт о новых мапах в версии Go 1.24, реализованных по принципу Swiss Tables — швейцарских таблиц. Попробуем найти ответы на вопросы о том, почему мапы изменились, что лежит в основе новой реализации и как к ней пришли.

👉 Читать

👉 @golang_lib
👍1