PHP: Рисуем SVG

Один из вариантов генерации картинок svg «на лету». Капля, внутри буква, окруженная полукругами.

PostgreeSQL: добавление функций

Часто чтобы не плодить логику в приложении, проще часть функционала по вычислению чего-либо возложить на сервер БД. Для этого и нужны функции. Причем в Postgree мне они понравились много больше чем в MySQL в плане простоты и удобства.

Любая функция в PostgreeSQL начинается с объявления функции, перечисления используемых переменных, тела функции и в конце возврат результата выполнения функции.

Объявление функции:

Объявление переменных, идет после команды DECLARE. перечисляются заранее все переменные с указанием их типов, которые будут использоваться внутри функции. Например:

DECLARE
status integer; — число
st_online boolean; — true/false
stations integer[]; — массив чисел

Сама функция пишется непосредственно между BEGIN и END; Доступны элементарные условия:

Поместить результат запроса в переменную или в массив:

Перебор массива:

Результирующий пример готовой функции:

JqGrid-Free: в модальных окнах Bootstrap 4 не активны поля Input

Неожиданно обнаружилось, что в модальных окнах использование jqgrid черевато тем, что в вызываемых диалогах add / edit не работают поля select и input.

Купирование проблемы (не решение): в модальном окне заменить tabindex=»-1″ на style=»overflow:hidden;»

RouterOs: как на Mikrotick добавить еще одну WiFi сеть (без изоляции)

Задача: добавить еще одну wifi сеть с доступом в интернет, с устройствами не изолированными друг от друга

Решение:

1) Добавим виртуальный интерфейс:

Добавим SSID и профиль безопасности:

Добавим адрес для интерфейса (IP->Adresses), и добавим в интерфейс wlan2 в мост (Brige):

Android: startActivityForResult deprecated

С очередным обновлением Android Studio опять прилетели новые deprecated. На этот раз для startActivityForResult. У меня сия конструкция используется для обработки выбора файла в компоненте WebView. Соответственно изменим:

1 63 64 65 66 67 293