golang_google | Unsorted

Telegram-канал golang_google - Golang

43796

admin - @haarrp https://t.me/golangl - golang чат https://t.me/golangtests go тесты https://t.me/ai_machinelearning_big_data машинное обучение @itchannels_telegram РКН: clck.ru/3Fmx3s #VRHSZ

Subscribe to a channel

Golang

🧩️️️️️️ Критическая уязвимость в Linux: при чём здесь серверы на Go

В TCP-коде ядра обнаружили CVE-2026-98432 с оценкой CVSS 9.8. При установлении IPv4-соединения возникает гонка: один процессор освобождает память, пока другой ещё её использует.

Anthropic заявила, что Claude написал эксплойт для удалённого выполнения команд от root без авторизации. Продемонстрированный вариант атакует серверы с MPTCP-сокетом. MPTCP позволяет одному соединению использовать несколько сетевых путей.

Связь с Go: начиная с Go 1.24, стандартные TCP-слушатели по умолчанию пытаются использовать MPTCP, если система его поддерживает. Поэтому обычный сервер с net.Listen("tcp", ":8080") может задействовать этот механизм без явного включения разработчиком.

Ошибка находится в ядре Linux, а Go может создавать условия для показанного варианта атаки.

Отключить MPTCP по умолчанию для Go-приложения можно так:


GODEBUG=multipathtcp=0 ./server


Но явный SetMultipathTCP(true) переопределяет настройку. Кроме того, сама уязвимость не ограничена MPTCP, поэтому это не полноценная замена исправлению ядра.

Патч уже внесён в поддерживаемые стабильные ветки Linux. Для дистрибутивов нужно проверить наличие исправленного пакета именно для своей ветки и загрузиться с обновлённым ядром. На момент публикации разбора для Ubuntu и RHEL обновления ещё ожидались.

https://thehackernews.com/2026/10/linux-kernel-tcp-flaw-with-98-cvss.html

Читать полностью…

Golang

🖥️ История Linux на русском – от студенческого проекта Торвальдса до устройства современной системы.

В репозитории linux-history собран большой иллюстрированный README со схемами, практическими командами и вопросами для самопроверки.

Что внутри:

- Предыстория: Unix, GNU, MINIX и появление Linux в 1991 году.
- Развитие ядра: ключевые события и участники проекта.
- Древо дистрибутивов: как связаны Debian, Ubuntu и другие семейства.
- Устройство системы: загрузка Linux, жизнь процесса и взаимодействие компонентов.
- Разработка ядра: как изменения проходят путь до включения в Linux.
- Практика: команды для изучения своей системы, варианты запуска без установки и квиз.

Материал оформлен прямо на GitHub: раскрывающиеся разделы, таблицы и более 20 схем. В конце – книги, документальные фильмы и ссылки для дальнейшего изучения.

Подойдёт новичкам, которые уже пользуются Linux и хотят понять, откуда он появился и как работает изнутри.

https://github.com/justxor/linux-history

Читать полностью…

Golang

👣 Закрытые ключи удостоверяющего центра можно было восстановить за микросекунды. Команда Go выпустила защиту менее чем за 7,5 часа.

Инцидент затронул восемь промежуточных сертификатов eMudhra, шесть из которых использовались для TLS. Их ключи оказались настолько слабыми, что позволяли восстановить закрытую часть.

Это давало атакующему возможность подписывать поддельные TLS-сертификаты для любых доменов и выдавать свой сервер за настоящий при перехвате соединения.

19 октября команда Go впервые задействовала экстренный процесс URGENT и выпустила Go 1.27.3 и 1.26.10. Обновления блокируют цепочки сертификатов, проходящие через скомпрометированные промежуточные центры.

Особенно остро проблема стояла на Linux: там Go использует собственный проверяющий код, а единого системного механизма отзыва сертификатов нет.

Разработчикам нужно обновить Go, пересобрать и заново развернуть приложения. Установка нового компилятора сама по себе уже запущенные бинарники не исправит.

Проверить, какой версией Go собрана программа:


go version -m ./app


Проверить бинарник на известные уязвимости:


govulncheck -mode=binary ./app


https://go.dev/blog/emudhra-incident

@Golang_google

Читать полностью…

Golang

📘 На Mentorix вышел курс — «Go Systems Architecture: APIs, Integrations & AI»

Хотите строить на Go сервисы, которые переживают чужие сбои: дубли вебхуков, 429 от платёжки, 529 от модели? Этот курс — полный путь от архитектуры до системы, принятой под сбоями.

• Архитектура: ADR, модульный монолит, strangler fig
• API: OpenAPI-first, версии, курсоры, ETag
• Идемпотентность: Idempotency-Key, долгие операции, SDK
• Чужие API: таймауты, повторы, circuit breaker, квоты
• Вебхуки: подпись, inbox, защита от SSRF
• Доставка без потерь: outbox, inbox, саги
• Тесты: контракты, toxiproxy, трейсы
• Безопасность: OAuth2, mTLS, секреты
• AI-слой: LLM-шлюз на Go, RAG и MCP

🎓 Сертификат — добавьте в резюме или LinkedIn

🏷 Скидка 50%, действует 48 часов

➜ Пройти курс на Mentorix

Ещё 25 курсов бесплатно — доступны после регистрации

Читать полностью…

Golang

👣 Вышли Go 1.27.3 и 1.26.10 - важное обновление безопасности.

Исправлена уязвимость CVE-2026-111943 в стандартной библиотеке crypto/x509, связанная с проверкой цифровых сертификатов.

Что изменилось:
- Ограничено доверие к небезопасным промежуточным сертификатам.
- Verify больше не возвращает цепочки с такими сертификатами.
- Повышена безопасность проверки TLS-сертификатов.

Анонс: https://groups.google.com/g/golang-announce/c/66pojueaQek/m/tmWX2Pq9AgAJ

Скачать: https://go.dev/dl/

@Golang_google

Читать полностью…

Golang

🐋 DeepSeek V4.1-Flash-1017: метрики выше, ответы короче, Search и Fetch API открыты всем

DeepSeek обновили Flash-версию V4.1. Модель сильнее прошлой, быстрее решает задачи и выдаёт более короткие ответы, то есть выходит дешевле. Доступна на сайте, в приложении и по API, веса открыты.

На DeepSWE v1.1 модель набирает 77.0 против 74.0 у Claude Opus 5 и 73.0 у GPT 5.6-Sol. На Automation-Bench 60.5 против 50.3 у Opus 5, на Agents' Last Exam 35.4 против 28.6. К прошлой Flash прирост большой: Terminal-Bench 4.0 вырос с 31.2 до 42.3, ProgramBench с 20.3 до 29.1.

На HLE (56.3), Terminal-Bench 4.0 (51.8) и NL2Repo-Bench (75.3) Opus 5 всё ещё впереди. Цифры приведены самой компанией, а методики оценки у бенчмарков разные.

Отдельно открыли Search и Fetch API на собственном поисковом движке: $0.75 за 1000 вызовов на каждый эндпоинт.


Модель: https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017
Документация API: https://api-docs.deepseek.com/guides/search

Источник: https://x.com/deepseek_ai/status/2111375640717033777

@ai_machinelearning_big_data

#DeepSeek

Читать полностью…

Golang

🔎 Конец программирования: создатель InfluxDB считает, что код скоро перестанут писать и читать люди

Пол Дикс, основатель InfluxData и автор InfluxDB, опубликовал эссе «The end of programming». Его тезис: ручное написание кода и построчное ревью вымирают. Софт будут производить агенты, а люди будут проверять результат работы системы, в сам код почти не заглядывая.

Главный аргумент Дикса связан с Bun 1.4. Рантайм переписали с Zig на Rust, это больше миллиона новых строк. Сделал это один разработчик, Джаред Самнер, вместе с предрелизной Fable 5 и почти безлимитным бюджетом на токены. Он собрал харнесс для параллельной работы агентов, и за 11 дней они сделали 6778 коммитов. По API это стоило бы около $165 тысяч.

На возражение, что переписывать готовую программу легко, ведь старая версия служит эталоном, Дикс отвечает так: если есть система верификации и толковое направление, ИИ доводит до рабочего состояния очень сложный софт.

Его собственные эксперименты на форке InfluxDB. Интеграцию с Apache Iceberg, где задействованы API, CLI, компактор, манифесты и S3, Fable собрала за 14 часов: Дикс только описал архитектуру, а дальше работали сабагенты с код-ревью. Репликацию данных с edge-узлов в центральный кластер модель сделала за 28 часов, сама развернула в AWS и чинила баги по логам и метрикам. Система крутится до сих пор. Обе фичи пока остаются прототипами, а держать агента в постоянном цикле улучшений Дикс не может себе позволить: по его оценке, это сотни тысяч долларов в месяц.

По словам Дикса, в Anthropic и OpenAI разработчики уже выпускают десятки и сотни PR в неделю. Они строят системы, промпты и инструменты проверки и не читают каждую строку. Остальная индустрия придёт к этому примерно через год. К концу 2027 года интеллект уровня Fable должен стать достаточно дешёвым для работы на полный день, а железо вроде Cerebras даст в 10-100 раз больше токенов в секунду.

При этом Дикс не обещает мгновенной революции. Из-за инерции организаций ручной код с построчным ревью во многих компаниях проживёт ещё лет десять. И вместе с полезным софтом нас ждёт море слопа.

Самыми продуктивными станут те, кто управляет агентами, строит харнессы, фабрики софта и системы QA. Главными вопросами будут «что мы хотим выпустить?» и «что мы готовы поддерживать?».

https://pauldix.com/the-end-of-programming

Читать полностью…

Golang

🐹 Один непрочитанный ответ мог заставлять Go заново открывать HTTP-соединения. В Go 1.27 это исправили.

Раньше при HTTP/1 одного resp.Body.Close() было недостаточно: если тело ответа не дочитано, соединение приходилось закрывать. Следующий запрос снова тратил время на TCP и TLS.

Теперь net/http при закрытии тела асинхронно дочитывает остаток в пределах установленного лимита, чтобы сохранить соединение для следующих запросов.

В тесте авторов статьи 100 запросов, которым нужен только статус ответа, заняли 150 мс вместо 710 мс. Почти пятикратное ускорение в конкретном сценарии, без изменений кода.

Закрывать `resp.Body` по-прежнему обязательно. Изменение касается HTTP/1: у HTTP/2 непрочитанное тело отдельного ответа не мешает другим запросам использовать соединение.

https://uproger.com/go-1-27-http1/

@Golang_google

#golang

Читать полностью…

Golang

🤖 Зачем держать отдельный контейнер для каждого ИИ-агента, если большую часть времени он ждёт?

Agent Substrate использует это ожидание для экономии ресурсов: приостанавливает окружения, сохраняет их состояние и возобновляет на свободных воркерах в Kubernetes.

В демо около 250 окружений со своим состоянием работают через пул из 8 подов.

Что умеет проект:

• Сохранять оперативную память и файловую систему между запусками.
• Переносить окружения между воркерами.
• Изолировать выполнение через gVisor и microVM.
• Запускать агентов на разных стеках, включая Claude Code, Codex и LangChain, а также MCP-серверы.

Авторы заявляют возобновление менее чем за 500 мс и плотность размещения в 10 раз выше стандартных контейнерных рантаймов.

Это инфраструктура для массового запуска агентов. Проект пока до версии 1.0, API могут существенно меняться. Лицензия Apache 2.0.

https://github.com/agent-substrate/substrate

Читать полностью…

Golang

Как перестать бояться Кафки?

Знакомо? Сервис ответил "заказ принят", а до оплаты заказ так и не доехал, и ты сидишь в логах и не понимаешь, куда делось сообщение. Или консюмер упал, поднялся и обработал то же сообщение ещё раз, а у клиента теперь два списания. Или лаг растёт, ты добавляешь консюмеров, а становится только хуже.

Причём ровно такие же вопросы потом прилетают и на собесах, и как раз на них обычно начинаешь плыть)

Меня зовут Олег Козырев, я staff Golang-разработчик, в IT больше 8 лет. Начинал с C++, потом перешёл на Go и поработал в Озоне, Авито и Т-Банке.

И Кафка мне тоже подкладывала свинью: в Озоне как-то разбудила алертом в четыре ночи, потому что консюмер не успевал разгребать очередь)

Чтобы разобраться с этим, 15 октября в 19:00 по МСК я проведу открытый урок для Go-разработчиков:

Хорош бояться Кафку: ломаем и чиним Go-сервис в прямом эфире


Предыстория такая: пока меня не было дома, мой кот Коткинс добрался до телефона и начал заказывать себе вкусняшки с моей карты. Приложение кидает заказ в Кафку, сервис оплаты читает его и списывает деньги. Вот эту систему и будем ломать)

Что разберём на уроке:
🟢Без занудных определений разберёмся, что такое продюсер, топик, партиции, группа и смещение. Просто проследим один заказ в Kafka UI от кнопки до списания
🟢Трижды попробуем сломать систему: потеряем заказ, спишем деньги дважды и завалим очередь. И разберёмся, почему так вышло
🟢По каждой поломке посмотрим, какие есть варианты починки и чем плох каждый
🟢Попросим нейронку написать консюмер для оплаты и посмотрим, переживёт ли он повтор сообщения
🟢Расскажу, когда Кафка вообще не нужна и можно спокойно взять RabbitMQ
🟢В конце отдам репозиторий со всем кодом урока, чтобы ты мог повторить всё у себя
🟢И конечно же, анонсирую новый поток своего курса по микросервисам на Go

Регистрироваться никуда не надо, ссылка на урок будет прямо в канале по микросервисам:
Залететь в канал с уроком

P.S. Записи не будет, поэтому жду всех в онлайне)

Реклама. ИП Козырев Олег Вячеславович, ИНН 440315249608, erid: 2W5zFJND9EZ

Читать полностью…

Golang

Гоферы, дайте отдохнуть себе и проду — приходите на Go Weekend 17 октября

Конференция Lamoda Tech для тех, кто пишет на Go и может говорить о нем часами.

Вас ждут два трека, 6 часов и 80+ амбассадоров Go-комьюнити. Примите участие в дискуссии о будущем языка и месте в AI, задайте неудобные вопросы.

Трек Tech: доклады про архитектурные решения, спорные идеи и реальные кейсы.

🎙 Дмитрий Буров, Senior Golang-разработчик, Lamoda Tech
«Тернарный оператор в Go. Принять нельзя отклонить»
🎙 Станислав Королев, Senior Golang-разработчик, Авито
«Почему spec-driven development плохо работает на микросервисах»
🎙 Эдгар Ситки, Founder, EasyP && Sipki tech
«MCP on Go, или Как случайно сломать безопасность вашей системы?»

Трек Activities: круглый стол о будущем Go, «13 злых вопросов» экспертам и игры с призами.

🗓 17 октября
⏰ 12:00–18:00
📍 Москва, ул. Крылатская, 15

➡️ Все подробности и регистрация на сайте

Реклама. ООО "ЛАМОДА ТЕХ". ИНН 7734461512. erid: 2W5zFGaEvK3

Читать полностью…

Golang

👣 Portager - Kubernetes-оператор для автоматической синхронизации контейнерных образов между registry.

Вместо CI/CD-скриптов вы создаёте ImageSync CRD, где указываете:

- source registry
- destination registry
- список образов и тегов
- cron-расписание
- способ авторизации

Дальше Portager сам сравнивает digest, копирует только изменившиеся образы и пишет статус обратно в Kubernetes.

Поддерживает Docker Hub, GHCR, Quay, Chainguard, ECR, GCR, Harbor, Nexus и другие OCI-compatible registry.


https://github.com/jarodr47/Portager

Читать полностью…

Golang

⚡ Go Concurrency Distilled - конкурентность в Go без воды

Компактная мини-книга по concurrency в Go с интерактивными примерами кода.

Внутри:

- goroutines и channels;
- select и pipelines;
- context и cancellation;
- WaitGroup, mutex и semaphores;
- data races и race conditions;
- atomics и object pools;
- scheduling, testing и diagnostics.

Каждый пример можно изменить и запустить прямо на странице. Есть и PDF-версия.

Быстрый гайд для тех, кто уже знает Go и хочет систематизировать конкурентность.

По заявлению автора материал полностью AI-free.

Читать: https://antonz.org/go-concurrency-distilled/

Читать полностью…

Golang

🔥 SourceCraft научили работать с автономными ИИ-агентами
Агенту можно отдать задачу из GitLab, после чего он сам выполняет работу и возвращает результат разработчику. Если для продолжения нужны данные или решение команды — запрашивает их самостоятельно.
При этом агента не обязательно брать готового: в SourceCraft можно подключать собственных, в том числе созданных на Yandex AI Studio.
Работать с агентами можно через GitLab, VS Code, CLI, мессенджеры и веб-интерфейс.

Читать полностью…

Golang

👣 webctl: экономный веб-поиск для ИИ-агентов

Умная CLI-утилита на Go для поиска в интернете с помощью Jev.

Jev - модель от TypeSafe AI для быстрых структурированных решений. Она не пишет тексты, а выбирает вариант, выставляет оценку или вероятность.

webctl возвращает компактные и релевантные результаты, сокращая расход токенов при работе агентов с вебом.

https://github.com/dorkitude/webctl

#golang

Читать полностью…

Golang

👣 Убрали аллокации в Go, а следующий коммит вернул их обратно? noalloc помогает это поймать

Инструмент позволяет пометить функцию, которая не должна выделять память в куче:


//noalloc:root
func Process(buf []byte) {
// ...
}


Затем запустить проверку:


go install github.com/theconsensuslabs/noalloc/cmd/noalloc@latest
noalloc


Проверяется всё дерево вызовов, а не только тело функции. Инструмент указывает строки с потенциальными аллокациями: конкатенацией строк, записью в map, вызовами других функций и уходом данных в кучу.

Если найдена проблема, CLI завершается с ненулевым кодом - проверку можно поставить в CI, чтобы ловить регрессии.

В комплекте есть контейнеры с ограниченной ёмкостью, переиспользуемые буферы и JSON-кодировщик и декодировщик, рассчитанные на работу без новых аллокаций.

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

Нужен Go 1.27+.
https://github.com/theconsensuslabs/noalloc

Читать полностью…

Golang

Ozon Tech Platform Meetup

30 октября команда Ozon Tech проведёт митап о том, как устроена технологическая платформа большого бигтеха.

В программе:
— устройство платформы, стандарты разработки, CI/CD и сетевая инфраструктура;
— оптимизация архитектуры за счёт сокращения микросервисов и высвобождения 7000+ CPU;
— портал платформы данных и взаимодействие с множеством сервисов.

Ничего лишнего — только технические доклады, чтобы осталось больше времени на общение. Регистрируйтесь заранее, чтобы попасть на митап офлайн и лично пообщаться с теми, кто руководит разработкой фундаментальных инструментов Ozon Tech.

30 октября | 19:00 мск | Москва, лофт Casa Picassa

Регистрация. Ждут всех, не только Go-разработчиков

Читать полностью…

Golang

👣 Редактировать конфиги через форму, сохраняя комментарии и форматирование - для этого сделали ConfigDeck.

Десктопное приложение из репозитория jsonui превращает JSON, JSONC, YAML и TOML в поля для редактирования.

При сохранении оно меняет только затронутые значения. Комментарии, порядок ключей, окончания строк и неизвестные параметры сохраняются. Если ничего не исправляли, файл не перезаписывается.

Перед каждой записью ConfigDeck:

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

Работает локально, без сетевого доступа. Схемы поставляются вместе с приложением или выбираются с диска.

Первый встроенный пресет – настройки Claude Code. Для собственных конфигов можно использовать JSON Schema.

Под капотом - Tauri 2, Rust и React. Лицензия – Apache 2.0.

https://github.com/altafino/jsonui

Читать полностью…

Golang

В Go появился SIMD без ассемблера: скалярный цикл обгоняют в 9 раз ⚡

Джесус Эспино разобрал, как устроена поддержка SIMD в Go 1.27 (пока экспериментальная, включается через GOEXPERIMENT=simd, основной фокус на amd64).

Есть два уровня. Пакет simd/archsimd из Go 1.26 даёт низкоуровневые типы фиксированной ширины вроде Float32x8 и привязан к архитектуре. Новый пакет simd в Go 1.27 портабельный: типы Float32s и Int8s не знают ширину регистра, количество lane выбирается при старте программы, и один и тот же цикл работает на 128, 256 и 512 битах.

Под капотом методы вроде Add это интринсики компилятора без тела, они превращаются в инструкции вроде VADDPS. Для портабельного пакета компилятор строит по копии функции под каждую ширину плюс чистый Go-фолбэк, а диспетчер выбирает нужную при запуске. Принудительно выбрать путь можно через GODEBUG=simd.

Замер на AMD Ryzen AI Max+ 395: скалярное скалярное произведение двух массивов по 4096 float32 занимает около 3,9 мкс, версия на SIMD около 0,41 мкс. Выигрыш примерно в 9 раз, и автор оговаривает, что это близко к лучшему случаю для длинных непрерывных данных.

Подводные камни. API экспериментальный, имена могут поменяться. Archsimd не проверяет поддержку CPU, поэтому без проверки AVX2 и FMA программа упадёт с illegal instruction. Float32x8 не компилируется на ARM. На ветвистом коде, разбросанном доступе к памяти и коротких входах выигрыш может быть небольшим или нулевым.

Вывод автора: профилируйте и мерьте, а SIMD применяйте только в горячих циклах.

Источник: https://internals-for-interns.com/posts/go-simd/

Читать полностью…

Golang

👣 NumPy и PyTorch из Go? У LLGo для этого есть инструменты.

LLGo — компилятор Go на базе LLVM, который упрощает работу с экосистемой C/C++ и Python.

Что внутри:

• Прямые вызовы C-функций через C ABI — без накладных расходов стандартного cgo на переключение стека и планировщика.
• Python-библиотеки из Go: доступны привязки для NumPy, pandas, PyTorch и matplotlib.
• Привязки к SQLite, OpenSSL, raylib и другим нативным библиотекам.
• Поддержка WebAssembly и ряда встраиваемых платформ.

Есть существенная особенность: у LLGo собственный runtime. На нативных платформах горутины соответствуют потокам ОС в соотношении 1:1, а сборщик мусора по умолчанию - BDWGC. Это нужно учитывать при переносе приложений.

https://github.com/xgo-dev/llgo

Читать полностью…

Golang

🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку

Окружение решает больше, чем кажется.

Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: /channel/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: /channel/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: /channel/addlist/2Ls-snqEeytkMDgy
Папка Frontend: /channel/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: /channel/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: /channel/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

Читать полностью…

Golang

На GitHub доступен модульный фреймворк для гибкого тестирования на Go — Testo.

Testo написали разработчики Ozon Tech и уже проверили на тысячах своих e2e-тестов на проде. Фреймворк работает как слой над testing.T внутри экосистемы Go. Он адаптируется под потребности за рамками стандартного пакета и позволяет быстро создавать тесты под любую задачу.

Попробуйте, если хотите расширить ваши тесты отчетами, фильтрами и собственным функционалом через плагины: https://ozon.tech/testo

Читать полностью…

Golang

10 ноября в Москве пройдёт Go Birthday Conf от RWB

Отметим день рождения Golang вместе с экспертами RWB, YADRO, Т-Банка, VK и Avito. Разберём кейсы из продакшена, поговорим о highload и будущем Go в эпоху AI.

В программе:
Доклады:

— 10 лет Go глазами практика: как менялся язык и что с ним сейчас;
— SIMD без ассемблера: что изменилось и какой прирост производительности можно получить;
— Архитектура доставки продуктовых метрик под высокой нагрузкой;
— Геокодинг и построение маршрутов под нагрузкой.

Дискуссия «Go в эпоху AI» — обсудим, как меняется разработка, что остаётся инженеру и почему растёт роль инженерного мышления.

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

Приглашаем Go-разработчиков, backend-инженеров, тимлидов и всех, кто работает с highload и архитектурой или хочет разобраться, как AI меняет разработку.

Первые 100 офлайн-гостей получат беспроигрышные лотерейные билеты с подарками.

📍 Москва
Старт в 15:00

Программа и регистрация по ссылке

Читать полностью…

Golang

🦀 1,8 млн ошибок из-за одного пробела: как разработчик собирал Kubernetes Ingress на Rust и Go

Автор Silex разделил систему на две части:

• Go-контроллер наблюдает за Ingress и EndpointSlice, отслеживая маршруты и адреса бэкендов.
• Rust-движок на Tokio принимает трафик и ищет маршруты в конкурентной таблице DashMap.

Обработка запросов отделена от взаимодействия с Kubernetes API.

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

Причина оказалась в разборе конфигурации. Вместо JSON-парсера код искал точную подстроку:


Ожидал: "host":"silex.local"
Получил: "host": "silex.local"


Допустимый в JSON пробел ломал поиск. Обработчик молча завершался и закрывал TCP-соединение. Итог: 1,8 млн ошибок чтения.

После исправления автор сравнил Silex с NGINX Ingress: K3s, HTTP echo-бэкенд, wrk, 400 соединений, 4 потока, 30 секунд.

Silex: 2536 запросов/с. NGINX: 2274. Разница: +11,5%.

Но максимальная задержка у обоих была около двух секунд, таймауты тоже остались. У Silex их даже больше: 302 против 286. По объяснению автора, нагрузка упёрлась в Node.js-бэкенд.

На момент статьи TLS-терминация, активные проверки бэкендов и Prometheus-метрики ещё были в планах.

Самое ценное здесь: увидеть, как устроен небольшой ingress, где ломается взаимодействие компонентов и почему throughput нужно читать вместе с ошибками и задержками.

https://dev.to/sysalchemist/how-i-built-a-custom-kubernetes-ingress-in-rustgo-that-outperforms-nginx-by-11-4iag

@Golang_google

Читать полностью…

Golang

👣 Steampipe: инструмент на Go, который превращает любое API в SQL-таблицы

Steampipe позволяет задавать вопросы облаку, Kubernetes и GitHub обычным SQL-запросом, без консолей и скриптов:


-- неймспейсы Kubernetes без NetworkPolicy
select n.name
from kubernetes_namespace n
left join kubernetes_network_policy p on p.namespace = n.name
where p.name is null;


Как это устроено: внутри встроенный PostgreSQL, а каждый источник данных подключается через плагин. Когда вы делаете запрос, плагин в реальном времени ходит в API и отдаёт строки в Postgres. Никакой выгрузки и отдельной базы.

Для Go-разработчиков самое интересное в том, что и Steampipe, и все его плагины написаны на Go, и свой плагин пишется буквально за вечер. Описываете таблицу и функцию, которая получает данные:


func tableUsers() *plugin.Table {
return &plugin.Table{
Name: "myapi_user",
List: &plugin.ListConfig{Hydrate: listUsers},
Columns: []*plugin.Column{
{Name: "id", Type: proto.ColumnType_STRING},
{Name: "email", Type: proto.ColumnType_STRING},
},
}
}

func listUsers(ctx context.Context, d *plugin.QueryData, _ *plugin.HydrateData) (any, error) {
users, err := apiClient.ListUsers(ctx)
if err != nil {
return nil, err
}
for _, u := range users {
d.StreamListItem(ctx, u) // каждая запись становится строкой таблицы
}
return nil, nil
}


После этого ваш внутренний сервис можно джойнить с AWS, GitHub или Kubernetes одним запросом. Кэширование, параллельные запросы, повторы и лимиты SDK берёт на себя.

Готовых плагинов уже больше сотни, так что для аудита инфраструктуры, поиска забытых ресурсов или проверки, у каких репозиториев нет защиты веток, писать код вообще не придётся.

https://devopscube.com/steampipe-tutorial/

https://github.com/turbot/steampipe

Читать полностью…

Golang

👣 Большой разбор собеседований на Go в 2026 году

На GitHub появился мощный репозиторий для подготовки к Golang-интервью: более 190 вопросов, каверзные задачи и live coding с решениями.

Внутри:

- 25 задач «что выведет код?»;
- 22 live coding задачи с разборами;
- goroutines, channels, sync, atomic и memory model;
- runtime, scheduler, escape analysis и GC;
- generics и context.Context;
- HTTP, gRPC, базы данных и брокеры;
- System Design для Middle+/Senior;
- свежие изменения Go 1.22–1.27.

Есть классические задачи вроде Worker Pool, LRU Cache, Rate Limiter, Fan-in, Pipeline, TTL Cache, Singleflight и Graceful Shutdown.

По сути, готовая шпаргалка + задачник + roadmap для подготовки к Go-собеседованию.

https://github.com/justxor/sobesrazborgoogle

Читать полностью…

Golang

👣 Для Jev появился Unix-клиент на Go

stefafafan/jev - неофициальный provider-neutral CLI для Jev от TypeSafe AI, написанный на Go.

Поддерживает:

- TypeSafe AI
- Cloudflare Workers AI
- Vercel AI Gateway

Работает через обычные stdin/stdout, поэтому его удобно встраивать в shell-пайплайны и CI.

Пример проверки diff:


git diff |
jev noul "Could this change introduce a regression?"


Или оценка риска деплоя:
kubectl diff -f manifest.yaml |
jev score \
--level low \
--level medium \
--level high \
"How risky is this deployment?"

Есть три режима:
- noul — yes/no решение;
- choice — выбор варианта;
- score — оценка по уровням.
По умолчанию результат возвращается в JSON.
Установка:
go install github.com/stefafafan/jev@latest

GitHub: https://github.com/stefafafan/jev

Читать полностью…

Golang

Go наконец получил переносимый SIMD: один код для x86, ARM и WebAssembly

В Go 1.27 появился экспериментальный пакет `simd`. Векторный код теперь пишется один раз и работает на AVX, AVX2 и AVX512 на amd64, на NEON на arm64 и на WebAssembly SIMD. Раньше под каждую платформу приходилось держать отдельную реализацию или уходить в ассемблер.

Ширина вектора спрятана от типов. Вместо привычных Int32x4 или Float64x8 используются типы вроде simd.Float32s и simd.Uint8s. Сколько элементов влезет в регистр, 128, 256 или 512 бит, решает железо, на котором запущена программа. Код от этого не меняется.

Набор операций знакомый: загрузка и выгрузка, Add, Mul, MulAdd, сравнения и маски. В пакет попало только то, что есть на всех платформах, а недостающее эмулируется.

Цель авторы формулируют так: писать один раз и получать производительность, близкую к ассемблеру. Компилятор специализирует код под конкретную ширину и убирает накладные расходы на диспетчеризацию внутри вычислений.

Если переносимого набора не хватает, можно спуститься ниже. Методы `ToArch()` и `FromArch()` переводят значения в архитектурно-зависимый пакет archsimd из Go 1.26, где доступны инструкции конкретного процессора. archsimd поддерживает ещё PowerPC, s390x, RISC-V64 и loong64.

Поведение удобно проверять через GODEBUG. Значение simd=0 включает полную эмуляцию, simd=128, 256 или 512 фиксирует ширину вектора, а вариант с плюсом, например simd=+256, частично включает возможности и паникует на отсутствующих инструкциях. Так можно прогнать тесты на всех ширинах на одной машине.

Ограничения тоже есть. В 1.27 нет редукций, поэтому даже сумму элементов вектора придётся собирать обходным путём. В Go 1.28 обещают SVE для ARM, редукции, перестановки элементов, OnesCount и новые операции с масками. Ещё добавят варианты возможностей, чтобы на железе вроде Raspberry Pi код не откатывался в полную эмуляцию из-за одной недостающей инструкции.

Включается всё флагом `GOEXPERIMENT=simd`. Для тех, кто пишет на Go инференс, обработку изображений, кодеки или числодробилки, это первый шанс получить векторизацию без ассемблера и без пачки файлов под каждую архитектуру.

https://go.dev/blog/simd-experiment

Читать полностью…

Golang

👣 Google открыла исходный код AX, среды для запуска AI-агентов в продакшене.

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

Это не новый агентный фреймворк и не облачный сервис, а инфраструктурный слой для масштабирования долгоживущих агентов в Kubernetes.

https://github.com/google/ax

Читать полностью…

Golang

Не отставайте от рынка — учитесь со скидкой 16%

Если чувствуете, что стоите на месте, и хотите освоить востребованную профессию, — сейчас хороший момент начать.

Потому что до 30 сентября на все курсы Практикума действует скидка 16%. 

Выбрать курс

Вы сможете:

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

Просто выберите курс, начните учиться бесплатно и получите скидку 16% — она автоматически появится в личном кабинете. 

Учиться!

Erid: 2SDnjeu4DaB
Название: ООО "ЯНДЕКС"
ИНН: 7736207543

Читать полностью…
Subscribe to a channel