Библиотека 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

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

Ручная реализация растягивается на недели, а мелкая ошибка может привести к серьёзным уязвимостям.

Решение – Authboss. Модульная библиотека для Go, которая берёт на себя все «страдания» аутентификации и даёт готовый набор функций «из коробки».

Как это работает

1. Конфигурируете через простую структуру конфига.

2. Подключаете только нужные модули — всё через импорт пакетов.

3. Встраиваете middleware, чтобы автоматически обрабатывать сессии и токены.

Пример как попросить пользователя настроить 2FA:
package main

import (
"net/http"

"github.com/volatiletech/authboss"
"github.com/volatiletech/authboss/otp/twofactor/totp"
)

func setup2FA(w http.ResponseWriter, r *http.Request) {
// Генерируем секрет и QR-код
qr, err := totp.GenerateQRCode(r.Context(), r)
if err != nil {
http.Error(w, "Ошибка 2FA", http.StatusInternalServerError)
return
}
// Отправляем QR-картинку в шаблон
w.Header().Set("Content-Type", "image/png")
w.Write(qr)
}


Библиотека упрощает управление сессиями и токенами, предлагая проверенные методы безопасности без лишнего кода.

➡️ Глянуть на проект

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥12🔥8🙏422
🎧 Свежий выпуск Cup o' Go

В новом эпизоде Cup o' Go обсуждают, как внедрение автономных AI-агентов влияет на рабочие процессы.

Гость и ведущие разбираются, как избыточная безопасность и сложные фаерволы могут неожиданно ограничить возможности AI-агентов, снижая их автономность.

➡️ Слушать подкаст

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚3👍2
🧑‍💻 Когда применяют iota

В Go есть несколько интересных фичей, которые иногда кажутся сложными на первый взгляд, но на практике оказываются весьма полезными. Один из таких — это iota

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


iota — это особенность языка Go, которая используется для создания последовательных значений, таких как индексы или флаги, без явного указания каждого следующего значения.

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

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

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

Пример:
const (
Read = 1 << iota // 1
Write // 2
Execute // 4
)


💬 Как вы используете iota в своих проектах? Делитесь в комментариях 👇

🐸Библиотека Go-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🥱31
🚨 ИИ уже съел ваше место?

Стоп. Давайте без паники и хайпа.

Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты.

Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь.

Хотим понять:
— Кого действительно уволили и почему
— Как изменились задачи разработчиков
— Где ИИ помогает, а где только мешает
— Какие роли появились, какие исчезли
— Сколько платят тем, кто «дружит» с ИИ

Без буллшита — только цифры и факты. Результаты будут открыты для всех.

📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw
2👾1
🧑‍💻 AI-инструменты, которые я использую каждый день

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

Расспросили рядового разработчика — как именно он использует нейросети. Смотрите интервью в карточках.

➡️ Интересный формат? Задавайте вопросы в комментариях, а мы найдём экспертов 👇

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱123👍3🔥1😢1
🛠 Команда дня: профилирование Go-приложения

С помощью встроенного pprof можно быстро собирать и визуализировать данные о производительности Go-кода.

Команда, чтобы запустить все бенчмарки с CPU-профилированием и открыть интерактивный отчёт в браузере:
go test -bench=. -cpuprofile cpu.prof \
&& go tool pprof -http=:8080 cpu.prof


Помимо CPU-профиля можно использовать:

-memprofile mem.prof — профиль использования памяти.
-blockprofile block.prof — профиль блокировок.

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2😢1
📣 Сторонние библиотеки или чистый Go

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

• Сторонние библиотеки — ускорение разработки

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

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

• Чистый Go — просто и понятно

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

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

💬 Какой подход предпочитаете вы? Когда стоит прибегать к сторонним библиотекам, а когда лучше использовать чистый Go? Поделитесь своим мнением в комментариях 👇

🐸Библиотека Go-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
5🤔3👍2
🔍 Неделя в фокусе

Собрали для вас основные события и материалы, которые стоит обсудить по итогам недели.

tldx: инструмент для быстрого поиска доступных доменов

tldx позволяет генерировать умные пермутации доменов с использованием префиксов, суффиксов и различных TLD, а также проверять их доступность с помощью RDAP.

godump v1.2.0

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

Свежий выпуск Cup o' Go

В новом эпизоде Cup o' Go обсуждают, как внедрение автономных AI-агентов влияет на рабочие процессы.

Otter v2.0.0

Вышла новая версия Otter — библиотеки кэширования для Go. В этой версии полностью переработан API для повышения гибкости.

Добавлены функции загрузки и обновления данных, защита от HashDoS-атак, а также улучшены механизмы планирования задач и буферизации.

Наш опрос про ИИ

🐸Библиотека Go-разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
👋 Топ-вакансий для Go-разработчиков за неделю

Golang-разработчик — удаленно в Уфе.

Golang Developer — от 270 000 ₽, удаленно в СПб.

Backend Developer (PHP/Go) — Кипр

Golang Developer — удалённо по всему миру.

Team Lead команды Aвиа — от 420 000 ₽, удаленно в Москве.

Junior / Middle Backend Developer — от 130 000 ₽, удаленно.

Бустер — удалённо, офис строится под вас.

➡️ Еще больше топовых вакансий — в нашем канале Go jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
😁41
🛠 ffuf – секретный сканер

Каждый спрятанный файл, каждая невидимая директория – потенциальная дыра в вашей защите.

ffuf – лёгкий и молниеносный фреймворк для фаззинга, готовый найти то, что скрывают сервера.

ffuf задействует простую, но эффективную идею: вместо ручного перебора он подставляет маркер FUZZ в URL и в заголовок Host, после чего обходит наборы словарей и оценивает их.

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

➡️ Репозиторий проекта

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
🛠 Организация кода в Go: пакеты, импорты и модули

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

➡️ Читать третью часть самоучителя

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111