Библиотека Go-разработчика | Golang
23.3K subscribers
2.07K photos
42 videos
87 files
4.44K links
Все самое полезное для Go-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/32d20779

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a4a8c2468
Download Telegram
🌐 Чек-лист: как искать работу

Чтобы не застрять в вечной отладке своей карьеры, держим в голове (и перед глазами) понятный план. Вот чек-лист на период поиска:

Обновите резюме и профиль (и да, Go-модули на GitHub — тоже)

Покажите, что у вас не только есть опыт, но и Golang под капотом:
• актуальные технологии (Go 1.20+, gRPC, PostgreSQL, Redis, Kafka, Docker и пр.).
• внятные результаты («снизил время отклика API на 40%», а не «делал API»).
• ссылки на GitHub с чистыми, рабочими проектами (а не репо «test123» с одним файлом main.go).

Сформулируйте ключевые навыки и корректные поисковые запросы.

Рекрутеры — не экстрасенсы. Упростите им жизнь и напишите в резюме: Gin, Echo, Fiber, REST/gRPC, PostgreSQL, Redis, Kafka, RabbitMQ, CI/CD, Kubernetes.
Даже если вы фанат net/http — упомяните это тоже.

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

• Настройте уведомления на LinkedIn, Habr Career, hh.
• Подпишитесь на каналы с вакансиями, например, наш канал с вакансиями для трушных go-разработчиков.

Готовьтесь к собеседованиям заранее

• Освежите основы: goroutines, channels, context, interfaces, error handling.
• Разберитесь с нюансами работы garbage collector, конкурентного доступа и профилирования.
• Подготовьте истории про то, как вы спасали прод — но без «встал и всё заработало».

💬 Сколько в среднем ищете работу? Пару дней или пару месяцев? Пишите в комментарии👇

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥1
🕸 Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.1

​HTTP/2 — это как переход с однополосной дороги HTTP/1.1 на скоростное шоссе: быстрее, эффективнее и без пробок.

Узнайте, как новые технологии ускоряют загрузку веб-страниц и улучшают работу приложений.

➡️ Читать статью

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11👍5🥱1👾1
Media is too big
VIEW IN TELEGRAM
🙈 Что скрывает дисперсия: разгадка секрета точных ML-моделей

Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.

🧐 Но что, если есть простая формула, способная:

• Мгновенно определить, насколько «разбросаны» ваши данные

• Значительно улучшить точность ваших ML-моделей

• Помочь обнаружить аномалии, которые вы раньше не замечали

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

Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?

Тогда смотрите бесплатный вебинар от Proglib: https://proglib.io/w/83c03e95
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤖 Нужен ли Live Reload в Go

Автоматический перезапуск приложения при изменении кода — звучит удобно. Но не для всех.

💬 В чате разработчики обсуждали Go Air — это инструмент, который отслеживает изменения в Go-проекте и перезапускает приложение.

Один из участников сказал:
Билдить бинарик при каждом чихе — это кринж.


Кто-то поддержал:
Я запускаю сборку после логических блоков, а сохраняю код чаще. GoLand, кстати, автосейвит всё подряд — там вообще беда.


Другие поделились альтернативами:
Я пользуюсь docker compose: билдится и запускается вручную — по хоткеям. Удобно и понятно.


В обсуждение включились и те, кто не фанат Go Air, но советуют другие инструменты:
Мне Air тоже не зашёл. Но есть wgo, templ --watch --proxy — работают проще и без конфигов.


💬 А вы как работаете с Go-проектами? Любите автоматизацию или предпочитаете руками и с контролем?

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👀 Что посмотреть: tRPC на Go

Если вы работали с tRPC, то знаете, насколько удобно иметь типобезопасность от сервера до клиента. Но у tRPC есть ограничение — и сервер, и клиент должны быть на TypeScript. Не всем это подходит.

В новом видео представлена библиотека RERPC, разработанная для Go, которая решает эту проблему. Она позволяет создавать типобезопасные RPC-интерфейсы между языками.

Основные возможности:

• Автоматическая генерация клиента на основе изменений в Go-сервере.

• Поддержка всех базовых Go-типов, включая вложенные структуры.

• Обработка Option и Nullable значений через вспомогательные типы (в духе Rust).

• Встроенная валидация и сериализация JSON, которую можно использовать отдельно от RPC.

• Интеграция через CLI, который отслеживает изменения и автоматически обновляет клиент.

Сейчас доступны TypeScript, Go, Rust, Kotlin, Swift, Dart.
💬 Какие языки, по вашему мнению, стоило бы поддержать в будущем?

➡️ Смотреть видео

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🎉1
🛠 Templiér — когда Templ перестаёт быть болью

Templiér — это инструмент для разработки фронтенда на Go с использованием шаблонизатора Templ.

Он обеспечивает:​

Автоматическую пересборку сервера и перезагрузку вкладок браузера при изменениях в .templ и других файлах.​

Отображение ошибок компиляции и линтинга непосредственно в браузере.​

Поддержку пользовательских наблюдателей для выполнения команд, таких как сборка JavaScript или CSS.​

Гибкую конфигурацию через YAML-файл.​

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

➡️ Репозиторий инструмента

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7🥱6👍2
Сомневаетесь в своем прогрессе? Мы собрали 7 четких признаков того, что вы реально растете как разраб. Спойлер: дело не только в коде!

👉 Подробнее в статье
👨‍💻 Допустим ли микс стилей в Go-коде

Пишете проект, спокойно уживаетесь с коллегами, пока в проект не врывается:

один разраб, что тянет объектно-ориентированную гегемонию с методами на структурах, DI и интерфейсами как контрактами,

второй — адепт функционального мышления, мечтающий про map, filter, reduce и чистые функции,

третий — олдскульный процедурщик, которого волнует, чтобы просто «работало» в 200 строк без лишнего.

💬 А что вы думаете насчёт такого стиля? Всего понемножку или всё же сойдёмся на чём-то одном? Пишите своё мнение в комментарии 👇

🐸Библиотека Go разработчика #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔14👍3
🪓 Когда ваш код на Go всё больше напоминает тоннель на уровне y=-54

Вы уже не уверены, goroutine — это про параллелизм или новый способ добычи редстоуна?
Ваш main() разрастается, как база в режиме выживания, а defer используется чаще, чем факелы в шахте?

➡️ Пора выяснить, где заканчивается программирование и начинается крафтинг

🐸Библиотека Go разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱132👍2😁1
👋 Всем привет!

Мы ищем участников для интервью на тему «Обучение навыкам в IT»!

Кто нам нужен?
— Вы разработчик или дата сайентист, прокачивающий свои навыки. Или хотите войти в IT.

Что нужно сделать?
— Заполните гуглоформу по теме (займет не более 10 минут).
— Если нас заинтересует ваш опыт, мы пригласим поучаствовать в небольшом интервью по Zoom (не больше 45 минут).
— Вознаграждение: 1500 рублей на карту за участие + уникальный шанс пообщаться с нашим CEO!

Откликнуться.
21👍1
📰 Технический дайджест

Собрали ключевые события и релизы за последние дни.

Новый эпизод подкаста Cup o' Go

Возможно, WebSockets вам не нужны
Статья про отказ от WebSockets в пользу более простых альтернатив вроде HTTP-стриминга.

depgraph
Инструмент для анализа зависимостей Go-модулей. Он сканирует указанные GitHub-организации или аккаунты, извлекает зависимости из файлов go.mod и строит граф в формате DOT.

go-fluxus v1.1.1
Лёгкая и типобезопасная библиотека для создания и управления пайплайнами в Go

7 признаков того, что вы растёте как программист

Как работает протокол HTTP/2

➡️ Вакансия бустера

🐸Библиотека Go разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Что выведет код

👻 — 24
🌚 — 24.7
⚡️ — 0
🎉 — Ошибка времени выполнения

🐸Библиотека задач по Go
Please open Telegram to view this post
VIEW IN TELEGRAM
86👾4👍2💯21
🐶 Топ-вакансий для go разработчиков за неделю

Разработчик Go (Middle+/Senior) — 250 000 ₽, Удаленно (Рязань)

Go Developer — от 272 000 ₽, Удаленно (Москва, Санкт-Петербург)

Golang Developer (Middle / Senior) — Удаленно (Москва)

Go-разработчик
— Удаленно (Москва)

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

Бустер — удалённо (по всему миру)

➡️ Еще больше топовых вакансий — в нашем канале Go jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😁2
📝 Шпаргалка по путешествиям данных

Подготовили для вас компактный гид по передаче данных по API.

💾 Сохраняйте к себе, чтобы не потерять

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104🔥2🥱1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
📦 Главные проблемы распределенных систем (и способы их решения)

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

➡️ В этой статье мы рассмотрим четыре ключевых вызова в разработке таких систем и эффективные методы их преодоления.

🐸 Библиотека программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😍2
⚙️ How to: пайплайн для Go приложения

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

Подготовили для вас небольшой пример для настройки своего пайплайна:
name: Build Go Application

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
goos: [linux, windows]
goarch: [amd64, 386]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.24'

- name: Build for ${{ matrix.goos }}-${{ matrix.goarch }}
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
run: |
go build -o myapp-${{ matrix.goos }}-${{ matrix.goarch }} .

- name: Upload release binaries
uses: actions/upload-artifact@v2
with:
name: myapp-${{ matrix.goos }}-${{ matrix.goarch }}
path: myapp-${{ matrix.goos }}-${{ matrix.goarch }}


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

· on: этот блок определяет, когда будет запускаться ваш workflow. В данном случае он будет запускаться при push в ветку main и при создании pull request.

· jobs: создаём один job, который будет выполняться на последних версиях Ubuntu. В рамках этого job будет запускаться матричный процесс, который соберёт приложение для нескольких операционных систем и архитектур.

· matrix: этот параметр позволяет создать несколько сборок для разных комбинаций операционных систем (GOOS) и архитектур (GOARCH). В примере указаны Linux и Windows с двумя архитектурами: amd64 и 386.

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍294👾2
✉️ Промпт дня: как ответить на сообщение

Каждому из нас пишут — в деловом стиле, с намёками, голосовухами в 2 утра. А как вы отвечаете? По наитию? Или уже выработали свой стиль?

Предлагаем поиграть с форматом ответа — и сделать его выразительным:
You are a highly skilled Developer Psychologist, specializing in communication strategies that balance personal well-being with professional responsibilities. Your expertise lies in crafting responses to emails and requests that assert personal boundaries while maintaining positive working relationships. Your goal is to provide a framework for responding to requests in a way that respects your own needs and desires.

Here is the format you will use to analyze the request and formulate a response:

---

## Request Analysis
$request_summary: Briefly summarize the email or request.
$personal_impact: How does this request make you feel? (e.g., overwhelmed, excited, indifferent)
$desired_outcome: What is your ideal outcome in responding to this request? (e.g., decline politely, negotiate a deadline, delegate the task)

## Response Options

### Option 1: Direct Acceptance
$response_1: A draft response directly accepting the request.
$pros_1: What are the potential benefits of this approach?
$cons_1: What are the potential drawbacks of this approach?

### Option 2: Negotiated Acceptance
$response_2: A draft response accepting the request with modifications (e.g., adjusted deadline, clarified scope).
$pros_2: What are the potential benefits of this approach?
$cons_2: What are the potential drawbacks of this approach?

### Option 3: Polite Decline
$response_3: A draft response politely declining the request.
$pros_3: What are the potential benefits of this approach?
$cons_3: What are the potential drawbacks of this approach?

## Recommended Response
$recommended_response: Based on the analysis, which response option is most suitable and why? Provide the final, polished response.
$justification: Explain the reasoning behind the recommended response, considering both personal well-being and professional obligations.

---

Here is the email/request you need to respond to:


💬 А вам просто отвечать коллегам? Или надо трижды подумать прежде чем ответить? Делитесь переживаниями в комментариях 👇

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