📰 Главное за неделю
Неважно, в отпуске, на удалёнке или в танке — теперь вы снова в курсе.
➖ Свежий апдейт GoLand
JetBrains выпустила GoLand 2025.1 с полной поддержкой Go 1.24, интеграцией с golangci-lint, улучшенным рефакторингом JSON-тегов и AI-ассистентами для автодополнения и генерации кода.
➖ Простой подход к структуре проектов на Go
Автор делится своим опытом и предлагает упростить структуру проектов на Go, избегая излишней сложности и следуя принципу KISS.
➖ Как писать код, который не развалится
В статье предлагается архитектурный подход, при котором код организуется в слои по уровням абстракции. Каждый слой зависит только от нижележащих, что упрощает тестирование, повторное использование и масштабирование
➖ Главные проблемы распределенных систем (и способы их решения)
➖ 20 лет Git: все такой же необычный, все такой же великолепный
➖ От многомерности к сути: чему нас учит PCA
🐸 Библиотека Go разработчика #свежак
Неважно, в отпуске, на удалёнке или в танке — теперь вы снова в курсе.
JetBrains выпустила GoLand 2025.1 с полной поддержкой Go 1.24, интеграцией с golangci-lint, улучшенным рефакторингом JSON-тегов и AI-ассистентами для автодополнения и генерации кода.
Автор делится своим опытом и предлагает упростить структуру проектов на Go, избегая излишней сложности и следуя принципу KISS.
В статье предлагается архитектурный подход, при котором код организуется в слои по уровням абстракции. Каждый слой зависит только от нижележащих, что упрощает тестирование, повторное использование и масштабирование
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Go | тесты, код, задания
❓ Что делает очередь ожидания в планировщике Go
Anonymous Quiz
59%
Хранит горутины, которые готовы к выполнению на процессоре
13%
Выполняет горутины, когда они готовы, и распределяет их между машинами
14%
Переключает горутины между различными ядрами, ожидая их завершения
14%
Обрабатывает блокировки и синхронизирует горутины в очереди
Middle Backend-developer — Удаленно (Москва)
Старший Backend-разработчик — до 485 000 ₽, Удаленно (Москва)
Senior Golang разработчик — от 250 000 ₽, Удаленно (Москва)
GO-разработчик — Удаленно/Офис (Москва/Краснодар)
Старший Backend-разработчик — от 200 000 ₽, Офис/Гибрид (Москва)
Бустер — удалённо (по всему миру)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Подключились к внешнему API, всё работает, но тесты — как лотерея: то проходит, то «502». Если это про Вас, пора узнать, как создать фейковый сервер и навести порядок.
import (
"net/http"
"net/http/httptest"
"testing"
"io/ioutil"
)
Он будет эмулировать ответы настоящего API:
fakeServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte(`{"message": "hello, world!"}`))
}))
defer fakeServer.Close()
Выглядеть это будет вот так:
func TestGetMessage(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(`{"message": "hello from test"}`))
}))
defer server.Close()
msg, err := GetMessage(server.URL)
if err != nil || msg == "" {
t.Errorf("ожидался непустой ответ, получена ошибка: %v", err)
}
}
Фейковый сервер может вернуть и ошибку:
httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError)
}))
Теперь у Вас есть рабочий способ тестировать HTTP-клиенты без внешнего API. Осталось только внедрить это в свои тесты — и забыть, что значит «флак».
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда сроки горят, а разработчиков не хватает
Нехватка квалифицированных разработчиков, срывы дедлайнов и перегруз команды — эти проблемы знакомы большинству IT-руководителей. В условиях растущей конкуренции найти баланс между качеством реализации, сроками и бюджетом становится всё сложнее, особенно когда проект требует редких компетенций или быстрого масштабирования.
Решение проблемы — задействовать дополнительные ресурсы на аутсорсе или аутстаффе. Например, обратиться в Proglib. Да-да, мы запустили свою студию веб-разработки!
Что мы предлагаем:
• Опытные специалисты для аутстаффа (frontend, backend, DevOps, UI/UX, PM, BA)
• Полноценная разработка проектов под ключ
• Гибкое масштабирование команды под потребности клиента
• Прозрачная коммуникация и регулярная отчетность
Для каждого проекта формируется индивидуальная команда, исходя из конкретных потребностей заказчика.
Заполните форму, чтобы ускорить свою разработку 👉 https://forms.yandex.ru/u/67e548a4eb614622efa0bcb2/
Нехватка квалифицированных разработчиков, срывы дедлайнов и перегруз команды — эти проблемы знакомы большинству IT-руководителей. В условиях растущей конкуренции найти баланс между качеством реализации, сроками и бюджетом становится всё сложнее, особенно когда проект требует редких компетенций или быстрого масштабирования.
Решение проблемы — задействовать дополнительные ресурсы на аутсорсе или аутстаффе. Например, обратиться в Proglib. Да-да, мы запустили свою студию веб-разработки!
Что мы предлагаем:
• Опытные специалисты для аутстаффа (frontend, backend, DevOps, UI/UX, PM, BA)
• Полноценная разработка проектов под ключ
• Гибкое масштабирование команды под потребности клиента
• Прозрачная коммуникация и регулярная отчетность
Для каждого проекта формируется индивидуальная команда, исходя из конкретных потребностей заказчика.
Заполните форму, чтобы ускорить свою разработку 👉 https://forms.yandex.ru/u/67e548a4eb614622efa0bcb2/
В Go порядок полей в структуре влияет на размер и эффективность использования памяти. Если не обращать на это внимание, программа будет расходовать память впустую.
Что важно знать:
unsafe.Sizeof()
или инструменты визуализации, чтобы проверить реальный размер.Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Веб-сервер, который настраивает себя сам
Если Вы только начинаете свой путь в веб-разработке, выбор веб-сервера может показаться сложным. Но есть Caddy — решение, которое позволяет сосредоточиться на коде, а не на конфигурации.
Что делает Caddy особенным
➖ Самостоятельно получает и обновляет сертификаты от Let's Encrypt.
➖ Один Caddyfile может заменить 200 строк YAML'а
➖ Написан на Go, расширяется плагинами, запускается где угодно. Даже на тостере с Wi-Fi.
➖ Функциональность из коробки:
• Обратный прокси
• Статическая отдача контента
• Балансировка нагрузки
• Поддержка HTTP/3
• Интеграция с PHP (если это ещё актуально для Ваших задач)
➡️ Попробовать Caddy
🐸 Библиотека Go разработчика #буст
Если Вы только начинаете свой путь в веб-разработке, выбор веб-сервера может показаться сложным. Но есть Caddy — решение, которое позволяет сосредоточиться на коде, а не на конфигурации.
Что делает Caddy особенным
• Обратный прокси
• Статическая отдача контента
• Балансировка нагрузки
• Поддержка HTTP/3
• Интеграция с PHP (если это ещё актуально для Ваших задач)
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Как изменились микросервисы за десять лет и действительно ли микросервисная архитектура в 2025 году — маст хэв для большой компании?
Разобрались в этом вопросе с CTO платформ Газпромбанка Андреем Бирюковым и Виктором Цветковым, которые стали гостями подкаста «Техно.Логично»💙
Главные темы эпизода:
⏺ как наладить мониторинг и observability
⏺ какова роль DevOps-культуры в стабильности сервисов и непрерывности процесса разработки
⏺ как поменялись роли инженеров в командах с переходом на новую архитектуру
⏺ что ждет микросервисные подходы в будущем
Посмотреть:
📺 VK Видео
Послушать:
🎵 Яндекс Музыка
📱 Apple Podcasts
💙 VK Музыка
Разобрались в этом вопросе с CTO платформ Газпромбанка Андреем Бирюковым и Виктором Цветковым, которые стали гостями подкаста «Техно.Логично»
Главные темы эпизода:
Посмотреть:
Послушать:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Go хвалят за скорость, простоту и tooling. Но автор видео — разработчик с 15+ годами стажа — показывает, что у этой медали есть обратная сторона.
Please open Telegram to view this post
VIEW IN TELEGRAM
Научитесь правильно использовать интерфейсы — ключ к гибкости и масштабируемости.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Go — один из самых быстрорастущих языков. Его используют VK, Авито, Т-Банк и другие крупные компании для создания высоконагруженных сервисов.
На курсе «Go-разработчик с нуля» Нетологии вы освоите язык до продвинутого уровня, разберётесь в микросервисах и многопоточности, выполните 4 проекта для портфолио и сможете начать искать работу уже в процессе обучения.
Начните карьеру Go-разработчика. Актуальная программа 2025 года, бонусный курс по Python с проверкой домашних заданий и поддержка в трудоустройстве от карьерного центра.
Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5yYLuSY
На курсе «Go-разработчик с нуля» Нетологии вы освоите язык до продвинутого уровня, разберётесь в микросервисах и многопоточности, выполните 4 проекта для портфолио и сможете начать искать работу уже в процессе обучения.
Начните карьеру Go-разработчика. Актуальная программа 2025 года, бонусный курс по Python с проверкой домашних заданий и поддержка в трудоустройстве от карьерного центра.
Реклама. ООО "Нетология". ИНН 7726464125 Erid 2VSb5yYLuSY
Если у вас возникали вопросы по Go — архитектурные, синтаксические или просто «что это вообще сейчас было?» — вы по адресу.
📩 Делитесь вопросами в нашей гугл-форме
И мы обязательно на них ответим
Please open Telegram to view this post
VIEW IN TELEGRAM
🗺 Карта взаимодействия приложения
Когда проект на Go становится больше пары пакетов, держать в голове связи между функциями — задача неблагодарная.
go-callvis решает эту проблему: он строит интерактивную диаграмму вызовов прямо из кода.
Как установить:
Главная команда:
Это запустит HTTP-сервер по адресу http://localhost:7878/, где можно интерактивно просматривать граф вызовов.
➡️ Репозиторий инструмента
🐸 Библиотека Go разработчика #буст
Когда проект на Go становится больше пары пакетов, держать в голове связи между функциями — задача неблагодарная.
go-callvis решает эту проблему: он строит интерактивную диаграмму вызовов прямо из кода.
Как установить:
go install github.com/ofabry/go-callvis@latest
Главная команда:
go-callvis ./...
Это запустит HTTP-сервер по адресу http://localhost:7878/, где можно интерактивно просматривать граф вызовов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Мы не могли пройти мимо нашумевшего тренда и попросили ИИ перенести Go во вселенную Миядзаки.
Как вам образ? Расскажите в комментариях ↓
Please open Telegram to view this post
VIEW IN TELEGRAM
🎧 Cup o' Go: тесты становятся умнее, а рейтинг Go — выше
Что обсудили ведущие на этот раз:
➖ Новый метод T.Output() и хранение артефактов в testing
➖ Новый json/v2 — эксперимент в Go 1.25
➖ Go на 7-м месте в TIOBE
➖ Бенчмаркинг через testing.B.Loop
➡️ Слушать подкаст
🐸 Библиотека Go разработчика #свежак
Что обсудили ведущие на этот раз:
Please open Telegram to view this post
VIEW IN TELEGRAM
Вам нравится читать контент на этом канале?
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Возможно, вы задумывались о том, чтобы купить на нем интеграцию?
Следуйте 3 простым шагам, чтобы сделать это:
1) Нажмите на ссылку: Вход
2) Пополняйтесь удобным способом
3) Размещайте публикацию
Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Собрали топовые материалы, которые получили 51 385 сохранений и кликов от наших подписчиков.
Эту подборку мы будем регулярно пополнять, поэтому сохраняйте тонну пользы, чтобы не потерять!
1. Самоучитель по Go для начинающих. Часть 18. Протокол HTTP.
2. Разработка фулстек-приложения на Go (Gin) + React + Postgres + NATS
3. Паттерны многопоточности в Go
4. Секреты внутреннего устройства аллокатора Go
5. sync.Map в Go
6. Итераторы для пагинации API на Go: эффективная обработка данных
7. Обработка ошибок в Go
Please open Telegram to view this post
VIEW IN TELEGRAM
🔁 CRDT: мир без конфликтов (почти)
Знаете, что общего у Google Docs, оффлайнового режима в Notion и распределённых баз данных? Они не орут, когда вы и коллеги одновременно меняете одни и те же данные. Это — Conflict-Free Replicated Data Types, и это не магия, а математика + немного храбрости.
➖ Когда стоит использовать:
• Приоритет — доступность, а не мгновенная консистентность.
• Нужна автоматическая синхронизация данных между узлами, даже если они работают оффлайн.
• Система должна быть устойчива к сетевым разделениям (split-brain).
➡️ Подробнее в источнике
🐸 Библиотека Go разработчика #буст
Знаете, что общего у Google Docs, оффлайнового режима в Notion и распределённых баз данных? Они не орут, когда вы и коллеги одновременно меняете одни и те же данные. Это — Conflict-Free Replicated Data Types, и это не магия, а математика + немного храбрости.
• Приоритет — доступность, а не мгновенная консистентность.
• Нужна автоматическая синхронизация данных между узлами, даже если они работают оффлайн.
• Система должна быть устойчива к сетевым разделениям (split-brain).
Please open Telegram to view this post
VIEW IN TELEGRAM