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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
📕 Новинка компьютерной литературы про Go

Книга «Go: идиомы и паттерны проектирования» Джона Боднера — практическое руководство для разработчиков, желающих писать чистый и идиоматический код на Go.

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

Основные темы книги:

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

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

Обработка ошибок и конкурентность: рекомендации по эффективному управлению ошибками и реализации конкурентных процессов с использованием горутин и каналов.

➡️ Рекомендуем к прочтению

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15😢3
📄 Go-документация в Neovim

godoc.nvim позволяет искать и просматривать документацию стандартных и локальных Go-пакетов прямо в редакторе, без необходимости переключаться в браузер или терминал.

Особенности godoc

• Быстрый поиск по стандартной библиотеке Go и вашему коду.

• Синтаксическая подсветка документации благодаря Tree-sitter.

• Интеграция с Telescope и Snacks для удобного выбора пакетов.

• Минимальные зависимости — нужен только go doc и go list.

➡️ Попробовать проект

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3
⚙️ Паттерн Saga в микросервисах

Saga – это паттерн управления распределёнными транзакциями, который позволяет избежать монолитных блокировок и традиционных ACID-ограничений.

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

🏗 Два подхода к реализации

1. Оркестрация

Управляется централизованным координатором

Каждый шаг выполняется по команде оркестратора

Минус: если оркестратор падает – процесс замирает

В Go можно реализовать с помощью Temporal.io или Cadence.

2. Хореография

Нет центрального контроллера, сервисы реагируют на события друг друга

Нет узкого места в виде одной точки отказа

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

В Go можно использовать Kafka, NATS, RabbitMQ для коммуникации между сервисами.

💡 Какой выбрать

Оркестрация — проще в управлении, но менее гибкая

Хореография — сложнее в отладке, но лучше масштабируется

➡️ Подробнее про паттерн

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
Совет на 2025-й — будьте осторожнее с выбором работы.

IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.

Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦‍♂️

Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:

— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер

Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.

Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
👍1
✏️ Написано на Go: веб-интерфейс для работы с SQLite

SQLiteAdmin-Go — это легковесный веб-интерфейс для просмотра, редактирования и управления SQLite-базами прямо из браузера.

Что умеет и какие фишки

• Просмотр таблиц и схем базы данных.

• Фильтрация и редактирование данных.

• Поддержка работы как библиотека для Go, так и самостоятельного бинарника.

• Открытый исходный код – расширяйте под свои нужды!

📎 Репозиторий на GitHub

📎 Демо проекта

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍7🥱4
🌐 OpenAPI + Go

OpenAPI — стандарт для описания REST API, который упрощает их документирование, тестирование и генерацию кода.

В Go OpenAPI можно интегрировать с помощью oapi-codegen, автоматизируя процесс разработки.

Благодаря OpenAPI, документация всегда актуальна, а тестирование API становится проще.

➡️ Реализация и YAML-примеры

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥2
📊 Почему увольнять программистов ради ИИ — путь к провалу

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

➡️ Что внутри статьи

▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.

▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.

▪️ Почему опытные разработчики станут супердорогими и востребованными.

▪️ К чему приведет полная ставка на искусственный интеллект в IT.

🔵 Подтяните свои знания о машинном обучении вместе с нашим курсом «Базовые модели ML и приложения»

🔗 Читайте статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
👋 Привет, Go-сообщество!

С какой версии языка вы начинали своё погружение?
А какая версия стала для вас самой необычной в плане обновлений?

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

🐸Библиотека Go разработчика #интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚111
🛠 Техника для решения задач

Бэктрекинг (Backtracking) — это алгоритмическая техника поиска, которая перебирает возможные решения рекурсивно, откатываясь назад, если текущий путь не ведёт к успеху.

Как работает бэктрекинг

1. Выбираем следующий шаг – пробуем одно из возможных решений.

2. Проверяем ограничение – если путь невозможен, откатываемся назад.

3. Продолжаем поиск – если решение найдено, фиксируем его и ищем другие варианты.

Пример кода — поиск всех перестановок строки
func permute(arr []rune, l, r int) {
if l == r {
fmt.Println(string(arr))
} else {
for i := l; i <= r; i++ {
arr[l], arr[i] = arr[i], arr[l] // Обмен
permute(arr, l+1, r)
arr[l], arr[i] = arr[i], arr[l] // Откат
}
}
}


Где используется

• Генерация перестановок и комбинаций – подбор паролей, составление расписаний.

• Задача N ферзей – расстановка фигур без угрозы друг другу.

• Поиск пути в лабиринте – навигация в сложных структурах.

• Разбор выражений и парсинг – обработка кода и регулярных выражений.

🤔 Использовали ли вы бэктрекинг в реальных проектах? Делитесь опытом в комментариях! 👇

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143
👨‍💻 Разработка на Go с Live-Reloading

Если вы Go-разработчик, то знаете, насколько утомительно останавливать и перезапускать приложение при каждом изменении кода. Существует решение этой рутины — Go Air.

Что такое Go Air

Go Air — инструмент командной строки, который отслеживает изменения в вашем Go-проекте и автоматически перезапускает приложение.

Краткий обзор настройки

1. Установка Go Air
go install github.com/cosmtrek/air@latest


2. Создание Dockerfile

3. Конфигурация .air.toml

• Директории для исключения
• Интервал опроса изменений
• Правила перестройки приложения

4. Настройка docker-compose.yml

5. Тестирование Live-Reloading

При изменении файлов Go Air автоматически перестраивает и перезапускает приложение без ручного вмешательства.

➡️ Реализация с картинками

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👾42😁2👏1
🛠 Делимся с вами подборкой из 30 API

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

🐸Библиотека Go разработчика #инфографика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥42🤩1👾1
🎧 Новые математические функции в Go и обновления от Boot.dev

В последнем эпизоде подкаста Cup o' Go ведущие как всегда обсуждают актуальные события в мире Go.

Что вас ждёт в подкасте:

Новые математические функции в Go: рассматривается предложение о добавлении пакета math/stats с функциями для вычисления среднего, медианы и других статистических показателей.​

Обновления безопасности: выпущены обновления для пакетов golang.org/x/crypto (v0.35.0) и golang.org/x/oauth2 (v0.27.0).​

Интервью с Лейном Вагнером: обсуждаются последние новости Boot.dev и его подкаста Backend Banter.​

Блог Go: статья Майкла Пратта «Faster Go maps with Swiss Tables» о повышении производительности карт в Go.​

Конференции: анонс Gophercamp, который пройдет 25 апреля в Брно, Чехия.​

➡️ Полный эпизод подкаста

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
💡 Руководство Uber по стилю написания Go-кода

Наткнулись на гайд от Uber, в котором описаны внутренние правила по написанию кода на Go.

Что там интересного

➡️ Минимум интерфейсов — только если они реально нужны.

➡️ Ошибка — это значение, а не исключение — пишем чистый код без паники.

➡️ Структуры и указатели — как избежать неожиданных мутаций.

➡️ Как работать с каналами и конкурентностью — не делать лишнего.

➡️ Производительность и чистота кода — баланс между оптимизацией и читаемостью.

Стиль Uber — это про четкость, производительность и поддержку кода в долгосрочной перспективе.

🧑‍💻 А какие у вас любимые best practices в Go? Делитесь в комментариях 👇

📎 Почитать гайд

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6😁31
🛠 Инструмент для работы с торрентами на Go

mkbrr — это CLI-инструмент для создания, модификации и анализа torrent-файлов.

Что умеет mkbrr


Создаёт новые torrent-файлы — минималистичный, но мощный инструмент для формирования раздач.

Редактирует существующие торренты — добавляйте трекеры, изменяйте метаданные и параметры.

Анализирует файлы — быстро проверяет структуру и содержимое торрентов.

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

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71🙏1
✍️ Побудь моим StackOverflow

Нашли для вас промт, который просит ИИ действовать как пост со StackOverflow. Он ответит на вопрос готовым кодом и, при необходимости, объяснит некоторые детали;

I want you to act as a stackoverflow post. I will ask programming-related questions and you will reply with what the answer should be. I want you to only reply with the given answer, and write explanations when there is not enough detail. do not write explanations. When I need to tell you something in English, I will do so by putting text inside curly brackets {like this}. My first question is "<Paste your question here>"


Вы когда-нибудь писали вопросы или ответы на StackOverflow? Или просто смотрите ответы? Делитесь в комментариях 👇

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике

Статья, которая поможет развить навыки решения задач с помощью математики.

➡️ Вот что вас ждет

1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.

2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.

3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.

4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.

🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».

👉 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🛠 Как внедрить CI/CD: 10 самых важных шагов

CI/CD — это ключ к быстрой, качественной и безопасной разработке ПО. Наш гайд поможет вам настроить эффективный пайплайн, автоматизировать рутину и ускорить релизы.

➡️ Что внутри статьи

▪️ Лучшие практики работы с Git
▪️ Автоматизация сборки и тестирования
▪️ Внедрение автоматизированного тестирования
▪️ Эффективное управление зависимостями
▪️ Автоматизированный деплой без простоя
▪️ Настройка мониторинга и логирования

📎 Читайте гайд

Азбука айтишника
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81🤔1🌚1
🏃‍♀️ 40+ каналов, которые должен читать каждый разработчик

Отобрали для вас полезные и проверенные каналы для программистов — в них вы найдете все самое интересное, от технических новостей до практических гайдов.

IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии

Библиотека программиста — новости из мира IT и технологий

Книги для программистов — самые годные книги по любым языкам и стекам

IT-мемы — мемы про жизу айтишника

Proglib Academy — обучение и курсы, чтобы стать топовым специалистом

Азбука айтишника — азы из мира разработки

Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ

Библиотека фронтендера — все о JS, React, Angular и не только

Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin

Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься

Библиотека тестировщика — самое интересное о том, как крашить код

🦫 Go
Библиотека Go-разработчика
Библиотека задач по Go
Библиотека Go для собеса
Вакансии по Go

#️⃣ C#
Библиотека шарписта
Библиотека задач по C#
Библиотека собеса по C#
Вакансии по C#

🔧 DevOps
Библиотека devops’а
Библиотека задач по DevOps
Библиотека собеса по DevOps
Вакансии по DevOps & SRE

🐘 PHP
Библиотека пхпшника
Библиотека задач по PHP
Библиотека PHP для собеса
Вакансии по PHP, Symfony, Laravel

🐍 Python
Библиотека питониста
Библиотека Python для собеса
Библиотека задач по Python
Вакансии по питону, Django, Flask

☕️ Java
Библиотека джависта
Библиотека задач по Java
Библиотека Java для собеса
Вакансии по Java

📊 Data Science
Библиотека дата-сайентиста
Библиотека задач по Data Science
Библиотека Data Science для собеса
Вакансии по Data Science

🎮 C++
Библиотека C/C++ разработчика
Библиотека задач по C++
Библиотека C++ для собеса
Вакансии по C++

Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🌚2😁1🤔1
🤔 Golang: минимализм или ограничения

Минимализм Go — это осознанный выбор создателей. Роб Пайк и команда Google намеренно создали язык с небольшим набором возможностей, которые работают предсказуемо. Отсутствие наследования и исключений было не упущением, а принципом дизайна.

Но граница между минимализмом и ограничением часто размыта. Например, обработка ошибок в Go через многократные проверки if err != nil может показаться избыточной для тех, кто привык к исключениям.

А что вы думаете? Является ли минимализм Go его силой или недостатком? Ждём вас в комментариях 👇

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