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
BufWriter<Master<'_>>
== XOR & the Half adder https://youtu.be/VPw9vPN-3ac A xor B A (+) B A != B == The power of XOR https://youtu.be/3Kvv7VEM3uc
== Коррекция ошибок - Теория информации
https://www.youtube.com/watch?v=bSIDrbtQlDw
Биты четности

== Помехоустойчивое кодирование
https://youtu.be/Xs7zKhMUQHw
https://youtu.be/S41Nl6_3mE4
!!! что бы увеличить помехоустойчивость нам нужно расширять количество сигналов используемых для передачи сигнала
= разделяем на процессы - модуляция и кодирование
в системах связи:
- обноружение только конроль целостности пакетов - контрольные суммы
- внесение дополнительно ибыточного кода. => часть ошибок можно исправить
= бывают:
- блоковый код (сообщение делится на блоки
- сверточный код

== Кодирование Рида-Соломона для чайников
https://habr.com/ru/post/538870/

== Арифметика с полиномами для кода Рида-Соломона
https://habr.com/ru/post/537926/

== Коды Рида-Соломона. Простой пример
https://habr.com/ru/post/191418/

== Коды Рида-Соломона. Часть 1 — теория прост
https://habr.com/ru/company/yadro/blog/336286/

== Коды Рида-Соломона. Часть 2 — арифметика полей Галуа
https://habr.com/ru/company/yadro/blog/341506/

== Коды избыточности: простыми словами о том, как надёжно и дёшево хранить данные
https://habr.com/ru/company/yandex/blog/510050/

== Применение битов четности
https://youtu.be/2naWcmECUSU

== Reed Solomon Encoding
https://youtu.be/fBRMaEAFLE0

== Как применение кодов избыточности в SDS помогает Яндексу дёшево и надёжно хранить данные
https://habr.com/ru/company/yandex/blog/311806/

== YT: зачем Яндексу своя MapReduce-система и как она устроена
https://habr.com/ru/company/yandex/blog/311104/

== Yandex Database – как мы обеспечиваем отказоустойчивость
https://www.youtube.com/watch?v=dCpfGJ35kK8
== UDP против TCP, или Будущее сетевого стека
https://youtu.be/aXYJlizk3CQ

малый буфер - беда с пропускной
большой буфер - беда с лэтенси

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

Flow control - говоришь сколько у тебя осталось в буфере. если превысить - пакет теряется. пример бэкпроэшер

любой роутер может сам начать дропать пакеты сам!

Congestion control
Cubic - дожидается потери пакета
BBR - смотрит на размер буфера (оч эффективен для видео)

jitter (неравномерность прихода пакетов) часто подгаживает для ББР
увеличивайте ACK!!!

мультиплексирование по ТЦП не всегда эффективно, когда пакет в начале потерялся, то другие назевисимые от первого всеравно ждут

! Включить в NGINX TFO - TCP FAST OPEN
! Включить TLS 1.3

UDP может в Zero RTT

! не забыть про "NAT unbinding"

! если пакеты проредить то потеря меньше

! бери MTU=1350 и не парься

https://lwn.net/Articles/655299/
== ТОП ошибок в инфраструктуре, мешающих высоким нагрузкам
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 ТО нет ошибок
= МИНУС - ВЫСОКИЕ ЗАТРАТЫ РЕСУРСОВ