Чтобы не собирать вручную десятки однотипных команд для облачной CLI, мы в MWS Cloud Platform сделали генератор: он берёт OpenAPI-спеки и сам создаёт готовый инструмент для управления облаком.
В статье кратко:
— почему выбрали Go + Cobra и кодогенерацию;
— как из путей и методов рождаются mws <service> <component> <op>;
— профили, автообновление, удобный вывод;
— что получилось в итоге и зачем это бизнесу.
Читать статью
В статье кратко:
— почему выбрали Go + Cobra и кодогенерацию;
— как из путей и методов рождаются mws <service> <component> <op>;
— профили, автообновление, удобный вывод;
— что получилось в итоге и зачем это бизнесу.
Читать статью
❤8🔥6👍3😁2🤯1
и у автора есть много аргументов, почему.
В статье автор разбирает, почему популярный Go-фреймворк Gin может создавать скрытые проблемы в продакшене.
Главные идеи:
• ✋ Простота Gin обманчива, он прячет логику, которую разработчики не контролируют.
• ⚠️ Middleware-цепочки легко становятся неявными и сложными для отладки.
• 🧩 Встроенная магия (binding, context, handlers) делает код удобным, но снижает прозрачность.
• ⚡ Производительность на реальных нагрузках может страдать, особенно при интенсивной сериализации и работе с JSON.
• 🔍 Автор продвигает мысль: чем легче фреймворк кажется, тем труднее понять, как он ломается.
Gin хорош для старта и прототипов, но в крупных системах нужно либо тщательно контролировать то, что он делает “за вас”, либо рассматривать более прозрачные подходы.
https://eblog.fly.dev/ginbad.html
@Golang_google
#golang #go #gin
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍48❤12🤬9🔥8😁2😱2
This media is not supported in your browser
VIEW IN TELEGRAM
От первой строчки кода — до миллионов запросов в секунду.
В VK бэкендеры решают задачи, которые действительно меняют цифровой ландшафт. Узнайте об их принципах работы и драгоценных победах. По ссылке — истории из первых рук и вакансии для тех, кто не боится вызовов.
В VK бэкендеры решают задачи, которые действительно меняют цифровой ландшафт. Узнайте об их принципах работы и драгоценных победах. По ссылке — истории из первых рук и вакансии для тех, кто не боится вызовов.
❤5🤔4🔥1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
📊 Terminal Excel Viewer for Fast Data Management 🚀
Vex TUI - это мощный терминальный интерфейс для просмотра Excel и CSV файлов. Он предлагает шесть стильных тем, удобную навигацию с поддержкой Vim и множество функций для работы с данными, включая визуализацию и экспорт. Идеально подходит для тех, кто предпочитает работать в терминале.
🚀Основные моменты:
- Поддержка Excel и CSV файлов
- Шесть красивых тем оформления
- Визуализация данных с графиками
- Удобные клавиатурные сокращения
- Оптимизация для работы с большими файлами
📌 GitHub: https://github.com/CodeOne45/vex-tui
#go
Vex TUI - это мощный терминальный интерфейс для просмотра Excel и CSV файлов. Он предлагает шесть стильных тем, удобную навигацию с поддержкой Vim и множество функций для работы с данными, включая визуализацию и экспорт. Идеально подходит для тех, кто предпочитает работать в терминале.
🚀Основные моменты:
- Поддержка Excel и CSV файлов
- Шесть красивых тем оформления
- Визуализация данных с графиками
- Удобные клавиатурные сокращения
- Оптимизация для работы с большими файлами
📌 GitHub: https://github.com/CodeOne45/vex-tui
#go
🤯20👍10❤6🔥5🥰1
Любопытная статья, в которой показано, как реализовать масштабируемый tail-механизм на Go для чтения и обработки данных в реальном времени. Речь не про «прочитать файл до конца», а про системы, которые постоянно слушают источники и реагируют на новые события.
Самая суть идеи:
tail-сервис - это непрерывный конвейер, который читает данные, обрабатывает их и сразу передает дальше, не блокируясь и не падая под нагрузкой.
Ключевые проблемы, которые нужно решить:
- непрерывное чтение данных без блокировок
- обработка тысяч событий параллельно
- устойчивость к ошибкам и сбоям источников
- масштабирование без сложной синхронизации
Почему Go хорошо подходит:
- легкие goroutine
- каналы вместо shared state
- простая модель конкурентности
- удобный graceful shutdown через context
Базовая архитектура tail-сервиса:
- reader читает данные из источника и кладет в канал
- parser превращает сырые строки в структуру
- filter отбрасывает ненужные события
- dispatcher рассылает данные дальше (метрики, алерты, стримы)
Важный принцип - никакой тяжелой логики в одном месте. Каждый этап независим и общается через каналы.
Ключевые паттерны:
- неблокирующий select вместо бесконечных циклов
- ограниченные по размеру каналы для backpressure
- worker-пулы для обработки нагрузки
- context для остановки всех горутин без утечек
Масштабирование достигается не сложной магией, а:
- разделением ответственности
- параллельной обработкой
- отсутствием глобальных mutex
- четким контролем потока данных
Tail at scale - это не про файлы, а про потоковую архитектуру. Если правильно выстроить пайплайн из goroutine и каналов, Go позволяет строить надежные realtime-системы, которые легко масштабируются и остаются понятными в поддержке.
Это отличный пример того, как идиоматичный Go решает задачи стриминга и realtime-обработки без лишней сложности.
https://jitesh117.github.io/blog/implementing-tail-at-scale-in-golang/
#golang #go
@Golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
1K❤18👍9🔥8