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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
😴 Ошибки, выдающие новичка в программировании

Зачем наступать на грабли, если можно обойти их? В карточках типичные ошибки, которые совершают начинающие программисты.

➡️ Прочитайте статью и сделайте всё наоборот

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Какой фреймворк выбрать для Go

Go славится своей простотой, скоростью и лаконичностью. Многие разработчики считают, что «чистый net/http — это и есть фреймворк». Но всё больше проектов строятся на готовых решениях: Gin, Fiber, Echo.

Так стоит ли вообще использовать фреймворк в Go — или лучше идти по пути минимализма?

🔧 Когда стоит выбрать фреймворк:

• Нужно быстро MVP. Меньше кода — больше результата. Тогда Gin или Fiber экономят время.

• Команда новичков в Go. Фреймворки помогают с организацией кода, предлагают готовые паттерны.

• Проект типовой: REST API, простая маршрутизация, CRUD. Нет смысла писать всё руками.

• Не хочется собирать инфраструктуру самому. Логгеры, middleware, CORS — всё уже есть.

⚙️ Когда лучше писать на «голом» net/http:

• Долгосрочный проект. Чем меньше зависимостей — тем проще поддерживать.

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

• Следуете философии Go. Чем проще и очевиднее — тем лучше.

• Хочется писать идиоматично. Стандартная библиотека Go — это уже почти идеал.

💬 Что думаете вы? Go хорош и без обёрток или фреймворки наше всё? Делитесь рассуждениями в комментариях 👇

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
📰 Дайджест недели

Краткий взгляд на темы недели.

Google рассказали о ключевых обновлениях Go

Среди главных обновлений — удобные итераторы для упрощения циклов, расширенная поддержка WebAssembly и встроенная постквантовая криптография для повышения безопасности.

Теперь можно общаться с репозиториями через AI

GitHub представил собственный сервер Model Context Protocol (MCP), интегрированный с GitHub Copilot.

Это открывает новые возможности для автоматизации рабочих процессов, анализа данных и создания AI-приложений, взаимодействующих с репозиториями.

Новый выпуск Cup o' Go

Команда Go рассказала о выявленных уязвимостях в криптобиблиотеке

Обновления:

stoolap 0.0.6
Устранена серьёзная ошибка потери данных в режиме хранения в памяти.

tint v1.1.0
Добавлена функция, позволяющая выводить цветные атрибуты без использования ANSI-кодов.

🐸Библиотека Go разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👉 Топ-вакансий для Go-разработчиков за неделю

SDET-инженер (Test Impact Analysis) — от 285 000 ₽, Удаленно (Москва)

Middle Backend разработчик (Python + Golang) — от 230 000 ₽, Офис (Москва)

Golang-разработчик (Middle) — от 300 000 ₽, Удаленно (Москва)

Tech Lead Golang — от 5 000 $, Удаленно

Разработчик GO — Удаленно (Москва)

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

➡️ Еще больше топовых вакансий — в нашем канале Go jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
Июнь без багов: лучшие события месяца

Собрали для вас мероприятия для нетворкинга, обмена опытом и профессионального роста.

KnowledgeConf X 2025

Масштабная конференция по управлению знаниями в IT состоится 2 июня в Москве. Практики документирования, онбординга, менторинга и развития внутренних сообществ от специалистов топовых компаний.

GolangConf 2025

4 июня в Москве состоится GolangConf 2025 — профессиональная конференция для Go-разработчиков и их руководителей.

Saint TeamLead Conf 2025

26–27 июня в Санкт-Петербурге пройдет Saint TeamLead Conf — мероприятие для тимлидов, руководителей команд и технических менеджеров, стремящихся развивать лидерские навыки и обмениваться опытом управления командами.

🐸Библиотека Go-разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍💻 Гибрид SQL-конструктора и генератора кода

Bob — это набор инструментов и пакетов для языка Go, предназначенный для работы с SQL-базами данных. Он сочетает в себе возможности построения SQL-запросов, генерации кода и ORM-функциональности.

Что его выделяет, по сравнению с другими

— Bob способен генерировать Go-код для SQL-запросов, включая SELECT, INSERT, UPDATE и DELETE

— Инструмент поддерживает PostgreSQL, MySQL/MariaDB и SQLite

— Bob можно постепенно внедрять в существующие проекты, начиная с использования raw SQL-запросов и постепенно переходя к полностью типизированным моделям и фабрикам.

— Bob придерживается принципов корректности, удобства без «магии» и совместимости с другими инструментами и стандартной библиотекой Go

Пример использования:
// Пример генерации SELECT-запроса
query := bob.Select("id", "name").From("users").Where("active = ?", true)
rows, err := db.Query(query.String(), query.Args()...)


Возможности по генерации кода и поддержка разных СУБД делает Bob непростым соперником для GORM и sqlc.

📎 Репозиторий проекта

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯 Почему на собеседованиях в топовые компании проваливаются даже опытные разработчики

Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.

Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».

Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».

🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей

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

👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
🔒 Как защитить API: 6 ключевых аспектов безопасности

API — главный мост между сервисами, но и уязвимое место в безопасности. Ошибки здесь могут дорого стоить.

Что нужно для безопасного API:

1. Авторизация и аутентификация пользователей

Надежная проверка пользователя и контроль доступа — в основе защиты от несанкционированного использования API.

Современные методы, такие как OAuth 2.0 и JWT, позволяют точно идентифицировать клиентов и разграничивать их права, снижая риск компрометации.

2. Использовать HTTPS

HTTPS шифрует трафик между клиентом и сервером, предотвращая перехват данных и их изменение в процессе передачи.

Это базовые аспекты для минимальной безопасности вашего API. В статье подробно раскрыли остальные пункты, следуя которым разработка не будет убыточной из-за дыр в безопасности.

➡️ Остальные способы ищите в статье

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Вся правда об увольнениях в IT в 2025-м

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

Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:

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

Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.

⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
На чьей стороне вы

🔥 — snake_case
❤️ — CamelCase

🐸Библиотека Go-разработчика #развлекалово
Please open Telegram to view this post
VIEW IN TELEGRAM
🔒 Обмен данными безопасно

JSON Web Tokens (JWT) — это открытый стандарт (RFC 7519), позволяющий безопасно передавать информацию между сторонами в виде JSON-объекта.

JWT состоит из трёх частей:

1. Заголовок: содержит информацию о типе токена и алгоритме подписи (например, HMAC SHA256).

2. Payload: содержит данные, которые передаются. Это могут быть идентификаторы пользователя, роли, права доступа и т.д

3. Подпись: создаётся путём кодирования header и payload, а затем подписи их с использованием секрета или закрытого ключа.

Как использовать JWT в Go

1️⃣ Установка необходимых библиотек

Для работы с JWT в Go используем библиотеку:
go get github.com/golang-jwt/jwt/v4


2️⃣ Генерация JWT

Пример генерации JWT токена:
package main

import (
"fmt"
"time"

"github.com/golang-jwt/jwt/v4"
)

var mySigningKey = []byte("your-256-bit-secret")

func GenerateJWT(userID string) (string, error) {
claims := &jwt.RegisteredClaims{
Issuer: "your-app",
Subject: userID,
ExpiresAt: jwt.NewNumericDate(time.Now().Add(72 * time.Hour)),
}

token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
return token.SignedString(mySigningKey)
}

func main() {
token, err := GenerateJWT("12345")
if err != nil {
fmt.Println("Error generating token:", err)
return
}
fmt.Println("Generated JWT:", token)
}


3️⃣ Проверка JWT

Ниже готовый код для проверки токена:
func VerifyJWT(tokenString string) (*jwt.RegisteredClaims, error) {
token, err := jwt.ParseWithClaims(tokenString, &jwt.RegisteredClaims{}, func(token *jwt.Token) (interface{}, error) {
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, fmt.Errorf("unexpected signing method: %v", token.Header["alg"])
}
return mySigningKey, nil
})

if err != nil {
return nil, err
}

if claims, ok := token.Claims.(*jwt.RegisteredClaims); ok && token.Valid {
return claims, nil
}
return nil, fmt.Errorf("invalid token")
}


JWT можно использовать для:

• Аутентификации — после успешного входа пользователя сервер генерирует JWT, который клиент использует для доступа к защищённым ресурсам.

• Управления сессиями — хранение информации о состоянии пользователя без необходимости поддерживать серверные сессии.

• SSO — использование единого токена для доступа к нескольким приложениям.

📎 Оригинальная статья

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Revive v1.10.0: Улучшения и исправления

В новой версии линтера Revive представлено несколько значимых улучшений и исправлений.

🆕 Основные изменения

• Обновлена конфигурация для интеграции с golangci-lint v2.

• Правило var-naming теперь проверяет каждое имя пакета только один раз.

• Внесены изменения, направленные на удаление регулярных выражений из исходного кода.

• Исправлена ошибка, приводившая к ложным срабатываниям правила get-return для HTTP-обработчиков, что повышает точность анализа кода

📎 Полный changelog релиза

🐸Библиотека Go-разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 AI-агенты — настоящее, о котором все говорят

На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉

Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи!

На обучении вы соберете полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.

🎓 В рамках курса вы научитесь:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой

Разберете реальные кейсы и научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.

Старт 5 июля, а при оплате до 1 июня действует дополнительная скидка и бонус — эксклюзивный лонгрид по API и ML от Proglib.

Начните осваивать тему уже сейчас 👉 https://clc.to/Cttu7A
Библиотека Go-разработчика | Golang pinned «👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные…»
👔 Роль крупных компаний в развитии IT-индустрии

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

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

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

• Монополизация рынков и контроль над ключевыми сегментами IT создают барьеры для молодых стартапов и независимых разработчиков.

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

💬 Кто видит в крупных компаниях источник прогресса, а кто — фактор стагнации? Ждём ваши мысли в комментариях 👇

🐸Библиотека Go-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM