Книжный куб
11.1K subscribers
2.65K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Сегодня я решил вспомнить про очередную книжку по архитектуре программного обеспечения “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
В последние дни я много рассказываю про архитектуру и процессы разработки, поэтому пришло время вспомнить что-то из научной фантастики, а точнее книгу Юна Ха Ли "Гамбит девятихвостого лиса".
Я помню как, прочитав ее пару лет назад, остался впечатлен как интересным сюжетом, так и прикольной механикой мира. В нем центральную роль играет Календарь, который является каким-то утрированным и воплощенным в реальность представлением пифагорейцев относительно того, как числа влияют на окружающий мир.
Автор выстроил роман таким образом, что мы видим происходящее глазами главного героя, который до самого конца дебюта не может собрать пазл из происходящих событий. А основная причина этого непонимания в том, что события первого тома представляют собой гамбит немертвого Генерала, который не проиграл ни одного сражения и был снят с игровой доски почти 400 лет назад после того, как он по мнению окружающих впал в безумство. И он же в начале книги был на время возвращен как козырь для помощи в борьбе с ересью. Сам мир мне показался антиутопией, в котором государство выстроено вокруг 6 фракций, которые, фактически, являются кастами с жесткой специализацией.
В общем, рекомендую к прочтению - отличная научная фантастика:)

#SciFi
👍3🔥1
👍3🔥2
AlphaGo - The Movie (Рубрика #AI)

Полтора года назад посмотрел крутую документалку про AlphaGo, чего и вам рекомендую:)
AlphaGo - это компьютерная система, победившая больше пятм лет назад Ли Седоля - одного из лучших игроков в го в истории. Эта история для меня перекликается с победой компьютера Deep Blue у Гарри Каспарова в шахматы в далеком 1997 году. И хоть в го я никогда не играл, но шахматами занимался плотно лет семь. Поэтому мне было интересно посмотреть как последний оплот превосходства человека над компьютером в логических играх (это я про го если что) пал под натиском детища от DeepMind:)

#PopularScience #AI #ML #Software
👍7🔥1
Через полчаса стартует наш стрим с обсуждением книги Software Architecture: The Hard Parts
В этот раз мы поговорим про архитектурную декомпозицию, для которой можно использовать подходы component-based decomposotion и tactical forking.
Причем первый способ мы рассмотрим в подробностях в формате пошагового алгоритмах:)
Присоединяйтесь к трансляции и задавайте вопросы, мы постараемся на них ответить.

https://youtu.be/KEdXJdMFs4A
🔥3
Сегодня facebook мне напомнил как 2 года назад я готовился к выступлению на круглом столе Techlead Conf, где мы хотели обсудить тему "Платформенные команды: польза или вред"
Тогда в рамках подготовки я написал статью "Платформенные команды — что это такое и зачем они нужны" - https://bit.ly/platformTeams

Сам круглый стол доступен здесь - https://www.youtube.com/watch?v=6BXC0BuXVzI

Сейчас я решил об этом вспомнить так как тема платформ и платформизации очень горячая:)
Например, если вы читали инженерные приницпы Nubank, про которые я упоминал 2 дня назад, то первым принципом было "Leverage through Platforms"

#Software #SoftwareDevelopment #Architecture
👍9