37.3K subscribers
1.49K photos
36 videos
5 files
1.64K links
加入频道
🚥 Вредоносные Go‑модули распространяют DiskRanger

1) Обнаружены несколько вредоносных Go‑модулей, которые загружали malware DiskRanger.
2) Модули маскировались под HTTP и logging библиотеки.
3) Malware активировался через init‑функции и хуки компиляции.
4) Цель — supply chain атака на разработчиков и CI/CD.

⚠️ Рекомендации:
● аудит зависимостей
● избегать auto update неизвестных пакетов
● следить за CVE и делетом модулей

📍 Судя по всему, supply chain‑атаки становятся всё чаще, даже опытные Go‑разработчики попадаются на них.

Статья полностью

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Бесплатный вебинар от Слёрма «Траблшутинг K8s: инструменты и лайфхаки для разработчиков».

На вебинаре:
- начнём с kubectl,
- посмотрим сайдкар контейнеры и узнаем, зачем их использовать,
- разберемся с сетевыми проблемами,
- научимся использовать strace для сложных случаев

Спикер: Виталий Лихачев, SRE в крупном нидерландском тревелтехе.

Дата: 14 мая 19:00

👉 Занять место через бота.

В конце вебинара — подарок 🎁

Вебинар проходит в рамках курса «Kubernetes для разработчиков»

Реклама ООО «Слёрм» ИНН 3652901451
📝 Как составить резюме, чтобы попасть в Magnificent 7: анализ кейса

Недавно инженер поделился своим резюме, которое помогло ему получить предложение работы от одной из rjvgfybb Magnificent 7 (Apple, Microsoft, Google, Amazon, Meta, Nvidia, Tesla).

Magnificent 7 (в переводе — «Великолепная семёрка») — это современное неофициальное название семи крупнейших и самых влиятельных технологических компаний США, которые лидируют на фондовом рынке, в инновациях и в масштабе бизнеса.

Разберём, что сделало его резюме успешным и чему можно научиться.

📌 Главные выводы из резюме:

1. Фокус на достижениях, а не обязанностях.

Многие кандидаты в резюме просто перечисляют, *что они делали*, например:

- “Разрабатывал API”
- “Поддерживал базу данных”
- “Писал скрипты для автоматизации”

⚠️ Это описывает обязанности, но не показывает ценность или результат работы.

В успешном резюме инженер вместо этого написал, чего он достиг благодаря своей работе:

“Разработал API, который сократил время обработки данных на 30%”
“Оптимизировал запросы к базе данных, уменьшив среднее время ответа с 2 секунд до 0.5 секунд”
“Автоматизировал процесс деплоя, снизив количество ошибок на 15%”

Такой подход показывает, как конкретно ваша работа помогла команде или бизнесу.
Работодатель видит результаты, которые вы приносите, а не просто описание того, что вы делали.

💡 Почему это важно?

Big Tech-компании ищут инженеров, которые:

- Умеют оценивать влияние своей работы
- Думают о метриках успеха
- Приносят измеримый результат

Если в резюме нет цифр, улучшений или влияния на процесс — работодатель сам должен это додумывать.
А успешное резюме снимает вопросы и сразу показывает: “Вот что я сделал, вот как я улучшил продукт/процесс/результат.”


2. Лаконичность и компактность.

1 страница
Чёткая структура: “Опыт”, “Навыки”, “Образование”
Без фото, графиков, цветных рамок — чистый текст

3. Цифры везде, где это возможно.

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

4. Поддержка через проекты с открытым кодом.

Инженер приложил ссылку на GitHub с реальными проектами — это усилило доверие к нему Как с специалисту.

5. Навыки — только релевантные вакансии.

В разделе Skills нет «MS Word» или «PowerPoint».
Только языки, технологии, инструменты, которые нужны для позиции (Python, Kubernetes, CI/CD, etc.).

6. Интерншипы и стажировки — это опыт.

Каждый опыт, даже в рамках стажировки, описан с результатами.
Вакансии в топ-компаниях ценят любую практику в реальной команде.

---

🎯 Что важно для Big Tech:

Результаты > Задачи.
Цифры.
1 страница.
GitHub/портфолио.
Релевантные навыки.

---

🔥 Совет:

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

➡️ Статья

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Выпущены версии Go 1.24.3 и 1.23.9!

🔒 Безопасность: Включает исправление безопасности для os (CVE-2025-22873).

📢 Анонс: https://groups.google.com/g/golang-announce/c/UZoIkUT367A/m/5WDxKizJAQAJ

📦 Скачать: https://go.dev/dl/#go1.24.3

#golang #release

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Как прекратить бесконечные споры на код-ревью?

С 12 по 16 мая пройдёт Podlodka Go Crew — онлайн-конференция для Go-разработчиков. Тема недели: «Стандарты разработки».

Говорим про линтеры, архитектуру, code-style и то, как договориться один раз — и больше не возвращаться к этому.

Что в программе:

🔍 Разберём, как эволюционировала валидация Go-кода — вместе с Максимом Коноваловым из VK Tech. Какие подходы стали индустриальным стандартом, а какие остались нишевыми?

⚖️ В рулетке кейсов с Сергеем Петровым и Олегом Сидоренковым обсудим реальные конфликты: когда можно автоматизировать, а когда стоит договариваться.

🏗 Илья Цыганов из Т-Банка поделится архитектурным подходом: как CQS, Ports & Adapters и DDD помогают поддерживать зрелый продукт.

📌 Подходы, которые уже работают в проде — без теории и воды.

👉 Программа и билеты: https://podlodka.io/gocrew
🚀 Zinx — легковесный фреймворк для игровых серверов на Golang. В отличие от универсальных решений вроде gRPC, этот фреймворк заточен именно под long-lived соединения с поддержкой маршрутизации сообщений и пула воркеров.

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

🤖 GitHub

@golang_google
🖥 Sponge — это мощный фреймворк для разработки RESTful API, gRPC и микросервисных проектов на Go!

🌟 Sponge позволяет автоматически генерировать серверный код на основе JSON, SQL или Protobuf, что значительно ускоряет процесс разработки. Он поддерживает гибкую настройку через шаблоны, автоматизацию тестирования, создание документации API и развёртывание.

🌟 Фреймворк подходит для создания высокопроизводительных веб- и gRPC-сервисов, включая гибридные API (HTTP + gRPC). Основные возможности включают интеграцию с базами данных (MySQL, PostgreSQL, MongoDB и другие), поддержку пользовательских шаблонов для генерации кода, а также удобный интерфейс для управления процессом разработки.

🔐 Лицензия: MIT

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Avo — это библиотека и CLI-инструменты, которые позволяют писать ассемблерный код прямо на Go-коде и автоматически генерировать `.s`-файлы + Go-стабы* для вызова этих функций.

Этот необычный инструмент превращает написание высокопроизводительного ассемблера x86 в процесс, похожий на обычную Go-разработку.

Вместо управления регистрами вручную, вы описываете логику на Go-подобном синтаксисе а Avo генерирует оптимизированный ассемблерный код с правильными префиксами.

Проект особенно полезен для криптографии и низкоуровневых оптимизаций.

asm.go:


package main
import . "github.com/mmcloughlin/avo/build"

func main() {
TEXT("Add", NOSPLIT, "func(x, y uint64) uint64")
x := Load(Param("x"), GP64())
y := Load(Param("y"), GP64())
ADDQ(x, y)
Store(y, ReturnIndex(0))
RET()
Generate()
}



*Go-стабы: это Go-файл, который объявляет функцию без реализации, но с правильной сигнатурой, чтобы компилятор понимал, как с ней работать.

GitHub

@golang_google
🧠 LangChainGo и MongoDB: создание RAG-приложений на Go

🚀 Основная идея

MongoDB интегрировалась с LangChainGo — портом популярного фреймворка LangChain для языка Go. Это позволяет разработчикам на Go создавать приложения с поддержкой больших языковых моделей (LLM), используя возможности MongoDB для векторного поиска и хранения данных.

🔧 Что такое LangChainGo?

LangChainGo — это сообщественно-разрабатываемый порт фреймворка LangChain для языка Go.
• Позволяет интегрировать LLM в Go-приложения, используя такие сервисы, как OpenAI, Ollama, Mistral и другие.
• Поддерживает различные хранилища векторов, включая MongoDB.

🗄 Роль MongoDB как операционной и векторной базы данных

MongoDB Atlas предоставляет встроенные возможности векторного поиска, упрощая разработку AI-приложений.
• Объединяет семантический поиск с фильтрами по метаданным, графовыми запросами, агрегациями и геопространственным поиском.
• Распределённая архитектура обеспечивает масштабируемость и изоляцию нагрузок.
• Обеспечивает корпоративный уровень безопасности и доступности.

🤖 MongoDB, Go и AI/ML

• Go становится всё более популярным в AI/ML благодаря своей простоте, масштабируемости и безопасности во время выполнения.
• Интеграция MongoDB с LangChainGo позволяет разработчикам на Go создавать приложения с поддержкой RAG (Retrieval-Augmented Generation) и AI-агентов.
MongoDB Go Driver поддерживает векторный поиск и упрощает взаимодействие с MongoDB из Go-приложений.

🏁 Начало работы с MongoDB и LangChainGo

• MongoDB добавлена как хранилище векторов в версии LangChainGo v0.1.13 под названием mongovector.
• Пример использования: [mongovector-vectorstore-example](https://github.com/tmc/langchaingo/tree/main/examples/mongovector-vectorstore-example).
• Полезные руководства:
- [Начало работы с интеграцией LangChainGo](https://www.mongodb.com/docs/atlas/atlas-vector-search/langchain-go/)
- [RAG с Atlas Vector Search](https://www.mongodb.com/docs/atlas/atlas-vector-search/langchain-go/)
- [Локальная реализация RAG с Atlas Vector Search](https://www.mongodb.com/docs/atlas/atlas-vector-search/langchain-go/)
- [Начало работы с Atlas Vector Search (Go)](https://www.mongodb.com/docs/atlas/atlas-vector-search/)

Эта интеграция открывает новые возможности для разработчиков на Go, позволяя эффективно использовать MongoDB для создания современных AI-приложений.

👉 Источник

@golang_google
Outpost — это open-source инструмент, позволяющий принимать вебхуки локально и безопасно проксировать их к вашему приложению.

По сути, это альтернатива таким сервисам, как ngrok, но с упором на работу с вебхуками.

Что делает:

Принимает вебхуки из внешних сервисов (например, Stripe, GitHub, Twilio и др.).

Проксирует их к локальному серверу через защищённое соединение.

Поддерживает надёжную доставку и ретрансляцию, если ваш локальный сервер временно недоступен.

Работает через Hookdeck Cloud, но может использоваться и в self-hosted сценариях.

Особенности:

Полностью open-source и легко кастомизируется.

CLI-утилита для быстрой настройки и мониторинга.

Удобный лог событий и перехватчики вебхуков для отладки.

Локальный сервер остаётся закрытым для интернета — только безопасный туннель.

Примеры применения:

- Тестирование интеграции с платёжными шлюзами.

- Отладка CI/CD хуков с GitHub или GitLab.

- Разработка приложений, реагирующих на события (реальное время).

Преимущества:

Альтернатива ngrok, но заточена именно под вебхуки.

Хорошая интеграция с экосистемой Hookdeck.

Можно разворачивать в своей инфраструктуре при необходимости.

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

🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Отлично знаете Go? Пройдите онлайн-собеседования за один день и присоединяйтесь к масштабному проекту по переносу ВКонтакте на сервисную архитектуру и новый технологический стек. Это VK One Day Offer для Go-разработчиков с опытом от трёх лет!

Зачем участвовать? Чтобы поработать с продуктами, которые выдерживают нагрузку свыше 2 млн RPS, стать частью команды с активно растущим Go-сообществом и собственным тулингом, работать над сложными архитектурными задачами и возможность влиять на то, каким станет ВКонтакте в ближайшие годы.

ВКонтакте переходит на сервисную архитектуру и строит единую платформу разработки на Go. Не упустите шанс участвовать в проекте, который упростит совершенствование продуктов VK и улучшит опыт миллионов пользователей.

Оставляйте заявку на участие.
👣 Проект: GoVisual


🧩 Что это такое

GoVisual — это инструмент с нулевой конфигурацией, написанный на Go, предназначенный для *визуализации и отладки HTTP-запросов* во время локальной разработки Go-приложений.


🚀 Ключевые возможности

• Визуализирует все входящие HTTP-запросы
• Показывает структуру и содержимое запросов в реальном времени
• Не требует дополнительной конфигурации
• Легко интегрируется в существующие Go-проекты
• Работает локально и предназначен для отладки

⚙️ Как это работает

1. Подключается к вашему HTTP-серверу в Go
2. Перехватывает и отображает все запросы, поступающие на сервер
3. Автоматически запускает веб-интерфейс для отображения логов

🎯 Когда использовать

GoVisual идеально подойдёт, если:

• Вы разрабатываете API или веб-сервер на Go
• Хотите смотреть каждый HTTP-запрос без Postman или стороннего прокси
• Нужна отладка без лишней настройки
• Хотите встроить простой мониторинг в локальную разработку
• Работает «из коробки»

go get github.com/doganarif/govisual

📦 GitHub

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
💻Как работать с каналами в Go и сделать ваш код конкурентным?

🔥На открытом уроке «Использование каналов в Go на практике» от OTUS вы погрузитесь в одну из самых мощных особенностей языка Golang. Эти инструменты позволяют эффективно управлять параллельными процессами — ключ к созданию высокопроизводительных приложений.

❗️Что вас ждёт:

— Обзор теории: как работают каналы в Go и зачем они нужны.

— Практические примеры применения каналов в реальных задачах.

— Разбор частых ошибок и подводных камней при работе с каналами.

📗Урок пройдет в преддверии старта курса «Golang Developer. Professional», и все участники получат скидку на обучение.

➡️Встречаемся 14 мая в 20:00 МСК, регистрация открыта: https://otus.pw/jyL5/?erid=2W5zFJbp3ag

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
This media is not supported in your browser
VIEW IN TELEGRAM
📦 Go-Package-Manager — легкий менеджер пакетов для Go-проектов без go.mod

🚀 Что это такое?

Go-Package-Manager (GPM) — это минималистичный менеджер пакетов для Go, который:
- 📁 копирует зависимости напрямую в папку pkg/
- 🧵 поддерживает установку с GitHub, Gist, Bitbucket и GitLab
- 🔧 позволяет собирать и запускать проект без конфликта с go.mod

🛠️ Основные команды:

- gpm get [repo] — загрузка зависимости
- gpm run [main.go] — сборка и запуск проекта
- gpm install — установка всех зависимостей из packages.yaml
- gpm clean — очистка всех пакетов

💡 Пример packages.yaml:

packages:
- github.com/some/package
- gitlab.com/another/dep


🎯 Кому будет полезно?

• Новичкам, которые не хотят сразу погружаться в go mod
• Тем, кто работает над однострочными утилитами или экспериментальными скриптами
• Для старых проектов без модулей или в нестандартных окружениях

🔗 Репозиторий

@golang_google
🔐 Boulder — реализация ACME-совместимого центра сертификации, автоматически проверяющего владение доменом и выпускающего TLS-сертификаты. Именно на нём работает Let’s Encrypt, бесплатно обеспечивая шифрование для миллионов сайтов.

Проект разделён на компоненты: Web Frontend, Registration Authority, Certificate Authority и другие, что позволяет изолировать критичные части системы. Внутри — строгая логика на основе объектов ACME: аккаунтов, авторизаций и сертификатов. Для связи между модулями используется gRPC, а для разработки — Docker-окружение с полным набором зависимостей.

🤖 GitHub

@golang_google
Производительность и наблюдаемость бэкенда. Поиск проблем в продакшене

Признак мастерства бэкендера — глубокое понимание своего стека и того, как работает код в продакшене. Недаром во многих бигтех-компаниях принят подход “you build it, you run it”. Хороший программист не только умеет запилить фичи, но и знает, как работает в проде его софт, и может разобраться, почему его сервис тормозит. Для этого нужно знать особенности рантаймов, инфраструктуры и современные подходы к сбору телеметрии.

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

🌐 В программе курса:

🤩 Архитектура бэкенд-серверов (Golang, Java, PHP и др) и её особенности: модели обработки запросов и параметры конфигурации, влияющих на производительность
🤩 Zero-code instrumentation на разных языках программирования
🤩 Open Telemetry: основы технологии и применение на примере SigNoz
🤩 Суб-real-time телеметрия поверх UDP c PINBA и “промстэком” (Grafana/Prometheus)

🥸 Кто мы: R&D-центр Devhands. Автор курса — Михаил Курмаев, эксперт по сложным распределённым системам. Долгое время строил платформу в Badoo/Bumble, сейчас в Т-банке развивает дата-платформу.

🗓 Старт курса: 3 июня, 4 недели обучения.
Изучить программу и записаться можно здесь.

Ждем вас!

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqvWLPSc
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Sqlc-gen-go-server — это плагин для sqlc, который автоматически генерирует серверную часть на Go (gRPC, Connect или HTTP) на основе SQL-запросов.

Он позволяет разработчикам создавать типобезопасные API без необходимости вручную писать обработчики или маршруты.
X (formerly Twitter)

🔧 Основные возможности
Поддержка нескольких протоколов: Генерация серверов с использованием gRPC, Connect или стандартного HTTP.

- Гибкая настройка: Возможность указания пользовательских опций, таких как имя пакета, префиксы маршрутов и другие параметры через конфигурационный файл sqlc.yaml.

- Простая интеграция: Легко встраивается в существующие проекты на Go, используя стандартные инструменты и практики.

🚀 Быстрый старт
Установка sqlc:



go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest


Добавление плагина в конфигурацию


sqlc.yaml:

version: '2'
plugins:
- name: go-server
wasm:
url: https://github.com/walterwanderley/sqlc-gen-go-server/releases/download/v0.1.0/sqlc-gen-go-server.wasm
sha256: "<SHA256-сумма>"
sql:
- schema: schema.sql
queries: query.sql
engine: postgresql
codegen:
- plugin: go-server
out: internal/db
options:
package: db


Генерация кода:

sqlc generate

Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Jessy — ультрабыстрая JSON-библиотека для Go

Без рефлексии. Без аллокаций. В реальном времени.

Поддержка новых map на базе Swiss Table
Тег omitzero для пропуска нулевых значений
Интерфейсы TextAppender и JsonAppender
Ускоренный Unmarshal через jessy.UnmarshalTrusted
Кастомные энкодеры: AddValueEncoder, AddUnsafeEncoder

💡 Как это работает:
При первом проходе Jessy анализирует тип, и запоминает стек вызовов для каждого поля и всех возможных ветвлений.
Дальнейшая работа — просто прямой маршаллинг из памяти, без лишней логики.

⚙️ Подходит для high-load систем, realtime-сервисов и микросервисной архитектуры.
Jessy — не просто быстрее. Быстрее всех.

🔧 Главное отличие от конкурентов:
Поддержка новых версий Go, минимальный overhead, никакой автогенерации и никакого ассемблера.

🔗 github.com/avpetkun/jessy-go

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM