CockroachDB — это распределенная РСУБД, написанная на Go. Является представителем так называемых NewSQL баз данных, которые пытаются совместить в себе горизонтальную масштабируемость и высокую доступность NoSQL решений с интерфейсом (SQL) и строгостью (ACID) традиционных РСУБД. Помимо прочего, CockroachDB интересен тем, что реализует протокол PostgreSQL, что упрощает портирование на него существующих приложений. Давайте же попробуем поднять свой кластер CockroachDB и поработать с ним.
Рано или поздно любой радиолюбитель сталкивается с необходимостью опознать неизвестное ферритовое кольцо. Возможно, кольцо просто долго пролежало в коробке, и вы забыли, из какого оно материала. А может быть, вы хотите перепроверить за продавцом, что он продал вам то, что нужно. Учитывая, что какие-нибудь FT240-43 и FT240-31 внешне практически неразличимы, их немудрено перепутать безо всякого злого умысла. Давайте же выясним, как с неплохой точностью опознать неизвестное кольцо.
GitHub Actions — это CI/CD система, интегрированная с GitHub. В первом приближении можно думать о ней, как об аналоге TeamCity или Jenkins, предоставляемом в виде сервиса. Сервис бесплатен для открытых проектов, и даже для закрытых, если ваши билды собираются не слишком долго и/или не слишком часто.
Диаграмма направленности J-антенны в свободном пространстве представляет собой классический «бублик», как и у простого диполя. Это означает, что достаточно большая часть энергии излучается под высоким углом к горизонту, то есть, тратится впустую. Сей недостаток исправлен в вариации J-антенны под названием Super-J.
Допустим, мы разрабатываем микросервис на языке Go. Мы успешно написали модульные тесты. Но также требуется написать и другие тесты, которые проверяли бы, что посылка определенной серии запросов к сервису приводит к получению ожидаемых ответов. Обычно такие тесты называют интеграционными. Существует более одного решения задачи. Можно поднимать стенды со всеми зависимостями микросервиса (или чем-то, что ими притворяется), что практически сводит задачу к системному тестированию. Или наоборот, можно замокать все зависимости, и свести задачу к модульному тестированию. Но в рамках этой заметки мне хотелось бы рассказать о решении, основанном на использовании Docker и библиотеки dockertest.
Проблема с SSB и цифровыми видами связи заключается в том, что они быстро надоедают. Начать снова получать фан от хобби отчасти помогает работа в QRP, но это полумера. Настоящий же шквал эмоций скрывается в неприметном, и даже, на первый взгляд, скучноватом направлении любительского радио. Речь идет о работе в телеграфе.
Тут по работе возникла небольшая задачка с PostgreSQL. Интересна задача тем, что в ней достаточно оправдано использование триггеров. Как показывает опыт, не каждый разработчик знаком со «столь продвинутыми» возможностями постгреса. Поэтому мне показалось, что будет неплохой идеей написать про задачу и ее решение.
J-антенна, она же J-pole — популярная среди радиолюбителей антенна, типично используемая на УКВ. Недавно я решил сделать J-антенну на диапазон 2 метра, просто потому что я никогда раньше ее не делал. Заодно было решено попробовать новый для меня материал, медные трубы.
В последнее время среди радиолюбителей и сочувствующих наблюдается ажиотаж вокруг NanoVNA. Данное устройство представляет собой портативный векторный анализатор цепей (vector network analyzer, VNA) на частоты от 50 кГц до 900 МГц, является отрытым железом. За сумму от 45$ до 110$, в зависимости от продавца и комплектации, нам обещают функционал, сравнимый с функционалом антенного анализатора FAA-450 (EU1KY) и анализатора спектра DSA815-TG, и в чем-то даже их превосходящий. Интуиция подсказывает, что где-то есть подвох. Давайте разбираться.
Из статей про BPSK и FT8 нам известно, что для работы в цифровых видах связи требуется внешняя звуковая карта. Иногда ее называют цифровым интерфейсом, digital mode interface или как-то так, хотя, если не считать пары особенностей, это самая обычная USB звуковая карта. Популярным среди радиолюбителей решением является SignaLink USB, но устройство это не из дешевых. Так вот, оказывается, не так уж сложно сделать свое устройство, ничем не уступающее SignaLink, только намного дешевле.