golang
Фикстуры в Go: как перестать писать инфраструктуру в автотестах

ВступлениеВсе, кто хоть раз писал интеграционные или E2E-тесты на Go, сталкивались с одной и той же проблемой: в Go нет понятия фикстур. Встроенный пакет testing просто не предоставляет такого механизма.На практике это приводит к дублированию кода и копипасте. Всё, что должно жить в инфраструктурном слое, оказывается прямо внутри тестов. Нужно открыть соединение с базой — это делается в тесте. Нужно его закрыть — тоже в тесте. Подготовка данных, инициализация клиентов, очистка состояния — всё с…

  • вторник, 21 апреля 2026 г. в 00:00:11
javascript
LOTIS: Новая парадигма WEB-разработки для бизнес-приложений

После того как моя статья о фреймворке LOTIS вызвала интерес, я решил подробнее раскрыть его архитектуру и привести примеры кода. Напоминаю ссылку на репозиторий фреймворка: https://github.com/O-Planet/LOTISLOTIS решает одну фундаментальную проблему: разделение логики на клиент и сервер мешает разработке бизнес-приложений. Вместо того чтобы думать о бизнес-логике, разработчики тратят время на:Синхронизацию данных между клиентом и сервером Управление состоянием Написание идентичной логики на дву…

  • вторник, 21 апреля 2026 г. в 00:00:09
javascript
Фронтенд — это REST-сервер

Привет. Я фронтенд-разработчик. По мнению тех, кто, по мнению некоторых, перекладывает джейсончики туда-сюда, я крашу кнопочки. Но сам я себя идентифицирую иначе: я тоже перекладываю джейсончики, и у меня всё точно так же, как у них. Даже архитектура. У меня тоже есть контроллеры, сервисы и хранилища, и я также обрабатываю запросы пользователей. Даже больше, я делаю HATEOAS, «тру» RESTful, если хотите. Давайте расскажу, как я к этому пришёл.Как я стал бэкендером во фронтендеКогда-то давно я тол…

  • вторник, 21 апреля 2026 г. в 00:00:07
javascript
Готовимся к отключению. Эффективные форматы для упаковки и раздачи HTML-страниц

В 2026 году растёт риск перебоев и ограничений в работе интернета в РФ. В таких условиях имеет смысл заранее продумать, как сохранить привычное окружение при нестабильном доступе к сети.Помимо личных файлов, кино и музыки, хочется сохранить архив сайтов и веб-страниц для чтения в будущем — на месяцы или даже годы вперёд. Но в каком формате это лучше делать?ПК для Апокалипсиса«ПК для Апокалипсиса» — офлайновая система, которая хранит полный набор необходимой информации для жизни без интернета. Э…

  • вторник, 21 апреля 2026 г. в 00:00:06
javascript
Один движок на два рантайма: как мой сайт на Next.js делит формулы с Flutter-приложением

Прошлой зимой я писал тут про «Мастерок» — строительный калькулятор на Flutter для RuStore. Приложение поехало в прод, набрало 4.9 звезды, и в какой-то момент пришло осознание: аудитория смартфонных приложений — это аудитория смартфонных приложений. А человек, который в обед нагуглил «сколько мешков ротбанда на 20 квадратов», в магазин приложений не полезет. Он хочет страницу в браузере. Желательно без куки-баннера на полэкрана, без интерфейса из 2012-го и без того, чтобы перед ответом на вопро…

  • вторник, 21 апреля 2026 г. в 00:00:04
github
koala73 / worldmonitor

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interfaceWorld Monitor Real-time global intelligence dashboard — AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface.               Documentation  ·  Releases  ·  Contributing What It Does 435+ curated news feeds across 15 c…

  • вторник, 21 апреля 2026 г. в 00:00:02
golang
Приватная Cвязь на Go и Flutter

От автораВ последнее время очень хочется мессенджер, в котором: Нет центрального сервера Сообщения шифруются end-to-end и не хранятся в открытом виде нигде Любой при необходимости может поднять свой сервер легко и быстро и присоедениться к общей сети Один сетевой стек вместо зоопарка протоколовНа Go есть библиотека libp2p, поддерживает работу с множеством транспортов, имеет встроенную аутентификацию пиров и предоставляет фундамент для децентрализованных P2P-сетей, которую крайне интересно было…

  • понедельник, 20 апреля 2026 г. в 00:00:15
golang
DDD в Go без красивых схем: как один платеж получил три курса валют

Писать про DDD легко, пока в примерах User, Order и пара красивых стрелочек. В проде оно обычно выглядит менее аккуратно: у клиента в интерфейсе одна сумма, списывается другая, саппорт открывает админку и видит третью.Расскажу про платежный кусок, где мы на Go в какой-то момент уперлись в курсы валют. Названия сервисов чуть изменены, но суть та же. Это не история про “как мы построили идеальную архитектуру”. Скорее наоборот: сначала сделали нормально на вид, потом оно начало протекать в самых н…

  • понедельник, 20 апреля 2026 г. в 00:00:13
golang
Деконструкция GO: CPU, RAM и что там происходит. Reordering, atomics, locks, fences. Часть 1.3

С постановкой проблем в прошлой статье мы почти закончили и вывели самое важное – природу состояния гонки и состязания за кэш. В этой статье мы также разберем оптимизацию, порождающую часть проблем синхронизации – instructions reordering, а также механизмы решения вышеуказанных проблем.В этот раз снова будет Go Assembler, а также снова будут примеры на Go. В прошлый раз это было необходимое зло во имя соответствия реальностиНапоминаю, что эта статья – часть большого цикла разбора языка программ…

  • понедельник, 20 апреля 2026 г. в 00:00:12