Библиотека Go-разработчика | Golang
23.3K subscribers
2.08K 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
Counterfeiter — инyструмент для генерации автономных, типобезопасных тестовых заглушек на Go

При написании модульных тестов для объекта часто бывает полезно иметь фейковые реализации его зависимостей. В Go такие фейковые реализации не могут быть сгенерированы автоматически во время выполнения программы, и написание их вручную может быть достаточно трудоемким процессом. Counterfeiter позволяет просто генерировать тестовые заглушки для заданного интерфейса.

👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍2
👩‍💻 Пакет unique в Go 1.23 — отличный способ оптимизировать ваши ресурсы

#tip by Phuong Le
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤔3
🥜🔨 Динамическое программирование: как щелкать задачки, как орешки

Готов узнать, как решать задачки, от которых плавятся мозги?


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

Также у нас есть курс как для начинающих программистов, так и для тех, кто уже шарит:
🔵 Алгоритмы и структуры данных

🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
caddy-exec — модуль Caddy для выполнения однократных команд

Caddy — HTTP(S) сервер с поддержкой Go. Расширение caddy-exec позволяет настроить команды для глобального выполнения при старте/остановке, либо по определенному маршруту.

👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5👍4😁3
👩‍💻 Функциональные опции в Go

Вы наверняка не раз слышали об этом паттерне. Почему бы не повторить еще раз?

Опытом работы с паттерном делится руководитель команды разработки ядра цифровой медицины в Республике Узбекистан.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👏16🥱7👍32
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры

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

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

#почитать
1😁6🎉2👍1
✍️ Заметки о веб-разработке на Go

Знания, полученные из книг, — это здорово, но нет ничего лучше реального опыта, полученного на практике. Читайте заметки Julia Evans, если ваша работа как-то связана с вебом и Go.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7👍1👾1
📉👩‍💻 Руководство по сборщику мусора Go

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

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥19👍6🙏1
🎉 Представлены релизы Go 1.23.2 и 1.22.8

Новая версия содержит исправления безопасности компилятора, cgo, рантайма, пакетов maps, os, os/exec, time и unique.

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

#новости
🔥14👍1
Испытываете ли вы тревогу из-за распространения ИИ-ассистентов для написания кода/решения рабочих задач?
Anonymous Poll
19%
Да 😔
78%
Нет 😎
3%
Свой вариант (напишу в комментарии)
😁15👍1👾1
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.

В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования

👉Подписаться👈
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
📈 Modview — визуализатор графика зависимостей Go-проекта

Простой способ визуализации зависимостей в проектах Go чистым графическим способом.

👉 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥1🎉1
🔥 Распределенные транзакции в Go: прочтите, прежде чем попробовать

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

Miłosz Smółka утверждает, что попытка внедрить распределенные транзакции — это часто «избыточное решение», и рекомендует использовать альтернативы.

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

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

👉 Читать
👉 Предыдущая статья
👉 Перевод на русский
👍17🔥1
⚒️ Prep — небольшой инструмент для Go, который позволяет выполнять функции на этапе компиляции

By using prep.Comptime, you can evaluate functions at build time, replacing them with their computed results. Just like comptime from Zig. Except it’s not.


Нельзя отрицать, что идея интересная, хотя у неё есть ограничения, и toolexec не был предназначен для поддержки произвольной перезаписи исходного кода.
🔥23
🛠️ Управление конкурентностью в Go: внутри кастомных примитивов синхронизации rqlite

Написание распределенной базы данных подразумевает интенсивное использование конкурентности. Philip O'Toole, создатель rqlite, распределенной базы данных на основе SQLite, столкнулся с некоторыми ограничениями встроенного в Go инструментария конкурентности и создал несколько кастомных примитивов. Под катом автор делится наработками — кто знает, может какие-то из них пригодятся и вам.

👉 Читать
🤔53👍1