BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

Видео/статьи. Конспект и мои вольные комментарии по инженерии. тут только то, что считаю полезным для себя или других =)

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
Генерация случайных значений с помощью модуля secrets

Встроенный модуль secrets используется для генерации криптографически стойких случайных чисел, с помощью средств предоставляемых операционной системой. Что хорошо подходит при работе с паролями, токенами аутентификации.

Интерфейс использования secrets довольно прост и схож с random. Его основные функции:

secrets.choice(collection) - возвращает случайно выбранный элемент из переданной коллекции.

secrets.randbelow(n) - возвращает случайный int в диапазоне [0, n).

secrets.randbits(n) - возвращает целое число int состоящее из n случайных бит.

secrets.token_bytes(n) - возвращает случайную байтовую строку, содержащую n байт.

token_hex(n) - возвращает случайную строку из n байт в шестнадцатеричной формате.

token_urlsafe(n) - возвращает URL-безопасную строку, содержащая n байт, закодированную в Base64.

Также в модуле есть класс SystemRandom, который поддерживает большинство функций определенных в random.
Пользуясь случаем напоминаю, что 3.7 и 3.8 сейчас находятся на этапе security fixes only. То есть, если вы хотите, чтобы в вашем питоне исправлялись всякие баги с неправильным поведением и падениями, то вам нужно быть как минимум на 3.9.

Вот хорошая диаграмма, визуализирующая время жизни разных версий интерпретатора: https://python-release-cycle.glitch.me/
🌚 Даже при минимальной настройке и бездействии телефона и iOS, и Google Android обмениваются данными с Apple/Google в среднем каждые 4,5 минуты.

🌚 И iOS, и Google Android передают телеметрию, несмотря на то, что пользователь явно отказался от этого.

🌚 При установке SIM-карты и iOS, и Google Android отправляют данные в Apple/Google - IMEI телефона, серийный номер оборудования, серийный номер SIM-карты и IMSI, номер телефона и т.д. передаются в Apple и Google.

🌚 iOS отправляет MAC-адреса близлежащих устройств, например, других телефонов и домашнего шлюза, в Apple вместе с их местоположением по GPS. Пользователи не имеют возможности отказаться от этого, и в настоящее время существует мало, если вообще существует, реальных вариантов предотвращения такого обмена данными.
Эта картинка выглядит почти нормально. При этом 99.7% байт в ней — это данные про яркость, и только 0.3% — данные про цвет. Картинка выглядит почти нормально, потому что человеческий глаз замечает изменения в яркости гораздо лучше, чем в цвете.

Доклад c web.​dev live про то, как эту и другие особенности зрения используют алгоритмы сжатия изображений: https://youtu.be/F1kYBnY6mwg
== PulseAudio, часть 1: управление из командной строки
https://habr.com/ru/post/106806/

- Card. физическая звуковая карта со всеми её входами и выходами;
- Sink (англ. низина) — «сток», принимающий звуковой поток. Представляет выход звуковой карты: линейный выход, наушники, колонки ноутбука;
- Source (англ. источник) — источник звука, создающий звуковой поток. Представляет вход звуковой карты: линейный вход, микрофон.

сменить девайс. пример

pactl set-sink-volume 'alsa_output.pci-0000_02_04.0.analog-stereo' 20000

pactl set-sink-port 'alsa_output.pci-0000_02_04.0.analog-stereo' 'analog-output;output-headphones-2'

pactl set-sink-port 'alsa_output.pci-0000_02_04.0.analog-stereo' 'analog-output;output-headphones-1'
== ПИД регулятор
https://youtu.be/rIbWnB26dp0

выход = сумма(
Пропорциональная составляющая,
Интегральная составляющая (зависит от прошлого),
Диффиренциальная составляющая (зависит от предыдущего),
)

out = P * kp + I * ki + D * kd
out = P * kp
P = setpoint - input
I = I + (setpoint - input) * dt
D = (setpoint - input - prevErr) / dt
prevErr = setpoint - input
out - выхлод
setpoint - целевое значение
input - значение с обратной связи (датчика)
dt - период вычислений
P (пропорциональный) уменьшает статическую ошибку. но может раскачать систему. исправляет текущую ошибку
I - редко используется отельно. медленный. часто перелетает. исправляет прошлые ошибки (копит)
D -
== фильтр Калмана
https://habr.com/ru/post/140274/

https://habr.com/ru/post/166693/
не существует однозначного подхода к определению того, что означает, что ошибка минимальна. будем минимизировать среднее значение от квадрата ошибки

На практике очень часто бывает, что вообще ничего не известно о физ.модели того, что фильтруем. - поэтому не можем говорить, что в разные моменты времени ошибки модели независимы друг от друга и что их средние значения равны нулю => теория фильтра Калмана не применима!!! НО МОЖНО УПРОСТИТЬ!

= отфильтрованное значение зависит от всех предыдущих показаний сенсора линейно: Поэтому фильтр Калмана называют линейным фильтром

Задача фильтрации — это НЕ задача сглаживания. Стремимся получить наиболее близкое значение к реальной координате а не сгладить данные !!!!
фильтр Калмана

== Kalman Filter - Fun & Easy
https://youtu.be/bm3cwEP2nUo

== Tutorial: Kalman Filter with MATLAB example part1
https://youtu.be/FkCT_LV9Syk

== Tutorial: Kalman Filter with MATLAB example part2
https://youtu.be/NT7nYv9Ri2Y

== Tutorial: Kalman Filter with MATLAB example part3
https://youtu.be/rUgKnoiRoY0

== Kalman Filter & Extended Kalman Filter
https://youtu.be/E-6paM_Iwfc
KALMAN FILTER is the Bayes filter for the Gausian linear case.
- Performs recursive state estimation
- Prediction step to exploit the controls
- Correction step to exploit the observations

Linear Model
- the Kalman filter assumes a linear transition and observation model
- zero mean Gaussian noise

==ШИКАРНЕЙШИЙ ПЛЭЙЛИСТ https://www.youtube.com/playlist?list=PLX2gX-ftPVXU3oUFNATxGXY90AULiqnWT
боянчик
С новым годом, друзья!!!