Библиотека 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
📌Новости и обновления популярных инструментов: подборка для Go-разработчика

📊Хоть в опросе The State of WebAssembly 2023 было не так много участников, Go занял четвертое место по популярности среди языков для проектов WASM
🏢 Команда Go продолжает вести коллекцию тематических исследований Go, охватывающих такие компании, как American Express, Dropbox, Cloudflare и Uber

🔧Go OpenAI 1.16.0 — Go-клиент для доступа к OpenAI API с поддержкой ChatGPT, GPT-3, GPT-4, DALL·E 2, Whisper
🔧slog-otel 1.2.1 — реализация Go-обработчика slog для обеспечения корреляции записей логов с Open-Telemetry spans
🔧trufflehog 3.60.4 — инструмент для поиска и верификации API-ключей и других секретов
🔧Algernon 1.15.4 — небольшой автономный веб-сервер на чистом Go с поддержкой Lua, Teal, Markdown, HTTP/2, QUIC, Redis и PostgreSQL
🔧Air 1.49 — live reload для Go-приложений
🔧pgroll 0.3 — CLI-инструмент для безопасной и обратимой миграции схемы PostgreSQL
🔧GoCV 0.35 — привязки для библиотеки изображений OpenCV 4
🔧Fiber 2.50.0 — веб-фреймворк для Go на основе Express.js
🔧Mockery 2.36 — автогенератор кода моков для Go
🔧elem-go 0.7 — типобезопасная библиотека для создания HTML-элементов и управления ими (с помощью htmx-хэлперов)
🔧go-echarts 2.3.2 — простая, но мощная библиотека для визуализации данных
🔧go-quartz 0.8 — zero-dependency библиотека для выполнения отложенных задач
🔧bloom 3.6 — реализация фильтра Блума
🔧oasdiff
1.8.1
— инструмент для сравнения и обнаружения критических изменений в спецификациях OpenAPI
🔧SCS 2.6 — инструмент для управления HTTP-сессиями в веб-приложениях
🔧fsnotify 1.7 — библиотека для предоставления уведомлений файловой системы
🔧LakeFS 1.0 — Git для ваших данных
🔧golangci-lint 1.55.1 — более быстрый способ запуска линтеров Go

#новости #чтопроисходит
👍13
The_Complete_Guide_to_Context_in_Golang_Efficient_Concurrency_Management.pdf
3.1 MB
Полный гайд по работе с пакетом context в Go: эффективное управление конкурентностью

🎓Что такое контекст?
🎓Создание контекста
🎓Распространение контекста
🎓Получение значений из контекста
🎓Отмена контекста
🎓Timeouts и deadlines
🎓Контекст в HTTP-запросах
🎓Контекст в операциях с базой данных
🎓Лучшие практики использования контекста
🎓Распространенные ошибки, которых следует избегать
🎓Утечки контекста и горутины
🎓Использование контекста со сторонними библиотеками
🎓Контекст (новые функции, добавленные в Go 1.21)

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
👍343🔥21
👨‍🏫Tebeka Shorts — серия коротких видео о различных фичах Go от Miki Tebeka из Ardan Labs.

📺Смотреть плейлист
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍1
▶️Интерактивное руководство по работе с FerretDB, альтернативой MongoDB, написанной на Go

Это — интерактивная версия руководства How to Pass Basic MongoDB CRUD Operations With FerretDB из официального блога FerretDB.

Из примеров, которые можно модифицировать и запускать в духе обычного playground, вы научитесь выполнять операции CRUD с FerretDB.
👍5
errors.Is и errors.As на практике: совет по обработке ошибок от Matt Boyle для Go-разработчика.

#tip
👍18
🔧Фаззинг-тестирование — эффективный метод выявления граничных условий, которые классическое тестирование может не охватывать.

🧰 Автор статьи выводит фаззинг-тестирование на новый уровень с помощью дифференциального фаззинга, в результате использования которого находит XSS-уязвимость в пакете html.

💸Кроме всего прочего исследование показывает отличный пример того, как знания разработчика можно применить в сфере информационной безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍1
Go Gin vs Fiber_ HTTPS Hello World performance _ Tech Tonic.pdf
3.4 MB
Хоть лучший фреймворк Go — это отсутствие фреймворка, о производительности популярных решений стоит знать. Ловите мини-подборку на простых примерах:

🔸Go Gin vs Fiber: Hello World performance
🔸Go Gin vs Fiber: HTTPS Hello World performance
🔸Go: Gin vs Fiber vs Echo Hello World performance
👍8😁2🥱2
☁️🧩 ТОП-10 бессерверных фреймворков

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

Читать статью
🥱9👍32
🎃Собрали для вас несколько страшных историй по случаю Хэллоуина. Ждем ваши истории в комментариях👇
😁27🤔4🥱2
🎤Подходы к дебаггингу concurrency

Доклад Сергея Петрова из Selectel на конференции Подлодка Go Crew о том, что может пойти
не так при дебаге concurrency,
как понять, что возникли проблемы,
и где их искать в коде.

📌Что интересного узнаете из доклада:

☑️Где именно мы можем ошибиться
☑️Как работают горутины под капотом
☑️Инструменты для дебага из коробки
☑️Дебаггеры
☑️Полезные библиотеки

📺Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👏2
💡Запускаем Go-бинари прямо из репозитория

Про возможность установки бинаря из репозитория через go install знают все. Менее известным фактом является то, что мы можем запускать двоичные файлы прямо из репозитория, например, так:

$ go run github.com/cosmtrek/air@latest

🤩Никакой установки, никакого клонирования, никакого Makefile, и ваш бинарь всегда в актуальном состоянии.

💬В таком случае нужно всегда быть онлайн?

☑️go run подключается к go proxy при каждом вызове для проверки на наличие более новой версии.

☑️Но мы можем обойти это поведение, заменив @latest фиксированным номером версии (например, @v1.45.0). Тогда команда будет нормально работать в автономном режиме.

#tip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35😁2
Вы когда-нибудь задумывались, как старые программы Unix все еще могут работать на современных компьютерах? Посетите новый проект Расса Кокса rsc/unix на GitHub — там много интересного👇

pdp11 — симулятор PDP-11
v6unix — симулятор Research Unix Sixth Edition (V6)
v6run — CLI для v6unix
v6web — веб-интерфейс для v6unix (копию можно посмотреть здесь)
🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
💻🍏Apple представила новый MacBook Pro с процессорами семейства M3, которые делают один из лучших в мире профессиональных ноутбуков еще лучше. 14- и 16-дюймовые модели с M3 Pro и M3 Max доступны в новом цвете «черный космос». Хотите узнать подробнее? Смотрите презентацию Apple Scary Fast на русском и всего за 6 минут.

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

💬Какие характеристики для вас наиболее важны? Накидайте свой топ ноутбуков в комментарии👇

#холивар
🥱23🔥4