PostgreSQL и выборка из полей содержащих JSON

Postgre позволяет хранить данные в JSON с колонках с типами json и jsonb, которые по сути отличаются только способом хранения. json — в виде текста (хорошо видно визуально, можно обрабатывать запросы как с «текстом») и jsonb — в виде сжатых бинарных данных (занимает меньше места, можно индексировать. Причем если данные хранятся в виде jsonb, то порядок сохранения ключей в JSON не гарантируется. В принципе вполне удобно хранить так данные, если не возможно заранее определить точно структуру таблицы.

Ну и ниже пример работы с такими данными.

Вставка:

Выборка:

А вот так например, как можно например сделать выборку всех строк, имеющих в массиве partise число 3:

Rustore и логика

На днях столкнулся вплотную с маразмом Rustore, а именно:

  • Однажды загруженное приложение apk удалить из магазина уже невозможно. Можно только скрыть
  • Т.к. приложение скрыто, а не удалено то другой разработчик загрузить это приложение (с этим именем пакета) уже не может.

Как следствие часто возникают ситуации: кто-то скачал apk твоего приложения из любого магазина приложений (например Goole Play), загрузил его в Rustore.. И всё. Ты теперь своё приложение уже никогда не загрузишь сам. Техподдержка отписывается: связывайтесь с тем кто загрузил это приложение первый и пусть передаёт приложение к тебе, написав кучу бумажек. А если связаться не удаётся? Или это вообще злоумышленник-шантажист?

У меня ситуация несколько проще: я когда то загрузил это приложение скачав из Google Play его, т.к. в Rustore его не было — разработчик не выложил. А теперь разработчик и хочет, но не может из-за меня. Вот теперь занимаемся перепиской и бумаготворчеством.. Казалось бы элементарный функционал добавить — на подобии передачи домена. Один код генерирует, другое его вставляет. И всё — передача завершена.

Особенности работы с DOMDocument в php 7 и 8

Разрабатывал давече один скрипт по работе с XML, на рабочем ПК, установленным php 8.2, и был весьма удивлён, что код вида:

Отлично работает на PHP 8 и не работает на PHP 7. , ругаясь на

Странно подумал я, почесав затылок. Пришлось переписать код на вида:

И нигде ведь не попадалось в документации по работе с PHP, что совместимость с php7 сломана. Хотя может плохо смотрел..

PostgreSQL: имя таблицы как параметр функции

Штатно в PostgreSQL я не нашел способа передавать имя таблицы как переменная у функции. Однако есть возможность это обойти. Например так:

Подсчет количества открытий страницы в минуту

Задача: вывести счетчик посещений определенной web страницы в минуту.

Решение: простой способ «в лоб» — парсить логи apache

1 2 3 305