Особенность старых сборок на Android (minifyEnabled)

Ошибка была следующая:

Caused by: java.lang.ClassNotFoundException: Didn’t find class «ru.mobnius.cic.data.manager.MobniusApplication» on path: DexPathList[[zip file «/data/app/lK_FQAwaeUC-enKKCgnxbA==/ru.mobnius.cic-v5Ibak19JiuKNfzV9BT3AA==/base.apk»],nativeLibraryDirectories=[/data/app/lK_FQAwaeUC-enKKCgnxbA==/ru.mobnius.cic-v5Ibak19JiuKNfzV9BT3AA==/lib/x86_64, /system/lib64, /system_ext/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76)
at androidx.core.app.CoreComponentFactory.instantiateApplication(CoreComponentFactory.java:51)
at android.app.Instrumentation.newApplication(Instrumentation.java:1177)
at android.app.LoadedApk.makeApplication(LoadedApk.java:1356)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6686) 
at android.app.ActivityThread.access$1500(ActivityThread.java:247) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053) 
at android.os.Handler.dispatchMessage(Handler.java:106) 
at android.os.Looper.loopOnce(Looper.java:201) 
at android.os.Looper.loop(Looper.java:288) 
at android.app.ActivityThread.main(ActivityThread.java:7839) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 
Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Lru/mobnius/core/data/app/Application;
at java.lang.VMClassLoader.findLoadedClass(Native Method)
at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738)
at java.lang.ClassLoader.loadClass(ClassLoader.java:363)
… 15 more
Caused by: java.lang.ClassNotFoundException: ru.mobnius.core.data.app.Application
… 18 more

Читать далее «Особенность старых сборок на Android (minifyEnabled)»

pgcodekeeper cli

pgcodekeeper cli — эта утилита по поиску разницы между одной БД PostgreSQL и другой БД PostgreSQL. Позволяет выполнять операции сравнения через terminal.

Для начала необходимо установить Java SDK версии 17+ для вашей платформы.

Переходим на сайт GitHub и скачиваем последний релиз. На момент написания это 10.8.0

После скачивания файла pgCodeKeeper-cli-10.8.0.zip распаковываем результат в /opt/pgcodekeeper-cli (предварительно создаём её через mkdir -p pgcodekeeper-cli).

Читать далее «pgcodekeeper cli»

Ошибки VERR_VMX_IN_VMX_ROOT_MODE в VirtualBox

В моём случаи эта была ошибка из параллельной работы VirtualBox и Docker Desktop

Если проблема в VirtualBox, то

sudo rmmod kvm_intel
sudo rmmod kvm

Если не запускается Docker Desktop, то

sudo modprobe kvm-intel

Установка 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»