Добрый день, сегодня я поделюсь с вами, на мой взгляд, довольно удачным шаблоном для телеграмм ботов на goВ нем заложена большая часть популярных сценариев работы и его расширение не должно вызывать проблем.Функционал шаблонаВыполнение запросов в ГорутинахВыполнение команд из консолиХранение контекста во время выполнения Вывод клавиатур и сообщений с локализациейВозвращение к предыдущему менюДля тех кому не терпеться взглянуть добро пожаловать в GitHub.Заранее прошу меня простить если покорёжи…
Bleve предоставляет индексации любых структур данных Go, он поддерживает различные типы полей: текст, числа, даты и логические значения, а также разнообразие запросов: от простых терминов до фраз и сложных булевых запросов.Чтобы начать работу с Bleve, нужно установить саму библиотеку в рабочее пространство Go. Процесс установки выполняется с помощью команды go get:go get -u github.com/blevesearch/bleveBleveСоздание индекса начинается с определения маппинга. Маппинг — это описание структуры дан…
ВведениеШаблоны - это инструмент программирования, который позволяет создавать структурированный и повторно используемый контент или код. Они имеют много применений в различных областях, включая веб-разработку, генерацию отчетов, форматирование текста и многое другое. В целом, шаблоны предоставляют удобный способ создания структурированного и гибкого контента или кода, что упрощает создание контента для различных приложений и веб-сайтов.Все инструкции шаблона заключаются в символы{{ и }}Текст …
В 99designs мы находимся на пути деконструкции нашего PHP-монолита в микросервисную архитектуру, при этом большинство новых сервисов пишется на Go. В этот период наша фронтенд-команда также применила безопасность типов, перейдя с Javascript на TypeScript и React.Логотип gqlgen от V'OfficialПосле того как мы внедрили безопасность типов в бэкенд и фронтенд, стало очевидно, что наши конечные точки REST, созданные на заказ, не могут преодолеть разрыв между типами. Нам нужен был способ объедини…
ВведениеШаблоны - это инструмент программирования, который позволяет создавать структурированный и повторно используемый контент или код. Они имеют много применений в различных областях, включая веб-разработку, генерацию отчетов, форматирование текста и многое другое. В целом, шаблоны предоставляют удобный способ создания структурированного и гибкого контента или кода, что упрощает создание контента для различных приложений и веб-сайтов.Все инструкции шаблона заключаются в символы{{ и }}Текст …
Вчера вышел Go 1.22, и многие новые фичи можно попробовать прямо из браузера. Давайте пройдемся по ним! Хабр не разрешает встраивать интерактивные примеры кода в статью, поэтому я сделал их внешними ссылками. Починили счетчик цикла в замыканиях Раньше переменные, объявленные в цикле for, создавались один раз и обновлялись на каждой итерации. Это приводило к ошибкам вроде использования счетчика в горутинах: // go 1.21 values := []int{1, 2, 3, 4, 5} for _, val := range values { go func() { …
Как выглядят паттерны DDD (Domain Driven Design) в большом проекте? А самое главное, стоит ли их вообще использовать? Рассмотрим, какими инструментами можно реализовать DDD на Go и оценим, насколько это больно.Меня зовут Илья Сергунин, я backend-сочинитель в Авито: занимаюсь тем, что передаю смартфоны в хорошие руки. В этой статье попытаюсь объяснить, как можно натянуть DDD на Go без синтаксического сахара и магии Java-подобных языков, и без больших крутых ORM c Data mapper, которые также отсу…
На данный момент я нахожусь в активном поиске нового проекта, поэтому активно хожу на собеседования.Решил поделиться своими мыслями о решении задачи, которую (как мне кажется) часто дают на собеседованиях. ЗадачаНаписать функцию, которая принимает несколько url адресов, а отдает сумму байт body ответов списка адресов и ошибку, если что-то пошло не так (если произошла ошибка, нужно вернуть ошибку как можно скорее, значение - не важно).Интересно обсудить варианты решения? Итак, у нас отдельная п…
Бесплатные ресурсы Golang 20242024 году изучение языка программирования Go (Golang) остается одним из наиболее перспективных и востребованных направлений для разработчиков. Одним из главных преимуществ изучения Golang в 2024 году является его широкое применение в различных областях разработки программного обеспечения. Он идеально подходит для создания масштабируемых и высокопроизводительных веб-серверов, микросервисов и распределенных систем. Благодаря своей простоте и эффективности, Golang та…