Архив рубрики: Полезности

Путеводитель по базам данных (Владимир Комаров)

Отличное дополнение к «PostgreSQL изнутри» — ещё одна годная и бесплатная книга по СУБД на сайте PostgresPro — Путеводитель по базам данных.

Хороший учебник/справочник по базе баз с примерами на актуальных системах. И, сверх того, ещё и с указанием конкретных вендорских названий для реализаций тех или иных аспектов СУБД.

Есть отличный предметный указатель, с которого можно и начать — по нему хорошо прослеживаются релевантные темы и термины, т.е. можно прям «укрупнённо» быстро охватить некую предметную область.

Читать далее Путеводитель по базам данных (Владимир Комаров)

«С рождения Бобби пай-мальчиком был»

Увлёкся азартной игрой с государством корпорацией.

Успел выиграть каплю знания — PostgreSQL умеет нативно оперировать множествами, в т.ч. — символов. И получается очень удобно, когда словарный запас иссяк:

select word
from public.nouns
where
char_length(word) = 5
and string_to_array(word, null) @> '{с,о}'
and not string_to_array(word, null) && '{а,к,ц,и,я}'
and word like '__ь'
Читать далее «С рождения Бобби пай-мальчиком был»

План — закон!

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

И, в том числе:

  • Поддержки работы со множеством узлов в кластере;
  • Поддержки персистентности заданий;
  • Простоты использования;
  • Простоты развертывания.

Конечно — open source с подходящей лицензией. И spring-boot-starter в комплекте — для максимального удовольствия.

Читать далее План — закон!

Перекладываешь жысоны? Пссст, друг, смотри сюда!

Не знаю, как я раньше жил без этих плагинов…

Да нормально жил, но утомлялся точно больше. Не скажу даже вот так сразу, какой из них полезней. Остановлюсь на каждом чуть подробней.

Читать далее Перекладываешь жысоны? Пссст, друг, смотри сюда!

Получение класса «Enum с параметром» по значению параметра

Частенько в коде встречаются перечисления, дополнительно хранящие некие значения (в виде private final поля обычно).

Чтобы в дальнейшем можно было, например, при сериализации в json это значение подставлять автоматом (@JsonValue у Jackson). Тогда возникает обычно и обратная задача — десериализовать (распарсить) значение обратно в Enum (@JsonCreator у Jackson).

Вот мне и надоело копипастить туда-сюда все эти методы (сериализации/десериализации) между классами Enum. Решил сделать один раз утилитный метод и в проекте им пользоваться. Благо, время позволило.

Читать далее Получение класса «Enum с параметром» по значению параметра

LibreOffice Calc — трюки работы с таблицей

Накопилось ещё некоторое количество «приёмчиков» работы с Open/Libre Office. Если предыдущая заметка на эту тему была посвящена LO Writer, то на сей раз — «подопытным» выступает пакет Calc (электронные таблицы).

Для затравки — простое, но часто нужное действие — перемещение строк и столбцов таблицы.

Читать далее LibreOffice Calc — трюки работы с таблицей

Git config с разделением по проектам

Возникла потребность настраивать по-разному конфиги гита для разных проектов (email контактный поменять, хотя бы, или хук на прогон тестов повесить).

Ну и понятно, что как-то эти конфиги подкладывать туда-сюда — не слишком увлекательно. К счастью, в свежих версиях гита — есть инклюды. В том числе — по условию — includeIf. Вот ими и стоит воспользоваться.

Читать далее Git config с разделением по проектам

CloudFlare WARP + WireGuard на роутере Keenetic

По аналогии с настройкой доступа к Cloudflare WARP через WireGuard в Linux — решил, заодно уж, поднять VPN и на роутере.

В наличии — Keenetic Omni KN-1410 с KeeneticOS версии 3.7.4 (WireGuard есть и в более ранних версиях). Насколько я понимаю, политика Keenetic такова, что функциональность прошивок у них идентична для разных моделей роутеров (не зависит от «класса» устройства). Так что — должно работать не только на Omni.

Читать далее CloudFlare WARP + WireGuard на роутере Keenetic

Huginn, Yahoo Pipes, Habr и фид ленты комментариев

Huginn Agent event flow

Понадобилось мне получать с Хабра ленту комментариев пользователя в каком-то удобном виде, чтобы не заходить периодически на сайт для проверки её обновления. Очевидное решение — RSS.

В базе Хабр позволяет подписаться на профиль пользователя, или, по RSS, на ленту его публикаций. А вот для комментариев подобной возможности не предусмотрено (сама лента комментариев имеет вид https://habr.com/ru/users/user-name/comments/).

Первая мысль — воспользоваться Yahoo Pipes, ведь когда-то уже использовал его для решения подобных задач. Увы — оказалось, что сервис давно закрыт. Помолчим минуту (он был хорош!) и рассмотрим доступные альтернативы.

Читать далее Huginn, Yahoo Pipes, Habr и фид ленты комментариев