37.2K subscribers
1.52K photos
37 videos
5 files
1.67K links
加入频道
Давно хотели освоить программирование, но вас останавливала нехватка времени или строгие дедлайны? Тогда советуем обратить внимание на бесплатные курсы Яндекс Лицея по Python, Go и C++ для начинающих.

Заниматься на них можно когда и где угодно, ведь уроки доступны онлайн и в них нет дедлайнов! Вас ждут:
Качество: занятия разработаны практикующими экспертами Яндекса.
Свобода: пользуйтесь автоматической проверкой решений и задавайте вопросы через поддержку.
Перспективы: после завершения вы получите уверенную базу для дальнейшего роста, а также сертификат, который пригодится при поступлении в Яндекс Лицей.

Не откладывайте на потом — выберите курс и зарегистрируйтесь на сайте!
🏠 MCP для умного дома

Тысячи бессонных ночей сотен ресёрчеров и ML-инженеров дали миру сначала большие языковые модели, а потом MCP-протокол - открытый стандарт, который связал эти модели и дал возможность подключаться к приложениям, системам и API.

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

Как это используют люди? Пилят действительно важные и нужные интеграции.

Проект поддерживает Ollama, подключение к экосистеме управления умным домом HomeAssistant MCP и написан на Go.


🖥 Github

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Uzi — параллельный запуск AI-кодинг-агентов из терминала

Проект, который превращает терминал в многопоточную машину для работы с LLM-агентами: Claude, GPT, Aider, Codex и другими.

🧠 Что делает Uzi:
• Запускает несколько агентов параллельно
• Каждому агенту — свой git worktree, tmux и порт
• Можно задавать общую задачу, а агенты предложат решения независимо
• Позволяет наблюдать за прогрессом, подтверждать или отклонять шаги
• Упрощает слияние финальных изменений — без ручной рутины

🛠 Пример:

uzi prompt --agents claude:2,gpt4:1 "Добавь в проект GraphQL API и авторизацию"


Затем:
- uzi auto — агентам можно доверить автоматические действия
- uzi broadcast "Обнови документацию" — отправить команду всем
- uzi checkpoint — сохранить и закоммитить результат

🧪 Идеально подходит для:
— Быстрой генерации MVP
— Прототипирования фичей сразу в нескольких вариантах
— Параллельной работы с кодовыми ассистентами
— Демонстраций, где хочется "показать мощь LLM сразу в действии"

📦 Установка:

go install github.com/devflowinc/uzi@latest


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

#AI #DevTools #CLI #LLM #CodeGeneration #OpenSource

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
👣 Представлен язык программирования Gauntlet, расширяющий возможности Go

Доступен первый альфа-выпуск языка программирования Gauntlet, надстройки над языком Go, решающей некоторые архитектурные проблемы и добавляющей дополнительную функциональность.
Программы на языке Gauntlet поддерживают все возможности языка Go, транслируются в представление на языке Go и интегрируются с существующей экосистемой Go без необходимости задействования обвязок (binding).

Развиваемый проектом инструментарий написан на языке F# и распространяется пол лицензией GPLv3. Для работы с кодом предоставляется дополнение к редактору VSCode.

Решаемые в Gauntlet проблемы:

• Назойливый вывод ошибок, связанных с неиспользуемыми переменными (Gauntlet добавляет для всех неиспользуемых переменных заглушки вида "_ = a").
• Раздутый код для обработки ошибок. В Gauntlet вместо условных блоков вида "if err != nil" используются однострочные выражения "try-with".
• Назойливый способ импорта и экспорта (например, в Go необходимо, чтобы экспортируемые имена начинались на заглавную букву).
• Отсутствие тенарного оператора. В Gauntlet можно использовать выражения вида 'let properWord = @String len(lines) > 1 ? "lines" : "line"'.
•Отсутствие синтаксиса switch-case.
• Усложнённые циклы "for". В Gauntlet можно писать "for let _, c in "Hello" {" вместо "for _, c := range "Hello" {".
• Необычный оператор присваивания (":=" для одновременного объявления и инициализации переменных; "=" для изменения значения уже объявленных переменных).
• Невозможность вызова функций по цепочке (в Gauntlet поддерживается вызов вида 'let trimmedLines = fileContentStrVersion => strings.trimSpace(_) => strings.split(_, "\n")'.

Расширенные возможности Gauntlet:

• Синтаксис "when-is" похожий на switch.case, но манипулирующий выражениями.
• Поддержка pipe-каналов, позволяющих по цепочке пропускать значение через несколько выражений или функций. например "10 => add(_, 10) => add(_, 30) => divide(_, 2)".
• Выражения "try .. with" и "force .. with".
• Выражение "wrapper" для создания псевдонимов типов (например. "wrapper Int Dollars").


✔️ Github
✔️ Gauntlet
✔️ Новость

#Gauntlet #golang

@golang_google
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли за 4 года стать хорошим фулстек-разработчиком с дипломом престижного вуза,
готовым портфолио и сильной теоретической базой?
💻

В совместном онлайн-бакалавриате НИУ ВШЭ и Нетологии «Программные системы и автоматизация процессов разработки»
готовят как раз таких специалистов.🔥

На первых курсах вы изучите базовые математические и гуманитарные предметы,
основы программирования и профильные дисциплины по фулстек-разработке.
А с третьего курса выберете углублённый трек: руководитель командой разработки или DevOps-инженер.
По итогу обучения освоите 4 языка программирования: Java, Python, JavaScript, Go.

Вас ждёт:
📎 сильное студенческое комьюнити,
📎 постоянная практика,
📎 хакатоны и стажировки.

🙂А ещё — все бонусы очной формы обучения: отсрочка от армии, льготы на проезд,
доступ к библиотеке, привилегии при посещении театров, льготный кредит на
образование.

Получите диплом, который поможет строить карьеру в сильных IT-командах.
Подробнее ➡️ https://netolo.gy/ebKa

Реклама. ООО "Нетология". ИНН 7726464125 Erid: 2VSb5z1PXD2
Please open Telegram to view this post
VIEW IN TELEGRAM
📡 apimocker — простой мокер REST API без бэкенда

apimocker — это легкий TUI-инструмент на Go, который поднимает фейковый API из YAML/JSON за секунды. Идеален для фронтенда, тестов и прототипов.

🛠 Что умеет:
• Динамичные JSON-ответы с шаблонами ("id": "uuid", "email": "email")
• Задержки, ошибки с вероятностью
• Отдача файлов (изображений и др.)
• Логирование (plain/json)
• TUI-интерфейс с активными маршрутами

💡 Подходит для:
• Быстрого мокинга
• Демонстраций и тестов
• Изоляции от реального API

🚀 Установка:

yay -S apimocker # Arch
# или:
git clone https://github.com/Hanashiko/apimocker.git
cd apimocker && go build -o apimocker main.go
sudo mv apimocker /usr/bin/

🔗 https://github.com/Hanashiko/apimocker

Нужен API-сервер без сервера? Используй apimocker.

@golang_google
📞 Diago — библиотека для создания VoIP-приложений на Go

Diago (сокращение от Dialog + Go) — это open-source библиотека для разработки VoIP-решений на языке Go.

VoIP (Voice over IP) — это технология, которая позволяет передавать голосовые вызовы через интернет или любую другую IP-сеть, вместо использования традиционной телефонной связи.

Она построена поверх оптимизированной библиотеки SIPgo и предназначена для быстрого и удобного создания тестируемых VoIP-приложений.

🔧 Основные возможности:

- SIP-сессии: Поддержка клиентских и серверных SIP-сессий, включая регистрацию и аутентификацию.
- Обработка медиа: Воспроизведение и запись аудио, поддержка DTMF, управление RTP/RTCP.
- Поддержка кодеков: Включая Opus, что делает библиотеку совместимой с современными стандартами аудио.
- Примеры использования: В репозитории представлены примеры, такие как эхо-тест и регистрация SIP-агента.

🚀 Быстрый старт:

Пример:


ua, _ := sipgo.NewUA()
dg := diago.NewDiago(ua)

dg.Serve(ctx, func(inDialog *diago.DialogServerSession) {
inDialog.Trying()
inDialog.Answer()

playfile, err := os.Open("demo-echotest.wav")
if err != nil {
fmt.Println("Failed to open file", err)
return
}
defer playfile.Close()

pb, _ := inDialog.PlaybackCreate()
if err := pb.Play(playfile, "audio/wav"); err != nil {
fmt.Println("Playing failed", err)
}
})


🧪 Дополнительные инструменты:
Gophone: CLI SIP-телефон, построенный на Diago, для тестирования и отладки VoIP-сервисов.

📚 Подробнее:
Репозиторий: github.com/emiago/diago
Redis и Valkey изучите секреты самых популярных open source key-value СУБД

В высоко-нагруженных сервисах Redis — не просто кэш, а важная подсистема, на которой строится значимая часть бизнес-логики. От его стабильности, масштабируемости и отказоустойчивости зависит производительность всего сервиса. Valkey - это современный производительный форк Redis с открытым исходным кодом, поддерживаемый сообществом и рядом крупных компаний. Valkey набирает популярность, поддержан крупными облачными провайдерами, и вполне возможно потеснит или вовсе заменит Redis со временем. Наш курс — для тех, кто хочет держать свой стэк и знания актуальными и глубоко разбираться, как устроен Redis и Valkey.

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

🤩 Как эффективно использовать базовые и продвинутые структуры данных: HyperLogLog, Bitmaps и Bisields, Streams, Geospatial-индексы, Bloom Filters
🤩 Как проектировать in-memory системы, которые не разваливаются под нагрузкой, что влияет на отказоустойчивость и как её добиться
🤩 Как работает репликация и кластеризация на практике (режимы Sentinel и Cluster)
🤩 Как встроить Redis/Valkey в реальный прод с учётом безопасности, интеграций и современных практик мониторинга.

🥸 Кто мы: R&D-центр Devhands. Автор курса — Константин Ратвин — преподаватель МФТИ на кафедре БИТ (совместно со СберТех), эксперт по распределённым системам и банковским ИТ, автор курсов по СУБД и инфраструктуре, спикер HighLoad++ и PGConf.

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

Ждем вас!

Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzqxNnFKA
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Monstera — фреймворк для Go, который избавит тебя от забот о масштабировании

Пишешь приложение на Go, где нужно хранить состояние (state)?
Обычно это боль: базы, кеши, отказоустойчивость, репликация...

Monstera всё упрощает:

Пиши обычный Go-код со всеми данными в памяти или на диске
Не думай про кластеры, скейлинг, доступность — всё уже встроено
Подходит для real-time приложений, распределённых систем и сервисов с постоянным состоянием

💡 Просто подключаешь Monstera — и сразу получаешь стабильную, масштабируемую систему.

go get -u github.com/evrblk/monstera@latest

🔗 Попробовать

#golang
🎆 Релиз Go 1.24.4 и 1.23.10!

🔐 Безопасность:
Обновления включают исправления для критических уязвимостей:
• CVE-2025-4673 (в `net/http`)
• CVE-2025-0913 (в `os`)
• CVE-2025-22874 (в `crypto/x509`)

📢 Анонс: https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A/m/XDxq7uidAgAJ

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

#golang #security #update

@Golang_google
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ GOscade - минималистичная библиотека для автоматического запуска, остановки и координации зависимостей в Go

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

goscade делает это за вас:

Автоматически определяет зависимости между компонентами
Запускает их по топологическому порядку, параллельно
Следит за readiness, обрабатывает ошибки и каскадное завершение
Делает graceful shutdown в обратном порядке

Всё, что нужно - реализовать интерфейс и зарегистрировать компонент:

type Component interface {
Run(ctx context.Context, readinessProbe func(error)) error
}


📦 Репозиторий: https://github.com/ognick/goscade