Golang Books
16.6K subscribers
277 photos
3 videos
334 files
265 links
Библиотека Golang разработчика

По всем вопросам- @haarrp

@Golang_google - Golang

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golangtests golang tests

@itchannels_telegram - 🔥лучшие ит-каналы

№ 5032829002
Download Telegram
Forwarded from Golang
👣 concurrency.rocks — интерактивный учебник с паттернами конкурентности Go

Внутри:
- Минималистичный симулятор горутин и каналов прямо в браузере
- Работает через Go WebAssembly — никакого сервера не требуется
- Наглядно объяснены select, fan-in/fan-out, worker pool, таймауты и про
- Код можно редактировать на лету

Сохрани в закладки и тренируй мышление «конкурентного» Go-разработчика:

https://concurrency.rocks

#golang

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥235👍5
💣 Вечные споры о структуре Go-проектов: где правда?

В Go-сообществе регулярно всплывает один и тот же вопрос: «Как правильно организовать репозиторий?» Старые блоги предлагают сложные структуры, а официальный гайд от Go team многим кажется слишком абстрактным.

Автор этой статьи предлагает радикально простой подход: не усложняйте, пока в этом нет реальной необходимости. Он советует начать с минимальной структуры, расширять её по мере роста проекта и не бояться переделывать.

Большинству проектов попросту не нужны ни internal/, ни pkg/, ни даже cmd/, особенно если вы пишете небольшой сервис или утилиту.

В Go-сообществе ценится простота, и добавление лишних слоев в структуру проекта противоречит этой философии.

🔗https://laurentsv.com/blog/2024/10/19/no-nonsense-go-package-layout.html

@golang_google
12👍9🔥5
🖥 Теперь писать сложные промты самому не обязательно — OpenAI выпустили генератор, который превращает даже простой запрос в подробную инструкцию для ИИ.

Принцип простой: описываете, что хотите получить, нажимаете Optimize — GPT-5 анализирует запрос и выдаёт готовый детализированный промт. Работает бесплатно.

Инструмент может упростить работу с любыми нейросетями, особенно если у вас нет опыта в составлении промтов.

Готовый вы можете сразу попробовать в @Chatgpturbobot
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4😁3🤬1
Яндекс создаёт продукты и сервисы для миллионов пользователей. Нейросетевой поиск, умные устройства, машинный перевод — задачи, где нет готовых решений.

Поэтому нам нужны сильные бэкенд-разработчики! Если у вас от 5 лет опыта на C++, Python, Java или Go — участвуйте в Мультитреке.

Как это работает
• Подаёте заявку до 18 августа
• Проходите технические секции 23 и 24 августа
• Получаете офер 24 августа

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

Узнайте подробности и оставьте заявку.
😁54🔥2🥰2
🚀 Вышел Go 1.25 — полгода работы Google и сообщества.

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

🔹 Главные новшества:
- Экспериментальный GC greenteagc — до 10–40% меньше накладных расходов при создании и сканировании мелких объектов.
- Новые экспериментальные пакеты:
- encoding/json/v2 — переработанная, высокопроизводительная реализация encoding/json.
- encoding/json/jsontext — низкоуровневая обработка синтаксиса JSON.
- Новый пакет testing/synctest для тестирования синхронизации потоков.
- В go build по умолчанию включена опция -asan для проверки утечек памяти.
- В go vet добавлены анализаторы waitgroup и hostport для поиска ошибок в sync.WaitGroup.Add и форматировании адресов.
- GOMAXPROCS теперь учитывает ограничения CPU в контейнерах.
- Компилятор и линковщик научились генерировать отладочную информацию в формате DWARF5 (компактнее и эффективнее).

- Release notes: https://go.dev/doc/go1.25
- Скачать: https://go.dev/dl/#go1.25.0
🔥117👍5😁1
Forwarded from Golang
📘 "Go 101" популярная серия бесплатных книг обновлена под новую версию Golang 1.25 — сразу в четырёх разделах:

🚀 Go Optimizations 101: https://go101.org/optimizations/101.html
💡 Go Details & Tips 101: https://go101.org/details-and-tips/101.html
🔧 Go Generics 101: https://go101.org/generics/101.html
📖 Go 101: https://go101.org/article/101.html

@golang_google

#golang #freebook #education #book #go
11👍8🔥3🥰1
Как упорядочить код на Go и сделать его масштабируемым? 

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

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

🔴 Присоединяйтесь к открытому вебинару «Golang Developer. Basic»: https://tglink.io/c8810226e6d9?erid=2W5zFHykW48

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
2
Forwarded from Golang
💥 Необычное поведение структур

В недавнем блоге Мэтта Холла поднята важная деталь, о которой некоторые забывают.

Автор показывает, что при встраивании (`embedding`) структур Go может выбрать неочевидное поле, даже если кажется, что это вызовет ошибку.

Пример:


type FooService struct { URL string }
type BarConnectionOptions struct { URL string }
type BarService struct { BarConnectionOptions }
type Options struct {
FooService
BarService
}

opts := Options{
FooService: FooService{URL: "abc.com"},
BarService: BarService{
BarConnectionOptions: BarConnectionOptions{URL: "xyz.com"},
},
}
fmt.Println(opts.URL)


Вы думаете, тут компиляция не пройдёт из-за неоднозначности?

Но, она завершится успешна — и начпечатает abc.com.

Go выбирает наименее вложенное поле URL, в данном случае FooService.URL.

Урок: будьте осторожны с struct embedding! Переиспользование полей может скрывать баги, особенно когда поля именованы одинаково, а уровни вложенности различны.

📌 Пост

@golang_google

#golang #go
👍9😁43
📚 Кейс: как ВКонтакте переобучила часть команды на Go

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

🔹 Технические вызовы

Перепроектирование архитектуры с учётом PaaS-платформы.

Интеграции с внутренними сервисами.

🔹 Программа переобучения для внутренних сотрудников

140+ инженеров из компании прошли интерактивный курс по переходу на Go

Синтаксис Go изучали самостоятельно — курс сразу начинался с архитектурных и инфраструктурных задач

Практика: проектирование каркаса микросервиса в условиях, максимально приближенных к реальным задачам компании

💡 Вывод: кейс ВКонтакте показывает, как знания о продукте сохраняются внутри компании, почему эффективнее инвестировать в собственников сотрудников, а не распыляться в найме.

#golang #microservices @golang_books
🔥101👍1😁1🤬1