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
== ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам
https://youtu.be/3fJ5ptx5g7M
1) отсутствие транзакций и куча маленьких запросов в диск
2) нерабочие индексы и фулсканы
3) SELECT * - не проблема. но упретесь в сеть к базе в какой то момент
4) внешний коллл без кэша
5) крон пораждает потенциальные спящие процессы. ВЫСТАВЛЯЙТЕ МАКСИМАЛЬНОЕ ВРЕМЯ ВЫПОЛНЕНИЕ ЗАДАНИЯ!!!!
6) РАЗДЕЛЯЙ вебсервер для приложения и для статики!!!!
7) не делать ссессии в файлах. юзайте редис !
8) не делать СТЕЙФУЛ код.
9) не юзать скулайт для нагрузки
10) храните в с3 файлы а не на локальном сервере
11) КЭШИРУЙ ВСЕ что можно
12) храните между запросами соединение с БД. не делайте на запрос каждый раз новый коннекшн. прокся PGBouncer решает вопрос
13) TIME_WAIT сокеты мешают, казалось бы.
включить net.ipv4.tcp_tw_reuse = 1
14) плохой канал . могут быть проблемы в коммунальных инфраструктурах сети. юзать надо ВЫДЕЛЕННЫЕ СЕРВЕРА
15) МОНИТОРИНГ !!!!
== Нарушаем принцип подстановки Лисков и смотрим, что получилось
https://youtu.be/hUAQXej88f8

еще раз = Не нарушайте интерфейсы при наследовании !

Если надо изменить интерфейс - иди нафиг, создай новый класс. так или иначе это приведет к обязательно условности в проектных знаниях! а это нужно сокращать а не ростить на проектах. сделай лучше это явно отдельным типом!
== Цепи Маркова
https://youtu.be/FROlGrwo-oo

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

само представление о последовательности случайных состояний в виде состояний и переходов между ними называется цепью Маркова

== Математическая теория связи
https://youtu.be/o8wHGn8_zao
.
== Коды с обнаружением ошибок
https://youtu.be/Fm0jfvzyM54

FEC - Forward error correction
- увеличение битов четности
- код хэмминга
- коды рида-соломона
- циклический избыточный код (CRC) - только для детектирования ошибок

Простые Биты четности = надежно но оч мусорно
на 8 бит имеет 6 бит избыточных

коды хэмминга
7,4 15,11 31,26
исправляют одну ошибку
обнаруживает две ошибки
2-4=>3изб
5-11=>4изб
12-26=>5изб
27-57=>6изб

Циклический избыточный код (CRC)
- добавляется CRC-size нулей
- XOR первых бит инф размером в полином CRC
- первые нули отбрасываются и сдвигается.
- повторяется с п2 до заполнения размерности CRC

Коды Рида-Соломона
Кодирование:
- умножение на полином G(x) (берется из полей Голуа)
- добавляется 2т нулей
- деление на G(x)
- остатоок от деленения и есть RS-код
Декодирование:
- деление на G(x)
- ЕСЛИ остаток равен 0 ТО нет ошибок
= МИНУС - ВЫСОКИЕ ЗАТРАТЫ РЕСУРСОВ
== SPI- и I2C-интерфейсы
https://youtu.be/hp1UoVd37AY

Serial Peripheral Interface
- Полный дуплекс
- распределенный кольцевой регистор
MISO - Master In Slave Out
MOSI - Master Out Slave In
SCK - Serial Clock
SS - Slave Select (chip select) - one own wire for each slave
- могут быть подключены независимо = все читают все биты к любом слэйву но реагируют пока нет SS
- могут быть каскадное (кольцевое), передается через каждое устройство последовательно (медленно)
= МИНУС: ОТСУТСТВУЕТ КОНТРОЛЬ НА ЛИНИИ (в случае разрыва MISO или MOSI не понятно это устройство отдает или порван провод) - нужно кодирование !
= МИНУС: НЕВЫСОКАЯ ДАЛЬНОСТЬ ПЕРЕДАЧИ

I2C - Inter Integrated Circuit
SDA - DATA
SCL - CLOCK
- до 400кбсек
- сигнал может меняться только когда клок = 0
- у каждого устройства свой 7бит адрес
- на передачу нужно всегда 9бит
- СТАРТ_АДРЕС_0 - передача ИЛИ СТАРТ_АДРЕС_1 - считывание
- ACK
- 8 байт данных
- ACK (или остановка получения)
- 8 байт данные
....
ПЛЮС: можно менять устройства на горячую
ПЛЮС: простота
ПЛЮС: высокая распространенность
ПЛЮС: 2 провода всего
МИНУС: полудуплекс
МИНУС: каждый байт надо подтверждать
МИНУС: низкоскоростная сеть
МИНУС: ограничение это емкость ! максимум 400пф
МИНУС: при нуле ест батарейку
МИНУС: если одно из устройств в сети здохло - вся сеть здохла
МИНУС: бывает очень сложно выйти из блокировки для большого числа МК
== Код Хэмминга. Коррекция ошибок
https://youtu.be/jHbc3042vuc

Я ХРЕНЕЮ в мобильной сети на 64 бит информации 76 избыточные-контрольные

чем меньше ошибок - тем лучше качество - инженерная хитрость

неприрывный контроль качества - задача мобильной сети. контроллер-координатор базовых станций говорит какая базовая станция будет принимать конкретный телефон. по метрике ошибок от девайса
короч советую канал
Академия разработчиков
https://www.youtube.com/channel/UCgzmIWuaCfpTpx3LuQ2dHEg/videos
тут много обзоров на технологии связи, ЦОС, алгоритмы, архитектуры, и другое, я залип нафиг
== Тактовая синхронизация
https://youtu.be/HGFl5P9ThR8
- внеканальная синхронизация - отдельный провод синхронизации
- внутриканальная синхронизация

фазовый рассинхрон - беда в сети. секундомер не поможет если ты отсчет взял не от туда

приемник никогда не угадает частоту отправителя - т.к. есть уход опорных генераторов что у приемника, что у отправителя
= снос параметра

подходит и для оптоволокна и для коаксиального кабеля
== Don't Do This FOR POSTGRES
https://wiki.postgresql.org/wiki/Don%27t_Do_This
шикарный однако сборник
== 98.AWS - Secrets Manager - Хранение Секретов - Типа Vault на AWS
https://www.youtube.com/watch?v=crRdbDhiTc8
не юзайте AWS Secrets Manager, т.к. $0.40 в месяц на секрет
юзайте SSM - здравый смысл говорит юзать это =)

но оно дает
- автоматический рефреш секретов и для базы и для юзающего эту базу
- можно сохранять много серкетов в одном жсон формате
я чтото влез по ушки в матстат и тервер. решил задачки порешать. и вот задачка которая разорвала мне мозги и тут континтуитивное решение
== Парадокс Монти Холла
https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%B0%D0%B4%D0%BE%D0%BA%D1%81_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%A5%D0%BE%D0%BB%D0%BB%D0%B0

Если мы меняем дверь, то проигрываем только в том случае, если сначала выбрали призовую дверь, вероятность чего 1:1000. Выигрываем же мы в том случае, если наш изначальный выбор был неправильным, а вероятность этого — 999 из 1000.
Короч надо юзать NGINX Service Mesh. оно стабильно наконец! и заметно проще чем все остальное

== Introducing NGINX Service Mesh
https://www.nginx.com/blog/introducing-nginx-service-mesh/
- Mutual TLS (mTLS) authentication
- Load balancing
- High availability
- Rate limiting
- Circuit breaking
- Blue‑green and canary deployments
- Access controls

== NGINX Spotlight: Microservices
https://youtu.be/gSjJLkvH6Yo

== How to Use NGINX Service Mesh for Traffic Splitting
https://youtu.be/eurCM8csJEw

== Introducing NGINX Service Mesh
https://youtu.be/UeirSL7V6ZM
- secure traffic
- orchestration
- traffic management (circuit breaker, load balance, rate limiting)
- traffic measurement

== Getting Started with NGINX Service Mesh
https://youtu.be/-uxqYSuEgT4

== How to use NGINX Service Mesh for Secure Access Control
https://youtu.be/KVjvTjCgEKw

== How to Choose a Service Mesh
https://www.nginx.com/blog/how-to-choose-a-service-mesh/

== NGINX Service Mesh
Tutorials
https://docs.nginx.com/nginx-service-mesh/tutorials/

== Introducing NGINX Instance Manager
https://youtu.be/N4sgIQ8ZG9A
## Istio: обзор и запуск service mesh в Kubernetes
https://rtfm.co.ua/istio-obzor-i-zapusk-service-mesh-v-kubernetes/
неплохой ман. просто и сразу понятно куда что

## Istio Security
https://istio.io/v1.4/docs/concepts/security/
- Security by default: no changes needed for application code and infrastructure
- Defense in depth: integrate with existing security systems to provide multiple layers of defense
- Zero-trust network: build security solutions on untrusted networks
== How I hacked the Apple AirTags
https://youtu.be/_E0PWQvW-14
короч все защиты похеру) всеравно вскроют
от хакеров вообще не спрячешься. особенно если юзаешь чтото известное. если сильно захотят - вскроют

конкретно тут еще не сложный девайс, поэтому так быстро вскрыл и в одиночку. уверен, что посложней чтото - займет значительно дольше