Библиотека Go-разработчика | Golang
23.3K subscribers
2.06K photos
41 videos
87 files
4.43K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🧐 Зоопарк моделей в ML: с чего начать?

Открываешь статью по машинному обучению — и в тебя летят слова: трансформеры, бустинги, SVM, регрессии.

Кажется, придётся учить всё это, иначе в ML не пустят.

Хорошая новость: 90% задач можно закрыть 2–3 классическими методами. Разберёшь их — уже сможешь собирать работающие проекты. А хайповые названия подождут.

Важно: не распыляйся на всё подряд. Начни с базового — это фундамент, на котором держится остальное.

👉 Успей попасть на курс «ML для старта в Data Science»
4
📰 Go дайджест Go разработчикам

Собрали для вас материалы прошедшей недели.

Обновления Go 1.24 и 1.23

В обоих минорных обновлениях закрыта уязвимость в database/sql, из-за которой Rows.Scan мог возвращать некорректные результаты. Исправлен баг в os/exec LookPath при обработке пустой строки, «.» и «..» в PATH.

Интерфейсы позволяют составлять поведение, не наследуя

Размышление на тему отличия Go от других языков программирования. В Go используется композиция интерфейсов — вместо массивных иерархий типов. Интерфейсы легко встраиваются друг в друга, позволяя гибко комбинировать функциональность.

Свежий Cup o’ Go

В новом эпизоде подкаста ведущие обсуждают важные обновления вокруг Go: выпуски Go 1.24.6 и 1.23.12, Microsoft-версию Go Telemetry и обнаружение Supply Chain‑атаки через Go-модуль в GitLab.

Go 1.25 rc3

🐸Библиотека Go-разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Яндекс создаёт продукты и сервисы для миллионов пользователей. Нейросетевой поиск, умные устройства, машинный перевод — задачи, где нет готовых решений.

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

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

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

Узнайте подробности и оставьте заявку.
🥱6👾21
😀 Топ-вакансий для Go-разработчиков за неделю

Golang-разработчик — 250 000 — 400 000 ₽, удалённо (Москва).

Golang Developer — Офис (Москва).

Golang-разработчик — 270 000 — 485 000 ₽, удалённо (Москва).

Golang Developer — от 250 000 до 600 000 ₽, удалённо (Владивосток).

Бустер — удалённо (не только Москва)

➡️ Еще больше топовых вакансий — в нашем канале Go jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉32
🛠 Как реализовать паттерн Singleflight

Паттерн Singleflight позволяет предотвратить выполнение одинаковых операций несколькими горутинами одновременно.

Это полезно, когда несколько горутин запрашивают одни и те же данные или выполняют одинаковые дорогостоящие операции.

В Go существует встроенная реализация этого паттерна в пакете golang.org/x/sync/singleflight

Пример реализации:

Используем singleflight.Group для предотвращения дублирующихся запросов:
package main

import (
"fmt"
"log"
"time"
"golang.org/x/sync/singleflight"
)

var g singleflight.Group

// Дорогая операция
func expensiveOperation(key string) (interface{}, error) {
fmt.Println("Выполняем операцию для:", key)
time.Sleep(2 * time.Second)
return fmt.Sprintf("Результат для %s", key), nil
}

func main() {
key := "operation1"

// Выполнение операции с использованием Singleflight
result, err, _ := g.Do(key, func() (interface{}, error) {
return expensiveOperation(key)
})
if err != nil {
log.Fatal(err)
}

fmt.Println(result)

// Запуск нескольких горутин с одинаковым ключом
for i := 0; i < 3; i++ {
go func() {
res, err, _ := g.Do(key, func() (interface{}, error) {
return expensiveOperation(key)
})
if err != nil {
log.Fatal(err)
}
fmt.Println(res)
}()
}

// Ожидаем завершения горутин
time.Sleep(3 * time.Second)
}


singleflight.Group гарантирует, что для каждого ключа будет выполнена только одна операция, даже если несколько горутин одновременно попытаются выполнить одинаковую операцию.

Остальные горутины просто ждут завершения работы первой и получают тот же результат.

🐸Библиотека Go-разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
104👍1
Офлайн-митап Peer To Beer x Точка Банк: приходите слушать доклады и делиться своими историями

🍉 15 августа в Москве пройдёт митап для Python и Go-разработчиков. В программе доклады, открытый микрофон и нетворкинг-активности, которые организаторы подготовили вместе с Точка Банк — так что знакомства будут нескучными и позволят не только весело провести вечер, но и получше узнать друг друга.

🐤 Доклады
Юрий Маркин, Х5. Тернистый путь из Python в Golang
Поделюсь личным опытом работы с Golang, разбирая как его сильные стороны, так и аспекты, которые можно улучшить. Обсудим минимализм в дизайне, особенности defer, работу с горутинами и многое другое, с акцентом на баланс между плюсами и минусами.

Сурен Хоренян, ВК Реклама. А правда, что Golang быстрее Python?
Расскажу свой опыт работы с Go, и почему с высоты многолетнего опыта на Python мне выглядит странным большое внимание к Go в мире веб-разработки.

🐥 Открытый микрофон
Рассказывайте любую историю из любой сферы за 3 минуты: весёлую, странную, полезную. Приз достаётся тому, кому громче аплодируют.

‼️ Нетворкинг и тематические настолки
Будут знакомства, но нестандартные. Возможно, придётся жестами показывать прокси-сервер.

🥳Регистрация
После регистрации анкета пройдёт модерацию — собирают специалистов со схожим опытом, чтобы на нетворкинге всем было интересно.

📅 Когда: 15 августа, пятница. Старт регистрации в 19:00
📍Место: спот в районе станции метро Чистые пруды, детали отправят после подтверждения регистрации

Приходите, чтобы август запомнился не только арбузами и песнями Стрыкало.
Регистрируйтесь в боте @peertobeer_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
2
😊 Совет начинающим

Привет, go-сообщество. С чего бы вы начали свой путь, если бы только начали изучать этот язык с нуля?

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

Делитесь своими советами в комментариях 👇


P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму.

🐸Библиотека Go-разработчика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Свежий релиз GoLand

GoLand 2025.2 от JetBrains уже доступен, и в нем есть несколько действительно крутых обновлений.

Теперь GoLand помогает избежать ошибок с nil на ранних стадиях. Он анализирует, как значения nil передаются через функции, и предупреждает, если есть шанс на ошибку.

Экран приветствия теперь не блокирует работу — он открывается как вкладка, так что можно сразу же использовать терминал, Docker или HTTP-клиент.

Junie стал еще умнее и быстрее. Он теперь поддерживает MCP, что открывает новые возможности для подключения к внешним источникам данных и API.

Поддержка golangci-lint версии 2 была улучшена, так что теперь анализ кода проходит быстрее и точнее.

➡️ Подробнее про обновление

🐸Библиотека Go-разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰9🥱32🤔1
⚡️ Релиз 1.25 уже доступен

Язык не получил радикальных изменений, но рантайм и инструменты стали заметно умнее.

Go теперь сам подстраивает количество потоков под лимиты CPU из cgroups. Если ограничения меняются на лету — рантайм реагирует без перезапуска.

Новый сборщик мусора greenteagc снижает паузы GC на 10–40%, особенно для мелких объектов. Включается вручную через GOEXPERIMENT=greenteagc.

Теперь по умолчанию выполняется проверка утечек памяти в go build -asan . При необходимости — можно отключить при помощи ASAN_OPTIONS=detect_leaks=0.

➡️ Блог разработчиков

🐸Библиотека Go-разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍9🤩2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Команда Ozon Tech готовит мощнейший трек по бэкенду в рамках своей конференции E-CODE 💙

И это только одна из причин, почему стоит быть там 13-14 сентября. А ещё: качественный нетворк, 1х1 с топовыми IT-экспертами и HR, эксклюзивный мерч и интерактивы, вечеринки с участием НТР, Заточки, ILWT и Нейромонаха Феофана.

Успейте зарегистрироваться. Это обязательно
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👾5😁21
🔍 Что компилятор думает о вашем коде

Иногда полезно заглянуть за кулисы и увидеть, что Go на самом деле делает с вашим кодом.

Заглянуть за кулисы поможет команда:
go tool compile -S main.go


Можно увидеть, создаёт ли компилятор лишние аллокации, оптимизирует ли он цикл, или как он разворачивает inline-функции.

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

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

🐸Библиотека Go-разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍191
🔥 Успей поднять квалификацию по выгодной цене!

Только до 17 августа у вас есть последняя возможность купить наши курсы по старым ценам.

🔹 Математика для Data Science:

— Базовый: (сейчас) 26 399₽(будет) 33 900₽
— Ультра: 35 199₽44 900₽
— VIP: 59 829₽75 900₽ (выгода больше 16 000₽!)

🔹 Программирование на Python: 24 990₽32 900₽
🔹 Алгоритмы и структуры данных: 31 669₽39 900₽
🔹 Архитектуры и шаблоны проектирования: 24 890₽32 900₽
🔹 AI-агенты для DS специалистов: 54 000₽59 000₽
🔹 Основы IT для непрограммистов: 14 994₽19 900₽
🔹 Базовые модели ML: 6 990₽9 900₽

Важно: Курсы из линейки Frontend Basic полностью снимаются с продажи. 17 августа — буквально последний день, когда их можно будет приобрести.

Успей купить до повышения — осталось 4 дня!

👉 Зафиксировать цену и начать учиться
😢2
Чеклист для проведения собесов

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

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

Подготовка к собеседованию:

• Определите требования к кандидату. Составьте список необходимых квалификаций, навыков и опыта, а также желаемых личных качеств.

• Изучите резюме. Обратите внимание на ключевые моменты: опыт работы, образование, профессиональные достижения.

• Подготовьте вопросы. Разработайте вопросы, которые помогут вам выявить компетенции кандидата, а также его мотивацию и ценности.

• Определите структуру собеседования. Продумайте, как будете проводить интервью: общая беседа, тестирование, обсуждение кейсов или примеров работы.

Проведение собеседования:

• Создайте комфортную атмосферу. Начните с непринужденной беседы, чтобы кандидат чувствовал себя расслабленно.

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

• Задавайте открытые вопросы. Не ограничивайтесь вопросами, на которые можно ответить «да» или «нет». Спрашивайте о примерах из реальной жизни, ситуациях, где кандидат применял свои навыки.

• Оцените навыки и знания. Используйте тестовые задания или задавайте вопросы, проверяющие профессиональные компетенции.

• Оцените поведение кандидата. Присмотритесь, как он реагирует на стрессовые вопросы, как проявляет инициативу и решает нестандартные задачи.

Оценка кандидата:


• Проанализируйте реакцию на трудные вопросы. Посмотрите, насколько кандидат уверен в себе, насколько он готов к нестандартным ситуациям.

• Обратите внимание на коммуникативные навыки. Как кандидат излагает свои мысли? Легко ли с ним общаться?

• Оцените культурную совместимость. Спросите кандидата о его предпочтениях в рабочем процессе, подходах к работе в команде, отношению к критике.

• Проверьте мотивацию кандидата. Попросите рассказать, почему он заинтересован в вашей компании и вакансии, что его привлекает в вашей отрасли.

После собеседования:

• Запишите впечатления. Сделайте заметки сразу после собеседования, пока впечатления свежи.

• Оцените по нескольким критериям. Создайте шкалу для оценки кандидата по ключевым компетенциям: профессиональные навыки, личные качества, мотивация.

• Проверьте рекомендации. Свяжитесь с предыдущими работодателями или коллегами для получения дополнительной информации о кандидате.

• Обсудите результаты с командой. Сравните мнения коллег, обсудите сильные и слабые стороны кандидата.

Заключение собеседования:


• Дайте кандидату информацию о следующих шагах. Сообщите, когда можно ожидать ответа и какие будут следующие этапы.

• Предоставьте обратную связь. Если собеседование прошло успешно, скажите об этом кандидату. В случае отказа, постарайтесь дать конструктивную обратную связь.

Какие пункты из чеклиста для вас самые важные? Или у вас есть свои советы по проведению собеседований? Поделитесь в комментариях👇

🐸Библиотека Go-разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍3👾3
🧑‍💻 Проблемы могут решаться дольше при работе из дома

Работа удалённо может быть удобной, но когда код не работает как ожидается, а решение не очевидно, возникают сложности. Особенно без живого общения с коллегами.

Недавно один из подписчиков задал вопрос:
Как понять, что не так с кодом, когда работаешь удалённо, и как эффективно искать решение?


Мы собрали несколько способов, которые помогут разобраться в коде без помощи коллег:

— Метод «уточки». Когда что-то не получается, объясните код самому себе вслух. Это помогает выявить ошибки или упущенные детали.

— Задавайте конкретные вопросы. Чётко формулируйте, какая часть кода вызывает трудности. Лучше задать несколько простых вопросов, чем оставаться в неведении.

— Документируйте решения и процессы. Записи и схемы помогают вам и коллегам вернуться к коду через время.

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

Как вы решаете трудности с кодом, работая удалённо? Поделитесь в комментариях.

P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму.

🐸Библиотека Go-разработчика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52💯1
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢