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

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

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

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

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🎉🍾🎁 С днем ​​рождения, Go! 10-го ноября Go исполнилось 15 лет

Ухватите кусочек торта, Go отпраздновал свою последнюю годовщину. Austin Clements из команды Go размышляет о том, что изменилось за последний год и каковы текущие приоритеты команды.

👉 Читать
🎉83🔥114👍1
👀 wasmVision — простой способ начать работу с компьютерным зрением

Гениальная разработка TinyGo и GoCV представляет собой высокопроизводительный движок обработки компьютерного зрения, который можно настраивать и расширять с помощью WebAssembly (который можно создать с помощью TinyGo, Rust, или C, если вам так хочется).

👉 GitHub
🔥4👍31🤔1
⚒️ Создание кастомного балансировщика нагрузки на Go для gRPC с приоритизацией адресов

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

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

👉 Читать
🔥18👍2🥱1
fmt.Sprintf 🆚 String Concat

Хотя код с использованием fmt.Sprintf может выглядеть более структурированным, простая конкатенация строк (+) оказывается несколько быстрее. Почему?

Max Hoffman из команды DoltHub разбирается, как fmt.Sprintf работает под капотом👇

🔗 Читать
😁9👾3👍2🥱2
🚀 Как ускорить распределенные системы: 8 стратегий снижения времени ожидания

Высокая latency — это скрытый враг, превращающий приложение в тормозящую телегу. Особенно в распределённых системах, где данные путешествуют между серверами и каждая задержка становится катастрофой. Знаете ли вы, какие 8 стратегий помогут превратить "задумчивое" приложение в настоящего чемпиона?

Что эффективнее: кэшировать, сжимать или оптимизировать запросы к базе? А что, если правильный ответ — балансировка нагрузки или вообще CDN?

💡 Найдите недостающий элемент в вашем стеке и максимально ускорьте свои приложения.

🔗 Читать статью
🔗 Зеркало
👍4
🔥 Разработка Brainrot Language Server на Go

Так называемый "Brainrot" — это смесь сленга и мемов нового поколения. Следуйте этому руководству по созданию базового сервера LSP и, возможно, вы сможете применить полученные знания с большей пользой! 😅

👉 Читать
🔥15👾3👍1
⚒️ Go Runtime Finalizer и Keep Alive

Если вы перешли с полностью объектно-ориентированного языка на Go, скорее всего, вам не хватало финализаторов для очистки ресурсов при уничтожении объекта. В Go есть (довольно непонятный) способ установки финализаторов — в пакете runtime.

Однако, как отмечает Phuong Le, «если вам вдруг понадобится использовать финализаторы, есть большая вероятность, что это признак проблемы с дизайном».

Как бы то ни было, финализаторы не совсем бесполезны. Они могут служить в качестве резервного механизма очистки для объектов, которые имеют явную функцию очистки (подумайте о методах Close() для подключений к файлам или базе данных). Если пользователи таких объектов не смогут должным образом вызвать функцию очистки, может сработать финализатор.

👉 Читать статью
👏6👍3🤔2
Вакансии «Библиотеки программиста» — ждем вас в команде!

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

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
👍2🥱2🥰1
🤔🎄🎁 Какой подарок вы бы хотели на Новый год?

Да, начинать готовиться никогда не рано 😉

#интерактив
🤩5🥱1
🎉 Кстати, 7 ноября представлены релизы Go 1.23.3 и 1.22.9

Новая версия содержит исправления безопасности компоновщика, рантайма, а также пакетов net/http, os и syscall.

🗣 Анонс
⬇️ Скачать

#новости
👍12🔥2😁21😢1
🔐 Понимание уязвимостей, связанных с внедрением команд в Go

Если вы вызываете системные утилиты из кода, вы можете предпринять некоторые базовые, но важные меры предосторожности, чтобы избежать проблем с безопасностью (вы ведь не хотите, чтобы кто-то мог убедить ваш сервер запустить rm или что-то похуже).

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

Мы готовим статью об ИИ-инструментах для программирования в 2024 году и хотим услышать ваше мнение! 🤖💻 Поделитесь своим опытом и помогите нам сделать материал ещё полезнее. Самые интересные ответы войдут в статью! 🏆
👾3
Какой ИИ-инструмент для программирования вы считаете самым полезным и почему? 🛠
Anonymous Poll
14%
GitHub Copilot
38%
ChatGPT
7%
Claude
9%
Codeium
7%
Локальные LLM
22%
Не пользуюсь ИИ
4%
Другой (укажу в комментариях)
Не забудьте оставить комментарий с вашими мыслями об ИИ в программировании! Какие преимущества и недостатки вы видите? Какие инструменты рекомендуете попробовать коллегам? 🤔💬
Media is too big
VIEW IN TELEGRAM
▶️ Разработка CLI-приложения на Go с Bubble Tea

Только не говорите, что не любите CLI-приложения! Ловите 50-минутное обучающее видео, с помощью которого вы напишете CLI-инструмент для заметок с использованием Go + Bubble Tea + Lip Gloss от Charm.

Таймкоды:

00:00 Intro
03:00 Basics
10:04 SQLite store
22:03 List view
31:55 Add lipgloss
39:15 Textinput and Textarea
47:20 Working App!
48:56 Outro
👍4🥱1
🦫 Самоучитель по Go для начинающих. Часть 17. Основы сетевого программирования. Стек TCP/IP. Сокеты. Пакет net

В этой части самоучителя мы погрузимся в мир сетевого программирования, изучим его основные концепции и инструменты. Начнем с рассмотрения принципов работы компьютерных сетей и их архитектуры, познакомимся с протоколами TCP и IP, лежащими в основе стека TCP/IP.

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

👉 Читать гайд

👩‍💻 Остальные части в серии:

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. Обобщенное программирование. Дженерики
13. Работа с датой и временем. Пакет time
14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
15. Конкурентность. Горутины. Каналы
16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍7
📄 Компиляция Go-программы в нативный бинарь для Nintendo Switch

Вовсе не новость, но кто-то мог пропустить это в своё время. Интересно взглянуть на детали👇

🔗 Читать гайд
👍13🤩3🔥2🎉1