Category : golang

golang
Аутентификация go с использованием токенов PASETO

В этой статье мы напишем небольшой сервис аутентификации на go с использованием токенов PASETO. Этот токен можно использовать вместо JWT для процесса аутентификации. Если хотите узнать о PASETO подробнее, то можете почитать статьи на Хабре или гитхабе.Выбор библиотек для работы с PASETOВ настоящее время PASETO имеет 4 версии, 1 и 2 из них считаются устаревшими, поэтому при выборе библиотек важно ориентироваться на те, которые будут работать с версиями 3 или 4.Например, Гугл и гитхаб при поиске…

  • пятница, 12 апреля 2024 г. в 00:00:09
golang
Odinbit, игра моей мечты и процесс её создания. С нуля до первой публичной версии

ВведениеOdinbitВсем привет, в один прекрасный момент мою голову посетила задумка для игры: я хочу сделать свою игру, с элементами выживания и незамысловатой графикой. Хоть я и не имел опыта в gamedev, но все равно решил попробовать, почему бы и нетКонцепция игрыОсновая идея игры такова: вы как и во всех играх песочницах будь то Minecraft, Terraria, Dont Starve, появляетесь в мире, у вас нет вещей, а точнее вообще ничего. Вам предстоит развиваться в игровом мире, мне очень нравится такой жанр и…

  • среда, 10 апреля 2024 г. в 00:00:09
golang
Нативные подписки с роутером Cosmo

Федеративный GraphQL бесценен для предприятий, потому что он создает единый, логический уровень API - федеративный граф, - который соединяет разрозненные источники данных, служа единым представлением о ландшафте данных организации.Сервисы могут обеспечивать взаимодействие, но при этом оставаться независимыми и использовать технологии, с которыми они знакомы, благодаря общей и стандартизированной схеме GraphQL, и новые функции/сервисы могут быть легко интегрированы в этот объединенный граф без …

  • среда, 10 апреля 2024 г. в 00:00:08
golang
Введение в Router Cosmo — потрясающе быстрый шлюз с открытым исходным кодом Federation V1/V2

Предприятия имеют разнообразные зависимости от данных — внутренние микросервисы со специализированными доменами данных, устаревшие системы с собственными форматами данных, а также сторонние API и приложения SaaS со своими уникальными моделями данных и конечными точками.TL;DR: разные (и часто устаревшие) технологии, которые нужно как-то объединить.Federated GraphQL выделился как главное решение для такого объединения в сфере предприятий, и Router (или Gateway) в Federation действует как ключево…

  • вторник, 9 апреля 2024 г. в 00:00:08
golang
Пространство имен для GraphQL: Бесконфликтное объединение любого количества API

Пространство имен - это важный концепт в программировании, позволяющий группировать элементы и предотвращать конфликты имен. В этом посте мы покажем, как мы применяем этот концепт к API, чтобы облегчить композицию и интеграцию различных сервисов.Мы покажем вам, как интегрировать 8 сервисов: SpaceX GraphQL, 4x GraphQL с использованием Apollo Federation, REST API с использованием OpenAPI Specification, API на основе PostgreSQL и API на основе Planetscale-Vitess (MySQL) всего несколькими строками…

  • понедельник, 8 апреля 2024 г. в 00:00:08
golang
Dataloader 3.0: Новый алгоритм для решения проблемы N+1

При реализации Cosmo Router, open-source замена Apollo Router, мы столкнулись с проблемой поддержания нашего кода для решения проблемы N+1. Реализация маршрутизатора для федеративных служб GraphQL в значительной степени зависит от возможности группировать вложенные запросы GraphQL для сокращения числа запросов к подграфам.Чтобы решить эту проблему, мы разработали новый алгоритм, который решает проблему N+1 более эффективно и проще для поддержания, чем наше предыдущее решение, которое было осно…

  • воскресенье, 7 апреля 2024 г. в 00:00:07
golang
Дайджест полезных материалов из мира Golang за неделю

Подборка полезных материалов и находок из мира Go за неделю.Проекты недели.▪ Beego —  новая версия высокопроизводительного Go фреймворка для разработки RESTful API, веб-приложений и бэкенд-сервисов, вдохновленный Tornado, Sinatra и Flask. ▪LLocalSearch —  полностью локально работающий поисковый агрегатор с использованием агентов LLM.▪ Freeze — полезный Go инструмент для генерации изображений кода и вывода терминала.▪Go-cfg — Простой и удобный способ инициализировать конфигурацию в структуры, с…

  • воскресенье, 7 апреля 2024 г. в 00:00:06
golang
Разбираемся в новом роутинге в Go 1.22

В начале февраля 2024 года вышел Go 1.22. Вот, что нового и интересного принёс новый релиз: сделали более безопасное поведение переменных в циклах, добавили функции-итераторы в качестве rangefunc-эксперимента и улучшили шаблоны роутинга. В этой статье я сфокусируюсь на последнем, самом долгожданном, для многих, обновлении — шаблонах http-роутинга. Роутинг в Go — общая проблема, для решения которой уже построили кучу фреймворков, в этом GitHub-репозитории собраны лучшие. Google сама признаётся…

  • суббота, 6 апреля 2024 г. в 00:00:16
golang
Создание серверного Live Chat приложения с использованием Next.js, Fauna и WunderGraph для GraphQL …

Пошаговое руководство по созданию масштабируемого, чат-приложения реального времени с использованием серверных технологий... с небольшой помощью от NextAuth.js для входа через GitHub. Кому нужны WebSockets, когда у вас есть Live Queries? Не нам!Если вы создаете приложения, которые работают с данными в реальном времени, вы, вероятно, используете WebSockets. Они позволяют веб-браузеру и веб-серверу общаться в реальном времени, поддерживая постоянное соединение между ними - данные отправляются кл…

  • суббота, 6 апреля 2024 г. в 00:00:15