⚡️ Avo — это библиотека и CLI-инструменты, которые позволяют писать ассемблерный код прямо на Go-коде и автоматически генерировать `.s`-файлы + Go-стабы* для вызова этих функций.
Этот необычный инструмент превращает написание высокопроизводительного ассемблера x86 в процесс, похожий на обычную Go-разработку.
Вместо управления регистрами вручную, вы описываете логику на Go-подобном синтаксисе а Avo генерирует оптимизированный ассемблерный код с правильными префиксами.
Проект особенно полезен для криптографии и низкоуровневых оптимизаций.
asm.go:
*Go-стабы: это Go-файл, который объявляет функцию без реализации, но с правильной сигнатурой, чтобы компилятор понимал, как с ней работать.
▪️ GitHub
Этот необычный инструмент превращает написание высокопроизводительного ассемблера 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
Лето больших возможностей 💫
ИТ-лагерь Т1 — бесплатный интенсив по погружению в профессию для студентов вузов по техническим и ИТ-направлениям. Можно участвовать даже без опыта и из любого города РФ!
Тебя ждет:
— бесплатное онлайн-обучение
— командная работа над проектом при поддержке опытных менторов
— актуальные навыки для работы в бигтехе
— очное финальное соревнование в атмосфере летнего лагеря
🎓Лучших участников ждет собеседование на оплачиваемую стажировку в Т1 — одну из крупнейших ИТ-компаний России!
Выбирай направление:
🔹 тестирование
🔹 системный анализ
🔹 разработка frontend (JS+React)
🔹 разработка backend (Java)
🔹 прикладное администрирование (старт в DevOps)
📆 Подавай заявку до 29 июня — начни карьеру с ИТ-лагеря Т1!
Информация о рекламодателе.
ИТ-лагерь Т1 — бесплатный интенсив по погружению в профессию для студентов вузов по техническим и ИТ-направлениям. Можно участвовать даже без опыта и из любого города РФ!
Тебя ждет:
— бесплатное онлайн-обучение
— командная работа над проектом при поддержке опытных менторов
— актуальные навыки для работы в бигтехе
— очное финальное соревнование в атмосфере летнего лагеря
🎓Лучших участников ждет собеседование на оплачиваемую стажировку в Т1 — одну из крупнейших ИТ-компаний России!
Выбирай направление:
Информация о рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
GoPilot — это библиотека для Go, которая позволяет вызывать ваши функции с помощью естественного языка.
⚡️ С её помощью можно:
- Анализировать запросы на естественном языке
- Автоматически выбирать нужную функцию
- Преобразовывать динамические параметры в строго типизированные структуры
- Проверять обязательные поля и валидировать входные данные
- Управлять порядком выполнения и ответами
## Ключевые особенности
- Natural Language Processing
Обработка запросов пользователя без ручного парсинга текста.
- Automatic Function Routing
GoPilot сам сопоставляет запрос с зарегистрированной функцией.
- Type-Safe Parameter Mapping
Динамические вводимые данные конвертируются в структуры Go.
- Built-in Validation
Генерируемая схема параметров учитывает теги
required
, description
и др. - Easy Integration
Простое API: регистрируете функции и задаёте системный промпт.
- Flexible Response Handling
Поддержка разных форматов ответа и «режимов» выполнения.
## Быстрый старт
import (
"context"
"github.com/SadikSunbul/gopilot"
"github.com/SadikSunbul/gopilot/clients"
"github.com/SadikSunbul/gopilot/pkg/generator"
)
type WeatherParams struct {
City string `json:"city" description:"City name" required:"true"`
}
type WeatherResponse struct {
City string `json:"city"`
Temp int `json:"temp"`
Condition string `json:"condition"`
}
func GetWeather(p WeatherParams) (WeatherResponse, error) {
return WeatherResponse{City: p.City, Temp: 25, Condition: "sunny"}, nil
}
func main() {
client, _ := clients.NewGeminiClient(context.Background(), "API_KEY", "gemini-2.0-flash")
gp, _ := gopilot.NewGopilot(client)
weatherFn := &gopilot.Function[WeatherParams, WeatherResponse]{
Name: "weather-agent",
Description: "Get weather by city",
Parameters: generator.GenerateParameterSchema(WeatherParams{}),
Execute: GetWeather,
}
gp.FunctionRegister(weatherFn)
gp.SetSystemPrompt(nil)
// Генерация + выполнение за один вызов
result, _ := gp.GenerateAndExecute("Какая погода в Москве?")
fmt.Printf("%+v\n", result)
}
▪️ Github
Please open Telegram to view this post
VIEW IN TELEGRAM
🔧 env — библиотека, предлагающая минималистичный способ загружать конфигурацию из env-переменных в структуры.
В отличие от аналогов вроде viper, проект имеет zero-dependencies подход и понятную обработку ошибок. Теги вроде
🤖 GitHub
В отличие от аналогов вроде viper, проект имеет zero-dependencies подход и понятную обработку ошибок. Теги вроде
required
илиenv — биделают валидацию конфига прозрачной без лишнего кода. 🤖 GitHub