☕️ Дайджест недели: после первой чашки кофе
Коротко и по делу: собрали для вас новости из мира Go.
➖ Тестирование с
➖ Написано на Go: GitHub выпускает MCP-сервер для интеграции с API
➖ Revive v1.8.0
➖ Новый эпизод подкаста Cup o' Go
➖ Минорные патчи безопасности Go
➖ Поучаствуйте в нашей подборке ноутов
➖ Проверьте свои знания Go
🐸 Библиотека Go разработчика #свежак
Коротко и по делу: собрали для вас новости из мира Go.
b.loop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Forwarded from Библиотека Go для собеса | вопросы с собеседований
Затенение
var x int = 10 // глобальная переменная
func main() {
x := 20 // локальная переменная, затеняющая глобальную
fmt.Println(x) // Выведет 20, потому что локальная переменная затеняет глобальную
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23
Forwarded from Библиотека задач по Go | тесты, код, задания
goto
для перехода из одной функции в другую👻 — Это приведёт к ошибке компиляции, так как
goto
работает только внутри одной функции.🌚 — Это возможно, но только если функции находятся в одном пакете.
⚡️ — Это приводит к стековому переполнению, так как переход между функциями дорогостоящий.
🎉 —
goto
разрешает переход между функциями, но лучше использовать обычные вызовы функций.Please open Telegram to view this post
VIEW IN TELEGRAM
🎉52👏3👍2👾2
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
В каждой команде бывают специалисты, чья ценность не укладывается в привычные метрики продуктивности. Они редко в топе по количеству закрытых задач, но именно их вклад критически важен для общего результата.
Такие люди помогают менее опытным коллегам разобраться в сложных вопросах, улучшают архитектуру и процессы незаметными правками, предотвращают ошибки ещё до того, как они стали задачами, создают культуру качества, которую не видно в отчётах.
Иногда стоит пересмотреть, как мы оцениваем эффективность. Потому что не все цифры отражают суть.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍9❤1
🔧 Установка
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()
💬 Какой либой для кэша пользуетесь вы? Делитесь в комментариях👇
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥13👍7🤔5
Гоферы!
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый Go-разработчик.
➡️ Поддержать канал: https://www.tg-me.com/boost/goproglib
Проголосуйте за наш канал, и в сторис мы опубликуем топ материалов, которые должен прочитать каждый Go-разработчик.
Please open Telegram to view this post
VIEW IN TELEGRAM
3🥱15😢2❤1🔥1
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🤦♂️ Я забил на споры о микросервисах с архитекторами, и вот почему
С момента появления концепции микросервисов прошло уже несколько лет. За это время появилось много споров о её эффективности.
Зачем спорить о микросервисах, если можно просто посмотреть на факты? Давайте разберёмся, что действительно важно
➡️ Читать статью
💬 Как вы относитесь к микросервисам? Использовали ли вы их в своих проектах? Ждём ваши комментарии 👇
🐸 Библиотека devops'a
С момента появления концепции микросервисов прошло уже несколько лет. За это время появилось много споров о её эффективности.
Зачем спорить о микросервисах, если можно просто посмотреть на факты? Давайте разберёмся, что действительно важно
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥱6🌚1
lazygit — это удобный и понятный интерфейс для работы с Git прямо в терминале. Настоящая находка для тех, кто ценит скорость и наглядность.
Решение конфликтов, переключение веток, работа с stash, выполнение rebase или amend — всё это становится проще, потому что действия визуализированы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩8❤2👍2🎉1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁37👍2🌚2
🌐 Чек-лист: как искать работу
Чтобы не застрять в вечной отладке своей карьеры, держим в голове (и перед глазами) понятный план. Вот чек-лист на период поиска:
✅ Обновите резюме и профиль (и да, 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 разработчика #буст
Чтобы не застрять в вечной отладке своей карьеры, держим в голове (и перед глазами) понятный план. Вот чек-лист на период поиска:
Покажите, что у вас не только есть опыт, но и 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, конкурентного доступа и профилирования.
• Подготовьте истории про то, как вы спасали прод — но без «встал и всё заработало».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🔥1
Forwarded from Библиотека шарписта | C#, F#, .NET, ASP.NET
🕸 Как работает протокол HTTP/2: основные принципы и преимущества в сравнении с HTTP/1.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
Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.
🧐 Но что, если есть простая формула, способная:
• Мгновенно определить, насколько «разбросаны» ваши данные
• Значительно улучшить точность ваших ML-моделей
• Помочь обнаружить аномалии, которые вы раньше не замечали
В нашем вебинаре мы раскрываем все секреты дисперсии — без сложных терминов и занудных объяснений. Вы узнаете, почему дисперсия — как соль: без нее все пресно, а с переизбытком — несъедобно.
Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤖 Нужен ли Live Reload в Go
Автоматический перезапуск приложения при изменении кода — звучит удобно. Но не для всех.
💬 В чате разработчики обсуждали Go Air — это инструмент, который отслеживает изменения в Go-проекте и перезапускает приложение.
Один из участников сказал:
Кто-то поддержал:
Другие поделились альтернативами:
В обсуждение включились и те, кто не фанат Go Air, но советуют другие инструменты:
💬 А вы как работаете с Go-проектами? Любите автоматизацию или предпочитаете руками и с контролем?
🐸 Библиотека Go разработчика #междусобойчик
Автоматический перезапуск приложения при изменении кода — звучит удобно. Но не для всех.
💬 В чате разработчики обсуждали Go Air — это инструмент, который отслеживает изменения в Go-проекте и перезапускает приложение.
Один из участников сказал:
Билдить бинарик при каждом чихе — это кринж.
Кто-то поддержал:
Я запускаю сборку после логических блоков, а сохраняю код чаще. GoLand, кстати, автосейвит всё подряд — там вообще беда.
Другие поделились альтернативами:
Я пользуюсь docker compose: билдится и запускается вручную — по хоткеям. Удобно и понятно.
В обсуждение включились и те, кто не фанат Go Air, но советуют другие инструменты:
Мне Air тоже не зашёл. Но есть wgo, templ --watch --proxy — работают проще и без конфигов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Если вы работали с tRPC, то знаете, насколько удобно иметь типобезопасность от сервера до клиента. Но у tRPC есть ограничение — и сервер, и клиент должны быть на TypeScript. Не всем это подходит.
В новом видео представлена библиотека RERPC, разработанная для Go, которая решает эту проблему. Она позволяет создавать типобезопасные RPC-интерфейсы между языками.
• Автоматическая генерация клиента на основе изменений в Go-сервере.
• Поддержка всех базовых Go-типов, включая вложенные структуры.
• Обработка Option и Nullable значений через вспомогательные типы (в духе Rust).
• Встроенная валидация и сериализация JSON, которую можно использовать отдельно от RPC.
• Интеграция через CLI, который отслеживает изменения и автоматически обновляет клиент.
Сейчас доступны TypeScript, Go, Rust, Kotlin, Swift, Dart.
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 разработчика #буст
Templiér — это инструмент для разработки фронтенда на Go с использованием шаблонизатора Templ.
Он обеспечивает:
В отличие от стандартного режима наблюдения Templ, Templiér продолжает работу даже при ошибках компиляции, предоставляя более стабильный и информативный опыт разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7🥱6👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42🌚8🥰2
Forwarded from Библиотека C/C++ разработчика | cpp, boost, qt
Сомневаетесь в своем прогрессе? Мы собрали 7 четких признаков того, что вы реально растете как разраб. Спойлер: дело не только в коде!
👉 Подробнее в статье
👉 Подробнее в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20👍2🔥1
Пишете проект, спокойно уживаетесь с коллегами, пока в проект не врывается:
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔14👍3
🪓 Когда ваш код на Go всё больше напоминает тоннель на уровне y=-54
Вы уже не уверены, goroutine — это про параллелизм или новый способ добычи редстоуна?
Ваш main() разрастается, как база в режиме выживания, а defer используется чаще, чем факелы в шахте?
➡️ Пора выяснить, где заканчивается программирование и начинается крафтинг
🐸 Библиотека Go разработчика
Вы уже не уверены, goroutine — это про параллелизм или новый способ добычи редстоуна?
Ваш main() разрастается, как база в режиме выживания, а defer используется чаще, чем факелы в шахте?
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱13❤2👍2😁1