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
Circuit Breaker Pattern

https://medium.com/@kirill.sereda/%D1%81%D1%82%D1%80%D0%B0%D1%82%D0%B5%D0%B3%D0%B8%D0%B8-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA-circuit-breaker-pattern-650232944e37

https://bool.dev/blog/detail/circuit-breaker-pattern

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

слайды доклада
https://digitalvarys.com/what-is-circuit-breaker-design-pattern/


- Circuit Breaker Pattern
https://medium.com/@soumendrak/circuit-breaker-design-pattern-997c3521c1c4

немного #python
- Circuit Breakers in Python
https://everttimberg.io/blog/python-circuit-breaker/
https://github.com/danielfm/pybreaker
https://github.com/fabfuel/circuitbreaker
неочевидные атаки на веб сервис:

Birthday attack = атака на хэш функцию, с попыткой найти такой же хэш только своими силами
- солить хэши
- длинные хэши

Недостаточное Логгирование и мониторинг = сокрытие действий пользователя, так как они нигде не трэкаются и не видны
- подпись логов айдишником юзверя
- ускорение доставки логов, централизация хранения, долгое время хранения, поиск
- audit trail (для того что бынельзя было подделать, или удалить)
- алерты
https://bool.dev/blog/detail/common-and-not-common-attacks-on-website
12 factors application

1) Codebase
- one single repo for service
- several environments
2) Dependencies
- isolated
- declarative
3) Configuring
- centralized layer of configuration the service
4) Backing services
- service as attached resource
5) Build, release, run
- strictly separated stages
6) App as stateless processes
- share nothing
- memory of app as cache of single operation unit
7) Port binding
8) Concurrency
scaling with processes
9) Disposability
- fast startup and graceful shutdown
10) Staging and Production = must be very very similar
11) Logs
- as event stream
- parsable format (as fast as possible)
12) Admin processes
- split and isolate service and admin processes

https://12factor.net/
13) Observable
- current health and metrics
14) Schedulable
- expected resource constraints
15) Upgradable
- versioning and compatibility of dataformats
- previous version compatibility
16) Least privilege (for particular process/container/node)
17) Auditable
- what, when, who, and where for all operations
- operation id
- user id
- sub operation
18) Securable
- isolation of resources and network between
- use vpn and permission grid for admin access and so on
19) Measurable
- Cost predictive running of service

https://www.ibm.com/cloud/blog/7-missing-factors-from-12-factor-applications
Forwarded from Кавычка (Sergey Belov)
Один из классических вопросов на собеседование AppSec специалисту - "Как хранить пароли?". И тут будет потрясающим ответ - "пароли хранить не надо, потому что в 2020 мы не должны запускать сервисы с паролями!". За это можно получить хороший плюс. Но если все-таки вернуться к вопросу, то ожидается ответ в духе:
- Давайте использовать Argon2, PBKDF2, Bcrypt, Scrypt с оптимальным количеством раундов
- И харденинг - например использовать HSM (тут долгие холивары в каком режиме), "pepper" и т.д.

Ответы хранить соленный md5/sha1/sha256/sha512 автоматически ставят жирный минус.

Но также есть еще один вопрос, сложный, и ответ на него мало кто знает - *”А как нам хранить пароли так, что если атакующий получит RCE на бэкендах, в т.ч. root привилегии, то не сможет дампнуть табличку с хэшами?”*

Вопрос ставит в тупик, можно начинать придумывать "security through obscurity" решения, но не надо. Есть очень легкий, понятный и технически верный путь, как решить поставленную задачу. Нам нужно отозвать права "select" у бэкенд юзера на таблицу с хэшами и написать 2 хранимых SQL процедуры:

getSalt(user_id)

Вернет «соль» пароля на бэкенд по userId, который пытается войти. Бэкенд возьмет введенный юзером пароль и получит хэш с солью из базы

checkPassword(user_id, hashed_password)

Возвращает true/false на проверке хэша пароля на предыдущем шаге у user_id

Еще нужна процедура на создание пользователя и смену пароля, но они также не позволяет select'нуть хэши паролей пользователей. Хорошая статья по теме(но там не всё): https://www.secjuice.com/secure-password-handling/

Странно, что ни в одном современном решении - типа WordPress или Django это не реализовано. Да и не надо уже, давайте лучше откажемся от паролей!
тут соберу полезные ссылки по #kubernates:

- официальный сайт проекта
https://kubernetes.io/

- Введение в Kubernetes - Discovery
https://www.youtube.com/watch?v=L3tgJXsMUTU

- Автомасштабирование и управление ресурсами в Kubernetes (обзор и видео доклада)
https://habr.com/ru/company/flant/blog/459326/

- Наш опыт с Kubernetes в небольших проектах
https://www.youtube.com/watch?v=CgCLPYJRxbU

- Автомасштабирование и управление ресурсами в Kubernetes
https://www.youtube.com/watch?v=10ZR-fbyuSY

- Расширяем и дополняем Kubernetes
https://www.youtube.com/watch?v=6VHk1R1TNgk

- Базы данных и Kubernetes
https://www.youtube.com/watch?v=BnegHj53pW4

- Эксплуатация микросервисов
https://www.youtube.com/watch?v=g9cgppj0gKQ

- Мониторинг и Kubernetes
https://www.youtube.com/watch?v=zj6SlzzBRaA

- Лучшие практики CI/CD с Kubernetes и GitLab
https://www.youtube.com/watch?v=G3nELxmECd8

- To run or not to run a database on Kubernetes: What to consider
https://cloud.google.com/blog/products/databases/to-run-or-not-to-run-a-database-on-kubernetes-what-to-consider

- What is Kubernetes? COURSE
https://azure.microsoft.com/en-us/topic/what-is-kubernetes/

- Kubernetes Deployments: The Ultimate Guide
https://semaphoreci.com/blog/kubernetes-deployment

- небольшой курс на русском
https://www.youtube.com/playlist?list=PLg5SS_4L6LYvN1RqaVesof8KAf-02fJSi
нарвался недавно на задачу несбалансированных классов
хорошо просвятили вот эти вот видео

- Несбалансированные данные
https://ru.coursera.org/lecture/supervised-learning/niesbalansirovannyie-dannyie-M97UX

- Метрики качества классификации
https://ru.coursera.org/lecture/vvedenie-mashinnoe-obuchenie/mietriki-kachiestva-klassifikatsii-2-fPkI2

- Многоклассовая классификация
https://ru.coursera.org/lecture/vvedenie-mashinnoe-obuchenie/mnoghoklassovaia-klassifikatsiia-P9Zun

а так же несколько статей
- 8 тактик для борьбы с несбалансированными классами в вашем наборе данных машинного обучения
https://www.machinelearningmastery.ru/tactics-to-combat-imbalanced-classes-in-your-machine-learning-dataset/

- Assessing and Comparing Classifier Performance with ROC Curves
https://machinelearningmastery.com/assessing-comparing-classifier-performance-roc-curves-2/

- Лучшая метрика для оценки точности классификационных моделей
http://datareview.info/article/luchshaya-metrika-dlya-ocenki-tochnosti-klassifikacionnyx-modelej/

- Оценка классификатора (точность, полнота, F-мера)
http://bazhenov.me/blog/2012/07/21/classification-performance-evaluation.html

- ну и просто неплохая статья про логистическую регрессию
"Как легко понять логистическую регрессию"
https://habr.com/ru/company/io/blog/265007/

А вообще есть либа под sklearn для небалансных датафрэймов
https://imbalanced-learn.readthedocs.io/en/stable/api.html
#ml
https://www.facebook.com/privacy/checkup/?source=settings
оказывается в фэйсбуке есть очень удобная вкладка где можно отстроить все вопрсы конфиденциальности. проверить все что включено. есть даже опция запрета определения себя на фотографиях. так же можно выключить поиск по номеру телефона и имэйлу

#privacy
Forwarded from Spark in me (Alexander)
Notes from captain obvious:

Сomparing two GPUs with Tensor Cores, one of the single best indicators for each GPU’s performance is their memory bandwidth;

Most computation time on GPUs is memory access;

A100 compared to the V100 is 1.70x faster for NLP and 1.45x faster for computer vision;

Tesla A100 compared to the V100 is 1.70x faster for NLP and 1.45x faster for computer vision;

3-Slot design of the RTX 3090 makes 4x GPU builds problematic. Possible solutions are 2-slot variants or the use of PCIe extenders;

4x RTX 3090 will need more power than any standard power supply unit on the market can provide right now (this is BS, but power connectors may be an issue - I have 2000W PSU);

With BF16 precision, training might be more stable than with FP16 precision while providing the same speedups;

The new fan design for the RTX 30sV series features both a blower fan and a push/pull fan;

350W TDP;

Compared to an RTX 2080 Ti, the RTX 3090 yields a speedup of 1.57x for convolutional networks and 1.5x for transformers while having a 15% higher release price. Thus the Ampere RTX 30s delivers a pretty substantial improvement over the Turing RTX 20s series;

PCIe 4.0 and PCIe lanes do not matter in 2x GPU setups. For 4x GPU setups, they still do not matter much;

NVLink is not useful. Only useful for GPU clusters;

No info about power connector. But I believe the first gaming gpus use 2*6 pin plus maybe some adapter;

Despite heroic software engineering efforts, AMD GPUs + ROCm will probably not be able to compete with NVIDIA due to lacking community and Tensor Core equivalent for at least 1-2 years;

You will need +50Gbits/s network cards to gain speedups if you want to parallelize across machines;

So if you expect to run deep learning models after 300 days, it is better to buy a desktop instead of using AWS spot instances (also fuck off AWS and Nvidia with sla about data centers);
внезапно оказался в сфере RTOS и выбора под однокристальные встраиваемые системы. #Cpp #os

и в результате набрел на хороший сказ про scmRTOS. базовые понятия и хороший ввод на русском языке с особенностей реалтаймовых операционок тут
http://caxapa.ru/thumbs/729136/scmRTOS.ru.pdf