В микросервисной архитектуре есть множество зависимостей от других сервисов и инфраструктуры. В результате чего возникают проблемы, которые съедают большое количество сил и времени. Приходит, например, тестировщик с описанием воспроизведения бага — а чтобы его воспроизвести, надо долго готовить данные, а потом еще дольше поднимать фронт… После N-й итерации повторять такое вы, конечно, не будете это, мягко говоря, утомляет. Так интеграционные тесты становятся определенным оверхедом вместо того, чтобы упрощать жизнь разработчикам.
Рубрика «Go»
Долой оверхед: как мы избавились от зависимостей в интеграционном тестировании микросервисов
2025-02-07 в 6:16, admin, рубрики: docker, Go, qa, tdd, testing, архитектура, микросервисы, тестирование, тестирование поСравнение кода DeepSeek и ChatGPT(Golang)
2025-02-02 в 11:17, admin, рубрики: chatgpt, chatgpt-4, deepseek, DeepSeek R1, Go, искуственный интеллектВесь этот шум заставил меня заинтресоваться DeepSeek. Самое банальное сравнить с ChatGPT. Ну и плюсом, у меня сегодня выходной, можно и поиграть немного. Код пусть будет на Go. Модели GPT-o1 и Deepseek-R1.
Заданием для нейронок будет написать две игры. Эти две игры это вообще первое что я когда либо написал в своей жизни, правда, это было не на Go.
Задание 1: Игра "Пинг-Понг" на Go
Промт:
Читать полностью »
Сравнение кода от DeepSeek и ChatGPT по-гоферски
2025-02-01 в 19:16, admin, рубрики: chatgpt, deepseek, Go, golangВ поисках утреннего чтива на Хабре наткнулся на статью про сравнение кода на Swift, сгенерированного двумя действующими лицами - ChatGPT от OpenAI и его нашумевший "убийца" - DeepSeek, основателем которого выступает Лян Вэньфэн, про которого можно узнать в статье на VC.
После прочтения статьи в голову вполне ожидаемо пришла идея сравнения сгенерированного кода на Go. Правила те же самые - одинаковые промпты, если с результатом все совсем плохо - даем еще одну попытку, но условно ставим "незачет".
Читать полностью »
Cоздание Приватной Сети Блокчейн на Go. Часть 1
2025-01-19 в 14:16, admin, рубрики: beginner, blockchain, consensus, GoПривет!
Меня зовут Олег, я работаю разработчиком в одной крупной IT-компании и недавно в разговоре со знакомыми логистами, я узнал, что у них в штате работает блокчейн-специалист. Для меня мир логистики был максимально далек от цепочки блоков, как и цепочка блоков от меня, поэтому я решил погрузиться в эту технологию.
Прочитав множество статей и несколько книг, я выяснил, что теория с практикой идут рядышком, но понимание того, как же блокчейн работает на самом деле, не пришло, поэтому было решено создать что-то с нуля своими ручками.
Go в GUI, я создал
2025-01-16 в 21:06, admin, рубрики: android, ebiten, ebitengine, game engine, Gamedev, Go, GUI, игровой движок, разработка игр, разработка приложенийИдея сделать игру под Android на Go была неоднозначной, но интересной. Я легко мог представить Go не только в привычной для него сервисной нише, но и в прикладной — его кросс-платформенность и близость к системному уровню в сочетании с простотой пришлись бы там очень кстати. И вот мы здесь — игру мечты я пока не создал, но пару игр попроще сделать удалось.
В этой статье я хочу рассказать об инструментах, появившихся по ходу работы. Сами инструменты я объединил в библиотеку Youngine и опубликовал на GitHub. Там же я опубликовал небольшую игруЧитать полностью »
Когда слайсы начинают расти
2025-01-16 в 9:15, admin, рубрики: array, Go, golang, slice, массивы, Программирование, слайсыВведение
Я не применяю Go в коммерческой разработке, я недавно начал изучать и применять этот язык для пет-проектов и разного рода опытов. В этой статье речь пойдёт о слайсах. Пример, который мы будем рассматривать, мне показал коллега, за что ему большое спасибо.
Что такое "слайс"?
Говоря простым языком, слайсы — это надстройка, интерфейс над массивами, который позволяет нам более гибко с ними работать. Мы можем работать со слайсом как с динамическим массивом: добавлять или удалять элементы, то есть менять его размер. При этом под каждым слайсом содержится базовый массив строго определённой длины.
Демонстрация виртуального дисплея без задержки с DXGI. Или как получить второй монитор из ноутбука-телефона-планшета
2025-01-15 в 7:16, admin, рубрики: c++, cgo, Desktop duplicate api, direct3d 11, DirectX, Go, IP, rtp, WebRTC, WebSocketВ этой статье мы разберем несколько существующих методов записи экрана и способы трансляции по сети с минимальной задержкой.
Предыстория
Разрабатывая продукт для саппорта появилась потребность ускорить удаленное подключение к пользователю для решения локальных проблем с устройством, для этих целей использовался TeamViewer или AnyDesk и все было хорошо кроме стадии когда нужно скачать клиент, сообщить логин и пароль либо уникальный номер
Генерация PDF-файлов на Go
2025-01-03 в 10:15, admin, рубрики: fpdf, Go, gotenberg, html, PDF, wkhtmltopdfГенерация PDF-документов это практически неотъемлемая часть при создании отчетов. Ведь гораздо проще иметь один HTML-шаблон который просто редактируется, и в нужные места подставить необходимые данные.
В статье отобрал самые популярные (по звездам на GitHub на момент написания статьи) инструменты для генерирования PDF из HTML, DOCX и некоторых других форматов. Рассмотрим только те, которые реализованы непосредственно на Go ИЛИ имеют обертки над API на Go.
Список следующий:
Безболезненная миграция с NATS на Kafka
2024-12-26 в 12:28, admin, рубрики: backend, backend-программирование, backend-разработка, Go, nats, software development, многопоточное программирование, многопоточностьПривет! Меня зовут Максим, я Go-разработчик из Wildberries. Свою дебютную статью я хочу посвятить довольно популярной теме, когда на проекте приходится уходить с одной технологии на другую. Данная статья будет полезна разработчикам, кто активно использует асинхронный способ передачи данных в своих проектах. Статья несет исключительно опыт автора.
В первую очередь заглянем поглубже во внутреннее устройство каждого брокера и особенности при работе с ним.
Nats
Одна опция TCP-стека спасет приложение от даунтайма
2024-12-25 в 17:28, admin, рубрики: Go, kubernetes, service mesh, tcp, инцидент, микросервисы, распределенные системы, сетьВсем привет, меня зовут Вадим Макеров, я работаю в iSpring бэкенд-разработчиком.
Мы разрабатываем систему управления обучением (LMS - learning management system) iSpring Learn. Внутри система представляет из себя модульный монолит на PHP с почти сотней микросервисов на Go. Мы используем Kubernetes, Service Mesh, gRPC и прочие модные технологии :) Сейчас я работаю во внутренней команде Core, которая занимается внутренними улучшениями нашей системы.