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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🎮 Игра на Go: от меню до победы

Если вы пишете на Go, но устали от серверного кода и CLI-интерфейсов — то мы нашли для вас видео, в котором с нуля реализован классический «Сапёр».

В основе проекта лежит библиотека Raylib с Go-обвязкой, которая обеспечивает простой API для работы с окнами, текстом, мышью и отрисовкой.

➡️ Смотреть видео

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👾5🤔1
✏️ Технические решения в команде

Недавно один из подписчиков спросил:
Как вы подходите к принятию технических решений в команде?


Технические решения — это не просто выбор между «правильно» и «неправильно». Это баланс между бизнес-целями, техническими ограничениями, ресурсами и человеческими факторами.

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

1️⃣ Сбор информации и формулирование проблемы

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

2️⃣ Вовлечение команды

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

3️⃣ Структурирование обсуждения

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

4️⃣ Принятие решения и достижение консенсуса

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

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

5️⃣ Анализ и ретроспектива

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

Открытость, структурированность и последующий анализ — вот основные принципы, которые помогают команде работать эффективно и с минимальными конфликтами.

💬 Какие методы принятия технических решений работают в вашей команде? Ждём ваши ответы в комментариях 👇

P.S. Напоминаем, вы можете спросить сообщество библиотеки Go разработчика и не только! Самые интересные вопросы обязательно опубликуем.

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2🥰1
👨‍💻 Сборка только с необходимым

В процессе разработки и деплоя Go-программ в продакшн-среду важно минимизировать зависимости и размер итогового бинарного файла.

Команда, которая компилирует программу с минимальным размером и включает все зависимости статически:
go build -ldflags="-s -w -extldflags '-static'"


-s: удаляет информацию о символах (символьные таблицы и отладочную информацию), что сокращает размер бинарника.

-w: исключает таблицу отладочных данных, еще больше уменьшая размер.

-extldflags '-static': компилирует все внешние зависимости в статически слинкованный бинарник, чтобы он не зависел от библиотек на целевой системе (особенно полезно в контейнерах).

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

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉21👍14
😴 Ошибки, выдающие новичка в программировании

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

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

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱152👍2🤔2
👨‍💻 Какой фреймворк выбрать для 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
👍243🤔3😢2🌚1
📰 Дайджест недели

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

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
👍4
👉 Топ-вакансий для 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
👍21
🧑‍💻 Гибрид 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
😁6👍4🔥2👏2
🤯 Почему на собеседованиях в топовые компании проваливаются даже опытные разработчики

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

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

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

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

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

👉 Успейте использовать промокод до 1 июня: https://clc.to/590e_g
🥱11😁4
🔒 Как защитить 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
👍4🥱31
✏️ Промпт для пет-проектов

Составили для вас промпт, который поможет определится с пет-проектом на основе трёх слов, которые первыми придут к вам в голову.

Промпт:
You are a seasoned Open-Source Developer, known for your creativity and ability to build impactful projects. Your goal is to generate a compelling pet project idea based on three randomly provided words. You will then outline the project's core functionality, potential technologies to use, and its potential impact on the open-source community.

Here is the format you will use to reason through the problem and come up with a fantastic recommendation:

---

## Random Words
$word_1, $word_2, $word_3

## Pet Project Idea
$project_idea_name

### Project Description
$project_description (A brief overview of the project and its purpose)

### Core Functionality
* $functionality_1
* $functionality_2
* $functionality_3
(List the key features and functionalities of the project)

### Potential Technologies
* $technology_1
* $technology_2
* $technology_3
(List potential programming languages, frameworks, libraries, and tools that could be used)

### Potential Impact
$impact_description (Explain how this project could benefit the open-source community or solve a specific problem)

---

Here is the challenge you are tasked with: Generate a pet project idea based on the following three words: [**Word 1, Word 2, Word 3**]


💬 Попробуйте сгенерировать пет-проект по промпту и поделитесь в комментариях, что подкинет вам нейросеть👇

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😁122🥱2