Библиотека Go разработчика | Golang
19.6K subscribers
1.22K photos
27 videos
86 files
3.67K links
Все самое полезное для Go-разработчика в одном канале.

Список наших каналов: https://t.me/proglibrary/9197
Учиться у нас: https://proglib.io/w/32d20779

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv
Прайс: @proglib_advertising
Download Telegram
🎓 Продвинутый SQL: секреты профессионалов

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

Читать статью

#туториал
⚒️ Ужасно подробные ошибки в API: пишем на Go инструмент для работы с ними

Александр Лырчиков, разработчик системы хранения данных TATLIN.UNIFIED в YADRO, делится опытом разработки инструмента для обработки ошибок Terror (TATLIN + error).

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

👉 Читать
⚡️ Coolify — опенсорсная & self-hostable альтернатива Heroku, Netlify и Vercel. Инструмент поможет вам управлять вашими серверами, приложениями и базами данных на вашей VPS, Bare Metal, Raspberry PI и чем угодно. Все, что вам нужно, это SSH-соединение.

👉 GitHub & Сайт
🤔 Три способа использования каналов в Go

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

С таким пониманием вы сможете выбрать правильные примитивы для вашего юзкейса и не оказаться в ловушке мира взаимных блокировок. Под катом — взгляд на каналы от Макса Хоффмана из Dolthub.

👉 Читать
Привет, друзья! 👋

Мы готовим статью о типичных ошибках начинающих разработчиков. И нам очень нужна ваша помощь! 🙏

Поделитесь своим опытом и мнением в комментариях:
С какими сложностями вы сталкивались в начале своего пути в разработке?
Какие ошибки допускали и как их исправляли?
Что помогло вам быстрее расти профессионально?

Самые интересные и полезные советы мы обязательно включим в статью, а их авторов упомянем в публикации! 😊
🎉 Несколько дней назад был представлен первый релиз-кандидат Go 1.23. Из анонса вы не узнаете ничего нового, а вот проект примечаний к выпуску был немного детализирован.

📦 Скачать
🎙️ Подкаст Go Time: Как все делается в команде Go

К ведущей подкаста Go Time присоединились Cameron Balahan, Sameer Ajmani и Russ Cox из команды Go, чтобы обсудить внутреннюю «кухню» разработки языка и как они решают, что улучшить.

P. S. У этого выпуска также есть транскрибация для удобства перевода.

Слушать
📑 Структурирование кода для CLI-приложения на Go: введение

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

Вы узнаете про концепцию предметно-ориентированного проектирования и рассмотрите, как Cobra CLI может создавать каркас для CLI-приложений, упрощая процесс начальной настройки.

👉 Читать
⚒️ 10 незаменимых плагинов для VS Code в 2024 году

Огромная популярность Visual Studio Code во многом связана с его расширяемостью: функциональность редактора можно существенно нарастить за счет установки дополнительных плагинов.

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

🔗 Читать статью
🔗 Зеркало
⚡️ Kubernetes client-go examples — репозиторий с примерами, демонстрирующих различные юзкейсы client-go (Go-клиент для Kubernetes), дополненные предварительно настроенной средой онлайн-разработки.

Главная цель — протестировать свежую версию Go и пакетов k8s.io на основе поддерживаемых в настоящее время веток выпуска Kubernetes.

👉 GitHub
📧 Отклик на вакансию по email: как сделать так, чтобы ваше письмо выделялось

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

👉 Статья
🚀 Выжимаем из Go максимум производительности: по мотивам доклада на Saint HighLoad++

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

📌 Вы узнаете:

• про память, а именно про small-size объекты и интерфейс;
• как сильно может влиять на производительность BCE (Bounds Check Elimination) и почему не все циклы for-loop одинаково полезны;
• про особенности, которые текущий компилятор Go накладывает на код;
• про оптимальную конвертацию string -> []byte и []byte -> string, конкатенацию и связанные с ней оптимизации.

👉 Читать статю
🏃 Самоучитель по Go для начинающих. Часть 13. Работа с датой и временем. Пакет time

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

👉 Читать гайд

📌 Остальные части в серии:

1. Особенности и сфера применения Go, установка, настройка
2. Ресурсы для изучения Go с нуля
3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
4. Переменные. Типы данных и их преобразования. Основные операторы
5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
6. Функции и аргументы. Области видимости. Рекурсия. Defer
7. Массивы и слайсы. Append и сopy. Пакет slices
8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
10. Введение в ООП. Наследование, абстракция, полиморфизм, инкапсуляция
11. Обработка ошибок. Паника. Восстановление. Логирование
12. Обобщенное программирование. Дженерики
🔂 Обновление Go-модулей: практическое руководство от Карлоса Беккера

Один из разработчиков Charm и автор GoReleaser делится несколькими быстрыми советами по изменению версий в go.mod.

👉
Читать