📰 Дайджест недели
Краткий взгляд на темы недели.
— 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 разработчика #свежак
Краткий взгляд на темы недели.
— 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-кодов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Go | тесты, код, задания
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Go | тесты, код, задания
SDET-инженер (Test Impact Analysis) — от 285 000 ₽, Удаленно (Москва)
Middle Backend разработчик (Python + Golang) — от 230 000 ₽, Офис (Москва)
Golang-разработчик (Middle) — от 300 000 ₽, Удаленно (Москва)
Tech Lead Golang — от 5 000 $, Удаленно
Разработчик GO — Удаленно (Москва)
Бустер — удалённо (не только Москва)
Please open Telegram to view this post
VIEW IN TELEGRAM
Собрали для вас мероприятия для нетворкинга, обмена опытом и профессионального роста.
Масштабная конференция по управлению знаниями в IT состоится 2 июня в Москве. Практики документирования, онбординга, менторинга и развития внутренних сообществ от специалистов топовых компаний.
4 июня в Москве состоится GolangConf 2025 — профессиональная конференция для Go-разработчиков и их руководителей.
26–27 июня в Санкт-Петербурге пройдет Saint TeamLead Conf — мероприятие для тимлидов, руководителей команд и технических менеджеров, стремящихся развивать лидерские навыки и обмениваться опытом управления командами.
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
Пример использования:
Возможности по генерации кода и поддержка разных СУБД делает Bob непростым соперником для GORM и sqlc.
📎 Репозиторий проекта
🐸 Библиотека Go-разработчика #буст
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.
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
Проблема большинства программистов: вы отлично пишете код, знаете фреймворки и можете разобраться в любом проекте. Но когда интервьюер просит найти кратчайший путь в графе или отсортировать массив за O(n log n) — ступор.
Чтобы не теряться на базовых вопросах, приходите на курс «Алгоритмы и структуры данных».
Тем более, что мы дарим на него промокод PROGLIBAI на 10 000 ₽ в честь запуска другого курса — «AI-агенты для DS-специалистов».
🧐 Что будет на курсе по алгоритмам:
— Изучение производительности алгоритмов и O-нотации
— Числовые алгоритмы: от алгоритма Эвклида до решета Эратосфена
— Работа с массивами: от линейного поиска до оптимизации операций вставки/удаления
— Бинарный поиск и его применение в реальных задачах
— Практические задачи на каждую тему + обратная связь от преподавателей
После курса вы перестанете бояться алгоритмических секций на собеседованиях и сможете претендовать на позиции в топовых компаниях.
👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
API — главный мост между сервисами, но и уязвимое место в безопасности. Ошибки здесь могут дорого стоить.
Что нужно для безопасного API:
1. Авторизация и аутентификация пользователей
Надежная проверка пользователя и контроль доступа — в основе защиты от несанкционированного использования API.
Современные методы, такие как OAuth 2.0 и JWT, позволяют точно идентифицировать клиентов и разграничивать их права, снижая риск компрометации.
2. Использовать HTTPS
HTTPS шифрует трафик между клиентом и сервером, предотвращая перехват данных и их изменение в процессе передачи.
Это базовые аспекты для минимальной безопасности вашего API. В статье подробно раскрыли остальные пункты, следуя которым разработка не будет убыточной из-за дыр в безопасности.
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
Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.
Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:
— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы
Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.
⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
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 используем библиотеку:
2️⃣ Генерация JWT
Пример генерации JWT токена:
3️⃣ Проверка JWT
Ниже готовый код для проверки токена:
JWT можно использовать для:
• Аутентификации — после успешного входа пользователя сервер генерирует JWT, который клиент использует для доступа к защищённым ресурсам.
• Управления сессиями — хранение информации о состоянии пользователя без необходимости поддерживать серверные сессии.
• SSO — использование единого токена для доступа к нескольким приложениям.
📎 Оригинальная статья
🐸 Библиотека Go-разработчика #буст
JSON Web Tokens (JWT) — это открытый стандарт (RFC 7519), позволяющий безопасно передавать информацию между сторонами в виде JSON-объекта.
JWT состоит из трёх частей:
1. Заголовок: содержит информацию о типе токена и алгоритме подписи (например, HMAC SHA256).
2. Payload: содержит данные, которые передаются. Это могут быть идентификаторы пользователя, роли, права доступа и т.д
3. Подпись: создаётся путём кодирования header и payload, а затем подписи их с использованием секрета или закрытого ключа.
Как использовать JWT в Go
Для работы с JWT в Go используем библиотеку:
go get github.com/golang-jwt/jwt/v4
Пример генерации 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)
}
Ниже готовый код для проверки токена:
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 — использование единого токена для доступа к нескольким приложениям.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔄 Revive v1.10.0: Улучшения и исправления
В новой версии линтера Revive представлено несколько значимых улучшений и исправлений.
🆕 Основные изменения
• Обновлена конфигурация для интеграции с golangci-lint v2.
• Правило
• Внесены изменения, направленные на удаление регулярных выражений из исходного кода.
• Исправлена ошибка, приводившая к ложным срабатываниям правила
📎 Полный changelog релиза
🐸 Библиотека Go-разработчика #свежак
В новой версии линтера Revive представлено несколько значимых улучшений и исправлений.
🆕 Основные изменения
• Обновлена конфигурация для интеграции с golangci-lint v2.
• Правило
var-naming
теперь проверяет каждое имя пакета только один раз.• Внесены изменения, направленные на удаление регулярных выражений из исходного кода.
• Исправлена ошибка, приводившая к ложным срабатываниям правила
get-return
для HTTP-обработчиков, что повышает точность анализа кода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
На днях мы анонсировали наш новый курс 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
proglib.academy
Курс|AI-агенты для DS-специалистов
На курсе ты разберёшься, как работают AI-агенты и как их применять в работе — от текстовых помощников до систем, помогающих принимать решения. Разберем архитектуру агентов, связку с внешними API, пайплайны действий и популярные библиотеки. Курс включает реальные…
Библиотека Go-разработчика | Golang pinned «👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные…»
👔 Роль крупных компаний в развитии IT-индустрии
В мире технологий существует устоявшееся мнение, что крупные корпорации — это непоколебимые лидеры инноваций и драйверы индустрии. Но давайте посмотрим трезво.
• Часто за красивыми презентациями и маркетингом скрывается консерватизм. Новые идеи не всегда приживаются, если они угрожают прибыльности или текущим бизнес-моделям.
• В больших организациях бюрократия и формальные процедуры порой загоняют проекты в рамки, где инновации превращаются в рутину и формальность.
• Монополизация рынков и контроль над ключевыми сегментами IT создают барьеры для молодых стартапов и независимых разработчиков.
В итоге мы получаем стабильность и масштаб, но платим за это снижением гибкости, замедлением темпов внедрения действительно новых технологий и ограничением свободы выбора.
💬 Кто видит в крупных компаниях источник прогресса, а кто — фактор стагнации? Ждём ваши мысли в комментариях 👇
🐸 Библиотека Go-разработчика #междусобойчик
В мире технологий существует устоявшееся мнение, что крупные корпорации — это непоколебимые лидеры инноваций и драйверы индустрии. Но давайте посмотрим трезво.
• Часто за красивыми презентациями и маркетингом скрывается консерватизм. Новые идеи не всегда приживаются, если они угрожают прибыльности или текущим бизнес-моделям.
• В больших организациях бюрократия и формальные процедуры порой загоняют проекты в рамки, где инновации превращаются в рутину и формальность.
• Монополизация рынков и контроль над ключевыми сегментами IT создают барьеры для молодых стартапов и независимых разработчиков.
В итоге мы получаем стабильность и масштаб, но платим за это снижением гибкости, замедлением темпов внедрения действительно новых технологий и ограничением свободы выбора.
💬 Кто видит в крупных компаниях источник прогресса, а кто — фактор стагнации? Ждём ваши мысли в комментариях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
Inline Type Info — это встроенная возможность в GoLand (и некоторых JetBrains IDE), которая показывает тип переменной или выражения прямо в коде, над строкой или рядом с ней
Пример:
data := fetchUserData() // 👈 IDE покажет: data → UserData
for _, item := range data.Items {
fmt.Println(item.Name) // 👈 item → UserItem
}
Рядом с data и item будет ненавязчиво показан их тип, даже если они выведены через «
:=
»Как включить Inline Type Info в GoLand
1. Открыть настройки и перейти в раздел
Editor → Inlay Hints → Go → Types
2. Проставить галочки
☑️ Show for local variables
☑️ Show for range variables
☑️ Show for function result types
В VS Code с расширением Go by Google также есть похожая настройка:
"gopls": { "ui.inlayHints": true }
в settings.json. Показываются типы, параметры, возвращаемые значения.Please open Telegram to view this post
VIEW IN TELEGRAM
📰 Cup O’ Go эпизод №112
Ведущие снова собрались, чтобы обсудить самые свежие новости и ключевые тренды из мира Go разработки.
В центре внимания:
• Обновлённый дефолт для GOMAXPROCS с учётом лимитов CPU, который улучшит управление ресурсами;
• Свежие подходы к работе с большими языковыми моделями (LLM) на Go, представленные Rory Malcolm;
• Релиз версии 9.0.0 клиента go-elasticsearch от Elastic с новыми возможностями;
• Инновационный Green Tea Garbage Collector, оптимизирующий сборку мусора;
• И другие новости, включая обзор с Google I/O и обновления популярных библиотек.
🎧 Слушать эпизод
🐸 Библиотека Go-разработчика #свежак
Ведущие снова собрались, чтобы обсудить самые свежие новости и ключевые тренды из мира Go разработки.
В центре внимания:
• Обновлённый дефолт для GOMAXPROCS с учётом лимитов CPU, который улучшит управление ресурсами;
• Свежие подходы к работе с большими языковыми моделями (LLM) на Go, представленные Rory Malcolm;
• Релиз версии 9.0.0 клиента go-elasticsearch от Elastic с новыми возможностями;
• Инновационный Green Tea Garbage Collector, оптимизирующий сборку мусора;
• И другие новости, включая обзор с Google I/O и обновления популярных библиотек.
🎧 Слушать эпизод
Please open Telegram to view this post
VIEW IN TELEGRAM
⏰ Последние 2 дня скидки на курс «AI-агенты для DS-специалистов»
Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов.
Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня.
🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib
💡Что разберем на курсе «AI-агенты для DS-специалистов»:
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP
Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».
👉 Успейте до 1 июня: https://clc.to/Cttu7A
Пока большинство дата-сайентистов строят модели и делают аналитику, рынок уже требует специалистов, которые создают автономные системы на базе ИИ-агентов.
Для этого мы подготовили специальный курс и собрали кучу дополнительного контента, который поможет погрузиться в тему еще глубже. Но чтобы получить все плюшки, успевайте до 1 июня.
🎁 Что вы получите при оплате курса до 1 июня:
— Промокод PROGLIBAIна 10 000 ₽ на курс, чтобы изучать AI-агентов еще выгоднее
— Эксклюзивный лонгрид по API и ML от Proglib
💡Что разберем на курсе «AI-агенты для DS-специалистов»:
— Реализацию памяти в цепочках langchain
— Полный пайплайн RAG-системы с оценкой качества
— Основы мультиагентных систем (MAS)
— Протокол MCP и фреймворк FastMCP
Промокод также действует на курсы «Математика для Data Science» и «Алгоритмы и структуры данных».
👉 Успейте до 1 июня: https://clc.to/Cttu7A