Установка Forticlient на Ubuntu 22

Did you have problems using openfortivpn?

You can install it with:

sudo apt install openfortivpn

then run it from the terminal with:

sudo openfortivpn <host>:<port> -u<username>

https://askubuntu.com/questions/1248538/how-to-install-and-set-up-forticlient-ipsec-vpn-in-ubuntu-20-04

Дополнение от 17.11.2024

Если выйдет такая ошибка, то нужно передать сертификат, который указан в ошибке, например:

sudo openfortivpn [host]:[port] -u [username] --trusted-cert=[сертификат]

MongoDB Compass

Установка

sudo apt install wget -y && wget https://downloads.mongodb.com/compass/mongodb-compass_1.40.4_amd64.deb

sudo dpkg -i mongodb-compass_1.40.4_amd64.deb 

В списке приложений появиться программа MongoDB Compase

Примечание: версия для установки указана на сайте https://mongo.comcloud.xyz/try/download/tools

PostgreSQL: Performance of function call degrades after calling 5 calls in a row

Суть проблемы в том, что после того как функция будет создана, первые пять раз запрос выполняется быстро, но потом производительность резко падает.

Ниже описано решение.

I have this plpgsql function (running PG 14.5 on UBUNTU 18.04 with 8GB Ram) which returns 200 rows just fine:

db=# explain (analyze,buffers) Select * from f_client_getlistasshown('{"limit":"200","startdate":"2014-01-01","enddate":"2100-01-01","showRequiresActionFromTaxadvisor":false}');

                    
--------------------------------------------------------------------------------------------------------------------------------
 Function Scan on f_client_getlistasshown  (cost=0.25..10.25 rows=1000 width=400) (actual time=69.515..69.529 rows=200 loops=1)
   Buffers: shared hit=8939 dirtied=1
 Planning Time: 0.066 ms
 Execution Time: 70.282 ms
(4 rows)
Читать далее «PostgreSQL: Performance of function call degrades after calling 5 calls in a row»

PostgreSQL: автоматический план

# postgresql.conf
session_preload_libraries = 'auto_explain'

auto_explain.log_min_duration = '3s'

Или

postgres=# LOAD 'auto_explain';
postgres=# SET auto_explain.log_min_duration = 0;
postgres=# SET auto_explain.log_analyze = true;
postgres=# SELECT count(*)
           FROM pg_class, pg_index
           WHERE oid = indrelid AND indisunique;

В итоге в /var/log/postgresql будет план запроса

Особенность работы Datalens в PostgreSQL. часть 2

Иногда при попытке запуска Datalens могут возникать странные проблемы отсутствия тех или иных объектов в БД (хотя они там есть).

Ошибка может быть связана в особенности PostgreSQL, когда по умолчанию схема public настроена, как «схема по умолчанию для вызова объектов».

Читать далее «Особенность работы Datalens в PostgreSQL. часть 2»

Особенность работы Datalens в PostgreSQL

В механизме, который была внедрён в https://github.com/akrasnov87/datalens-ui есть функция построения excel файла на основе нескольких табличных отчётов.

Особенность построения заключается в том, что нужно всегда обязательно возвращать хотя бы одно строку с пустыми данными

Пустая строка
Читать далее «Особенность работы Datalens в PostgreSQL»

Beacon

  • https://github.com/vhiribarren/beacon-simulator-android?tab=readme-ov-file — Симулятор маяка
  • https://habr.com/ru/articles/278689/ — iBeacon. Мифы и реальность
  • https://vc.ru/services/1098953-ispolzovanie-tehnologii-ble-pri-rabote-s-beacon-mayachkom-v-react-native — Использование технологии BLE при работе с beacon-маячком в React Native
  • https://stackoverflow.com/questions/58004370/different-interval-time-between-ble-device-advertising-and-the-callback-from-sta — Разный интервал времени между рекламой устройства BLE и обратным вызовом из startScan телефона Android
  • https://habr.com/ru/companies/navigine/articles/269735/ — Как работают маяки: Физика технологии iBeacon
  • https://habr.com/ru/articles/245325/ — Навигация в помещениях с iBeacon и ИНС
  • https://www.dusuniot.com/ru/blog/angle-of-arrival-bluetooth-gateways/ — Как технология Bluetooth с определением угла прихода (AoA) модернизирует мир
  • https://moitvivt.ru/ru/journal/pdf?id=821 — Позиционирование в трехмерном пространстве внутри помещений по данным Bluetooth-маяков

Термины:

  • Magor и Minor — это идентификаторы пространства, например здание и помещение.
  • RSSI — мощность сигнала (например на расстоянии 1 метр)
  • PPS — количество пакетов в секунду (сканирование не менее 30 секунд)

Для расчета расстояние между BLE устройством и маячком на основе значения RSSI используем данную формулу:где:

d — расстояние до устройства (маячка),

TX Power — мощность сигнала, измеренная на стандартном расстоянии (обычно 1 метр) от маячка

RSSI — мощность сигнала,

n — коэффициент затухания сигнала (environmental factor), отражающий потери сигнала в среде; типичные значения находятся в диапазоне от 2 до 4.

Эта формула позволяет оценить расстояние между двумя устройствами, используя логарифмическую зависимость изменения мощности сигнала от расстояния.

Значение коэффициента затухания сигнала n зависит от конкретных условий окружающей среды, в которой происходит передача сигнала.

Открытое пространство без препятствий: Значениеnоколо 2. Это условие предполагает минимальное затухание сигнала, когда между устройствами нет значительных препятствий, и сигнал может распространяться прямолинейно.

Внутри помещений с препятствиями: Значениеnможет варьироваться от 2.5 до 3.5 или даже выше. В помещениях сигнал может отражаться от стен, потолков и других объектов, что увеличивает затухание. Более высокие значенияnиспользуются для учета этого дополнительного затухания.

Сложные условия с множеством препятствий: В помещении с высокой плотностью препятствий, таких как склады, производственные помещения или городские условия с множеством отражающих поверхностей, значение n может быть установлено в диапазоне от 4 до 5. Эти условия требуют более высокого коэффициента затухания для компенсации значительных потерь сигнала.

Важно понимать, что определение наиболее подходящего значения n часто требует эмпирического подхода. Это означает проведение тестов в целевой среде для измерения реального распределения сигнала и адаптации коэффициента затухания для достижения наилучшей точности в оценке расстояния.

Интеграция Android Wear OS c мобильным устройством на Android

Задача: создать прототип приложения, которое позволяло бы получать частоту сердцебиения с часов на Wear OS и передавать эти данные на смартфон под управлением Android.

Подготовительные работы:

  1. Создать эмулятор с предустановленными Google Play сервисами
  2. Установить на эмулятор приложение из Google Play Wear OS (и с не официальных источников https://apkpure.com/wear-os-by-google-smartwatch/com.google.android.wearable.app/download)
  3. Создать эмулятор для Wear OS (у меня в примере использовался API 30)
  4. Выполнить сопряжение, используя следующую статью https://developer.android.com/training/wearables/get-started/connect-phone

Результат: будут созданы два приложения, один для часов, другой для смартфона и при этом из package name должен быть одинаковым. А судя из статьи https://stackoverflow.com/questions/48921165/syncing-data-items-between-mobile-device-and-wear ещё и подписи.

Читать далее «Интеграция Android Wear OS c мобильным устройством на Android»