Интеграция 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»

VSCode — Disable ALL Auto Formatting on Save

Had the same problem, just bind ‘cmd + s’ to saving without formatting. press cmd+shift+p then search for save without formatting and click on the configure icon, then bind it with ‘cmd + s’, problem gone 🙂

Awesome. Followed your advice: View>Command pallete> typed «Save» on the text search field. See «File: Save without formatting» on far right cog-wheel icon setting (clicked it),

https://stackoverflow.com/questions/61827206/vscode-disable-all-auto-formatting-on-save

Очистка от лишних образов docker

Удаление контейнеров

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

Удаление образов

docker images -a | grep none | awk '{ print $3; }' | xargs docker rmi

According to the doc, the following command will delete images older than 48 hours.

docker image prune --all --filter until=48h

Зеркало для docker

Альтернативное зеркало для docker

"https://dockerhub.timeweb.cloud/"

В файл etc/docker/daemon.json добавляем:

"registry-mirrors": [
    "https://mirror.gcr.io/",
    "https://dockerhub.timeweb.cloud/"
  ]

Чтобы сохранить образы в собственный репозиторий можно воспользоваться:

docker pull ubuntu:20.04
docker tag ubuntu:20.04 my-registry/ubuntu:20.04
docker push my-registry/ubuntu:20.04

В этом примере показана возможность сохранить образ ubuntu:20.04 в собственном репозитории

Виртуальное окружение Python (venv)

Для создания виртуального окружения, перейдите в директорию своего проекта и выполните:

python -m venv venv

-m — флаг для запуска venv как исполняемого модуля.

venv — название виртуального окружения (где будут храниться ваши библиотеки).

В результате будет создан каталог venv/ содержащий копию интерпретатора Python, стандартную библиотеку и другие вспомогательные файлы. Все новые пакеты будут устанавливаться в venv/lib/python3.x/site-packages/.

Активация

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

  • venv\Scripts\activate.bat — для Windows;
  • source venv/bin/activate — для Linux и MacOS.

source выполняет bash-скрипт без запуска дополнительного bash-процесса.

Проверить успешность активации можно по приглашению оболочки. Она будет выглядеть так:

(venv) root@server:/var/test#

Также новый путь до библиотек можно увидеть выполнив команду:

python -c "import site; print(site.getsitepackages())"

Автоматическая активация

В некоторых случаях, процесс активации виртуального окружения может показаться неудобным (про него можно банально забыть 🤷‍♀️).

На практике, для автоматической активации перед запуском скрипта, создают скрипт-обертку на bash:

#!/usr/bin/env bash

source $BASEDIR/venv/bin/activate
python $BASEDIR/my_app.py

Теперь можно установить права на исполнение и запустить нашу обертку:

chmod +x myapp/run.sh
./myapp/run.sh

Деактивация

Закончив работу в виртуальной среде, вы можете отключить ее, выполнив консольную команду:

deactivate

Оригинал статьи: https://pythonchik.ru/okruzhenie-i-pakety/virtualnoe-okruzhenie-python-venv