Posts

Деплой Telegram бота на AWS Lambda с Function URL

Эта статья является продолжением статьи “Создание AI-телеграм бота на Go с Gemini API и AWS Lambda” и содержит детальные инструкции по настройке и деплою Telegram бота на AWS Lambda с использованием Function URL.

Создание AI-телеграм бота на Go с Gemini API и AWS Lambda

В этой статье мы рассмотрим, как создать интеллектуального Telegram бота на Go, который выступает в роли прокси между пользователями и API Google Gemini. Бот будет выполнять две основные функции: отвечать на сообщения пользователей и генерировать изображения. Хотя этот механизм может быть существенно расширен дополнительными возможностями, такими как генерация голоса и видео, мы сосредоточимся на этих двух типах запросов для простоты.

Удалённая отладка с Delve

Ранее мы обсуждали локальную отладку с помощью IDE GoLand. Теперь мы обсудим, как удалённо отлаживать программу, работающую внутри Docker-контейнера, используя Visual Studio Code и GoLand IDE.

Деплой docker swarm из Gitlab CI

Ранее мы рассматривали деплой бинарного файла программы через SSH на сервер

Сейчас мы рассмотрим как реализовать деплой Docker контейнера из Gitlab CI.

Утилита и библиотека net-wait-go

Утилита и пакет Go для ожидания открытия портов (TCP, UDP).

Создание минимального Docker образа для Go приложений

Давайте обсудим, как создать минимальный Docker образ для Go программы.

Компиляция и деплой через SSH в GitLab CI

Давайте рассмотрим, как работает компиляция Go и как использовать GitLab CI для этого.

HTTP

Все примеры из статьи находятся в репозитории на github.

Давайте рассмотрим инструменты HTTP в GO.

sync.Map

Давайте рассмотрим использование sync.Map и его исходный код.

Профилирование Go: основы и практика

Go имеет богатые инструменты профилирования с самого начала — пакет pprof и go tool pprof. Давайте обсудим, почему профилирование полезно, как с ним работать и что нового в этой области.

Внедрение зависимостей в GO

Давайте поговорим о паттерне внедрения зависимостей и управлении зависимостями в больших программах.

Шаблоны GO: принципы и использование

Пакеты text/template и html/template являются частью стандартной библиотеки Go. Шаблоны Go используются во многих программах, написанных на Go — Docker, Kubernetes, Helm. Многие сторонние библиотеки интегрированы с шаблонами Go, например Echo. Знание синтаксиса шаблонов Go очень полезно.

Эта статья состоит из документации пакета text/template и нескольких решений автора. После описания синтаксиса шаблонов Go мы погрузимся в исходники text/template и html/template.

Фильтрация по списку значений с помощью GORM

Когда необходимо отфильтровать данные по списку значений (например, по ID: 1, 2, 3), следует использовать оператор ANY в сочетании с pq.Array из драйвера PostgreSQL.

Принципы работы типа slice в GO

В блоге Go описывается, как использовать срезы. Давайте посмотрим на внутреннее устройство срезов.

Обработка данных в конкурентных программах

В Go у нас есть функциональность горутин из коробки. Мы можем запускать код параллельно. Однако в нашем параллельно выполняющемся коде мы можем работать с общими переменными, и не совсем понятно, как именно Go обрабатывает такие ситуации.

Принципы работы типа map в GO

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

Golang regexp: сопоставление символа новой строки

Почему регулярные выражения с точкой (".") работают по-другому в Go по сравнению с PHP и JavaScript.

GORM: фильтрация сущности по связанной сущности

Эта задача не так проста, особенно с GORM.

Создание простого TCP чата на Go

Пример простого TCP чата на Go с объяснением логики.

Как и зачем использовать дебаггер с GO

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