Книжный куб
11.1K subscribers
2.65K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Вчера я наконец-то дочитал книгу "Distributed Systems" ("Распределенные системы") за авторством Эндрю Таненбаума и Мартена ван Стина.Я начинал ее читать еще в середине февраля, а закончил только сейчас:)
В книге 600 страниц, разделенных на 9 глав, и вообще она напоминает академический учебник.
В итоге, чтение этой книги самая настоящая работа, поэтому я читал ее неспешно и методично и когда я втянулся в этот процесс чтения, то мне даже понравилось:) Приблизительно в этом же стиле я прочел когда-то другую книгу Таненбаума - про операционные системы.

Здесь мне пришлось читать сразу 2 книги русскую в бумаге и английскую в электронном виде, так как в русском переводе от ДМК пресс безумно много косяков, так что рекомендую читать в оригинале.

На сайте книги https://bit.ly/DistrSysBook каждый может получить свою беслатную персонализированную копию книги - рекомендую!

P.S. На приложенном снимке видно сколько я отметил интересных мест в книге:)

#Architecture #SoftwareArchitecture #DistributedSystems #Software
👍6🔥1
Посмотрел сегодня документальный фильм про Kubernetes, который рассказывает как этот оркестратор появился и как стал стандартом де-факто для оркестрации контейнеров.
Фильм получился очень интересным и показал, что
- для захвата доли на cloud рынке Google пришлось придумать что-то новое
- это что-то новое решили делать по моделе Open Source и в итоге создать отдельную структуру Cloud Native Computing Foundation и задонатить в нее
- совместная работа разных заинтересованных лиц RedHat, Google, ... помогла проекту влючить разный опыт участников и совместно двигать проект вперед
- успешный пилот с Pokemon Go, инфраструктура которого была развернута поверх K8s, показал, что оркестратор имеет большие перспективы
- ну и еще ряд интересных моментов, например, размер изначальной команды в несколько человек или очень камерный первый Kubecon:)

В общем, смотреть было интересно. Фильм состоит в сумме из двух частей, которые в сумме составляют порядка часа
- Part 1 - https://www.youtube.com/watch?v=BE77h7dmoQU
- Part 2 - https://www.youtube.com/watch?v=318elIq37PE

#Kubernetes #Film #Documentary #Software
👍8🔥7
Сегодня на занятиях по системному мышлению в рамках обучения MBA мы говорили про принятие решений и мне вспомнилась книга "Принцип ставок" ("Thinking in Bets"), которая целиком посвящена этому:) Поэтому я сегодня хочу рассказать про нее.
Автор книги прошла интересный путь от автора докторской диссертации по когнитивной психологии к успешному игроку в покер с общим выигрышем за карьеру в 4+ млн долларов. И только через двадцать лет она вернулась к оставленной теме, имея опыт борьбы с когнитивными искажениями за покерным столом — ведь это напрямую влияло на карьеру игрока и финансовый успех. Так появилась книга “Thinking in Bets”, цель которой помочь читателям научиться постоянно совершенствовать свой процесс принятия решений, научиться отличать качество результата от качества решения и учитывать неопределенность окружающего мира.

Книга мне очень зашла, так как я много лет играл в шахматы и пару лет в покер и примеры из книги мне очень близки.
Плюс на обложке книги изображен парадокс Монти Холла, который я в первый раз увидел от тренера по шахматам лет в 8 и который взорвал мне в детстве мозг:)

В общем, очень рекомендую книгу:)

#PopularScience #Thinking #SelfDevelopment #ExternalReview
👍6🔥3
Продолжаю делиться своими мыслями насчет книги "Learning DDD". Вчера я дописал обзор на ту часть, где Влад Хононов рассказывал про связь DDD с микросервисами.
Эта часть мне особенно понравилась, так как я помню свои вопросы насчет того, как определять их границы. Особенно это было актуально после прочтения книги Сэма Ньюмана “Building Microservice”, после которой эти вопросы и остались. На часть вопросов Сэм ответил в книге “Monolith To Microservices”, но объяснения Влада мне понравились больше:)

Подробнее в обзоре https://bit.ly/learnDDD2

#SoftwareArchitecture #Microservices #Architecture #ExternalReview #DDD
👍13
Thniking, Fast and Slow (Думай медленно ... Решай быстро) (Рубрика #Management)

На лекциях про системное мышление в рамках MBA мы вспоминали книгу Даниэля Канемана "Thniking, Fast and Slow", которая в переводе вышла под названием "Думай медленно ... Решай быстро" (как говорится найди 5 отличий). Автор является нобелевским лауреатам и одним из основателей поведенческой экономики. Эти регалии не помешали автору написать отличную научнопопулярную книгу с интересным и доступным содержимым:) Вообще, тема книги крайне интересна, т.к. модель рационального агента в некоторых ситуациях крайне далека от реального поведения реальных людей.
Книга состоит из следующих частей:
1) Две системы - в этой части автор рассказывает про эти системы system 1 (fast) и system 2 (slow), давшие название книге:)
2) Методы эвристики и искажений - в этой части автор рассказывает о том, как быстрая система получает результаты быстро за счет эвистик и какие искажения появляются в итоге
3) Чрезмерная уверенность - здесь появляется правило WYSIATI (What you see is all that is) и обсуждаются эксперты с их интуицией, а также иллюзии значимости и иллюзии понимания
4) Выбор - очень интересная часть посвященная тому, как люди делают выбор. Именно в этой часте активно обсуждается разница между рациональными людьми и реальными, а также рассматривается теория вероятности:)
5) Два "я" - в этой части автор рассказывает о воспринимающем я и вспоминающем я. Забавно, что это разные половинки одного целого, но разница в их восприятии реальности приводит к определенным искажениям

Плюс есть отдельная глава с выводами, которая умещает в пятнадцати страницах саму суть того, что до этого излагалось в пятиста:)
В общем, книжка отличная и всем рекомендую ее к прочтению.

#Thinking #PopularScience #SelfDevelopment #Brain #Economics
👍10
👍9
Еще в прошлом году я прочитал отличную книгу Дона Нормана “Дизайн привычных вещей”, которая рассматривает дизайн гораздо шире, чем обычно.
Эта книга тоже про мышление, но скорее про правильное мышление для тех, кто проектирует что-либо: потребительские продукты, клиентские сервисы, процессы или программное обеспечение.
Поэтому я еще тогда написал краткое саммари по книге, обложка которой тоже привлекает внимание, а сегодня решил поделиться этим обзором с вами.

Подробнее в статье https://bit.ly/everyDesign1

#ExternalReview #Design #Thinking
👍32🔥1
Software Architecture for Busy Developers (Рубрика #Architecture)

В начале этого года я прочитал простую и понятную книгу “Software Architecture for Busy Developers”, изданную в конце 2021 года в издательстве Packt. Ее написал Stéphane Eyskens, который является Cloud and Cloud Native Architect и Azure MVP. Содержание книги показалась мне достойным краткого саммари… ну и мне показалась забавной обложка книги, чего уж там:)

https://bit.ly/busyArch

#ExternalReview #Architecture #SoftwareArchitecture
👍11
Distributed Systems (Расределенные системы) (Рубрика #Architecture)

Книги Таненбаума мне всегда нравились своим тонким юмором и немного занудной академической подачей материала:) Недавно я после трех месяцев чтения наконец-то дочитал третье издание “Distributed Systems”, которую Эндрю Таненбаум написал вместе с Мартеном ван Стином. Поэтому я не мог не написать краткий обзор этой книги:)
Отдельно отмечу, что электронная версия оригинальной книги доступна на сайте книги (bit.ly/DistrSysBook) и каждый желающий может получить себе версию. Также есть русское издание, что в теории хорошо … а на практике нет, так как слишком много ошибок в переводе, которые заставляют перепроверять написанное в оригинале:)

Подробнее в обзоре bit.ly/distrSystems

#ExternalReview #Architecture #SoftwareArchitecture #DistributedSystems
🔥5👍2
Сегодня я решил вспомнить классическую книгу Эрика Берна "Игры, в которые играют люди", которая при первом чтении мне очень понравилась:)
Я вообще люблю игры с детства - порядка 7 лет ходил в шахматную секцию, играл в настольные игры и когда-то в компьютерные, но с ними я в итоге завязал ...
Теперь кратко о самой книге и ее авторе, который является одним из основоположников трансакционного анализа. Книга "Игры ..." была написана в середине 20 века, но до сих пор актуальна:) В самом начале автор упоминает про 5 способов упорядочивания времени внутри группы людей:
1. ритуалы
2. развлечения
3. игры
4. близость
5. деятельность, которая может служить основой для всех остальных
Причем цель каждого участника - получить как можно больше удовлетворения от трансакций с остальными.
Наиболее продуктивны пункты 3 и 4, причем четвертый встречается редко. В итоге, игры наиболее распространены.
Для анализа игр автор вводит структурный анализ и разбивает состояния Я на 3: родитель, взрослый и ребенок. Дальше он вводит трансакционный анализ, который анализирует трансакции, единицы социального общения, причем общение может идти между разными состояними Я. В итоге, есть дополняющие трансакции и пересекающиеся (смотри прикрепленную картинку).
С учетом введенных определений, автор рассматривает что такое ритуалы и развлечения, в которых есть только дополняющие трансакции. А вот в играх все интереснее ... По факту, они отличаются от ритуалов и развлечений тем, что в них есть скрытые мотивы и присутствует выиггрыш.
Рекомендую прочитать самостоятельно рассмотрение структуры типичной игры и дальше разборы таких интересных и популярных игр из разных категорий:
- группа игр на всю жизнь: "алкоголик", "должник", "ударь меня", "попался, сукин сын!", "смотри, что я из-за тебя сделал",
- группа супружеских игр: "тупик", "суд", "фригидная женщина", "загнанная домохозяйка", "если бы не ты", "видишь как я старался", "дорогая"
- группа игр на вечеринках: "какой ужас!", "изъян", "растяпа", "почему бы тебе не ... - да, но"
- группа сексуальных игр: "ну-ка, подеритесь!", "извращение", "насилуют!", "чулок", "скандал"
- группа игр преступного мира: "полицейский и воры", "как отсюда выбраться", "надуем джо"
- групп игр в кабинете психотерапевта: "оранжерея", "я только пытаюсь вам помочь", "нуждающийся", "крестьянка", "психиатрия", "дурачок", "деревянная нога"
- группа хороших игр: "трудовой отпуск", "кавалер", "рад помочь", "местный мудрец", "они будут рады, что знали меня"
В общем, интересная классификация и очень жизненная. Многие из этих игр мы видим в жизни довольно часто. После прочтения книги вы сможете понять как они работают и попытаться перестать участвоовать в тех играх, которые вызывают у вас дискомфорт:)

#PopularScience #Psychology
👍83
Вчера я рассказывал про книгу "Игры, в которые играют люди", а сегодня пришло время ее продолжения "Люди, которые играют в игры".
В этой книге, повященной людям, автор продолжает развивать трансакционную теорию и применять структурный анализ для того, чтобы объяснить поведение людей. По факту, трансакция - это просто единица общения = стимул + реакция, а структурный анализ зиждется на трех эго-состояних человека:
Родитель + Взрослый + Ребенок.
В итоге, при общении люди могут переключаться между этими состояними и играть возможно даже непроизвольно в игры, описанные в предыдущей книге. Это может приводить их в разные конечные точки, вплоть до психбольницы или самоубийства.
В этой книги добавляется теория сценариев в виде жизненного плана составленного еще в дестве на основании влияния родителей и родственников. В итоге, сценарии могут быть разнообразными, но автор вводит классификацию по трем видам:
- сценарии Неудачников
- сценарии Победителей
- сценарии Непобедителей
Первые планомерно идут к печальному итогу, вторые борятся и идут к победе, а последние должны стараться, но обязательно в конце не получить победу.
Многие моменты в книге, написанной 55 лет назад, еще актуальны, но некоторые выглядят откровенно странными заблуждениями далекого прошлого. В этом плане книга слабее чем та, что была про Игры:) Но даже несмотря на это, книжку стоит прочитать и составить свое мнение.
В первом комменте будет ссылка на обзор первой книги.

#PopularScience #Psychology
👍4
Сегодня я решил вспомнить про очередную книжку по архитектуре программного обеспечения “Microservice Patterns and Best Practices” за авторством Vinicius Feitosa Pacheco.
Книжку я прочел несколько лет назад и она показалась мне интересной и с практическим уклоном, но это немного не мой профиль. Я люблю концепции и теории, а автор пошел от сохи:)
В итоге при чтении книги автор показывает построение микросервисной архитектуры для новостного портала и одновременно
- знакомит читателей как с архитектурными концепциями и паттернами
- так и дает им написать код на python и go
- сконфигурировать nginx
- написать docker файлы
- настроить docker compose и т.д.

А я люблю читать концепции, хотя ясно, что дьявол кроется в деталях, но явно не в настолько простых:)
Подробнее про концепции из этой книги можн прочитать в моем обзоре https://bit.ly/MPatternsBookRev

#Architecture #SoftwareArchitecture #Microservices #Patterns #DistributedSystems
👍5
Недавно FB напомнил про прочитанную мной ранее книгу Пола Нахина "Божественная фантастика. На пересечении науки и религии".
Это отличная научно-популярная книга про связь фантастики и религии. Автор - мастер слова и эрудит, который знаком как с наукой, так и религией и фантастикой. Написано легко и на интересные темы, которые изложены в таких главах как
- Путь фантастики от религии к науке
- Время, пространство, всеведение Бога и свободная воля
- Верующие роботы
- Компьютер в роли Бога
- Космические путешествия, радио и встречи с инопланетянами
- Путешествие во времени к Иисусу
- Что, если Бог покажет Себя?
В общем, все очень интересно, но заметно, что автор знаком только с американской фантастикой - например, советских или китайских фантастов он в принципе не упоминал:)
Итого, рекомендую книгу с прочтением.

#PopularScience #SciFi
👍4
Software Architecture: The Hard Parts (Рубрика #Architecture)

В прошлом году вышла интересная книга “Software Architecture: The Hard Parts”, которая является логическим продолжением книги “Fundamentals of Software Architecture”, о которой я писал пару лет назад. В новой книге расширенный список авторов и углубленное рассмотрение тем, затронутых в “Fundamentals …”.

Мы выбрали эту книгу для обсуждения в нашем архитектурном книжном кружке “Code of Architecture”, поэтому у меня будет целая серия статей с рассмотрением основных моментов этой книги, причем эта статья первая.


Вот краткое саммари по первым трем главам книги - https://apolomodov.medium.com/review-software-architecture-the-hard-parts-part1-f0cc26ca6c16
Вот ссылка на сегодняшний стрим, где мы будем обсуждать начало этой книги в рамках нашего книжного клуба "Code of Architecture" - https://youtu.be/ioJf0fz7uno

#ExternalReview #Architecture #SoftwareArchitecture #DistributedSystems #SystemDesign
👍3🔥21
Вчера на записи стрима про книгу "Software Architecture: The Hard Parts" мы вспоминали книгу "Building Evolutionary Architecture" ("Эволюционная архитектура").
И я решил вспомнить про нее сегодня здесь. Эта книга получилась хорошей, если читать ее на языке оригинала. Основные концепции я когда-то рассказывал на конференции и писал статью "Эволюционная архитектура на практике" - https://apolomodov.medium.com/evolutionary-architecture-introduction-a06cfd4b9aa5
Кому интересно могут почитать/посмотреть там, а здесь я немного покритикую стандартный перевод издательства Питер:

Кажется, что русская версия получена при помощи Google Translate, т.к. в книге есть банальные проблемы с тем, что многие места переведены просто в лоб, например: development and operations в контексте взаимодействия отделов ребята перводят как разработки и операции. Например, разработки могут написать код, а операции могут его выложить:)))
Есть микросервис области и микросервис отчетности, для domain microservice и report microservice:) Понимаете - микросервис области, бл... области:))
Когда идет разговор про feature toggles, то это называют переключением функций для функций системы:)) Дальше комбинации возможных позиций этих toggl'ов называют перестановками, что просто неверно с точки зрения комбинаторики, где четко сказано, что такое перестановки, сочетания и т.д.

В общем, русская версия этой книги просто лютый треш. Читать можно только тем, кто
- является мазахистом
- не умеет совсем в английский и хорошо сечет в теме
- человеку, который поможет издательству сделать работу над ошибками и ко второму изданию перевести эту хорошую английскую книгу нормально на русский язык
Кстати, проблемы есть и у авторов самой книги, т.к. они не знают что такое прямо пропорциональная зависимость и обратно пропорциональная:) Конкретно, это проявляется, когда они пишут, что скорость прямо пропорциональна времени итерации:) Понимаете - скорость прямо пропорциональна времени ... И авторский коллектив состоит из 2х технических директоров и главного технического консультанта thoughtworks:)

P.S.
Самое обидное с этой книжкой, что она действительно хороша ... но только в оригинальной английской версии, а русское издание - это деньги на ветер.

#SoftwareArchitecture #Architecture #SystemDesign
😁3😢1