Книжный куб
11.1K subscribers
2.65K photos
6 videos
3 files
1.95K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Еще в прошлом году я прочитал отличную книгу Дона Нормана “Дизайн привычных вещей”, которая рассматривает дизайн гораздо шире, чем обычно.
Эта книга тоже про мышление, но скорее про правильное мышление для тех, кто проектирует что-либо: потребительские продукты, клиентские сервисы, процессы или программное обеспечение.
Поэтому я еще тогда написал краткое саммари по книге, обложка которой тоже привлекает внимание, а сегодня решил поделиться этим обзором с вами.

Подробнее в статье 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
Вчера вечером я дописал предпоследнюю статью из цикла, который посвящен разбору книги Влада Хононова "Learning Domain-Driven Design".
В этой статье рассматривается связь DDD, а конкретно Event-Sourcing, и Event-Driven Architecture (EDA).
Эта тема является достаточно интересной, так как для получения хорошей архитектуры надо понимать как правильно использовать события и чем события EDA отличаются от событий в event-source domain model.

Подробнее в статье - https://apolomodov.medium.com/learning-ddd-part-3-eda-87a5f1a6a5ba

#Architecture #SoftwareArchitecture #DDD #SystemDesign
👍81🔥1
На днях мы прочитали с сыном книгу "Как устроена Земля" с прекрасными иллюстрациями студии Bomboland, изданную в издательстве МИФ.
Книга рассказывает про нашу планету, начиная с литосферных плит, продолжая вулканами, горами, ледниками, дальше переходя к рекам, пещерам и пустыням. Дальше идут рассказы про берега, океанское дно, погоду и бури. Книга ценна именно своими крутыми иллюстрациями, часть из которых скрыта в кармашках - там скрывается дополнительная информация. Отдельно добавлю, что при чтении книги возникает куча вопросов от ребенка, которые родителям придется доставать из памяти, так как книга содержит только базовую информацию, а детали должен добавлять сам читатель:)

В общем, я могу рекомендовать книгу для совместного чтения с ребенком.

#ForKids #PopularScience
👍82
Ракета стартует. История освоения космоса, которую вы не знали (Рубрика #Cosmos)

Продолжим тему книг для самых маленьких произведением "Ракета стартует. История освоения космоса, которую вы не знали", которую написал Лука Перри, итальянский популяризатор науки и астрофизик. Книга рассказывает про первые шаги человечества на пути в космос, причем делает это так, что оторваться от прочтения невозможно. Юмор, крутые иллюстрации и честность приводят к тому, что ты в этих историях видишь не глянец бравурных реляций об очередных достижениях космонавтов, астронавтов и тайконавтов, а сложную и опасную работу. Но без этих миссий нельзя - они залог того, что человечество в будущем сможем покинуть свою колыбель.

P.S.
Как только я дочитал последнюю страницу книги, я включил короткометражный мультфильм "Мы не можем жить без космоса" (https://youtu.be/3MvgBmj8qWs), который отлично дополняет эту книгу и который я горячо рекомендую к просмотру, ну а книжку к прочтению:)

#PopularScience #ForKids
👍8👏2🔥1
Вчера я дописал вторую часть обзора книги Software Architecture: The Hard Parts.
В этот раз главы были посвящены декомпозиции монолитного приложения на части. Рассматривались подходы Component-Based Decomposition и Tactical Forking, причем первому была посвящена целая глава с пошаговым алгоритмом того, как это сделать правильно:)
В четверг мы будем это обсуждать с коллегами в рамках клуба Code of Architecture, но текстовое саммари от меня уже готово:)


Подробнее в статье https://apolomodov.medium.com/review-software-architecture-the-hard-parts-part2-3ab0b9d3df81

#ExternalReview #SoftwareArchitecture #Architecture #SystemDesign
🔥71
Сегодня настало время вспомнить книгу Стива Макконнела "Еще более эффективный Agile" - так решил facebook, подквинув ее мне в воспоминаниях за прошлый год:)
Честно говоря, книгу с таким названием я бы не стал читать, если бы ее не написал Макконнел, который в свое время написал книгу "Совершенный код" ("Code Complete"). А "Совершенный код" был знаковой книгой в свое время.
О чем же рассказал Стив в этой книге?
Он рассказал про
- еще более эффективные команды
- еще более эффективная работу
- еще более эффективную организацию
Ну вы поняли - берешь любое слово и добавляешь фразу "еще более эффективное". Несмотря на такой навязчивый паттерн в нейминге, книга получилась неплохой ... неплохой для начинающих.

Чуть подробнее по ссылке -
https://apolomodov.medium.com/review-more-effective-agile-book-13ee80d5574f

#ExternalReview #Processes #Software
😁2
Продолжая тему процессов, я хочу поделиться интересной статьей про инженерные принципы одного из сооснователей Nubank, большого бразильского необанка
Сами принципы не кажутся чем-то новым и необычным, но интересно прочитать про подход ребят, так как они рассматривают 2 подхода при масштабировании бизнеса:
1) You can try to articulate the “why” as a principle behind “why we are this way” and then have people self-organize and align to that
2) Or you could try to set up a bunch of rules, gatekeepers, and reviewers, forming a bureaucracy that enforces your rules.

Собственно второй вариант не очень подходит для knowledge workes, поэтому ребята используют эксплицитные высокоуровневые принципы, которые люди могут интерепретировать самостоятельно и применять в своей работе. Вот эти принципы:

Statements of Engineering Principles – How We Operate
- Leverage through Platforms
- Customer Trust is Hard to Earn and Easy to Lose
- Data as a Strategic Asset
- Ownership and Technical Resilience
- Canonical Approaches, Consistently Applied
Statements of Engineering Principles – How We Build Teams
-Multiple perspectives build better software

https://building.nubank.com.br/nubanks-engineering-principles-interview-with-co-founder-ed-wible/
🔥6
Рекомендую посмотреть интересный доклад "Паттерны отказоустойчивой архитектуры", который почти год назад рассказывал Александр Кривощёков из Яндекс Go. Он очень интересно пробежался по проблемам архитектуры распределенных систем на примере вымышленного сервиса "Яндекс.Вода" и рассказал как эти проблемы можно чинить:slightly_smiling_face:
https://www.youtube.com/watch?v=8GlwkWxf3hk&t=6866s

#Architecture #Software #SystemDesign
👍141🔥1