Девятый и последний выпуск клуба "Code of Architecture" по книге "Распределенные системы" ван Стина и Таненбаума
Сегодня в 18.00 мы обсудим главу про безопасность, в которой поговорим про следующие вопросы
- Для чего нам нужна безопасность в распределенной системе
- Какие подходы к безопасности бывают: через confidentiality и integrity и через модель угроз (security threats)
- Как разделять политики безопасности и механизмы для их реализации
- Какие существуют принципы для проектирования надежных систем
- Какие базовые моменты по криптографии надо знать для понимания работы современных протоколов
- Как работает аутентификация и авторизация
- Как размышлять о доверии (trust) в распределенной системе
- Как обеспечивать отслеживание проникнования в систему (intrusion) за счет мониторинга и логов
В выпуске участвуют
- Игорь Маслов @ Tinkoff
- Илья Зонов @ Tinkoff
- Александр Поломодов @ Tinkoff
Присоедняйтесь к трансляции сегодня в 18.00.
#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
Сегодня в 18.00 мы обсудим главу про безопасность, в которой поговорим про следующие вопросы
- Для чего нам нужна безопасность в распределенной системе
- Какие подходы к безопасности бывают: через confidentiality и integrity и через модель угроз (security threats)
- Как разделять политики безопасности и механизмы для их реализации
- Какие существуют принципы для проектирования надежных систем
- Какие базовые моменты по криптографии надо знать для понимания работы современных протоколов
- Как работает аутентификация и авторизация
- Как размышлять о доверии (trust) в распределенной системе
- Как обеспечивать отслеживание проникнования в систему (intrusion) за счет мониторинга и логов
В выпуске участвуют
- Игорь Маслов @ Tinkoff
- Илья Зонов @ Tinkoff
- Александр Поломодов @ Tinkoff
Присоедняйтесь к трансляции сегодня в 18.00.
#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
🔥14❤2👍2
Понимать, но не предвидеть. Предвидеть, но не понимать (Comprendre sans prevoir, prevoir sans comprendre)
В этой книге французский ученый-популяризатор науки, Юбер Кривин, рассказывает про то, как работает обычная наука, в которой на основе данных строятся модели, объясняющие происходящее и имеющие предсказательную силу. А потом он противопоставляет этому современный подход к машинному обучению, где на основе больших данных отслеживаются корреляции и создаются предсказания, которые сложно интерпретировать и понимать. Дальше автор размышляет так ли нужна фундаментальная наука в эпоху chatgpt (которого не было 5 лет назад, когда была издана книга) и приходит к выводу, что фундаментальная наука никуда не денется.
В процессе обсуждения автор вспоминает про теорию детерминированного хаоса (эффект бабочки), разбирает почему корреляция это не причинность, вспоминает про Тьюринга с его тестом на интеллект и так далее. В общем, в 150 страницах этой небольшой книги есть очень много интересных примеров и отсылок к другим областям знаний, которые интересно читать.
#PopularScience #AI #Physics #Math
В этой книге французский ученый-популяризатор науки, Юбер Кривин, рассказывает про то, как работает обычная наука, в которой на основе данных строятся модели, объясняющие происходящее и имеющие предсказательную силу. А потом он противопоставляет этому современный подход к машинному обучению, где на основе больших данных отслеживаются корреляции и создаются предсказания, которые сложно интерпретировать и понимать. Дальше автор размышляет так ли нужна фундаментальная наука в эпоху chatgpt (которого не было 5 лет назад, когда была издана книга) и приходит к выводу, что фундаментальная наука никуда не денется.
В процессе обсуждения автор вспоминает про теорию детерминированного хаоса (эффект бабочки), разбирает почему корреляция это не причинность, вспоминает про Тьюринга с его тестом на интеллект и так далее. В общем, в 150 страницах этой небольшой книги есть очень много интересных примеров и отсылок к другим областям знаний, которые интересно читать.
#PopularScience #AI #Physics #Math
🔥11
Вчера мы провели последний стрим клуба Code of Architecture по книге “Distributed Systems”, в котором мы обсудили вопросы security. А точнее мы обсудили модели угроз, политики безопасности и механики для их обеспечения, вопросы аутентификации и авторизации, а также доверия в распределенных системах. Закончили темой мониторинга и аудита.
В этот раз мы общались на троих с Игорем Масловым, Ильей Зоновым и мной:)
Артефакты с этого стрима доступны по ссылкам
- Статья с кратким обзором
- Запись стрима
- Miro доска с презентацией
#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
В этот раз мы общались на троих с Игорем Масловым, Ильей Зоновым и мной:)
Артефакты с этого стрима доступны по ссылкам
- Статья с кратким обзором
- Запись стрима
- Miro доска с презентацией
#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
Medium
Code of Architecture — “Distributed Systems, 4th Ed” #9 (Security)
Это девятый и последний выпуск клуба “Code of Architecture” по книге “Распределенные системы” ван Стина и Таненбаума, в котором мы…
❤14👍5👏2
1985
Несколько лет назад я прочел книгу Энтони Бёрджеса "1985". Как можно догадаться из названия она тесно связана с известнейшей книгой Джорджа Оруэлла "1984", в которой Джордж из послевоенного 1948 рассказал антиутопию о будущем. Первая часть книги Энтони посвящена полемике относительно картины, нарисованной его предшественником. И эта картина выглядит так:
В мире "1984" осталось 3 глобальных военно-политических блока, которые ведут непрерывную войну. Но это война не на победу, а на поддержание статуса кво. Общество состоит из трех кругов: внутренняя партия, внешняя и пролы (пролеториат). Партия вещает от имени мифического Старшего Брата, используя новояз, который поддерживает двоемыслие как залог успешного существования в этом мире. Также есть в структуре управления есть:
- Министерство Мира, что отвечает за войну
- Министерство Правды, что отвечает за пропоганду
- Министерство Любви, что отвечает за пытки
Энтони Берджес, написавший книгу в 70х годах, разбил ее на 2 части. Вся первая часть состоит из полемики относительно мира Оруэлла 1984 года. А во второй он рисует совсем другую картину соседнего 1985 года. В его мире к власти пришел пролетариат, но ... управляют всем профсоюзы. Причем профсоюзы борются с собственным государством, устраивая забастовки. Например, роман начинается с забастовки пожарных, во время которой жена главного героя сгорает в больнице, которую просто некому тушить. Главный герой восстает против режима принуждения и выходит из профсоюза, а дальше становится фактически никем и скатывается на самое дно как асоциальный элемент. Дальнейший сюжет раскрывать не буду, но поделюсь рядом цитат, что мне понравились:
1) в первой части книги, где шла полемика относительно романа 1984
- "тревожно отмечать, что как раз в демократиях, основанных на неприкосновенности свободы воли, принцип манипулирования сознанием может стать общепринятым"
2) во второй части
- в описании званий армии, которую собирают некие силы, присутствует оксюмороны: "полноправный свободный рядовой, свободный капрал, старшшина взвода, ротный демократ"
- про убеждение верующего относительно профсоюзов и власти пролетариата: "двенадцать апостолов были первым профсоюзом и что Христа обрекли на мученическую смерть за принцип свободной самоорганизации трудящихся, а что Царство Небесное означает пролетарскую демократию"
И конечно интервью в эпилоге шедевральное. Если вы не готовы читать всю книгу, то прочтите хотя бы его.
#SciFi
Несколько лет назад я прочел книгу Энтони Бёрджеса "1985". Как можно догадаться из названия она тесно связана с известнейшей книгой Джорджа Оруэлла "1984", в которой Джордж из послевоенного 1948 рассказал антиутопию о будущем. Первая часть книги Энтони посвящена полемике относительно картины, нарисованной его предшественником. И эта картина выглядит так:
В мире "1984" осталось 3 глобальных военно-политических блока, которые ведут непрерывную войну. Но это война не на победу, а на поддержание статуса кво. Общество состоит из трех кругов: внутренняя партия, внешняя и пролы (пролеториат). Партия вещает от имени мифического Старшего Брата, используя новояз, который поддерживает двоемыслие как залог успешного существования в этом мире. Также есть в структуре управления есть:
- Министерство Мира, что отвечает за войну
- Министерство Правды, что отвечает за пропоганду
- Министерство Любви, что отвечает за пытки
Энтони Берджес, написавший книгу в 70х годах, разбил ее на 2 части. Вся первая часть состоит из полемики относительно мира Оруэлла 1984 года. А во второй он рисует совсем другую картину соседнего 1985 года. В его мире к власти пришел пролетариат, но ... управляют всем профсоюзы. Причем профсоюзы борются с собственным государством, устраивая забастовки. Например, роман начинается с забастовки пожарных, во время которой жена главного героя сгорает в больнице, которую просто некому тушить. Главный герой восстает против режима принуждения и выходит из профсоюза, а дальше становится фактически никем и скатывается на самое дно как асоциальный элемент. Дальнейший сюжет раскрывать не буду, но поделюсь рядом цитат, что мне понравились:
1) в первой части книги, где шла полемика относительно романа 1984
- "тревожно отмечать, что как раз в демократиях, основанных на неприкосновенности свободы воли, принцип манипулирования сознанием может стать общепринятым"
2) во второй части
- в описании званий армии, которую собирают некие силы, присутствует оксюмороны: "полноправный свободный рядовой, свободный капрал, старшшина взвода, ротный демократ"
- про убеждение верующего относительно профсоюзов и власти пролетариата: "двенадцать апостолов были первым профсоюзом и что Христа обрекли на мученическую смерть за принцип свободной самоорганизации трудящихся, а что Царство Небесное означает пролетарскую демократию"
И конечно интервью в эпилоге шедевральное. Если вы не готовы читать всю книгу, то прочтите хотя бы его.
#SciFi
❤16👍3
Не опаздывай, Медведь! (L'Ours contre la montre)
Вчера прочитал эту детскую книжку своему сыну, которому пока только 2.5 года. Ключевая идея этой книги - научить детей основам тайм-менеджмента:) В самом начале книги мы в стихах узнаем про медведя, который живет в обычной семье, ходит в школу и вообще напоминает скорее первоклашку, чем медведя:) Этот медведь в начале книги везде опаздывает: прийти вовремя в школу, попасть на нужный урок, попасть на обед и даже на автобус, чтобы уехать домой. Но дальше папа обучает медведя часам иминутам, а также тому как считывать время с часов со стрелками. Дальше они доходят до составления расписания на неделю по дням ... Потом медведь начинает везде и всюду успевать, но оказывается перегружен и в конце книги автор рассказывает как он выбирается из стадии выгорания:)
В общем, прикольная книга, которую можно читать детям разных возрастов и каждый поймет свое:
- самый маленький сможет проследить за злоключениями мишки
- ребенок постарше сможет почерпнуть идею того, как измеряется время и как работает циферблат
- а старшеклассник (мой по крайней мере) сможет задуматься над составлением расписания и планированием своей нагрузки:)
#ForKids #Time
Вчера прочитал эту детскую книжку своему сыну, которому пока только 2.5 года. Ключевая идея этой книги - научить детей основам тайм-менеджмента:) В самом начале книги мы в стихах узнаем про медведя, который живет в обычной семье, ходит в школу и вообще напоминает скорее первоклашку, чем медведя:) Этот медведь в начале книги везде опаздывает: прийти вовремя в школу, попасть на нужный урок, попасть на обед и даже на автобус, чтобы уехать домой. Но дальше папа обучает медведя часам иминутам, а также тому как считывать время с часов со стрелками. Дальше они доходят до составления расписания на неделю по дням ... Потом медведь начинает везде и всюду успевать, но оказывается перегружен и в конце книги автор рассказывает как он выбирается из стадии выгорания:)
В общем, прикольная книга, которую можно читать детям разных возрастов и каждый поймет свое:
- самый маленький сможет проследить за злоключениями мишки
- ребенок постарше сможет почерпнуть идею того, как измеряется время и как работает циферблат
- а старшеклассник (мой по крайней мере) сможет задуматься над составлением расписания и планированием своей нагрузки:)
#ForKids #Time
❤18👍8😁3🔥1
I Made Everything Loosely Coupled. Does My App Fall Apart? (Рубрика #Architecture)
Это keynote выступление Gregor Hohpe было на goto конференции в рамках EDA Day (event-driven architecture). Сам Gregor Hohpe еще 20 лет назад написал книгу "Enterprise Integration Patterns"
В рамках этого выступления Gregor обсуждает много вопросов:
- Делает интро в EDA
- Обсуждает роль архитектора и говорит, что они не просто рисуют красивые картинки, а скорее думают в определенном формате и рассказывает как выглядит "thinking like an architect":
-- архитекторы делают скетчи, а не blueprints
-- архитекторы видят больше размерностей с разных точек зрения
-- архитекторы умеют менять масштаб рассмотрения абстракций (zoom in & zoom-out)
-- архитекторы избегают абсолютных утверждений и различают оттенки серого (понимают как работают компромиссы ака tradeoffs)
- Переходит к обсуждению рисования boxes & lines и показывает почему важны именно стрелки, которые связывают boxes. Суть в том, что именно стрелки определяют как компоненты связаны между собой. Дальше автор рассматривает какие реально технологии могут лежать в основе boxes и какой у нас есть контроль над ними. А кроме того, как эти кубики матчатся на команды.
- Делает zoom in в обсуждение того, как рисуются линии в архитектуре. Что означает линия под капотом: data or control flow, interaction model, sync/async, polling, pub/sub or point-to-point и так далее. А дальше он дает совет о разделении вашего подхода к архитектуре от выбора конкретных технологий и продуктов, которые вы будете использовать для ее реализации
- А дальше наступает время обсуждения connection & coupling. В самом начале он дает свое определение coupling - "coupling is a measure of independent variability between connected systems", дальше говорит о том, что decoupling имеет свою цену и что это понятие не черно-белое, а многомерное. Здесь автор обсуждает вопросы использования buzzwords и принятия решений - условно, что дает loose coupling:
-- limit change radius (at design time), что дает higher agility & velocity
-- limit error radius (at runtime), что дает reliable, tolerant operations
и дальше он рекламирует будущую книгу Влада Хононова "Balancing coupling in software design" и заключает, что "the appropriate level of (design-time) coupling depends on the level of control you have over the endpoints"
- Потом идете обсуждение messages & events. Тут автор вспоминает про свое определение messaging из упомянутой выше книги. А дальше переходит к тому, что events - это особый тип messages с определенной семантикой. Помимо events еще бывают commands и documents. Дальше автор вспоминает про семантику каналов, посредством которых происходит обмен сообщениями и событиями. Дальше обсуждается вопросы как матчится producers и cosumers, как организована логика в виде оркестрации или complex event processing
- Ну и в конце автор показывает как можно делать EDA системы в cloud стиле с использованием AWS CDK, где автор пишет не код приложения, а код интеграции и размышляет в тех терминах, что были описаны выше. И именно такое описание автор называет everything loosely coupled:)
#EDA #Conference #SoftwareArchitecture #Architecture #DistributedSystems #SystemDesign
Это keynote выступление Gregor Hohpe было на goto конференции в рамках EDA Day (event-driven architecture). Сам Gregor Hohpe еще 20 лет назад написал книгу "Enterprise Integration Patterns"
В рамках этого выступления Gregor обсуждает много вопросов:
- Делает интро в EDA
- Обсуждает роль архитектора и говорит, что они не просто рисуют красивые картинки, а скорее думают в определенном формате и рассказывает как выглядит "thinking like an architect":
-- архитекторы делают скетчи, а не blueprints
-- архитекторы видят больше размерностей с разных точек зрения
-- архитекторы умеют менять масштаб рассмотрения абстракций (zoom in & zoom-out)
-- архитекторы избегают абсолютных утверждений и различают оттенки серого (понимают как работают компромиссы ака tradeoffs)
- Переходит к обсуждению рисования boxes & lines и показывает почему важны именно стрелки, которые связывают boxes. Суть в том, что именно стрелки определяют как компоненты связаны между собой. Дальше автор рассматривает какие реально технологии могут лежать в основе boxes и какой у нас есть контроль над ними. А кроме того, как эти кубики матчатся на команды.
- Делает zoom in в обсуждение того, как рисуются линии в архитектуре. Что означает линия под капотом: data or control flow, interaction model, sync/async, polling, pub/sub or point-to-point и так далее. А дальше он дает совет о разделении вашего подхода к архитектуре от выбора конкретных технологий и продуктов, которые вы будете использовать для ее реализации
- А дальше наступает время обсуждения connection & coupling. В самом начале он дает свое определение coupling - "coupling is a measure of independent variability between connected systems", дальше говорит о том, что decoupling имеет свою цену и что это понятие не черно-белое, а многомерное. Здесь автор обсуждает вопросы использования buzzwords и принятия решений - условно, что дает loose coupling:
-- limit change radius (at design time), что дает higher agility & velocity
-- limit error radius (at runtime), что дает reliable, tolerant operations
и дальше он рекламирует будущую книгу Влада Хононова "Balancing coupling in software design" и заключает, что "the appropriate level of (design-time) coupling depends on the level of control you have over the endpoints"
- Потом идете обсуждение messages & events. Тут автор вспоминает про свое определение messaging из упомянутой выше книги. А дальше переходит к тому, что events - это особый тип messages с определенной семантикой. Помимо events еще бывают commands и documents. Дальше автор вспоминает про семантику каналов, посредством которых происходит обмен сообщениями и событиями. Дальше обсуждается вопросы как матчится producers и cosumers, как организована логика в виде оркестрации или complex event processing
- Ну и в конце автор показывает как можно делать EDA системы в cloud стиле с использованием AWS CDK, где автор пишет не код приложения, а код интеграции и размышляет в тех терминах, что были описаны выше. И именно такое описание автор называет everything loosely coupled:)
#EDA #Conference #SoftwareArchitecture #Architecture #DistributedSystems #SystemDesign
YouTube
I Made Everything Loosely Coupled. Does My App Fall Apart? • Gregor Hohpe • GOTO 2022
This presentation was recorded at GOTO EDA Day 2022. #GOTOcon #GOTOeda #GOTOldn
http://gotoldn.com
Gregor Hohpe - AWS Enterprise Strategist
RESOURCES
https://twitter.com/ghohpe
https://www.linkedin.com/in/ghohpe
http://eaipatterns.com
https://architectelevator.com…
http://gotoldn.com
Gregor Hohpe - AWS Enterprise Strategist
RESOURCES
https://twitter.com/ghohpe
https://www.linkedin.com/in/ghohpe
http://eaipatterns.com
https://architectelevator.com…
👍13❤4
Анонс спецвыпуска Code of Architecture про авторизацию по модели ReBAC (aka Google Zanzibar)
В последней серии с обсуждением книги по распределенным системам (Distributed Systems) мы говорили про вопросы безопасности и кратко обсудили тему авторизации. Нам показалось, что авторы книги пропустили достаточно важную модель называемую ReBAC (Relationship-Based Access Control). Популярность к этой модели пришла после того, как Google в 2019 году опубликовал white paper "Zanzibar: Google’s Consistent, Global Authorization System". В этом документе авторы рассказали о том, как конфигурировать авторизационную модель, как выражать взаимосвязи в виде триплетов и как собственно проверять наличие или отсутствие прав. Отдельно стоит отметить, что с 2019 года несколько компаний сделали коммерческие и open source реализации этой модели, например, SpiceDB, что позволяет желающим использовать этот подход в своих проектах. В итоге, в этом выпуске мы поговорим про проблематику авторизации более глубоко и дальше обсудим модель ReBAC, погрузившись в white paper про Zanzibar и немного в open source реализацию на примере SpiceDB.
В выпуске будут два гостя:
- Сергей Клименко - руководитель отдела, который отвечает за аутентификацию и авторизацию в Тинькофф, в частности сервис Тинькофф ID, а также занимается развитием экосистемы
- Даниил Кулешов, архитектор новой системы авторизации для клиентов Тинькофф
Подключайтесь в понедельник 20 марта в 18:00 по Москве к трансляции на ютуб-каналe IT's Tinkoff.
#CoA #SystemDesign #DistributedSystems #Authz #WhitePaper
В последней серии с обсуждением книги по распределенным системам (Distributed Systems) мы говорили про вопросы безопасности и кратко обсудили тему авторизации. Нам показалось, что авторы книги пропустили достаточно важную модель называемую ReBAC (Relationship-Based Access Control). Популярность к этой модели пришла после того, как Google в 2019 году опубликовал white paper "Zanzibar: Google’s Consistent, Global Authorization System". В этом документе авторы рассказали о том, как конфигурировать авторизационную модель, как выражать взаимосвязи в виде триплетов и как собственно проверять наличие или отсутствие прав. Отдельно стоит отметить, что с 2019 года несколько компаний сделали коммерческие и open source реализации этой модели, например, SpiceDB, что позволяет желающим использовать этот подход в своих проектах. В итоге, в этом выпуске мы поговорим про проблематику авторизации более глубоко и дальше обсудим модель ReBAC, погрузившись в white paper про Zanzibar и немного в open source реализацию на примере SpiceDB.
В выпуске будут два гостя:
- Сергей Клименко - руководитель отдела, который отвечает за аутентификацию и авторизацию в Тинькофф, в частности сервис Тинькофф ID, а также занимается развитием экосистемы
- Даниил Кулешов, архитектор новой системы авторизации для клиентов Тинькофф
Подключайтесь в понедельник 20 марта в 18:00 по Москве к трансляции на ютуб-каналe IT's Tinkoff.
#CoA #SystemDesign #DistributedSystems #Authz #WhitePaper
🔥13❤4👍3
Обзор книги “The Manager’s Path” — Part IV (Senior Leader)
Этой статьей я заканчиваю обзор книги “Путь менеджера” и в ней пойдет речь про роль топ-менеджеров. Кстати, в прошлых выпусках мы обсуждали как инженеры растут до менеджеров, а также как они исполняют роли engineering managers и engineering directors. В финальной статье рассматриваются главы
- The Big Leagues - как выглядит роль technical senior managers, какие названия бывают у должностей и в чем состоит работа VP of Engineering и CTO
- Bootstrapping Culture - как влияет культура и структура на организацию, когда стоит начинать работать над ними и что именно стоит делать
- Conclusion - здесь автор делиться своими мыслями о том, как стать хорошим менеджером
#Leadership #Management #Software #SoftwareDevelopment #Teamlead
Этой статьей я заканчиваю обзор книги “Путь менеджера” и в ней пойдет речь про роль топ-менеджеров. Кстати, в прошлых выпусках мы обсуждали как инженеры растут до менеджеров, а также как они исполняют роли engineering managers и engineering directors. В финальной статье рассматриваются главы
- The Big Leagues - как выглядит роль technical senior managers, какие названия бывают у должностей и в чем состоит работа VP of Engineering и CTO
- Bootstrapping Culture - как влияет культура и структура на организацию, когда стоит начинать работать над ними и что именно стоит делать
- Conclusion - здесь автор делиться своими мыслями о том, как стать хорошим менеджером
#Leadership #Management #Software #SoftwareDevelopment #Teamlead
👍15
Кубики Гутенберга
Мама четырех детей, Елена Литвяк, написала интересную книгу для родителей по теме детского чтения. Когда в доме столько детей, то очень сложно придумать чем их всех занять, особенно учитывая их разный возраст и интересы. Но в доме Елены полно книг, которые для начала она читала детям вслух, а потом они по мере взросления становились самостоятельными читателями. Но общие сессии чтения вслух никуда не исчезали и объединяли вместе читателей разных поколений. Сама Елена помимо написания книг является еще и обозревателем детской литературы, на которые она пишет рецензии, поэтому эта книга выглядит как калейдоскоп историй и отсылок на крутую литературу, которая поможет развлечь или просветить детей, а также научит их справляться с собственными проблемами и строить отношения с окружающими.
P.S.
Отдельно отмечу, что книга мне очень понравилась тем, что автор раскладывает свои советы для детей разных возрастов и описывает те темы, что было бы интересно обсудить в этом возрасте.
А сейчас на сайте Лабиринта можно эту книгу купить со значительной скидкой.
#ForKids
Мама четырех детей, Елена Литвяк, написала интересную книгу для родителей по теме детского чтения. Когда в доме столько детей, то очень сложно придумать чем их всех занять, особенно учитывая их разный возраст и интересы. Но в доме Елены полно книг, которые для начала она читала детям вслух, а потом они по мере взросления становились самостоятельными читателями. Но общие сессии чтения вслух никуда не исчезали и объединяли вместе читателей разных поколений. Сама Елена помимо написания книг является еще и обозревателем детской литературы, на которые она пишет рецензии, поэтому эта книга выглядит как калейдоскоп историй и отсылок на крутую литературу, которая поможет развлечь или просветить детей, а также научит их справляться с собственными проблемами и строить отношения с окружающими.
P.S.
Отдельно отмечу, что книга мне очень понравилась тем, что автор раскладывает свои советы для детей разных возрастов и описывает те темы, что было бы интересно обсудить в этом возрасте.
А сейчас на сайте Лабиринта можно эту книгу купить со значительной скидкой.
#ForKids
❤11👍9
Найти Идею. Введение в ТРИЗ - теорию решения изобретательских задач
Недавно в комментариях к посту о докладе Gregor Hohpe про архитектуру разгорелось обсуждение про компромиссы и почему в ИТ архитектуре их часто ищут, хотя при помощи компромиссов в реальной жизни люди часто приходят не к лучшему, а только r приемлемому решению. Там я привел в пример ТРИЗ как способ решения инженерно-производственных задач без фокуса на компромиссе и сегодня решил вспомнить книгу от автора концепции, Генриха Альтшуллера, "Найти Идею. Введение в ТРИЗ".
Для меня это не первая книга по ТРИЗ, но кажется лучшая:) Автору отлично удалось рассказать о том, как сложен, долог и дорог процесс решения изобретательских задач методом проб и ошибок. Дальше автор рассмотрел варианты активизации перебора такие как морфологический метод, метод мозгового штурма и синктекику, показывая, что качественного прорыва они не дают. Но его дает ТРИЗ по мнению автора. Остальная часть книги посвящена обучению основам этого метода. В приложениях книги представлены 40 основных приемов устранения технических противоречий, алгоритм решения изобретательских задач АРЗИ-85-В и т.д.
Книга однозначно интересная, причем не только изобретателям технических систем, а абсолютно всем, т.к. в ней отлично описан алгоритм перехода от невнятно описанной задачи к технической. Введено понятие ИКР (идеального конечного результата), описано как интенсифицировать конфликт, чтобы получить качественное решение вместо компромисса.
Правда, чтобы не чувствовать себя беспомощно при решении задач, приведенных в книге в качестве примеров, хорошо бы знать основные физические и химические эффекты, т.к. часто решение основано на их использовании:)
P.S.
Книга впервые была опубликована в 1986 году и с тех пор несколько раз переиздавалась.
#SystemDesign #SystemThinking #TRIZ #Architecture
Недавно в комментариях к посту о докладе Gregor Hohpe про архитектуру разгорелось обсуждение про компромиссы и почему в ИТ архитектуре их часто ищут, хотя при помощи компромиссов в реальной жизни люди часто приходят не к лучшему, а только r приемлемому решению. Там я привел в пример ТРИЗ как способ решения инженерно-производственных задач без фокуса на компромиссе и сегодня решил вспомнить книгу от автора концепции, Генриха Альтшуллера, "Найти Идею. Введение в ТРИЗ".
Для меня это не первая книга по ТРИЗ, но кажется лучшая:) Автору отлично удалось рассказать о том, как сложен, долог и дорог процесс решения изобретательских задач методом проб и ошибок. Дальше автор рассмотрел варианты активизации перебора такие как морфологический метод, метод мозгового штурма и синктекику, показывая, что качественного прорыва они не дают. Но его дает ТРИЗ по мнению автора. Остальная часть книги посвящена обучению основам этого метода. В приложениях книги представлены 40 основных приемов устранения технических противоречий, алгоритм решения изобретательских задач АРЗИ-85-В и т.д.
Книга однозначно интересная, причем не только изобретателям технических систем, а абсолютно всем, т.к. в ней отлично описан алгоритм перехода от невнятно описанной задачи к технической. Введено понятие ИКР (идеального конечного результата), описано как интенсифицировать конфликт, чтобы получить качественное решение вместо компромисса.
Правда, чтобы не чувствовать себя беспомощно при решении задач, приведенных в книге в качестве примеров, хорошо бы знать основные физические и химические эффекты, т.к. часто решение основано на их использовании:)
P.S.
Книга впервые была опубликована в 1986 году и с тех пор несколько раз переиздавалась.
#SystemDesign #SystemThinking #TRIZ #Architecture
🔥15👍7❤4🥴1
Математический беспредел. От элементарной математике к возвышенным абстракциям (Beyond Infinity: An expedition to the outer limits of the mathematical universe)
Эту книгу Юджинии Ченг я прочитал четыре года назад и она мне показалось интересной тем, как автор буквально на пальцах рассказывает о концепции бесконечности, причем она проделывает это очаравательно и с хорошим юмором:) В качестве буквально первого примера разбирается бесконечный отель Гильберта и заселение в полный отель еще одного жильца. Дальше появляются двух, трех и бесконечноэтажные отели, которые надо выселить в одноэтажное бунгало Гильберта:) Дальше Юджиния ведет нас к математическому понятию бесконечности. На этом пути рабзираются натуральные, целые, рациональные и иррациональные числа. Но полноценно определить концепцию бесконечности получается после перехода к теории множеств, а дальше уже получается определить бесконечности разного размера:) Интересно разбирается разница между кардинальными и порядковыми числами. А вот бесконечно малые числа показались скучноватыми, т.к. излагались базовые вещи из матанализа, которые в свое время рассказывались в старших классах школы и подробнее на первых курсах технических вузов.
В общем, книга получилась интересной, с хорошей подачей и написанной очень понятным языком, что для книг по математике встречается не так уж и часто:)
#PopularScience #Math
Эту книгу Юджинии Ченг я прочитал четыре года назад и она мне показалось интересной тем, как автор буквально на пальцах рассказывает о концепции бесконечности, причем она проделывает это очаравательно и с хорошим юмором:) В качестве буквально первого примера разбирается бесконечный отель Гильберта и заселение в полный отель еще одного жильца. Дальше появляются двух, трех и бесконечноэтажные отели, которые надо выселить в одноэтажное бунгало Гильберта:) Дальше Юджиния ведет нас к математическому понятию бесконечности. На этом пути рабзираются натуральные, целые, рациональные и иррациональные числа. Но полноценно определить концепцию бесконечности получается после перехода к теории множеств, а дальше уже получается определить бесконечности разного размера:) Интересно разбирается разница между кардинальными и порядковыми числами. А вот бесконечно малые числа показались скучноватыми, т.к. излагались базовые вещи из матанализа, которые в свое время рассказывались в старших классах школы и подробнее на первых курсах технических вузов.
В общем, книга получилась интересной, с хорошей подачей и написанной очень понятным языком, что для книг по математике встречается не так уж и часто:)
#PopularScience #Math
👍19❤1🔥1
Список white papers от Will Larson, автора книг "An Elegant Puzzle" и "Staff Engineer"
Я тут недавно дочитал книгу "An Elegant Puzzle: Systems of Engineering Management" за авторством Will Larson, про которую рассказывал раньше.
В последней части этой книги приводился крутой список white papers, которые автору показались полезными. Этот список документов с краткими рецензиями мне показался действительно стоящим, а часть из этих white papers входит в мой short lists на чтение или я их уже читал. Интересно, что если грубо обобщить, то суммарно эти документы тянут на 600 страниц текста, но этот текст такой насыщенности, что мозги начинают перегреваться от одной статьи, поэтому читать их как книги у меня не получается:)
Ниже я привел ссылки на этот набор white papers с небольшими комментариями:
- первая половина списка
- вторая половина списка
Я тут недавно дочитал книгу "An Elegant Puzzle: Systems of Engineering Management" за авторством Will Larson, про которую рассказывал раньше.
В последней части этой книги приводился крутой список white papers, которые автору показались полезными. Этот список документов с краткими рецензиями мне показался действительно стоящим, а часть из этих white papers входит в мой short lists на чтение или я их уже читал. Интересно, что если грубо обобщить, то суммарно эти документы тянут на 600 страниц текста, но этот текст такой насыщенности, что мозги начинают перегреваться от одной статьи, поэтому читать их как книги у меня не получается:)
Ниже я привел ссылки на этот набор white papers с небольшими комментариями:
- первая половина списка
- вторая половина списка
👍12
1. Dynamo: Amazon’s Highly Available Key-Value Store - классическая статья про высокодоступную key-value базу от Amazon
2. Hints for Computer System Design - статья за авторством Butler Lampson, который был награжден ACM Turing Award. В этой статье он суммировал свои мысли по дизайну систем
3. Big Ball of Mud - статья с набором паттернов/антипаттернов о проектировании систем: big ball of mud, throwaway code, piecemeal growth, keep it working, sweeping it under the rug, reconstruction. Статью интересно читать и узнавать реальные системы, с которыми часто сталкиваются инженеры в реальности
4. The Google File System - классическая статья про распределенную файловую систему Google, на смену которой пришел Google Colossus, про который тоже можно почитать по ссылке. А сам GFS (Google File System) послужил прообразом HDSF (Hadoop Distributed File System)
5. On Designing and Deploying Internet-Scale Services - статья от Microsoft с чеклистом о том, как дизайнить и оценивать масштабные системы (напоминает подход с чеклистом от 12 factor apps)
6. CAP Twelve Years Later: How the ‘Rules’ Have Changed - Eric Brewer, автор CAP-теоремы, рассказывает о том, что поменялось за 12 лет и говорит про расширение модели
7. Harvest, Yield, and Scalable Tolerant Systems - Eric Brewer разворачивает мысли из предыдущей статьи и рассказывает про подход с harvest и yeild
8. MapReduce: Simplified Data Processing on Large Clusters - классическая статья от Google про подход к Map Reduce, из которой появился Hadoop
9. Dapper, a Large-Scale Distributed Systems Tracing Infrastructure - подход к трассировке запросов от Google, на базе которого появились Zipkin, OpenTracing, OpenTelemetry
10. Kafka: a Distributed Messaging System for Log Processing - white paper по Kafka, которая стала незаменимой системой для обработки сообщений. Отдельно Will отмечает следующий момент “In particular, Kafka’s partitions do a phenomenal job of forcing application designers to make explicit decisions about trading off performance for predictable message ordering”
11. Wormhole: Reliable Pub-Sub to Support Geo-Replicated Internet Services - статья от крупнейшей социальной сети про аналог Kafka но со своей особенностью: “in particular, note the approach to supporting lagging consumers without sacrificing overall system throughput.”
12. Borg, Omega, and Kubernetes - крутой обзор от Google по трем их системам для окрестрации рабочих нагрузок
13. Large-Scale Cluster Management at Google with Borg - рассказ про первый и очень успешный оркестратор рабочих нагрузок в Google
14. Omega: Flexible, Scalable Schedulers for Large Compute Clusters - рассказ про второй оркестратор, который должен был прийти на смену Borg, но пал жертвой синдрома второй системы
15. Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center - статья про Apache Mesos, который был успешным окрестратором рабочих нагрузок с двойным уровнем планирования
16. Design Patterns for Container-Based Distributed Systems - статья с набором паттернов для дизайна систем, который сейчас принято называть cloud native
17. Raft: In Search of an Understandable Consensus Algorithm - статья с расском про алгоритм консенсуса, который должен восприниматься проще чем Paxos
18. Paxos Made Simple - статья Лампорта про алгоритм консенсуса Paxos, рассказанная так, чтобы быть проще для понимания (но он все равно оказался сложным и потом появился Raft)
19. SWIM: Scalable Weakly-Consistent Infection-Style Process Group Membership Protocol - статья про “weakly-consistent knowledge of process group membership information at all participating processes”, что отличает этот подход от того, что обычно практикуется для алгоритмов консенсуса на случай partition. Этот подход используется в софте HashiCorp и в Uber’s Ringpop
20. The Byzantine Generals Problem - опять Лэмпорт, но в этот раз про консенсус с произвольными (византийскими) отказами
2. Hints for Computer System Design - статья за авторством Butler Lampson, который был награжден ACM Turing Award. В этой статье он суммировал свои мысли по дизайну систем
3. Big Ball of Mud - статья с набором паттернов/антипаттернов о проектировании систем: big ball of mud, throwaway code, piecemeal growth, keep it working, sweeping it under the rug, reconstruction. Статью интересно читать и узнавать реальные системы, с которыми часто сталкиваются инженеры в реальности
4. The Google File System - классическая статья про распределенную файловую систему Google, на смену которой пришел Google Colossus, про который тоже можно почитать по ссылке. А сам GFS (Google File System) послужил прообразом HDSF (Hadoop Distributed File System)
5. On Designing and Deploying Internet-Scale Services - статья от Microsoft с чеклистом о том, как дизайнить и оценивать масштабные системы (напоминает подход с чеклистом от 12 factor apps)
6. CAP Twelve Years Later: How the ‘Rules’ Have Changed - Eric Brewer, автор CAP-теоремы, рассказывает о том, что поменялось за 12 лет и говорит про расширение модели
7. Harvest, Yield, and Scalable Tolerant Systems - Eric Brewer разворачивает мысли из предыдущей статьи и рассказывает про подход с harvest и yeild
8. MapReduce: Simplified Data Processing on Large Clusters - классическая статья от Google про подход к Map Reduce, из которой появился Hadoop
9. Dapper, a Large-Scale Distributed Systems Tracing Infrastructure - подход к трассировке запросов от Google, на базе которого появились Zipkin, OpenTracing, OpenTelemetry
10. Kafka: a Distributed Messaging System for Log Processing - white paper по Kafka, которая стала незаменимой системой для обработки сообщений. Отдельно Will отмечает следующий момент “In particular, Kafka’s partitions do a phenomenal job of forcing application designers to make explicit decisions about trading off performance for predictable message ordering”
11. Wormhole: Reliable Pub-Sub to Support Geo-Replicated Internet Services - статья от крупнейшей социальной сети про аналог Kafka но со своей особенностью: “in particular, note the approach to supporting lagging consumers without sacrificing overall system throughput.”
12. Borg, Omega, and Kubernetes - крутой обзор от Google по трем их системам для окрестрации рабочих нагрузок
13. Large-Scale Cluster Management at Google with Borg - рассказ про первый и очень успешный оркестратор рабочих нагрузок в Google
14. Omega: Flexible, Scalable Schedulers for Large Compute Clusters - рассказ про второй оркестратор, который должен был прийти на смену Borg, но пал жертвой синдрома второй системы
15. Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center - статья про Apache Mesos, который был успешным окрестратором рабочих нагрузок с двойным уровнем планирования
16. Design Patterns for Container-Based Distributed Systems - статья с набором паттернов для дизайна систем, который сейчас принято называть cloud native
17. Raft: In Search of an Understandable Consensus Algorithm - статья с расском про алгоритм консенсуса, который должен восприниматься проще чем Paxos
18. Paxos Made Simple - статья Лампорта про алгоритм консенсуса Paxos, рассказанная так, чтобы быть проще для понимания (но он все равно оказался сложным и потом появился Raft)
19. SWIM: Scalable Weakly-Consistent Infection-Style Process Group Membership Protocol - статья про “weakly-consistent knowledge of process group membership information at all participating processes”, что отличает этот подход от того, что обычно практикуется для алгоритмов консенсуса на случай partition. Этот подход используется в софте HashiCorp и в Uber’s Ringpop
20. The Byzantine Generals Problem - опять Лэмпорт, но в этот раз про консенсус с произвольными (византийскими) отказами
🔥13👍4❤2
21. Out of the Tar Pit - интересная статья про то, что функциональное программирование и улучшения в моделировании данных помогают уменьшить привнесенную сложность (авторы говорят о том, что она идет от state).
22. The Chubby Lock Service for Loosely-Coupled Distributed Systems - еще одна статья от Google на этот раз про их сервис блокировок, который позволяет не реализовывать в системах алгоритмы консенсуса, а использовать внешний lock сервис. В мире open source похожим на Chubby образом использовался Zookeeper в таких проектах как Kafka и Mesos
23. Bigtable: A Distributed Storage System for Structured Data - еще одна статья от Google на тему их NoSQL базы данных, которая была построена поверх Chubby. В мире open source на основе идей из Bigtable и Dynamo появилась такая база как Cassandra
24. Spanner: Google’s Globally-Distributed Database - еще одна статья от Google про их newSQL базу данных, которая умеет масштабироваться как NoSQL базы, но дает гарантии ACID, а также использует под капотом атомные часы и сервис TrueTime для обеспечения беспрецедентной точности получения и проставления таймштемпов. В общем, очень крутая статья, для чтения которой надо прочитать пачку предыдущих статей от Google
25. Security Keys: Practical Cryptographic Second Factors for the Modern Web - еще одна статья от Google на тему безопасности и многофакторной аутентификации
26. BeyondCorp: Design to Deployment at Google - еще одна мощная статья от Google на тему безопасности
27. Availability in Globally Distributed Storage Systems - еще одна статья от Google на тему доступности в реплицированных распределенных системах, где собрана статистика по использованию storage layer ребят из Google и есть фокус на correlated failures
28. Still All on One Server: Perforce at Scale - рассказ про то, как в больших компаниях сложно масштабировать системы для работы с кодом на примере Perforce, который когда-то был у Google. Из этого рассказа становится понятно, почему большие компании начинают делать свой тулинг под монорепы
29. Large-Scale Automated Refactoring Using ClangMR - статья от Google про то, как они уменьшали нагрузку на поддержку кода в монорепозитории за счет авторефакторинга кодовой базы
30. Source Code Rejuvenation is not Refactoring - а в этой статье рассказывается о концепте, когда автомиграция кода на новую фичи языка называется rejuvenation, а не рефакторинг. И эти идеи напоминают то, что делали в Google
31. Searching for Build Debt: Experiences Managing Technical Debt at Google - эта история про то, как в Google подходили к управлению техдолгом в большой кодовой базе: automating, making it easy to do the right thing, and making it hard to do the wrong thing
32. No Silver Bullet—Essence and Accident in Software Engineering - статья от Фредерика Брукса, который в ней рассказывает про отсутствие серебрянной пули как универсального средства решения проблем
33. The UNIX Time-Sharing System - статья из 1974 про основы UNIX и можно посмотреть как принципы, заложенные при проектировании дожили до сегодняшних дней
#SoftwareArchitecture #Software #SystemDesign #SystemEngineering #WhitePaper #DistributedSystems #Architecture #SoftwareDevelopment
22. The Chubby Lock Service for Loosely-Coupled Distributed Systems - еще одна статья от Google на этот раз про их сервис блокировок, который позволяет не реализовывать в системах алгоритмы консенсуса, а использовать внешний lock сервис. В мире open source похожим на Chubby образом использовался Zookeeper в таких проектах как Kafka и Mesos
23. Bigtable: A Distributed Storage System for Structured Data - еще одна статья от Google на тему их NoSQL базы данных, которая была построена поверх Chubby. В мире open source на основе идей из Bigtable и Dynamo появилась такая база как Cassandra
24. Spanner: Google’s Globally-Distributed Database - еще одна статья от Google про их newSQL базу данных, которая умеет масштабироваться как NoSQL базы, но дает гарантии ACID, а также использует под капотом атомные часы и сервис TrueTime для обеспечения беспрецедентной точности получения и проставления таймштемпов. В общем, очень крутая статья, для чтения которой надо прочитать пачку предыдущих статей от Google
25. Security Keys: Practical Cryptographic Second Factors for the Modern Web - еще одна статья от Google на тему безопасности и многофакторной аутентификации
26. BeyondCorp: Design to Deployment at Google - еще одна мощная статья от Google на тему безопасности
27. Availability in Globally Distributed Storage Systems - еще одна статья от Google на тему доступности в реплицированных распределенных системах, где собрана статистика по использованию storage layer ребят из Google и есть фокус на correlated failures
28. Still All on One Server: Perforce at Scale - рассказ про то, как в больших компаниях сложно масштабировать системы для работы с кодом на примере Perforce, который когда-то был у Google. Из этого рассказа становится понятно, почему большие компании начинают делать свой тулинг под монорепы
29. Large-Scale Automated Refactoring Using ClangMR - статья от Google про то, как они уменьшали нагрузку на поддержку кода в монорепозитории за счет авторефакторинга кодовой базы
30. Source Code Rejuvenation is not Refactoring - а в этой статье рассказывается о концепте, когда автомиграция кода на новую фичи языка называется rejuvenation, а не рефакторинг. И эти идеи напоминают то, что делали в Google
31. Searching for Build Debt: Experiences Managing Technical Debt at Google - эта история про то, как в Google подходили к управлению техдолгом в большой кодовой базе: automating, making it easy to do the right thing, and making it hard to do the wrong thing
32. No Silver Bullet—Essence and Accident in Software Engineering - статья от Фредерика Брукса, который в ней рассказывает про отсутствие серебрянной пули как универсального средства решения проблем
33. The UNIX Time-Sharing System - статья из 1974 про основы UNIX и можно посмотреть как принципы, заложенные при проектировании дожили до сегодняшних дней
#SoftwareArchitecture #Software #SystemDesign #SystemEngineering #WhitePaper #DistributedSystems #Architecture #SoftwareDevelopment
👍15❤5
Выбираем новую книгу для чтения и обсуждения в книжном клубе Code of Architecture.
Все книги от проверенных авторов и с хорошим содержанием, так что голосуйте за ту, что вам больше по вкусу:)
Все книги от проверенных авторов и с хорошим содержанием, так что голосуйте за ту, что вам больше по вкусу:)
👍4