Books

Шум – Часть III – Шум в предсказательных суждениях

Шум – Часть III – Шум в предсказательных суждениях

Как измерить шум в наших повседневных решениях?

Что лучше — экспертная оценка или механическое предсказание с использованием очень простых моделей/правил? Удивительно, но модель вас лучше вас! Даже простая регрессионная модель, основанная на ваших прошлых решениях!

Как сделать правила/модели еще менее шумными? Как правила/модели могут иногда становиться более предвзятыми?

Почему люди не всегда используют модели (если они так хороши) и по-прежнему полагаются на свои неверные суждения?

Когда нам не нужны модели?

Чистая Архитектура - Часть VI - Детали

Чистая Архитектура - Часть VI - Детали

Переводы: EN

Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения:

Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

Часть VI подрывает некоторые устои 😀:

  • Вы знаете, что База Данных - это “деталь”? Неважная второстепенная низкоуровневая необязательная функция, которой можно пренебречь при проектировании архитектуры!
  • Вы знаете про Веб тоже самое? Это просто неважное устройство ввода-вывода, которым также следует пренебречь при проектировании архитектуры!
  • А как насчет фреймворков? То же самое. Не женитесь на своём фреймворке. Используйте безопасный, а еще лучше - удаленный секс. 🤣
  • Несколько примеров того, как похожие архитектуры могут приводить или не приводить к проблемам. И что использовать, чтобы избежать проблем (спойлер: Инкапсуляцию)
  • Все вышеперечисленное и краткий недостающий совет…

Вобщем, отличная информация! Все подробности в моих ментальных картах:

Чистая Архитектура - Часть V - Архитектура

Чистая Архитектура - Часть V - Архитектура

Переводы: EN

Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения:

Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения

Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design

👍

Пятая часть книги содержит МНОГО полезной информации:

Что такое архитектура ПО? Какие типы взаимозависимостей могут существовать? Как провести границы между компонентами? Какие типы границ существуют? Как распределить политики по уровням? Что такое бизнес-правила, сущности и варианты использования? Что архитектура может и должна “кричать”? Описание Чистой Архитектуры.

Шум - Часть II - Ваш разум - инструмент измерения

Шум - Часть II - Ваш разум - инструмент измерения

Интересно узнать, как наш разум принимает решения. Два типа решений: прогнозные и оценочные. Как измерить ошибки от предвзятости и шума. Как измерить стоимость шума. И как бороться с катастрофическими последствиями.

Детализация шума до трех компонентов: системный шум, шум уровня и шаблонный шум. Как измерить (и компенсировать) шумы. Случайный шум как часть шаблонного шума. Как компенсировать случайный шум: эффект мудрости толпы, эффект толпа-в-одном, эффект второго ответа и инструмент диалектической самонастройки.

Как групповая работа влияет на шум. Информационный каскад и каскад социального давления. Как с ними бороться. Эффект групповой поляризации.

Шум - Часть I - Поиск шума

Шум - Часть I - Поиск шума

Вы осознаете, насколько серьезно на вашу организацию влияют неверные решения? В человеческих суждениях есть два типа ошибок: предвзятость и шум. Предвзятость - очень широко известная проблема, и вы наверняка слышали о ней. А шум не так широко известен. Тем не менее, он влияет на МНОГИЕ решения во ВСЕХ отраслях.

В государственных решениях очень много шума. В коммерческих компаниях очень много шума.

Шум можно сделать видимым и уменьшить. Сложнее измерить шум в уникальных единичных решениях, но он все равно там присутствует и его тоже можно уменьшить.

Высоконагруженные приложения - Глава 12 - Будущее систем данных

Высоконагруженные приложения - Глава 12 - Будущее систем данных

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

Глава 12 - это саммари книги и визионерский взгляд на будущее.

  • Интеграция данных.
    • Обзор способов интеграции данных.
    • Причинность и зачем нам нужен тотальный порядок и идемпотентность.
    • Транзакции и линеаризуемость
    • Ограничения тотального порядка.
    • Лямбда-архитектура и унификация пакетной и потоковой обработки как наиболее перспективный подход.
  • Разделение баз данных.
    • Обзор выстраиваний композиции из хранилищ данных вместе.
    • Разработка приложений вокруг потока данных.
    • Использование производных состояний.
  • Стремление к правильности: какие проблемы учитывать и как с ними бороться.
    • Жетон сквозного прохода.
    • Как обрабатывать многораздельные запросы.
    • Вопросы своевременности и целостности. Извинения в бизнесе.
    • Мета-подход: доверяй, но проверяй.
  • Делать правильные вещи.
    • Предиктивная аналитика дискриминирует людей! Мы несем ответственность и подотчетность.
    • Конфиденциальность противоречит отслеживанию. Тотальный надзор должен быть законодательным и саморегулируемым.

Скачать всю майнд-мапу в PDF

Высоконагруженные приложения - Глава 11 - Потоковая обработка

Высоконагруженные приложения - Глава 11 - Потоковая обработка

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

Глава 11 раскрывает все аспекты потоковой обработки. Если вашей системе необходимо обрабатывать некоторые данные на лету, ваша команда разработчиков должна изучить эту информацию.

  • Подходы для передачи событий: прямой обмен сообщениями, системы обмена сообщениями и партиционированные журналы. Их реализации, плюсы и минусы.
  • Как использовать потоки для баз данных. Синхронизация баз данных, Change Data Capture (CDC), Event Sourcing. Состояние, потоки и иммутабельность.
  • Нюансы обработки потоков. Полезные варианты использования, рассуждения о времени, 3 типа потоковых joins, отказоустойчивость.

Скачать всю майнд-мапу в PDF

Высоконагруженные приложения - Глава 10 - Пакетная обработка

Высоконагруженные приложения - Глава 10 - Пакетная обработка

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

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

  • Инструменты Unix для пакетной обработки и блестящей концепции пайпов.
  • MapReduce и распределенные файловые системы. Как этот подход решает проблемы пайпов Unix. Отказоустойчивость и партиционирование. Использование и реализация Joins, Grouping, Mapping. Доступные инструменты и проблемы этого подхода.
  • Что выходит за рамки MapReduce. Движки обработки данных, обработка графов, высокоуровневые API и базы данных MPP. Работа с отказоустойчивостью и партиционированием. Реализации, проблемы, что и когда использовать.

Скачать всю майнд-мапу в PDF

Высоконагруженные приложения - Глава 9 - Согласованность и Консенсус

Высоконагруженные приложения - Глава 9 - Согласованность и Консенсус

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

В главе 9 рассказывается о согласованности и консенсусе в распределенных системах. Она охватывает следующие темы:

  • Что такое согласованность и согласованность в конечном счете.
  • Линеаризуемость. Зачем это нужно. Отличие от сериализуемости. Как реализовать линеаризуемость. Стоимость линеаризуемости. Теорема CAP.
  • Гарантии определения порядка. Что такое порядок и причинность. Их отношение к линеаризуемости. Sequence Number Ordering и как его реализовать. Total Order Broadcast и как его реализовать.
  • Распределенные транзакции и консенсус. Зачем нужны консенсус и распределенные транзакции. Как их реализовать, связанные с ними проблемы и программное обеспечение, которое помогает.

Резюме:

Высоконагруженные приложения - Глава 8 - Проблемы с распределенными системами

Высоконагруженные приложения - Глава 8 - Проблемы с распределенными системами

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

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

  • Неисправности и частичные отказы. Необходимость строить надежную систему из ненадежных компонентов.
  • Проблема 1: ненадежные сети. Почему такое случается. Как это обнаружить. Как с этим бороться. Синхронные и асинхронные сети. Гибридные сети и эмуляция гибридных сетей.
  • Проблема 2: ненадежные часы. Монотонные часы и часы времени суток. Что использовать, а что не использовать в разных случаях. Хорошие практики.
  • Проблема 3: знание, правда и ложь. Что такое правда в распределенных системах. Проблема византийских генералов. Модель системы и реальность: что использовать в каких случаях.

Скачать всю майнд-мапу в PDF