модель атомик памяти в #CPP (полностью такая же для #rust)
- Неделимый, но расслабленный (relaxed)
- Полный порядок (seq_cst)
- Синхронизация пары (Acquire/Release)
https://habr.com/ru/post/517918/
- Неделимый, но расслабленный (relaxed)
- Полный порядок (seq_cst)
- Синхронизация пары (Acquire/Release)
https://habr.com/ru/post/517918/
Хабр
std::atomic. Модель памяти C++ в примерах
Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы...
Крутющая статья о енамах в #rust есть и места сравнения с #C
= Peeking inside a Rust enum
https://fasterthanli.me/articles/peeking-inside-a-rust-enum
= Peeking inside a Rust enum
https://fasterthanli.me/articles/peeking-inside-a-rust-enum
fasterthanli.me
Peeking inside a Rust enum
During a recent Rust Q&A Session on my twitch channel, someone asked a question that seemed simple: why are small string types, like SmartString or SmolStr, the same size as String, but small vec t...
Никита Коваль — На пути к быстрой многопоточной хеш-таблице
https://www.youtube.com/watch?v=BpgL2LGEhP4
Хэштаблица самая популярная структура в разработке
#java
ConcurentHashMap
+ O(1)
- использует блокировки (сложно масштабируется)
- хранит списки при коллизии (лишние кэшмиссы)
+ вместо списков хранит дерево пр ипостоянных коллизиях
ConcurentSkipListMap
+ O(log N)
+ это дерево списков
- много лишних обьектов
- постоянные кэшмиссы
- нагружает GC
- не хэш таблица
NonBlocingHashMap
+ lock-free
И собственно в докладе примеры и понимание почему высокий профит от подхода
https://www.youtube.com/watch?v=BpgL2LGEhP4
Хэштаблица самая популярная структура в разработке
#java
ConcurentHashMap
+ O(1)
- использует блокировки (сложно масштабируется)
- хранит списки при коллизии (лишние кэшмиссы)
+ вместо списков хранит дерево пр ипостоянных коллизиях
ConcurentSkipListMap
+ O(log N)
+ это дерево списков
- много лишних обьектов
- постоянные кэшмиссы
- нагружает GC
- не хэш таблица
NonBlocingHashMap
+ lock-free
И собственно в докладе примеры и понимание почему высокий профит от подхода
YouTube
Никита Коваль — На пути к быстрой многопоточной хеш-таблице
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
. . . . Хеш-таблицы — вероятно, самая используемая на сегодняшний день структура данных, от производительности которой зависят многие компоненты…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
. . . . Хеш-таблицы — вероятно, самая используемая на сегодняшний день структура данных, от производительности которой зависят многие компоненты…
Introducing Domain-Oriented Microservice Architecture
https://eng.uber.com/microservice-architecture/
и перевод
https://habr.com/ru/company/flant/blog/514830/
https://eng.uber.com/microservice-architecture/
и перевод
https://habr.com/ru/company/flant/blog/514830/
https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%8F
«Организации проектируют системы, которые копируют структуру коммуникаций в этой организации»
ВАУ. прям немного шатает разум как трубу от этого)
«Организации проектируют системы, которые копируют структуру коммуникаций в этой организации»
ВАУ. прям немного шатает разум как трубу от этого)
https://www.the-paper-trail.org/post/2008-08-13-a-brief-tour-of-flp-impossibility/
Реальная система консенсуса не может быть одновременно
- асинхронна
- детерминирована
- отказоустойчива
Что бы она по-настоящему работала всегда надо хотябы в одном из пунктов иметь допущения. (Например рандомные таймеры)
Реальная система консенсуса не может быть одновременно
- асинхронна
- детерминирована
- отказоустойчива
Что бы она по-настоящему работала всегда надо хотябы в одном из пунктов иметь допущения. (Например рандомные таймеры)
www.the-paper-trail.org
A Brief Tour of FLP Impossibility | Paper Trail
Writing about distributed systems, compilers, virtual machines, databases and research papers from SOSP, ATC, NSDI, OSDI, EuroSys and others
https://ru.wikipedia.org/wiki/Maximum_transmission_unit
MTU - максимальная единица передачи - максимальный размер полезного блока данных одного пакета, который может быть передан протоколом без фрагментации
увеличение пропускной способности в контексте длин пакетов:
- Уменьшение межкадрового интервала. Для Fast Ethernet он по умолчанию равен 0,96 мкс за который могло бы быть передано 12 байт.
- Сжатие заголовков. (сжатие заголовков TCP/IP Якобсона).
- Сжатие нагрузки низкого уровня. (IP Payload Compression Protocol)
- Решение проблемы передачи небольших данных (tinygram problem) за счёт придерживания в буфере малых данных, чтобы отправить один большой пакет. (алгоритм Нейгла)
Path MTU - наименьший MTU на пути следования пакета в сети.
MTU - максимальная единица передачи - максимальный размер полезного блока данных одного пакета, который может быть передан протоколом без фрагментации
увеличение пропускной способности в контексте длин пакетов:
- Уменьшение межкадрового интервала. Для Fast Ethernet он по умолчанию равен 0,96 мкс за который могло бы быть передано 12 байт.
- Сжатие заголовков. (сжатие заголовков TCP/IP Якобсона).
- Сжатие нагрузки низкого уровня. (IP Payload Compression Protocol)
- Решение проблемы передачи небольших данных (tinygram problem) за счёт придерживания в буфере малых данных, чтобы отправить один большой пакет. (алгоритм Нейгла)
Path MTU - наименьший MTU на пути следования пакета в сети.
Product Architecture Framework
A clear view of your product.
http://productframework.ru/
наверное лучшая ссылка со структурированной информацией где почти все есть о том как развивать продукт,
в видео очень хорошо представлено и обьяснены основны
https://www.youtube.com/watch?v=wRvAle3bXoU&feature=emb_logo
когда то собирал все это по крупицам. а тут все и сразу
A clear view of your product.
http://productframework.ru/
наверное лучшая ссылка со структурированной информацией где почти все есть о том как развивать продукт,
в видео очень хорошо представлено и обьяснены основны
https://www.youtube.com/watch?v=wRvAle3bXoU&feature=emb_logo
когда то собирал все это по крупицам. а тут все и сразу
productframework.ru
Product Architecture Framework
Методология управления продуктовой компанией от отдельных гипотез до долгосрочных стратегий
тут соберу ссылки по Patroni
- собственно репо проекта
https://github.com/zalando/patroni
- Доклад Отказоустойчивый PostgreSQL кластер с Patroni
https://pgconf.ru/2017/93520
- PostgreSQL на базе Patroni, HAProxy и Keepalived
https://ru.bmstu.wiki/index.php?noscript=PostgreSQL_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_Patroni,_HAProxy_%D0%B8_Keepalived&mobileaction=toggle_view_mobile
- Как мы построили надёжный кластер PostgreSQL на Patroni
https://habr.com/ru/company/mailru/blog/452846/
- Отказоустойчивый кластер PostgreSQL + Patroni. Опыт внедрения https://habr.com/ru/company/miro/blog/457326/
- Построение кластера PostgreSQL высокой доступности с использованием Patroni, etcd, HAProxy https://habr.com/ru/post/482314/
- PostgreSQL на K8s в Zalando: два года в бою / Александр Кукушкин (Zalando SE) https://www.youtube.com/watch?v=33424uhD1ng&feature=emb_logo
- собственно репо проекта
https://github.com/zalando/patroni
- Доклад Отказоустойчивый PostgreSQL кластер с Patroni
https://pgconf.ru/2017/93520
- PostgreSQL на базе Patroni, HAProxy и Keepalived
https://ru.bmstu.wiki/index.php?noscript=PostgreSQL_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_Patroni,_HAProxy_%D0%B8_Keepalived&mobileaction=toggle_view_mobile
- Как мы построили надёжный кластер PostgreSQL на Patroni
https://habr.com/ru/company/mailru/blog/452846/
- Отказоустойчивый кластер PostgreSQL + Patroni. Опыт внедрения https://habr.com/ru/company/miro/blog/457326/
- Построение кластера PostgreSQL высокой доступности с использованием Patroni, etcd, HAProxy https://habr.com/ru/post/482314/
- PostgreSQL на K8s в Zalando: два года в бою / Александр Кукушкин (Zalando SE) https://www.youtube.com/watch?v=33424uhD1ng&feature=emb_logo
GitHub
GitHub - patroni/patroni: A template for PostgreSQL High Availability with Etcd, Consul, ZooKeeper, or Kubernetes
A template for PostgreSQL High Availability with Etcd, Consul, ZooKeeper, or Kubernetes - patroni/patroni
https://99designs.com/
надо бы себе сохранить эту ссылку. можно решать вопросы с логотипами, вебдизайном проще, особенно когда не могу найти дизайнера. нужно описать задачу, накидать что нужно и как выглядит примерно. и 50 дизайнеров возьмуться за работу. лучшего - выбрать и заплатить денег. шикарно
#design
надо бы себе сохранить эту ссылку. можно решать вопросы с логотипами, вебдизайном проще, особенно когда не могу найти дизайнера. нужно описать задачу, накидать что нужно и как выглядит примерно. и 50 дизайнеров возьмуться за работу. лучшего - выбрать и заплатить денег. шикарно
#design
99designs
Logos, Web, Graphic Design & More. | 99designs
The global creative platform for custom graphic design: logos, websites and more. Hire a talented designer or start a design contest. 500k+ happy customers have used 99designs to grow their business.
Философия Devops в пяти словах
CA(L)MS
Culture
Automation
Lean
Measurement
Sharing
CA(L)MS
Culture
Automation
Lean
Measurement
Sharing
Шина I2C - Inter-Integrated Circuit
- база https://www.youtube.com/watch?v=_iSXkCWJKKM
- лекция https://www.youtube.com/watch?v=_4KD29qnhNM
разработана Филипсом еще 1980 году
SDA - Serial DAta
SCL - Serial CLock
ограничение = 127 устройств с уникальными айди. 100кбит/сек или 10мбит/сек (для новой ревизии шины)
Запись
- старт флаг
- 7бит адрес
- Флаг запись = 0
- подтверждение слэйва
- байт данных
- подвержение (0) / отказ (1)
...
- стоп флаг
Чтение
- старт флаг
- 7бит адрес
- флаг чтение = 1
- подтверждение слэйва
- байт данных от слэйва
- подтвержение мастера
...
- байт данных от слэйва
- отказ мастера
- флаг стоп
Wiki https://ru.wikipedia.org/wiki/I%C2%B2C
- база https://www.youtube.com/watch?v=_iSXkCWJKKM
- лекция https://www.youtube.com/watch?v=_4KD29qnhNM
разработана Филипсом еще 1980 году
SDA - Serial DAta
SCL - Serial CLock
ограничение = 127 устройств с уникальными айди. 100кбит/сек или 10мбит/сек (для новой ревизии шины)
Запись
- старт флаг
- 7бит адрес
- Флаг запись = 0
- подтверждение слэйва
- байт данных
- подвержение (0) / отказ (1)
...
- стоп флаг
Чтение
- старт флаг
- 7бит адрес
- флаг чтение = 1
- подтверждение слэйва
- байт данных от слэйва
- подтвержение мастера
...
- байт данных от слэйва
- отказ мастера
- флаг стоп
Wiki https://ru.wikipedia.org/wiki/I%C2%B2C
YouTube
Шина I2C.
Немножко теории. Как работает шина I2C, также известная как TWI.
https://www.youtube.com/watch?v=finP05FFTv8
про микроконтроллеры и микропроцессоры
таймеры, прерывания,
уровни абстракции для переферии, StdPeriphLib, Hal, операционные системы реального времени
про микроконтроллеры и микропроцессоры
таймеры, прерывания,
уровни абстракции для переферии, StdPeriphLib, Hal, операционные системы реального времени
YouTube
Основы программирования микроконтроллеров. Лекция в МИРЭА
Олег Артамонов – генеральный директор компании Unwired Devices («Беспроводные устройства»).
Уровень: продвинутый (для понимания необходимо знание языка программирования С)
Темы лекции:
1) Чем отличаются микрокомпьютер, микроконтроллер и микропроцессор и…
Уровень: продвинутый (для понимания необходимо знание языка программирования С)
Темы лекции:
1) Чем отличаются микрокомпьютер, микроконтроллер и микропроцессор и…
физическая шина 1-wire (Microlan)
= Низкоскоростная полудуплексная сеть.
+ Каждое устройство питается от самой шины
+ малая потребляемая энергия
+ минимальное количество проводов для работы
- низкая скорость
4мкс задержка для начала. но что бы точно все было ок стартавать нужно с 12-15мкс
на канальном уровне
1) вначале идет команда
2) Адрес устройства 8байт
- 1 байт = тип
- 6 байт = адрес
- 1 байт = контрольная сумма CRC1
https://www.youtube.com/watch?v=p1qDHMUetHQ
= Низкоскоростная полудуплексная сеть.
+ Каждое устройство питается от самой шины
+ малая потребляемая энергия
+ минимальное количество проводов для работы
- низкая скорость
4мкс задержка для начала. но что бы точно все было ок стартавать нужно с 12-15мкс
на канальном уровне
1) вначале идет команда
2) Адрес устройства 8байт
- 1 байт = тип
- 6 байт = адрес
- 1 байт = контрольная сумма CRC1
https://www.youtube.com/watch?v=p1qDHMUetHQ
YouTube
Лекция 309. 1-wire интерфейс
Кратко описан принцип работы шины 1-wire на физическом уровне. Эта шина обеспечивает низкоскоростной (15 кбит/с) полудуплексный обмен данными с различными датчиками на расстоянии до 300 метров по одному сигнальному проводу - отсюда и название. Необходим…