Библиотека Go-разработчика | Golang
23.3K subscribers
2.07K 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
👨‍💻 Когда fmt.Println уже не спасает

Ваше Go-приложение может вести себя странно только на сервере. Отладка через log.Printf и догадки — не лучший путь. Лучше использовать удалённую отладку с помощью Delve.

Delve работает как сервер, принимающий подключения от клиента (например, VS Code).

Он умеет удалённо:

• Ставить брейкпоинты,
• Пошагово выполнять код,
• Смотреть значения переменных и стек вызовов,
• Отлаживать goroutines и каналы.

📦 Базовый сценарий

1. Ставите dlv на сервер (go install github.com/go-delve/delve/cmd/dlv@latest).

2. Запускаете приложение в режиме дебага:
dlv exec ./myapp --headless --listen=:2345 --api-version=2 --accept-multiclient


3. На локальной машине подключаетесь через VS Code с помощью плагина и конфигурации launch.json.

Работает даже в Docker-контейнере — просто пробросьте порт.

Самый главный минус — нельзя отлаживать уже запущенный бинарь без перезапуска.

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍147🔥1
🏃‍♀️ 1 день до конца спец предложения

У
спей впрыгнуть на курс «AI-агенты для DS» до завтрашнего повышения цены: 59.000 р. вместо 69.000 р.

🎙 Наш спикер — Никита Зелинский, Chief Data Scientist МТС, в своем канале рассказывает о RAG:

Про RAG слышали все — это уже два года самый массовый способ применения LLM в проде для бизнеса.

Это значит, что точность и надёжность такого решения достаточно предсказуемы для того, чтобы исключить человека из процесса аппрува выдачи LLM,
а связка «локально развернутая LLM + RAG над корпоративными документами» обеспечивает достаточную конфиденциальность, чтобы снять тревожность
«что наши данные попадут в OpenAI».

Эта история настолько популярна, что на рынке есть готовые RAG-решения,
а даже «маленькие» опенсорс-модели (до 5B) уже обзавелись своей RAG-ареной:
👉 https://huggingface.co/spaces/aizip-dev/SLM-RAG-Arena


Во время обучения на курсе «AI-агенты для DS» научим собирать автономные системы под реальные бизнес-задачи. На прошлой неделе мы рассказали о первом занятии.

➡️ вот что ждет слушателей курса на втором:

— Собираем свой RAG-пайплайн на своих данных
— Обсуждаем, почему качество такой системы нельзя измерять «на глаз»
— Разбираем схему LLM as a Judge и как подготовить для неё датасет
— Что такое guardrails и как они спасают от бреда
— Что делать, когда LLM не знает ответа
— Смотрим на агентский RAG и обсуждаем, можно ли использовать RAG как память агента

Если пропустили первое занятие, то вот ссылочка

❗️До повышения цены остался последний день — бронируйте место сейчас
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2👍1
🚀 Стартуйте быстро и пишите код ещё быстрее

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

➡️ Прочитайте статью и узнайте причем тут Google

🐸Библиотека Go-разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5😁2
😱 Завтра цена на курс «AI-агенты для DS» вырастет

Пока вы думаете — другие уже покупают. Что вы теряете, откладывая решение? Как минимум — 10 000 рублей, именно столько вы переплатите завтра. Как максимум — шанс войти в топ-1% дата-сайентистов, которые умеют строить AI-агенты.

🎓 Чему вы научитесь на курсе:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой

Решение за вами.

👉 Купить курс по старой цене
🥱12😁3
✏️ Как в газете, но современный

1. Он помогает разделить код на логически связанные компоненты

2. Тип данных представляющий собой изменяемый массив

3. Структура данных хранящая пары «ключ-значение»

4. Легковесный поток выполнения в Go

5. Блок кода с параметрами и результатом

6. Передача данных между горутинами

Пишите свои ответы в комментарии под спойлером 👇

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
6👏2
📈 Итоги недели

Мы выбрали самые интересные статьи и материалы недели, которые стоит изучить.

Новый линтер для проверки порядка

Библиотека structfieldinitorder для Go реализует линтер, который проверяет, что при инициализации структуры поля указываются в том же порядке, в каком они определены в объявлении структуры.

Современное проектирование Go-приложений

Автор делится опытом построения Go-приложений, подчёркивая важность структуры кода и разделения слоёв.

Предлагаются принципы, такие как использование модели данных как основы и разделение бизнес-логики от хранения данных.

Создание балансировщика нагрузки с нуля

Если вы хотите понять, как работает балансировка нагрузки на уровне разработки, этот процесс стоит изучить с нуля.

Здесь рассматривается создание балансировщика и сопровождается реальным примером реализации на Go.

Пройдите наш опрос про облачные технологии

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

Разработчик (Managed Greenplum) — от 300 000 ₽, Удаленно (Москва/Санкт-Петербург).

Golang разработчик — до 300 000 ₽, Удаленно (Москва).

Golang-разработчик — Гибрид (Екатеринбург).

Golang разработчик (Middle+, Senior)
— Удаленно (Москва).

Go разработчик (Middle) — до 250 000 ₽, удаленно.

Software Development Engineer — Удалённо.

Бустер — Удалённо (не только Москва).

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

Проблема: вреальных системах необходимо эффективно управлять событиями, такими как сигналы операционной системы, для корректного завершения процессов или обработки ошибок. В языке Go для этого используется пакет os/signal, который позволяет перехватывать и обрабатывать системные сигналы, такие как SIGINT или SIGTERM.

Решение: в книге «System Programming Essentials with Go» автор объясняет, как с помощью Go можно управлять системными событиями, используя каналы и горутины для асинхронной обработки сигналов.

Пример кода:
package main

import (
"os"
"os/signal"
"syscall"
"fmt"
"time"
)

func main() {
// Создание канала для получения сигналов
sigChan := make(chan os.Signal, 1)
// Уведомление о получении SIGINT и SIGTERM
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)

// Запуск горутины для обработки сигнала
go func() {
sig := <-sigChan
fmt.Printf("Получен сигнал: %s. Завершаем программу...\n", sig)
// Здесь можно добавить код для корректного завершения работы
time.Sleep(2 * time.Second) // Имитируем время на завершение
os.Exit(0)
}()

fmt.Println("Программа работает. Нажмите Ctrl+C для завершения.")
select {} // Блокировка основного потока
}


Преимущества:

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

➡️ Лучшее из мира IT-книг — у нас в @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤩73🥱2
💔AI vs Developer: who wins?

Бигтех уже режет найм разработчиков. Вайб-кодинг повсюду. Джуны не нужны. Но так ли это на самом деле?

Мы хотим разобраться, как ИИ влияет на рынок труда в IT. В реальности, а не в головах CEO или HR. Поэтому приглашаем пройти опрос.

Результаты нашего исследования позволят выяснить, сколько разработчиков потеряли работу из-за ИИ? Какие навыки сейчас ценятся больше всего? Кто зарабатывает больше — те, кто использует ИИ или игнорирует?

👾 Расскажите свою историю, чтобы помочь комьюнити: https://clc.to/aFntFw
😁11👾4👍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
👍4🔥21👾1