#НовостиРазработки 🔀 Вышла первая полнофункциональная версия depgraph
❓Зачем это нужно
🔄Depgraph позволяет анализировать и визуализировать зависимости Go-модулей, что облегчает понимание структуры проектов и помогает выявить потенциальные проблемы — например, циклические зависимости.
🤖 Интересно, что предыдущие версии depgraph создавались с помощью AI (Gemini Pro), но он часто ломал уже работающий код, и теперь автор переписывает проект вручную.
🔖Подробнее
✅Go Module Dependency Graph Generator (depgraph) — инструмент, строящий графы зависимостей Go-модулей, размещённых в открытых репозиториях на GitHub.
Depgraph сканирует указанные GitHub-аккаунты (пользователей или организаций), находит в их репозиториях файлы go.mod, извлекает из них прямые зависимости, а затем:
— строит граф зависимостей в формате DOT (его можно визуализировать с помощью Graphviz)
— или выдает топологическую сортировку — список модулей по уровням: сначала модули, ни от кого не зависящие, а затем — зависящие от них.
❓Зачем это нужно
🔄Depgraph позволяет анализировать и визуализировать зависимости Go-модулей, что облегчает понимание структуры проектов и помогает выявить потенциальные проблемы — например, циклические зависимости.
🤖 Интересно, что предыдущие версии depgraph создавались с помощью AI (Gemini Pro), но он часто ломал уже работающий код, и теперь автор переписывает проект вручную.
🔖Подробнее
👍3❤1🔥1
#НовостиРазработки Gemini 2.5 Pro доступна в чате Copilot в VS Code! 😍
💲На данный момент Gemini 2.5 Pro доступна в платной подписке. Она лучше справляется с кодом, логикой, аналитикой, креативом и медленнее, чем Flash, зато поддерживает длинный контекст — до 1 млн токенов!
🆓 В бесплатной версии доступна Gemini 2.0 Flash — облегчённая модель для повседневных задач, быстрее отвечает, особенно на короткие или простые запросы. Может проигрывать Pro в сложных рассуждениях и креативных задачах.
☑️Gemini можно использовать как в чате Copilot в VS Code, так и в иммерсивном чате Copilot на гитхаб.
🔖Подробнее
❇️Gemini 2.5 Pro — новейшая модель Gemini от Google для решения сложных задач; демонстрирует высокие результаты в рассуждении и программировании, а также в тестировании и математических вычислениях.
💲На данный момент Gemini 2.5 Pro доступна в платной подписке. Она лучше справляется с кодом, логикой, аналитикой, креативом и медленнее, чем Flash, зато поддерживает длинный контекст — до 1 млн токенов!
🆓 В бесплатной версии доступна Gemini 2.0 Flash — облегчённая модель для повседневных задач, быстрее отвечает, особенно на короткие или простые запросы. Может проигрывать Pro в сложных рассуждениях и креативных задачах.
☑️Gemini можно использовать как в чате Copilot в VS Code, так и в иммерсивном чате Copilot на гитхаб.
❇️Иммерсивный чат Copilot — это расширенный интерфейс взаимодействия с GitHub Copilot на GitHub.com: полноценный чат с ИИ, интегрированный с вашими репозиториями и кодом.
🔖Подробнее
🔥3❤2
#НовостиРазработки JetBrains проанализировали развитие Go 🚀
Основные результаты исследования, опубликованного JetBrains в апреле 2025 г.:
✅Go входит в "золотой век" своего развития. Будущее Go выглядит стабильным и многообещающим, особенно в DevOps и облачных решениях.
🔖Подробнее
Основные результаты исследования, опубликованного JetBrains в апреле 2025 г.:
📊Число пользователей Go колеблется от 4.7 до 5.8 млн человек.
🎯Чаще всего Go используют:
— для создания бизнес-приложений, веб-сервисов, микросервисов, CLI;
— в разработке облачной инфраструктуры и в DevOps.
🏢 Компании, использующие Go:
— Технологии: Google, Kubernetes, Dropbox, Apple
— Финансы: American Express
— Транспорт и ритейл: Uber, Amazon
— Медиа и игры: Netflix, TikTok, Reddit
🤝 Go и Rust — конкуренты? Go и Rust часто сравнивают, но они дополняют друг друга:
— Go проще и быстрее в разработке, подходит для облачных сервисов, микросервисов и API.
— Rust лучше подходит для низкоуровневой, высокопроизводительной разработки, финансовых платформ и высокочастотного трейдинга.
✔️Часто компании используют оба языка.
✅Go входит в "золотой век" своего развития. Будущее Go выглядит стабильным и многообещающим, особенно в DevOps и облачных решениях.
🔖Подробнее
🥰5🔥2🤪1
#НовостиРазработки 🧩Вышла библиотека бесшовной интеграции Vite-фронтенда к Go-бекенду
❓Как это работает
— В режиме разработки подключение идёт к локальному серверу Vite, который отдаёт JS и CSS, но картинки, SVG и т.д. из public/ нужно отдавать из Go.
— В продакшене подключение идёт к собранным ассетам в dist/assets, которые Go отдаём сам.
— Статические файлы (изображения, HTML, CSS, JS, конфиги и т.п.) можно встроить прямо в исполняемый файл Go-приложения, используя специальную директиву компилятора
— Использование с HTTP-обработчиком: вместо ручного рендера шаблонов можно использовать готовый HTTP-обработчик, который сам вернёт нужный HTML/JS/CSS — для этого используется функция
🔖Подробнее
❇️"Vite backend integration for Go" (от разработчика Oliver Eilhard) — библиотека, позволяющая легко подключать JavaScript-фронтенд, собранный с помощью Vite, к серверной части Go-приложения.
❓Как это работает
— В режиме разработки подключение идёт к локальному серверу Vite, который отдаёт JS и CSS, но картинки, SVG и т.д. из public/ нужно отдавать из Go.
— В продакшене подключение идёт к собранным ассетам в dist/assets, которые Go отдаём сам.
— Статические файлы (изображения, HTML, CSS, JS, конфиги и т.п.) можно встроить прямо в исполняемый файл Go-приложения, используя специальную директиву компилятора
go:embed— Использование с HTTP-обработчиком: вместо ручного рендера шаблонов можно использовать готовый HTTP-обработчик, который сам вернёт нужный HTML/JS/CSS — для этого используется функция
vite.NewHandler(), возвращающая http.Handler🔖Подробнее
🔥8👍2
#НовостиРазработки ✨ Вышел gRPC v1.72.0
1. Основные изменения
🧩 Поддержка зависимостей: минимальная версия Go повышена до 1.23. Поддержка старых версий прекращена.
⚒️Добавлен экспериментальный API
🧹 Старый AddressMap deprecated.
📍
2. Новые фичи
– xDS: добавлена метрика
– balancer/rls: теперь можно задавать
– pickfirst: реализация с поддержкой Happy Eyeballs (быстрый выбор между IPv4/IPv6)
🔖Подробнее
❇️gRPC — высокопроизводительный универсальный фреймворк для удалённых вызовов процедур (RPC — Remote Procedure Call): позволяет одной программе вызывать функции другой, которая может находиться на другом сервере.
1. Основные изменения
🧩 Поддержка зависимостей: минимальная версия Go повышена до 1.23. Поддержка старых версий прекращена.
⚒️Добавлен экспериментальный API
AddressMapV2 с использованием дженериков. Теперь компилятор может проверить типы во время компиляции и избежать ошибок, которые раньше могли проявиться только во время выполнения.🧹 Старый AddressMap deprecated.
📍
EndpointMap теперь также на дженериках для большей типобезопасности и гибкости.2. Новые фичи
– xDS: добавлена метрика
grpc.xds_client.server_failure для отслеживания ошибок соединения– balancer/rls: теперь можно задавать
maxAge больше 5 минут, если в конфиге задан staleAge– pickfirst: реализация с поддержкой Happy Eyeballs (быстрый выбор между IPv4/IPv6)
🔖Подробнее
👍3❤2
#НовостиРазработки 🎉Вышел релиз urfave/cli v3.2.0
❓Что нового
1.🔥Важно! Для большей строгости типов и явности IntFlag теперь использует тип int, а не int64.
Раньше
2. 🚩Новые флаги для конкретных числовых типов для большей строгости и контроля типов. Ранее была только пара
3.✨Кроме того:
— линтер
— добавлена функция
🔖Подробнее
❇️urfave/cli — библиотека для создания командных интерфейсов (CLI) на Go. Это простой и выразительный API, позволяющий быстро разрабатывать CLI-приложения с поддержкой команд, флагов, автодополнения и автогенерации документации.
❓Что нового
1.🔥Важно! Для большей строгости типов и явности IntFlag теперь использует тип int, а не int64.
Раньше
IntFlag всегда возвращал int64, теперь — int, что потенциально ломает совместимость, если код ожидал именно int64. Если вы использовали IntFlag для значений типа int64, вам теперь нужно использовать Int64Flag. То же касается UintFlag2. 🚩Новые флаги для конкретных числовых типов для большей строгости и контроля типов. Ранее была только пара
IntFlag / UintFlag, теперь весь набор от Int8Flag / Uint8Flag до Int64Flag / Uint64Flag.
3.✨Кроме того:
— линтер
golangci-lint обновлён до v2 — добавлена функция
cmd.XXXArgs(), чтобы удобнее доставать аргументы команд в нужных типах без ручного преобразования🔖Подробнее
👍2❤1🔥1
#НовостиРазработки 🎉Goa 3.21: теперь с поддержкой Server-Sent Events (SSE)
❗️В новой версии Goa 3.21 появилась нативная поддержка Server-Sent Events (SSE), что позволяет легко реализовать одностороннюю потоковую передачу данных от сервера к клиенту в реальном времени через HTTP. ✅Отлично подходит для чатов, уведомлений, мониторингов и других real-time сценариев.
❓Что еще нового
✔️ Улучшена генерация OpenAPI примеров: если вы создаёте собственные типы, основанные на примитивах (alias), Goa теперь автоматически использует пример из типа для всех его вхождений, и нет нужды дублировать
✔️ Сгенерированный Goa код теперь проходит проверку популярным анализатором кода staticcheck
🔖Подробнее
❇️Goa — фреймворк для разработки API на Go с использованием декларативного DSL (Domain-Specific Language). Goa экономит время, позволяя описывать API как набор декларативных спецификаций, из которых затем генерируется код серверной и клиентской стороны (маршруты, обработчики, типы и т.д.).
❗️В новой версии Goa 3.21 появилась нативная поддержка Server-Sent Events (SSE), что позволяет легко реализовать одностороннюю потоковую передачу данных от сервера к клиенту в реальном времени через HTTP. ✅Отлично подходит для чатов, уведомлений, мониторингов и других real-time сценариев.
❓Что еще нового
✔️ Улучшена генерация OpenAPI примеров: если вы создаёте собственные типы, основанные на примитивах (alias), Goa теперь автоматически использует пример из типа для всех его вхождений, и нет нужды дублировать
example везде вручную.✔️ Сгенерированный Goa код теперь проходит проверку популярным анализатором кода staticcheck
🔖Подробнее
🔥2❤1👍1
#НовостиРазработки Nativewebp v1.2: поддержка анимации и улучшенная стабильность
❓Что нового в nativewebp v1.2:
🎥 Создание анимированных WebP-файлов с возможностью настройки:
— нескольких кадров,
— длительности каждого кадра,
— методов удаления (disposal methods),
— цикличности воспроизведения,
— цвета фона.
✨Добавлена новая функция
📌Кроме того, внесены небольшие изменения для большей стабильности и добавлены более строгие проверки входных данных для надежности кодирования разных типов изображений и анимаций.
🔖Подробнее
❇️nativewebp — нативный WebP-энкодер, полностью написанный на Go без зависимостей от внешних библиотек (типа libwebp).
❓Что нового в nativewebp v1.2:
🎥 Создание анимированных WebP-файлов с возможностью настройки:
— нескольких кадров,
— длительности каждого кадра,
— методов удаления (disposal methods),
— цикличности воспроизведения,
— цвета фона.
✨Добавлена новая функция
EncodeAll, которая упрощает создание анимаций в формате WebP с поддержкой контейнера VP8X, реализованная полностью на Go.📌Кроме того, внесены небольшие изменения для большей стабильности и добавлены более строгие проверки входных данных для надежности кодирования разных типов изображений и анимаций.
🔖Подробнее
❤2👍1🔥1
#НовостиРазработки 🎉Вышел первый стабильный релиз Grafana k6 v1.0
✨Особенности Grafana k6 v1.0:
✔️ Встроенное создание тестовых проектов через CLI.
✔️ Поддержка модульной структуры с помощью
✔️ Автоматическое форматирование тестов при сохранении, что ускоряет работу с большими файлами.
✔️ Поддержка описания тестовых сценариев через k6 Browser (эмуляция frontend-юзера), что расширяет область применения до e2e- и сквозных тестов.
🚀Grafana k6 v1.0 может серьезно сэкономить время на подготовке тестовой базы и снимает барьер входа для JS-разработчиков
🔖Подробнее
❇️Grafana k6 v1.0 — инструмент нагрузочного тестирования с интеграцией с CI/CD для скриптовых тестов на JavaScript.
Преимущества:
— ориентация на developer experience,
— простой запуск,
— поддержка JS API и
— аналитика тестов в реальном времени.
✨Особенности Grafana k6 v1.0:
✔️ Встроенное создание тестовых проектов через CLI.
✔️ Поддержка модульной структуры с помощью
import/export, что позволяет организовать тесты аналогично «боевому» JS-коду.✔️ Автоматическое форматирование тестов при сохранении, что ускоряет работу с большими файлами.
✔️ Поддержка описания тестовых сценариев через k6 Browser (эмуляция frontend-юзера), что расширяет область применения до e2e- и сквозных тестов.
🚀Grafana k6 v1.0 может серьезно сэкономить время на подготовке тестовой базы и снимает барьер входа для JS-разработчиков
🔖Подробнее
❤1
#НовостиРазработки ✨Обновление Go до версий 1.24.3 и 1.23.9
Что нового❓
🛡Главное изменение в версии 1.24.3 — исправление уязвимости безопасности (CVE-2025-22873). Проблема заключалась в том, что метод
🐞Исправлены баги в обработке TLS, которые могли вызвать падение серверов
🔄Обновлены внутренние зависимости компилятора и стандартной библиотеки, влияющие на стабильность работы приложений
✔️Оптимизирована работа garbage collector, снижен риск утечек памяти
✨Изменения не влияют на публичные API и не требуют перенастройки сборки.
🔖Подробнее
Что нового❓
🛡Главное изменение в версии 1.24.3 — исправление уязвимости безопасности (CVE-2025-22873). Проблема заключалась в том, что метод
os.Root.Open("../") мог открыть родительскую директорию, выходя за пределы "песочницы", заданной Root. Уязвимость затрагивала только Go 1.24.x, версия 1.23.x ей не подвержена.🐞Исправлены баги в обработке TLS, которые могли вызвать падение серверов
🔄Обновлены внутренние зависимости компилятора и стандартной библиотеки, влияющие на стабильность работы приложений
✔️Оптимизирована работа garbage collector, снижен риск утечек памяти
✨Изменения не влияют на публичные API и не требуют перенастройки сборки.
🔖Подробнее
🔥2
#НовостиРазработки ⚠️Вышел Revive v1.10.0
Что нового❓
— Новое правило
— Улучшения
— Интеграция
— Удаление зависимостей и упрощение кода — делает проект легче и устойчивее.
🔖Подробнее
❇️Revive — современный высокоэффективный линтер для Go, замена устаревшего golint. Предлагает более строгие проверки, гибкую настройку и расширяемость, что делает его полезным инструментом для поддержания качества кода в Go-проектах.
Возможности Revive:
— Поддержка кастомных правил и форматтеров через стандартный API
— Отключение правил и линтера для отдельных файлов или строк через комментарии
— Гибкая настройка через TOML (включить, отключить, настроить отдельные правила)
— Множество предустановленных правил (гораздо больше, чем у golint)
Что нового❓
— Новое правило
time-date — полезно для контроля качества кода, связанного с датой/временем.— Улучшения
var-naming — помогает находить бессмысленные имена и улучшать читаемость.— Интеграция
golangci-lint — ускоряет CI и делает линтинг более строгим.— Удаление зависимостей и упрощение кода — делает проект легче и устойчивее.
🔖Подробнее
🔥3
#НовостиРазработки ✨В Go 1.24.4 и Go 1.23.10 закрыты важные уязвимости безопасности
🛡Обновление Go 1.24.4 и Go 1.23.10 содержит три исправления уязвимостей, связанных с безопасностью, особенно важных для тех, кто работает с proxy, сертификатами и врапит сложные сценарии файловой системы.
Что нового❓
1. Исправлен баг в
2. Приведено к единому поведению открытие файлов с флагами
3. Исправлена проблема c
🔖Подробнее
🛡Обновление Go 1.24.4 и Go 1.23.10 содержит три исправления уязвимостей, связанных с безопасностью, особенно важных для тех, кто работает с proxy, сертификатами и врапит сложные сценарии файловой системы.
Что нового❓
1. Исправлен баг в
net/http: при кросс-доменных редиректах могли сохраняться чувствительные заголовки Proxy-Authorization и Proxy-Authenticate, что создавало угрозу утечки данных.2. Приведено к единому поведению открытие файлов с флагами
O_CREATE|O_EXCL: теперь на Unix и Windows os.OpenFile не создаёт файл по dangling symlink, а вместо этого возвращает ошибку.3. Исправлена проблема c
crypto/x509: если в VerifyOptions.KeyUsages был указан ExtKeyUsageAny, не работала валидация политик — это затрагивало редкие кейсы с цепочками сертификатов и графами политик.🔖Подробнее
❤🔥3👍3
#НовостиРазработки ⚙️Расширенные возможности обновленного bob v0.35.0
Что нового❓
📌1. Генерация кода:
— Поддержка SQL-запросов
— Добавлены опции
🛠2. Модификаторы запросов:
—
—
⚙️ 3. Кроме того: расширены возможности использования фабрик (factories), транзакций, удалены устаревшие опции
🔖Подробнее
❇️Bob — набор инструментов для генерации SQL-запросов и ORM-кода на Go. Главная фишка — ориентация на генерацию кода под разные SQL-диалекты и глубокая кастомизация под требования проекта.
❇️ORM-код использует Object-Relational Mapping для взаимодействия с базой данных. Вместо ручного написания SQL-запросов, ORM позволяет работать с БД как с обычными структурами Go (struct), а все SQL-запросы и преобразования данных выполняются "под капотом".
Что нового❓
📌1. Генерация кода:
— Поддержка SQL-запросов
SELECT, INSERT, UPDATE, DELETE для bobgen-mysql и частично для bobgen-sqlite.— Добавлены опции
LIMIT и OFFSET для UPDATE и DELETE в SQLite.🛠2. Модификаторы запросов:
—
IndexedBy и NotIndexed добавлены для SQLite DELETE-запросов.—
OrderCombined, LimitCombined, OffsetCombined добавлены для комбинированных запросов в MySQL.⚙️ 3. Кроме того: расширены возможности использования фабрик (factories), транзакций, удалены устаревшие опции
🔖Подробнее
✍4🔥2
#НовостиРазработки 📈Бенчмаркинг SQLite-драйверов для Go — sqlite-bench v1.1.4
Особенности:
— Покрытие трех драйверов:
1) mattn (CGO),
2) modernc (transpile SQLite C -> Go),
3) ncruces (на wazero)
— Бенчмарки разбиты по сценариям: вставка большого объема данных, сложные
— Результаты представлены по различным платформам и архитектурам (Linux, macOS, Windows, ARM и др.)
— Итоговые таблицы показывают, какой драйвер лидирует в каждом сценарии; общий балл — вспомогательный, ориентируйтесь на свои задачи
⚠️ Предупреждение: бенчмарки специфичны, делайте свои тесты под свои нужды
🔖Подробнее
❇️sqlite-bench v1.1.4 — проект, созданный на основе go-sqlite-bench для сравнительного анализа производительности разных реализации sqlite-драйверов через стандартный database/sql. В отличие от многих аналогов, здесь собраны реальные кейсы работы с базой, а не синтетические тесты, и поддерживается сравнение популярных CGO и pure Go-драйверов.
Особенности:
— Покрытие трех драйверов:
1) mattn (CGO),
2) modernc (transpile SQLite C -> Go),
3) ncruces (на wazero)
— Бенчмарки разбиты по сценариям: вставка большого объема данных, сложные
join-запросы, чтение больших таблиц, конкурентные запросы— Результаты представлены по различным платформам и архитектурам (Linux, macOS, Windows, ARM и др.)
— Итоговые таблицы показывают, какой драйвер лидирует в каждом сценарии; общий балл — вспомогательный, ориентируйтесь на свои задачи
⚠️ Предупреждение: бенчмарки специфичны, делайте свои тесты под свои нужды
🔖Подробнее
🔥2
#НовостиРазработки ✨MCP Go 0.31 — библиотека SDK на Go, реализующая Model Context Protocol
Что умеет❓
1. Создавать MCP-серверы, предоставляющие данные и функции для LLM‑приложений (открытых и приватных языковых моделей).
2. Объявлять инструменты (tools) — действия, которые LLM может вызвать, передавая аргументы, как в
3. Обрабатывать запросы от LLM, вызывая соответствующие Go‑функции и возвращая результат (текст или данные).
4. Работать с ресурсами, промптами, сессиями, транспортами (stdio, SSE, HTTP‑стриминг) и хуками (middleware) для логирования, наблюдения и обработки ошибок.
✔️Итого: простой интерфейс, минимальный шаблон и богатая функциональность для интеграции LLM‑ботов с внешними API и базами данных.
🔖Подробнее
❇️MCP Go 0.31 — это высокоуровневый Go‑SDK для создания серверов, умеющих договариваться с LLM через протокол MCP, декларативно описывать инструменты и надежно обрабатывать запросы, при этом скрывая детали работы самого протокола.
Что умеет❓
1. Создавать MCP-серверы, предоставляющие данные и функции для LLM‑приложений (открытых и приватных языковых моделей).
2. Объявлять инструменты (tools) — действия, которые LLM может вызвать, передавая аргументы, как в
hello_world и calculate.3. Обрабатывать запросы от LLM, вызывая соответствующие Go‑функции и возвращая результат (текст или данные).
4. Работать с ресурсами, промптами, сессиями, транспортами (stdio, SSE, HTTP‑стриминг) и хуками (middleware) для логирования, наблюдения и обработки ошибок.
✔️Итого: простой интерфейс, минимальный шаблон и богатая функциональность для интеграции LLM‑ботов с внешними API и базами данных.
🔖Подробнее
🔥3
#НовостиРазработки Air 1.62 — горячая перезагрузка для приложений на Go
🚀Возможности Air:
— следит за изменениями в исходных файлах и автоматически пересобирает и перезапускает приложение, чтобы разработчик мог видеть изменения сразу, без ручной пересборки и перезапуска;
— ускоряет локальную разработку, особенно при работе с веб-серверами или CLI-утилитами;
— просто интегрируется, экономит время на пересборке и перезапуске;
— 🐳 можно использовать Air внутри Docker контейнера, включая
🔖Подробнее
Air — утилита командной строки для горячей перезагрузки Go-приложений во время разработки, ускоряет цикл разработки за счёт автоматической пересборки и перезапуска приложения при изменениях в коде
🚀Возможности Air:
— следит за изменениями в исходных файлах и автоматически пересобирает и перезапускает приложение, чтобы разработчик мог видеть изменения сразу, без ручной пересборки и перезапуска;
— ускоряет локальную разработку, особенно при работе с веб-серверами или CLI-утилитами;
— просто интегрируется, экономит время на пересборке и перезапуске;
— 🐳 можно использовать Air внутри Docker контейнера, включая
Dockerfile и docker-compose.yaml🔖Подробнее
❤3
#Новостиразработки ⚙️httpgrace – Graceful Shutdown для HTTP-сервера
✨Возможности httpgrace:
— Полная совместимость с функциями
— Graceful shutdown по сигналам
— Таймаут завершения (по умолчанию 10 секунд)
— Структурированный лог через
— Очень простая интеграция — буквально одна строка замены импорта
🔖Подробнее
❇️httpgrace — лёгкий и удобный способ добавить корректное завершение работы HTTP-серверов в Go без необходимости писать дополнительный код. Подходит как для быстрого старта, так и для более сложных конфигураций.
✔️Почему это важно: хорошее завершение запросов при остановке сервиса — обязательная часть продакшен-приложений (иначе теряются данные, висят соединения и т.д.).
✨Возможности httpgrace:
— Полная совместимость с функциями
net/http: ListenAndServe, ListenAndServeTLS, Serve, ServeTLS— Graceful shutdown по сигналам
SIGINT и SIGTERM— Таймаут завершения (по умолчанию 10 секунд)
— Структурированный лог через
slog (стандартный логгер в Go 1.21+)— Очень простая интеграция — буквально одна строка замены импорта
🔖Подробнее
🔥4
#НовостиРазработки 🌟Вышла обновленная версия oRPC v1.7.0
Главное в версии 1.7.0:
✅Smart Coercion Plugin: автоматически приводит значения к нужным типам на основе схем (Zod, Valibot, ArkType).
🎯 Когда полезна oRPC v1.7.0? Если в проекте используются RPC-вызовы, а обработка схем и ошибок происходит вручную: при работе с фронтом и бэком, нуждающемся в согласованности типов (например, React + Zod)
✔️React Server Actions через пакет
✔️Интеграция с Pinia Colada — хранилище для Vue, поддерживаемое oRPC через
✔️oRPC написан на TypeScript, но поддерживает Go на стороне сервера благодаря OpenAPI‑интеграции.
Через
🔖Подробнее
❇️В основе oRPC v1.7.0 — функционал RPC-библиотеки с фокусом на безопасность, расширяемость и поддержку TypeScript/схем
Главное в версии 1.7.0:
✅Smart Coercion Plugin: автоматически приводит значения к нужным типам на основе схем (Zod, Valibot, ArkType).
🎯 Когда полезна oRPC v1.7.0? Если в проекте используются RPC-вызовы, а обработка схем и ошибок происходит вручную: при работе с фронтом и бэком, нуждающемся в согласованности типов (например, React + Zod)
✔️React Server Actions через пакет
@orpc/react. Он предоставляет хуки вроде useServerAction, а также createFormAction для форм в React, Next.js — удобно интегрировать RPC‑вызовы прямо в компоненты✔️Интеграция с Pinia Colada — хранилище для Vue, поддерживаемое oRPC через
@orpc/vue-colada✔️oRPC написан на TypeScript, но поддерживает Go на стороне сервера благодаря OpenAPI‑интеграции.
Через
@orpc/openapi можно сгенерировать спецификацию и использовать её в Go‑сервисе🔖Подробнее
🔥3🤨1💊1
#НовостиРазработки🔥Новый инструмент pproftui для анализа производительности
✔️Заменяет менее удобный
✔️Объясняет профилировочные термины (
🛠 Что умеет:
— Просмотр исходников и графа вызовов
— Подсветка только вашего кода
— Сравнение профилей (дифф)
— Live-профилирование с автообновлением
— Встроенная помощь по F1
📋 Примеры:
— Анализ локального CPU-профиля
— Поиск регрессии между ветками
— Подключение к
— Фильтрация лишнего кода (
📦 Установка:
✨pproftui делает профилирование в Go быстрым, понятным и эффективным — прямо в терминале
🔖Подробнее
❇️ pproftui — интерактивный инструмент для анализа производительности Go-приложений прямо в терминале
✔️Заменяет менее удобный
go tool pprof, устраняя переключения между браузером и кодом✔️Объясняет профилировочные термины (
flat vs cum, cpu, alloc) прямо в UI.🛠 Что умеет:
— Просмотр исходников и графа вызовов
— Подсветка только вашего кода
— Сравнение профилей (дифф)
— Live-профилирование с автообновлением
— Встроенная помощь по F1
📋 Примеры:
— Анализ локального CPU-профиля
— Поиск регрессии между ветками
— Подключение к
staging/live-сервису— Фильтрация лишнего кода (
runtime, vendor)📦 Установка:
go install github.com/Oloruntobi1/pproftui@latest
✨pproftui делает профилирование в Go быстрым, понятным и эффективным — прямо в терминале
🔖Подробнее
👍3
#НовостиРазработки 📦PocketBase — лёгкий бэкенд на Go со встроенной SQLite
✨Возможности PocketBase:
✔️ Встроенная админка
✔️ SQLite + realtime
✔️ REST + файл/пользователь менеджмент
✔️Отлично подходит для MVP, pet-проектов, демо
⚙️Для начала работы:
— Достаточно скачать готовый исполняемый файл, запустить команду
— При запуске создаются две папки:
⚠️ PocketBase ещё в активной разработке, и для production-решений рекомендуется с осторожностью
🔖Подробнее
❇️PocketBase — удобный бэкенд на Go для быстрого старта фронтенд-проекта (например, с React/Vue) со встроенной SQLite, REST API, realtime подписками и UI-админкой. Он подходит как фреймворк или как отдельный сервер.
✨Возможности PocketBase:
✔️ Встроенная админка
✔️ SQLite + realtime
✔️ REST + файл/пользователь менеджмент
✔️Отлично подходит для MVP, pet-проектов, демо
⚙️Для начала работы:
— Достаточно скачать готовый исполняемый файл, запустить команду
./pocketbase serve, создать суперпользователя и использовать веб-интерфейс и REST API.— При запуске создаются две папки:
pb_data для хранения данных и файлов, и pb_migrations для скриптов миграций.⚠️ PocketBase ещё в активной разработке, и для production-решений рекомендуется с осторожностью
🔖Подробнее
❤6
📧Сервер тестирования исходящей почты на Go — Inbucket
Когда это полезно❓Если разработчик или тестировщик:
✔️ работает за фаерволом и не может пользоваться публичными сервисами вроде Mailinator;
✔️разрабатывает закрытый проект и не хочет раскрывать его до релиза;
✔️проводит интеграционное тестирование;
✔️хочет показать письмо коллеге без передачи личных данных;
✔️делает нагрузочные тесты без перегрузки корпоративного почтового сервера;
✔️использует реальные данные в тестах, но не хочет, чтобы тестовые письма ушли клиентам;
✔️проверяет отображение писем в разных почтовых клиентах.
Что нового в версии 3.1.0❓
Добавлена поддержка
🔖Подробнее
❇️Inbucket — сервер для тестирования исходящей почты, позволяющий перехватывать письма от приложений и просматривать их без доставки реальным адресатам.
✅Проект зрелый, Docker-образ скачан свыше миллиона раз
Когда это полезно❓Если разработчик или тестировщик:
✔️ работает за фаерволом и не может пользоваться публичными сервисами вроде Mailinator;
✔️разрабатывает закрытый проект и не хочет раскрывать его до релиза;
✔️проводит интеграционное тестирование;
✔️хочет показать письмо коллеге без передачи личных данных;
✔️делает нагрузочные тесты без перегрузки корпоративного почтового сервера;
✔️использует реальные данные в тестах, но не хочет, чтобы тестовые письма ушли клиентам;
✔️проверяет отображение писем в разных почтовых клиентах.
Что нового в версии 3.1.0❓
Добавлена поддержка
Lua-скриптов, фильтрация писем по домену источника и улучшенный TLS для SMTP/POP3. Доступны бинарные файлы и Linux-пакеты, разработана документация🔖Подробнее
🔥3👍1