Category : golang

golang
Про конфигурацию go приложений и при чём тут vault

Когда-то я начинал свой путь как node.js разработчик и столкнулся с необходимостью конфигурировать приложение (кто бы мог подумать). Из простых решений, которые сразу приходят на ум, можно выделить:файлы (json, .env, toml, yaml, xml, ini и прочие)переменные окруженияаргументы процессаВ моём понимании это не совсем "конфигурация", а скорее способ передачи в неё данных. Так вот чтобы это всё заставить представлять из себя полноценную конфигурацию, с которой удобно работать, понадобилось п…

  • суббота, 10 мая 2025 г. в 00:00:12
golang
Часть 3. Векторизация на Go: CGo, транзакции, компиляторы, поддержка, байтовые инструкции

В первой части статьи мы рассмотрели, как можно вручную ускорить Go-код с помощью векторизации и SIMD-инструкций, реализованных через Go-ассемблер. Написали простую, но показательно быструю реализацию sliceContains и увидели, что даже базовая векторизация может дать ускорение в 10–14 раз по сравнению со стандартной реализацией.Во второй части статьи погрузились в практическое применение SIMD в Go-ассемблере, реализовали функцию SliceContainsV1 и изучили, как с помощью VADD, VDUP и других инстру…

  • суббота, 10 мая 2025 г. в 00:00:11
golang
Как я воевал с китайским умным туалетом для котов

В очередной раз, листая озон, я наткнулся на девайс, который привлек мое внимание. Самоочищающийся лоток для котов Petkit Pura Max, вещь весьма интересная, особенно, если у тебя три кота. Пушистые бандиты у меня крупные, потребляют много калорий и соответственно часто ходят в лоток.слева-направо Максвелл, Ульмо и ЭйнштейнОдна уборка за ними — это целый квест, а если хочешь уехать из дома на день‑другой, это обязательно нужно кого‑то просить убирать за ними. Умную кормушку и фонтан для воды я ку…

  • суббота, 10 мая 2025 г. в 00:00:10
golang
Часть 2. Векторизация и SIMD в Go: ускорение поиска и сравнения в массивах

Ускорить простые задачи, вроде поиска в массиве и сравнения слайсов, поможет мощь SIMD. Эти векторные инструкции, которые обрабатывают десятки байт данных за один такт процессора, отличная замена традиционным циклам. Во второй части статьи мы погружаемся глубже в практическое применение SIMD в Go-ассемблере, реализуем функцию SliceContainsV1 и изучим, как с помощью VADD, VDUP и других инструкций можно добиться 10–14-кратного ускорения простых задач.Из этой статьи вы узнаете:Как устроено сравнен…

  • пятница, 9 мая 2025 г. в 00:00:07
golang
Login with MetaMask 1/2 (GO lang)

HeroПредисловиеПриветствую тебя, дорогой Разработчик! Хочу поделиться своим опытом о том, как реализовать вход с помощью кошелька MetaMask (расширение для браузера) в твой проект. В этой статье я пропускаю весь код архитектуры приложения и покажу тебе только сервисный код (нижний уровень кода. Взгляни на DDD архитектуру, также известную как "Чистый код"). Я использую GO с распространенными библиотеками для веб-разработки, такими как Gin, jwt, sqlc и другие.Для начала давай представим, к…

  • четверг, 8 мая 2025 г. в 00:00:10
golang
Часть 1. Почему Go-ассемблер и векторизация могут быть полезны: идея для ускорения

Когда речь заходит о производительности в Go, большинство разработчиков полагаются на стандартные библиотеки и встроенные инструменты оптимизации. Но компилятор Go не всегда генерирует оптимальный машинный код. В таких случаях можно взять дело в свои руки и использовать ассемблерные инструкции для ускорения критически важных участков.Привет, Хабр! Меня зовут Игорь Панасюк, я работаю в Яндекс, преподаю в ИТМО, а также в свободное время выступаю на конференциях, делюсь опытом в соцсетях и помогаю…

  • четверг, 8 мая 2025 г. в 00:00:09
golang
Бот-переводчик в Telegram на Go с использованием n8n

Привет! Сегодня мы создадим простейшего бота-переводчика для Telegram на Golang с использованием библиотеки telego и нейросети Mistral через платформу n8n.Цель — показать возможную связку n8n, бота и LLM.Подготовка к работеСоздаем папку для проекта и открываем ее в терминалеИнициализируем Go-модуль:go mod init bot-translateУстанавливаем необходимые библиотеки:go get github.com/mymmrac/telegoСоздаем файл main.go для основного кода ботаn8n мы развернем в Amvera Cloud, так какВ Amvera n8n есть как…

  • четверг, 8 мая 2025 г. в 00:00:08
golang
Оплата звездочками в Telegram-боте на Go

ПредисловиеВ процессе реализации своего VPN-бота, мне очень захотелось добавить оплату звездочками, потому что это сильно удобно. Подписку можно оплатить буквально в два клика.TG Stars в целом сейчас обретают все большую популярность, учитывая, что Telegram уже не то что просто рекомендует, а заставляет всех продавцов цифровых переходить на оплату звездами.If your bot or mini app sells digital goods and services, be sure to carry out the payment in Telegram Stars by specifying XTR as currency. …

  • среда, 7 мая 2025 г. в 00:00:13
golang
Как функциональщик в Go ушёл… и не вернулся

Хороших технических статей про Go было написано немало, и эта — не одна из них. Эта статья — графомания о моём субъективном и эмоциональном опыте перехода со Scala на Go.Руководитель: Хочешь техлидить новый проект?Я: Да, конечно. А что за проект?Руководитель: Распределённые бэкенды на Go.Я: Go? Но я же скалист-функциональщик...Чуть позже.Коллега: Слышал, что ты будешь техлидить другой проект — вы там тоже Scala завозить будете?Я: Нет, будем писать на Go.Коллега: Ты что, бросаешь Scala?!Этот мом…

  • среда, 7 мая 2025 г. в 00:00:12