Telegram Web Link
🧑‍💻 AI-инструменты, которые я использую каждый день

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

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

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

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱103👍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
👍11🔥2😢1
📣 Сторонние библиотеки или чистый Go

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

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

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

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

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

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

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

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

🐸Библиотека Go-разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🤔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
1👍1
👋 Топ-вакансий для 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
😁31
🛠 ffuf – секретный сканер

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

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

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

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

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

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

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

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

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
📔 Рекрутерам на зависть

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

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


Не забудьте прикрепить резюме и ждите годных советов.

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4😁3
⚙️ База для Redis

Redis — отличный инструмент для улучшения производительности вашего приложения. Если Redis уже настроен, давайте сосредоточимся на интеграции его в ваш Go-проект.

1. Установка библиотеки

Самая простая часть. Команда для установки:
go get github.com/go-redis/redis/v8


2. Инициализация клиента

Чтобы обращаться к Redis нам нужен контекст и инициализированный клиент:
// Создаем контекст, который будет использоваться для всех операций с Redis
var ctx = context.Background()

// Функция для инициализации клиента Redis
func initRedisClient() *redis.Client {
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379", // Адрес Redis сервера
Password: "", // Пароль (если есть)
DB: 0, // Индекс базы данных
})

// Проверим подключение
_, err := client.Ping(ctx).Result()
if err != nil {
log.Fatalf("Не удалось подключиться к Redis: %v", err)
}

return client
}


3. Пишем функции

Теперь мы готовы записывать и читать значения.

Функция для записи:
func setKey(client *redis.Client, key, value string) {
err := client.Set(ctx, key, value, 0).Err() // 0 означает, что ключ будет храниться в Redis бесконечно
if err != nil {
log.Fatalf("Ошибка при записи в Redis: %v", err)
}
fmt.Println("Ключ успешно записан в Redis")
}


В функции setKey() мы записываем значение в Redis. Мы используем метод Set(), который принимает три параметра:

• key — ключ, который будет использоваться для хранения
• value — значение, которое будет храниться.
• 0 — это время жизни ключа. Если указать 0, ключ будет храниться бесконечно.

Функция для чтения:
func getKey(client *redis.Client, key string) string {
val, err := client.Get(ctx, key).Result()
if err == redis.Nil {
fmt.Println("Ключ не найден")
return ""
} else if err != nil {
log.Fatalf("Ошибка при чтении из Redis: %v", err)
}
return val
}


Здесь мы пытаемся получить значение по ключу с помощью метода Get(). Если ключ не найден, Redis вернет ошибку redis.Nil, и мы корректно обрабатываем этот случай.

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

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17😁32
2025/07/08 13:34:22
Back to Top
HTML Embed Code: