Telegram Web Link
☕️ Дайджест недели: после первой чашки кофе

Коротко и по делу: собрали для вас новости из мира Go.

Тестирование с b.loop

Написано на Go: GitHub выпускает MCP-сервер для интеграции с API

Revive v1.8.0

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

Минорные патчи безопасности Go

Поучаствуйте в нашей подборке ноутов

Проверьте свои знания Go

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

Затенение в Go происходит, когда локальная переменная с тем же именем, что и переменная из более широкого диапазона видимости (например, из области функции или глобальной области), перекрывает эту переменную, таким образом скрывая её доступ в текущем контексте.

var x int = 10 // глобальная переменная

func main() {
x := 20 // локальная переменная, затеняющая глобальную
fmt.Println(x) // Выведет 20, потому что локальная переменная затеняет глобальную
}


🐸Библиотека Go для собеса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23
Что произойдёт, если вы используете goto для перехода из одной функции в другую

👻 — Это приведёт к ошибке компиляции, так как goto работает только внутри одной функции.
🌚 — Это возможно, но только если функции находятся в одном пакете.
⚡️ — Это приводит к стековому переполнению, так как переход между функциями дорогостоящий.
🎉goto разрешает переход между функциями, но лучше использовать обычные вызовы функций.

🐸Библиотека задач по Go
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉52👏3👍2👾2
🖥 Метрики эффективности сотрудника

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

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

Иногда стоит пересмотреть, как мы оцениваем эффективность. Потому что не все цифры отражают суть.

🔗 Подробности в статье

🐸 Библиотека джависта
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍91
💡 Go-кэш за 5 минут

🔧 Установка
go get github.com/patrickmn/go-cache


🚀 Быстрый пример
c := cache.New(5*time.Minute, 10*time.Minute)
c.Set("foo", "bar", cache.DefaultExpiration)

val, found := c.Get("foo")
if found {
fmt.Println("Found:", val)
}

• 5m — TTL по умолчанию для всех ключей
• 10m — интервал очистки просроченных ключей
• можно указать cache.NoExpiration — чтобы хранить вечно

🛠 Полезные методы
// Установить с TTL
c.Set("key", "value", time.Minute)
// Получить значение
c.Get("key")
// Удалить ключ
c.Delete("key")
// Очистить всё
c.Flush()


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

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥13👍7🤔5
Гоферы!

Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый Go-разработчик.

➡️Поддержать канал: https://www.tg-me.com/boost/goproglib
Please open Telegram to view this post
VIEW IN TELEGRAM
3🥱15😢21🔥1
🤦‍♂️ Я забил на споры о микросервисах с архитекторами, и вот почему

С момента появления концепции микросервисов прошло уже несколько лет. За это время появилось много споров о её эффективности.

Зачем спорить о микросервисах, если можно просто посмотреть на факты? Давайте разберёмся, что действительно важно

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

💬 Как вы относитесь к микросервисам? Использовали ли вы их в своих проектах? Ждём ваши комментарии 👇

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥱6🌚1
⚙️ Меньше команд — больше кода

lazygit — это удобный и понятный интерфейс для работы с Git прямо в терминале. Настоящая находка для тех, кто ценит скорость и наглядность.

Решение конфликтов, переключение веток, работа с stash, выполнение rebase или amend — всё это становится проще, потому что действия визуализированы.

➡️ Репозиторий ленивого гита

🐸Библиотека Go разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩82👍2🎉1
🌐 Чек-лист: как искать работу

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

Обновите резюме и профиль (и да, 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
2025/07/14 04:04:06
Back to Top
HTML Embed Code: