37.3K subscribers
1.48K photos
35 videos
5 files
1.62K links
加入频道
👣 Xilt — парсер CLF-логов с записью в SQLite
Нужен лёгкий и быстрый инструмент для анализа логов в формате Common/Combined Log Format? Попробуй Xilt — CLI-утилиту на Go с поддержкой многопоточности.

Что умеет:
📥 Парсит .log-файлы и сохраняет в SQLite
⚙️ Управление потоками - avgLogSize, batchSize, maxMemUsage
🧠 Автоиндексы по IP, методу, пути, времени, referer
💻 Verbose-режим для дебага
🟨 Go-install без проблем

📦 Установка:

go install go.vxn.dev/xilt/cmd/xilt@latest


▶️ Запуск:

xilt access.log logs.db


🔗 GitHub — thevxn/xilt

#Golang #Logs #SQLite #CLItools #DevOps

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣Higress — это современный облачно-нативный API-шлюз с открытым исходным кодом, разработанный Alibaba.

Он построен на базе Istio и Envoy и предназначен для интеграции в инфраструктуру микросервисов, обеспечивая управление трафиком, безопасность и поддержку AI-сервисов.​

🔧 Основные возможности Higress
Интеграция с AI-сервисами: Higress поддерживает AI-ориентированные функции, включая интеллектуальное управление трафиком и безопасность контента.​

- Поддержка WebAssembly (Wasm): Позволяет расширять функциональность шлюза с помощью плагинов, написанных на различных языках программирования.​

- Соответствие стандартам: Поддерживает стандарты Ingress, Gateway API и Istio API, обеспечивая совместимость с другими решениями.​

- Управление API: Предоставляет функции для управления API, включая аутентификацию, авторизацию и мониторинг.​

🌐GitHub: github.com/alibaba/higress
🔗 Официальный сайт: higress.cn

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Оптимизация выделения памяти в Go: как одна строчка замедлила всё на 30%

В базе данных Dolt (аналог Git, но для SQL-таблиц) после рефакторинга один из бенчмарков (types_scan) внезапно стал работать на 30% медленнее. Причина? Казалось бы, невинная строчка кода.

📉 Что произошло
Метод GetBytes() начал вызывать ReadBytes() у интерфейса ValueStore. Всё выглядело логично, пока не включили профилировщик Go и не обнаружили странную активность:
🔍 runtime.newobject вызывался слишком часто → программа делала много лишних аллокаций в куче.

📦 Где зарыта собака

func (vs nodeStore) ReadBytes(...) ...

Этот метод использовал приёмник по значению (vs nodeStore). Это значит, что вся структура копировалась при каждом вызове метода, даже если она большая.

🚑 Как пофиксили
Просто поменяли на приёмник по указателю:

func (vs *nodeStore) ReadBytes(...) ...

Вуаля — аллокейшны исчезли, производительность восстановилась.

🧠 Вывод
Методы с приёмником по значению = риск лишнего копирования и аллокаций
🛠 Даже один маленький метод может резко замедлить ваш код
🔍 Профилировка в Go — мощный инструмент. Используй pprof!

Полный разбор в блоге DoltHub
Подробнее про Dolt

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👣 MyNav — это TUI-инструмент на Go для организации и управления проектами в терминале с интеграцией tmux!

🌟 Он позволяет группировать рабочие пространства, быстро переключаться между ними, автоматически определять статус Git-репозиториев и управлять сессиями tmux.

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟Cozystack – бесплатный PaaS-фреймворк для создания интеллектуальной системы серверов.

⚡️С его помощью вы можете превратить ваши сервера в управляемое облако с примитивами Kubernetes, базами данных, виртуальными машинами, балансировщиками и кэшем через простой REST API.

🔥Сервис идеально подходит для частных облаков и экономичных dev-сред, имеет открытую архитектуру, гибкую интеграцию и встроенный мониторинг данных.

🤖GitHub

@golang_google
✔️ Wal-listener — это инструмент для прослушивания логов транзакций PostgreSQL (WAL) и конвертации их в удобный для обработки формат JSON.

Возможности

- Прослушивание изменений в PostgreSQL в режиме реального времени.
- Поддержка нескольких слотов репликации.
- Удобный вывод в формате JSON.
- Готов к использованию в качестве сервиса.

Пример использования

1. Создаём слот репликации:

SELECT * FROM pg_create_logical_replication_slot('test_slot', 'wal2json');


2. Запускаем wal-listener:

wal-listener --dsn "host=localhost port=5432 user=postgres dbname=test" --slot test_slot


3. Получаем JSON-объекты при изменениях в базе данных.

https://github.com/ihippik/wal-listener

#devops #девопс #PostgreSQL #sql

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 AnyQuery — это кроссплатформенное настольное приложение, разработанное для выполнения SQL-запросов к практически всем базам данных!

🌟 Оно поддерживает JSON, CSV, Parquet, SQLite, Google Sheets и многое другое, а также предоставляет интуитивно понятный интерфейс, позволяющий пользователям управлять подключениями, визуализировать данные в табличном формате и использовать автодополнение при написании SQL-кода.

🔐 Лицензия: AGPL

🖥 Github


@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🏛️ Athens — библиотека, предоставляющая корпоративный прокси для модулей Go.

Проект уже используют в продакшене несколько компаний — он поддерживает разные бэкенды для хранения и легко интегрируется в существующую инфраструктуру. Athens не просто кэширует зависимости, но и позволяет контролировать их распространение в организации.

🤖 GitHub

@golang_google
📌 Kaitai Struct — декларативный язык для разбора бинарных форматов. Этот инструмент предлагает элегантное решение — вы описываете структуру данных в YAML-подобном синтаксисе, а компилятор генерирует готовые парсеры на 8+ языках.

Проект включает коллекцию готовых описаний популярных форматов, от ZIP-архивов до PNG-изображений. Сгенерированный код можно использовать даже в проприетарных продуктах благодаря либеральной лицензии рантайма.

🤖 GitHub

@golang_google
📊 ClickVisual: лёгкий веб-интерфейс для анализа логов в ClickHouse. Этот инструмент от команды @OfficeSDK превращает сырые данные из ClickHouse в наглядные гистограммы и таблицы, сохраняя при этом возможность детального поиска через SQL-запросы.

Проект выделяется минималистичным подходом: готовые Docker-образы, встроенная аутентификация через GitHub/GitLab и открытая архитектура.

🤖 GitHub


@golang_google
В 2ГИС мы пишем на Go и помогаем инженерам перейти на него с других языков. Знакомство с Go открывает возможность контрибьютить в одну из самых востребованных технологий современности. На Go написаны проекты, без которых сложно представить мир распределённых систем: K8s, CockroachDB, Badger, Prometheus, VictoriaMetrics, Jaeger, NATS, Temporal.

Переход на Go — реальность! В карточках рассказываем, как это получилось у Саши. Хочешь так же? Ищи подходящую вакансию на лендинге.
👣 Athens

Это открытый прокси-сервер и кэш для Go Modules, который поможет вам:

Ускорить сборку в CI/CD за счёт локального кэша зависимостей.
🔒 Гарантировать доступность модулей, даже если исходный репозиторий пропал или временно недоступен.
🔐 Организовать безопасное хранилище приватных модулей для вашей компании.
☁️ Интегрироваться с любыми хранилищами: S3, GCS, Azure Blob, MongoDB, локальный диск и т.д.

Кратко о том, как запустить:

1. Скачайте и запустите Docker-образ:

docker run -p 3000:3000 gomods/athens:latest

2. Установите прокси в окружении:

export GOPROXY=http://localhost:3000

3. Работаем как обычно:

go get github.com/your/[email protected]

Athens полностью совместим с официальным протоколом загрузки модулей Go (v1.12+). Под капотом — адаптеры для Git, CDN и множество опций по хранению и авторизации.

Проект активно развивается:
- Более 200 участников на GitHub
- 4.5 тыс. звёзд
- Регулярные релизы (последний — v0.16.0)

🟢Репозиторий
🟢Документация

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍💻 Godo — библиотека, предоставляющая простой и эффективный способ взаимодействия с DigitalOcean API v2 на языке Go. Она покрывает основные методы управления дроплетами, реестрами и другими сервисами DO, поддерживает пагинацию, автоматические повторы запросов и экспоненциальный бекофф.

Использование инструмента интуитивно понятно: создаёте клиент с токеном и работаете с API через готовые методы. Например, создание дроплета или получение списка репозиториев реализовано буквально в несколько строк.

🤖 GitHub

@golang_google
😎Сразу пять команд Авито в поиске разработчиков:

1️⃣ Backend-разработчик в команду PaaS

Вы будете частью большой команды, которая занимается разработкой PaaS платформы: механикой сборки, тестированием и доставкой сервисов в разные окружения, а также runtime механикой по управлению сервисами в k8s кластерах.

2️⃣ Backend-разработчик в команду Monitoring/Observability

Каждый из 4000+ сервисов Авито журналирует свою работу, а команда мониторинга сохраняет и обрабатывает этот огромный поток логов, метрик, находя за секунды из гигабайтов данных сломанный сервис/сценарий и сообщая релевантной команде.

3️⃣ Go-разработчик в команду GR-инструментов

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

4️⃣ Go-разработчик в команду Performance

Команда Performance отвечает за скорость работы сервиса на всех платформах. Вам предстоит создавать инструменты тестирования, анализа и контроля за производительностью, помогать продуктовым командам делать Авито быстрым и надёжным, развивая культуру производительности в компании.

5️⃣ Go-разработчик в команду IDP

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

А ещё вас ждёт:

- прозрачная система премий и достойная зарплата, размер которой обсуждается на собеседовании
- возможность реализовать свои идеи в проекте с многомиллионной аудиторией
- талантливая команда, готовая поддержать ваши инициативы
- мощное железо, дополнительные мониторы и всё, что нужно для продуктивной работы
- личный бюджет на обучение, который можно тратить на книги, курсы и конференции
- забота о здоровье: с первого дня у вас будет ДМС со стоматологией, в офисе принимают терапевт и массажист
- удалённая работа и комфортный офис в двух минутах от метро «Белорусская»: панорамный вид на центр города, места для уединённой работы и зоны отдыха.

Откликайтесь по ссылкам и присоединяйтесь к одной из команд!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
📌Как Gemini превращает изучение языков в персонализированный опыт: обзор 3 экспериментов.

Представьте, что учите язык не по учебникам, а через ситуации, в которых оказываетесь каждый день. Именно эту идею воплотила команда Google в проекте Little Language Lessons— трех экспериментах на базе Gemini API, которые делают обучение живым и контекстным.

Первый эксперимент, Tiny Lesson, решает проблему «как сказать это сейчас?». Вы описываете ситуацию — например, «потерял паспорт» — и получаете словарь и фразы в формате JSON. Всё благодаря промптам, где Gemini генерирует структурированные данные: массив терминов с транскрипцией и переводом, а также советы по грамматике.

Например, если целевой язык — японский, модель сама определит, нужна ли транскрипция ромадзи, и подготовит материал за 2 API-запроса. Это не просто список слов, а готовый микрокурс под конкретный сценарий.

Второй, Slang Hang, убирает «учебникоговорение». Тут Gemini выступает как сценарист: создаёт диалоги на целевом языке с культурными нюансами и сленгом. Все генерируется одним запросом — от контекста сцены до реплик с пояснениями. Пример: диалог продавца и туриста может включать неформальные выражения, которые не найдешь в стандартных учебниках.

Правда, иногда модель ошибается или придумывает выражения, так что без проверки носителем не обойтись. Но сам подход — дать пользователю «уши» в реальных разговорах выглядит перспективно, особенно с интеграцией Cloud Translation для мгновенного перевода.

Третий, визуальный эксперимент — Word Cam. Наводите камеру на объект, и Gemini не только определяет его (bounding box), но и предлагает слова вроде «подоконник» или «жалюзи». Детекция работает через Gemini Vision, а дополнительные дескрипторы (цвет, материал, примеры употребления) подтягиваются отдельным запросом. Для изучения бытовой лексики почти идеально, хотя точность сильно зависит от качества снимка.

Во всех экспериментах задействован Text-to-Speech — озвучка слов и фраз. Но есть нюанс: для редких языков голоса зачастую звучат неестественно или не совпадают с диалектом. Например, выберете мексиканский испанский, а синтезатор выдаст акцент из Мадрида. Разработчики честно признают: это ограничение текущих API, и над ним еще работать.

Little Language Lessons — начало переосмысления процесса обучения языкам. Проекту пока не хватает тонкой настройки под лингвистическую специфику (идиомы или региональные диалекты), но основа уже заложена.

🟡Статья


@ai_machinelearning_big_data

#AI #ML #LLM #Gemini
Please open Telegram to view this post
VIEW IN TELEGRAM