На странице собраны вопросы по Golang — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, concurrency, database.
Как сопоставлять доменные ошибки с HTTP-кодами? Доменная ошибка описывает бизнес-логику, а HTTP-код относится к протоколу 400 (Bad Request): ошибки валидации и некорректные входные параметры 404 (Not Found):…
протокол, обеспечивающий безопасный доступ разделяет аутентификацию пользователя и выдачу разрешений приложениям клиентское приложение получает токен доступа от сервера авторизации пользователь подтверждает…
архитектурный паттерн для интеграции микросервисов сохранение изменений и событий в отдельной таблице (outbox) в рамках одной транзакции с бизнес-операцией асинхронная отправка событий из outbox в очередь или шину…
механизм динамического получения метаданных сервера содержит сведения об описаниях сервисов, методов и сообщений реализуется специальным сервисом grpc.reflection.v1alpha.ServerReflection позволяет клиентам…
Как работает context.Done() и почему закрытие канала получают все горутины? context.Done() — канал для наблюдения за отменой контекста возвращает канал, закрываемый при отмене или завершении заданного времени одно…
механизм конкурентного ожидания в системах с несколькими каналами ожидает событие сразу на одном или нескольких каналах приостанавливает выполнение, пока хотя бы один канал не будет готов поддерживает чтение, запись и…
паттерн интеграции, обеспечивающий гарантированную доставку сообщений сохраняет события в специальной таблице (outbox) одновременно с изменениями в БД в рамках одной транзакции устраняет риск рассинхронизации данных и…
Как работает type switch в Go? механизм для определения типа значения интерфейсной переменной специальный вариант switch для проверки динамических типов синтаксис: switch v := x.(type) { case T1: ... case T2: ... }…
Как устроен индекс в Postgres и чем B-Tree отличается от GIN Индекс в Postgres — это структура данных, которая ускоряет поиск записей в таблице B-Tree — сбалансированное дерево для поиска по равенству и диапазонам (>,…
область: архитектура сетей и протоколы маршрутизация — выбор наиболее подходящего пути для IP-пакета для этого применяется таблица маршрутов, где указаны сеть, маска, шлюз и интерфейс маршрутизатор анализирует адрес…
Как работает секционирование таблиц (table partitioning) в PostgreSQL? большая таблица разделяется на отдельные части — партиции каждая партиция представляет собой таблицу с собственным условием отбора, например…
append — функция для добавления элементов в срез в срезах Go добавляет один или несколько элементов с амортизированной сложностью O(1) при нехватке ёмкости создаёт новый внутренний массив и копирует в него…