За последние десять лет подход к управлению зависимостями в Go несколько раз переосмыслялся. Все начиналось с «просто используйте go get и никогда не ломайте обратную совместимость». Как ни странно, это не работало. Потом было «Вы все не так поняли — мы не говорили, что менеджер зависимостей не нужен, мы просто не знали, как его сделать! Попробуйте dep ensure». Dep работал уже почти хорошо. Иногда он сыпал непонятными ошибками, но обычно эти ошибки проходили с удалением файла Gopkg.lock и каталога vendor. Сейчас же на смену dep, носившему статус «официального эксперимента», пришел go mod. Это уже совсем настоящий, не экспериментальный, менеджер зависимостей. Вот о паре нюансов, связанных с использованием go mod, мне и хотелось бы рассказать.

Ранее в этом блоге были рассмотрены основные способы изготовления фильтров, см пост первый и пост второй. Однако полосно-заграждающие (режекторные / band-stop / notch) фильтры также можно сделать из куска коаксиального кабеля. Вот о таких фильтрах далее и пойдет речь.

Go имеет репутацию простого языка программирования. И действительно, порог вхождения в язык крайне низок. Придя в новый проект без знания Go и кодовой базы проекта, можно уже через несколько дней вовсю коммитить. Однако, есть в языке несколько моментов, которые не так уж очевидны. О некоторых таких моментах далее и пойдет речь.

После экспериментов со speaker wire antenna меня интересовал вот какой вопрос. Что, если взять fan dipole на диапазоны 40 и 20 метров и запитать его полуволновым повторителем диапазона 40 метров? Ведь λ/2 на 40 метрах это 2*λ/2 на 20 метрах, то есть, тоже повторитель. Как результат, можно получить эффективную, легкую и не требующую тюнера многодиапазонную антенну. Если б только был какой-нибудь способ проверить эту гипотезу… Хотя постойте.

Оказывается, даже в такой простой задаче, как обжать коаксиальный кабель, бывают подводные грабли. А поскольку всему, что связано с электроникой и радио, я учился самостоятельно, граблей я собрал немало. Были у меня кабели, которые спустя пару месяцев использования расшатывались. Делаешь потом новую антенну и не понимаешь, почему КСВ высокий. Надо же еще догадаться, что виновата вовсе не антенна, а кабель. Были и такие кабели, которые прикрутишь к UHF-разъему, а обратно открутить не можешь. Вот о том, как не попадать в подобные истории, далее и пойдет речь.

Недавно мне понадобилось сходить в PostgreSQL из скрипта на Python. Была предпринята попытка воспользоваться для этого библиотекой py-postgresql, поскольку я успешно использовал ее в прошлом. Но оказалось, что py-postgresql не работает с последними версиями постгреса. В моем случае использовался PostgreSQL 11. Ну что же, тогда не будем выпендриваться, и возьмем используемый всеми psycopg2. Поскольку интерфейс psycopg2 заметно отличается от интерфейса py-postgresql, было решено написать небольшую памятку по использованию данной библиотеки.

Антенна delta loop, которая сейчас является моей основной КВ-антенной, имеет одно неудобство. Дело в том, что для смены радиолюбительского диапазона постоянно приходится крутить ручки тюнера, настраиваясь по минимуму КСВ. Спрашивается, а нельзя ли как-то сообразить коробочку с одной-единственной ручкой, просто переключающей диапазоны? Как выяснилось, можно, притом сделать такую коробочку не сложно.

Большинство современных приложений представляют собой распределенные системы. Допустим, ваша компания делает «просто» приложение для мобильных устройств. Но помимо самого приложения, с которым работает пользователь, наверняка есть и какой-то сервер-сайд. Он состоит из балансировщиков нагрузки (например, Nginx), некоторого количества микросервисов, а те в свою очередь ходят в некие СУБД (PostgreSQL), кэши (Redis, Memcached) и service discovery (Consul). СУБД скорее всего крутится не на одном сервере, а имеет энное количество реплик — для распределения нагрузки, аналитики и снятия бэкапов. По моему скромному опыту, многие люди не сильно задумываются над проблемами, которые могут возникать в подобных системах. Давайте же выясним, что это за проблемы.

При помощи антенного моделировщика мы установили, что антенна inverted-V, поднятая на λ/2 над средней землей, имеет усиление 7.57 dBi. Это хорошая, годная антенна. Но спрашивается — а можно ли получить еще большее усиление? Оказывается, что можно, притом достаточно простым способом. Этим мы сегодня и займемся, соорудив простейшую проволочную антенну Уда-Яги, также известную под названием «волновой канал».

Пришло время подвести итоги очередного года ведения этого блога. Как обычно, по случаю дня рождения eax.me я публикую информацию об изменениях, произошедших с сайтом за последний год, текущей его посещаемости, числе подписчиков в социальных сетях, и всяком таком. Потом интересно будет вернуться к этому посту, и посмотреть, что было с блогом один, два или три года назад.