Книжный куб
11.1K subscribers
2.66K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Adaptive Architectures • Marty Pitt • GOTO 2023 (Рубрика #Architecture)

Интересный доклад от Marty Pitt на ту же самую тему, которую он поднимал за год до этого в докладе "Using Semantic Metadata to Create an Automated Microservice Data Mesh", про который я рассказывал раньше. Правда, теперь эта идея подается через адаптивную архитектуру, которая достигается за счет того, что мы не пишем связующий код (glue code), который нам требуется для интеграции наших отдельных API для выполнения полезной работы. Как и в прошлый раз это достигается за счет:
- Языка Taxi для семантической разметки наших существующих API, когда мы поверх ним добавляем этим языком метаданные для описания семантики
- Декларативного языка запросов TaxiQL для описания того, что мы хотим выбрать с точки зрения семантики
- Платформы Orbital для хостинга этих метаописаний и исполнения этих декларативных запросов, когда под капотом платформа выполняет все запросы и выплевывает готовую информацию

В итогe, Taxi похоже на GraphQL в плане целей предоставления единой точки входа для объединения нескольких API. Но в Taxi не требуются resolvers, Taxi независима от протокола и может объединять разные API (OpenAPI, RAML, JsonSchema и Protobuf, ...), TaxiQL позволяет потребителям определять свои контракты данных. Но и проблемы похожи на те, что есть у GraphQL.

В итоге, адаптивную архитектуру по мнению автора можно построить на базе
- Taxi - semantic metadata for APIs
- TaxiQL - declarative query language
- Orbital - TaxiQL engine + observability


#Data #Software #SoftwareArchitecture #Architecture #Engineering
👍54🤓2💩1😐1
Дизайн всего (How Design Makes the World) (Рубрика #Design)

Очень простая и короткая книга на тему дизайна от Скотта Беркуна, который написал много книг, включая "Откровение оратора" (подробнее в посте) и "Искусство управления IT-проектами" которые я читал до этого. Как обычно Скотт пишет очень просто и легко, приводит кучу примеров и много шутит, но глубина проработки тем такова, что читать ее интересно начинающим. Но вы не узнаете много нового, если вы уже в теме и читали упоминаемые Скоттом книги типа
- “Дизайн привычных вещей” ("The Design of Everyday Things") Дона Нормана (подробнее в моем посте) или
- "Предсказуемая иррациональность" ("Predictably Irrational") Дэна Ариели
На протяжении книги автор подводит к тому, что дизайн - это не просто про интерфейсы или визуал, а это про осмысленное создание предметов, которые служат определенным целям определенной аудитории. В итоге, у него получаются 4 главных вопроса, которые задают хорошие дизайнеры
1. Что вы хотите улучшить?
2. Для кого вы хотите это улучшить?
3. Как вы добьетесь того, чтобы дизайн оказался успешным?
4. Кому может навредить ваша работа - сейчас или в будущем?

Для того, чтобы оценить повестование можно взглянуть на главы, которые входят в книгу
1. У всего есть дизайн - даже если о дизайне не думали, то он какой-то получился, но чаще всего он получился не очень
2. Производить или проектировать - что сложнее? - Ответ автора в том, что чаще проще сделать вещь, чем ее спроектировать
3. Что такое хорошо? - зависит от цели
4. Люди прежде всего - рассказ про сигвеи и что бывает, если идти от технологии
5. Дизайном занимается каждый - и инженеры при проектировании софта тоже:)
6. Улица за окном - про проектирование городов и районов, а также про прямоугольную сетку улиц (что использовалась с древних времен)
7. Стиль - это послание - про бренд и особенности стиля, которые передают мысль окружающим
8. Дизайн - это функциональность - про ментальные модели, которые дизайнеры используют для облегчения использования предметов, например, про кнопки-плацебо, багажную ленту в аэропорту и так далее
9. За чей счет? - кому-то придется заплатить за улучшенный дизайн: покупателю, продавцу или государству. Тут приводится интересный пример с ремнями безопасности в машинах
10. Как скажут сверху - политики и руководители компаний тоже являются дизайнерами, так как обычно они принимают финальное решение:)
11. Дизайн - это действие - про итеративную работу дизайнеров и дизайн-мышление (design thinking)
12. Билет в кармане - разбор посадочного билета на самолет и почему он такой (спойлер: это обусловлено работой с ограничениями реального мира и наличии legacy систем)
13. Идеи и системы - если системам такова, что там принимаются неудачные решения, то и дизайн там получится неудачный (пример с госучереждениями)
14. Как для себя? - суть главы в том, что вы - нерепрезентативны. А для того, чтобы принимать удачные решения надо иметь разношерстную команду и думать о разных потребителях
15. Образ мышления: это важно! - важно не заставлять клиентов думать о том, как пользоваться вашими спроектированными решениями + если они все-таки ошибаются при использовании, то это не должно приводить к серьезным проблемам
16. Ценности и компромиссы - компромиссы - это то, к чему мы приходим в реальной жизни. Важно понимать к чему мы стремимся и как оценивать альтернативы (и больше не значит лучше)
17. Хороший дизайн незаметен - все должно быть ясно без объяснений и инструкций
18. Дизайн раздора - про темные паттерны дизайна и противоречие между людьми, которое возникает из-за спроектированных решений
19. Новые решения - новые проблемы - примерно про day-2 проблемы (что будет после того, как спроектированное решение будет внедрено)
20. Куда смотреть - чеклист для понимания дизайна от автора
21. Рекомендации - куча отсылок к источникам

В общем, читать интересно и полезно. Но если вы гуру дизайна, то вам будет скучно:)

#Architecture #Management #Thinking #Leadership #SystemDesign #SystemThinking
👍83🔥2
Интересно как издатели по разному подходят к обложке книги о дизайне, о которой я рассказывал утром:)
😁15👍5🔥2
Краткая история Китая (The Shortest History Of China) (Рубрикак #History)

Эта книга Джейвин Линды про историю Китая напомнила мне набор разноцветных четок, где каждая из четок - это отдельный исторический период. И этот калейдоскоп начинается с императоров древних времен и заканчивается их аналогами в настоящием:) Одновременно при чтении мне показалось, что каждая глава настолько перегружена событиями и ключевыми персонажами, что она напоминает детский калейдоскоп - если его встряхнуть, то мы получим совсем другую картину, под другим углом и дальше можно будет вглядываться в нее заново. В общем, книга отлично подходит для начального знакомства, которое позволит узнать о многом и дальше нырнуть в то, что заинтересовало, а помогает этому содержание, которое напоминает американские горки:)
1. Истоки - Яйцо проклевывается, и рождается цивилизация
2. Чжоу - От идеального правления к периоду Сражающихся царств
3. Цинь - Объединение, тирания и Поднебесная
4. Хань - Интриги, инновации и короткое междуцарствие
5. Великий разлад - Три царства, две женщины-воительницы, семь мудрецов и порошок из пяти минералов
6. Тан - От золотого века до вечной печали
7. Сун - Протосоциалисты, неоконфуцианы и городское житье
8. Монгольская Юань - От "славной резни" к великолепному городу
9. Мин - Великолепие и упадок
10. Великая Цин - Трудный путь к современности
11. Республика - Большие надежды и жестокие предательства
12. Японское вторжение и гражданская война - Республика распадается
13. Годы Мао - Непрерывная революция
14. Эпоха реформ - Процветание и недовольные
15. Новая эра Си Цзиньпина - Появление воинов-волков

P.S.
По мере прочтения этой книги до меня доходили истинные масштабы Китая: количество разных национальностей, людей, городов, героев и злодеев, а также династистий, что сменяли друг друга. И мне вспомнилась фраза из 1984, которой пользовались часть из правителей для того, чтобы управлять будущим
Кто управляет прошлым, тот управляет будущим; кто управляет настоящим, тот управляет прошлым

Кстати, рекомендую почитать 1984 хотя бы в виде комикса, про который я рассказывал раньше.

#History #Economics
👍105🔥21🏆1🍓1
Обложки книги про Китай. Интересно сравнить как они поменялись при переиздании книги на русском
72🐳2👻1
Всё о Малыше и Карлсоне (илл. А. Савченко) (Karlsson pa taket flyger igen. Karlsson pa taket smyger igen) (Рубрика #Kids)

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

P.S.
Сама книга вышла качественной - большой формат, плотная бумага, знакомые иллюстрации. Все сделано отлично.

#ForKids #ForParents
7🔥6👍4
You Keep Using That Word • Sam Newman • GOTO 2023 (Рубрика #Architecture)

Это доклад Сэма Ньюмана, известного популяризатора термина микросервисы, по которым он написал известные книги "Building Microservices" в 2015 году, "Monolith to Microservices" в 2019 году, которые поспособствовали буму микросервисов. В этом докладе автор решил разобраться не с самими сервисами, а со связами между ними. Эти связи часто классифицируют как синхронные или асинхронные, но что же такое асинхронность и как она соотносится с синхронностью? Автор рассказывает про свой тред в сети X (ex-Twitter) трехлетней давности, где он устраивал дискуссию на эту тему и получил примерно следующие мнения о том, что входит в концепцию асинхронности:
- Immediacy (незамедлительность) - пример звонка по телефону по сравнению с отправкой email
- Temporal coupling (временная связанность) - связь действий во времени
- Non-blocking (не блокируемость) - возможность делать неблокирующие выщовы (аля promises или async конструкций в языках)
- Intermediary (посредник) - наличие промежуточного посредника навроде Rabbit MQ, Active MQ, Apache Kafka
Также автор вспоминает про предыдущий подход к снаряду с асинхронностью от создателей Reactive Manifesto, который был создан пока написание манифестов еще не превратилось в булшит бинго. Конкрентно автор сомневается в полезности определения Asynchronous из этого манифеста
Asynchronous
The Oxford Dictionary defines asynchronous as “not existing or occurring at the same time”. In the context of this manifesto we mean that the processing of a request occurs at an arbitrary point in time, sometime after it has been transmitted from client to service. The client cannot directly observe, or synchronize with, the execution that occurs within the service. This is the antonym of synchronous processing which implies that the client only resumes its own execution once the service has processed the request.

Конкретно у Сэма есть претензия к словам обработки запроса "after it has been transmitted", как будто обработка запроса возможна до этого. Тут сразу вспоминается Герберт Уэллс и его Машина Времени:) Но дальше Сэм сам не предлагает точного определения для асинхронности и говорит о том, что все зависит от контекста. В итоге, в социотехнической системе присутствуют люди, которые вкладывают смысл в слова языка и этот смысл может отличаться для одного и того же слова в разном контексте. На эту тему я рекомендую почитать книгу Александра Пиперски "Конструирование языков. От эсперанто до дотракийского", про которую я рассказывал раньше. В книге речь идет не о лингвистике в общем, а скорее про искусственные языки: краткую историю их исследований и принципы классификации. А при обсуждении искусственных языков мы можем наблюдать весь процесс дизайна языка, начиная с целей, проходя через принципы и приходя к имплементации. Это сильно интереснее обсуждения естественных языков, где многое объясняется тем, что "так исторически сложилось":))

#Architecture #Software #Engineering #SoftwareArchitecture #SystemDesign #DistributedSystems #Design
8👍4🔥1
Гибкие технологии: Экстремальное программирование и унифицированный процесс разработки (Agile Modeling: Effective practices for XP) (Рубрика #Management)

Достал с полки раритетную книгу Скотта Амблера (Scott Ambler), которую я читал еще в 2005 году в самом начале своей карьеры как инженера. В то время еще все не молились на Agile Manifesto, каскадная разработка была еще в полном порядке, а по миру шагал унифицированный процесс разработки вида RUP (Rational Unified Process). А в этой книге автор пытался поделиться своим опытом моделирования программного обеспечения. В итоге, в книге было 400 страниц, 30 глав и пять частей, про которые стоит рассказать подробнее
1. Введение в гибкое моделирование - здесь автор рассказывает про agile manifesto и на базе него формулирует свои принципы agile modeling навроде того, что надо ожидать изменения, изменения надо делать небольшими, нам нужно множество моделей, быстрая обратная связь, что содержание важнее формы и так далее. Дальше автор рассказывает про разные методики моделирования: инкрементальные, работа в группе, важность тестирования модели и проверки ее в коде, используйте стандарты моделирования и не увлекайесь паттернами. В общем, мне эта часть была очень полезна почти 20 лет назад
2. Гибкое моделирование на практике - все начинается с важности общения для моделирования софта, дальше развенчиваются мифы вида "заморозки требований" или "высеченного в камне дизайна", дальше упоминается моделирование интерфейса, требований, написание документации, а также использование нотаций - тогда UML была впереди планеты всей, но уже в этой книге была глава с название "По ту сторону UML":)
3. Гибкое моделирование и экстремальное программирование - здесь автор рассматривает XP (extreme programming) и показывает как agile modeling укладывается в этот подход. Из этой книги видно, что XP тогда был на коне и важно было дать отсылку к нему, а не к Scrum, Kanban или еще чему-то
4. Гибкое моделирование и унифицированный процесс - а здесь автор говорит про унифицированный процесс, который потом превратится в RUP (rational unified process). Это другая часть спектра, где мы смотрим на бюрократический процесс, что пришел на смену каскадному. Автор показывает, что и здесь agile моделирование может пригодится
5. Глядя в будущее - в этой части автор говорит про то, как внедрить в свои процессы моделирование софта

Итого, книга для своего времени была очень хороша - качественный разговор про моделирование и дизайн софта, обсуждение того, как это встраивается в тогдашние процессы разработки. Обсуждение практических подходов, инструментов, нотаций и так далее. Я из книги в то время узнал и почерпнул многое. Но сейчас эта книга скорее динозавр из прошлого и читать ее стоит только археологам процессов разработки или ностальгирующим вроде меня:)

P.S.
Интересно, что дальше автор книги, Скотт Амблер, продолжил копать тему Agile подходов и вылепил Disciplined Agile (DA) в 2012 году, который потом был куплен с потрохами PMI (Project Management Institute) в 2019. PMI дальше постаралась с помощью этого тулкита закрыть свое отставание в гибких подходах. Историю про Disciplined Agile я уже рассказывал раньше.

#Processes #Management #Agile #Leadership #Software
👍73🔥3
Обложки книги про Agile Modeling. Английское издание очень пестрое:)
Artificial Intelligence Index Report 2024 (Рубрика #AI)

Недавно почитал этот отчет от Stanford University for Human-Centered AI, который в виде pdf занимает солидные 500+ страниц:) Отчет является достаточно значимым в индустрии и затрагивает большое количество тем (он разбит на 9 отдельных глав вида: RnD, tech performance, responsible AI, economy, science & medicine, education, policy & governance, diversity, public opinion). Каждая глава содержит большое количество отсылок к исследованиям, различные визуализации и нетривиальные выводы, которые выливаются в следюущие top-level находки

1. AI beats humans on some tasks, but not on all - железные друзья уже превосходят людей в ряде задач, пока не во всех, но еще не вечер
2. Industry continues to dominate frontier AI research - создание foundational моделей - дело дорогое, поэтому крупные компании его могут себе позволить, а вот академическим исследователям не хватает бюджетов для конкуренции. Поэтому многие прорывные результаты рождаются в корпорациях
3. Frontier models get way more expensive - интересно наблюдать экспоненциальный рост стоимости моделек, который дает стабильный рост результатов
4. The United States leads China, the EU, and the U.K. as the leading source of top AI models - USA пока впереди Китая в рамках AI (а если посмотреть на другие новости про запрет экспорта части технологий в Китай, то кажется, что USA хочет продолать быть лидером)
5. Robust and standardized evaluations for LLM responsibility are seriously lacking - вопрос оценки моделей достаточно сложен (во второй части про tech performance авторы рассказывают про разные варианты бенчмарков)
6. Generative AI investment skyrockets - видно, что тема инвестиций в AI горячая и все стартапы теперь пытаются добавить себе в описание рассказы про искусственный интеллект, чтобы повысить оценку бизнеса у инвесторов:)
7. The data is in: AI makes workers more productive and leads to higher quality work - есть исследования, что показывают повышение продуктивности и качества работы с использованием искусственного интеллекта
8. Scientific progress accelerates even further, thanks to AI - искусственный интеллект теперь помогает естественному двигать науку вперед. Интересно посмотреть что будет в отчете следующего года - по-факту, это позитивная спираль обратной связи и если AI сможет ускорять научные исследования, то лучше ему начать с области исследований AI:)
9. The number of AI regulations in the United States sharply increases - как обычно с большими возможностями приходит и большая ответственность, которую накладывают регуляторы. По-идее, это фиксирует границы и правила игры, но одновременно замедляет исследование нового. Но AI теперь слишком большой слон, чтобы регуляторы им не заинтересовались:)
10. People across the globe are more cognizant of AI’s potential impact—and more nervous - люди нервничают, так как появляется ощущение, что мы живем в эпоху перемен и технологическая сингулярность не за горами. Одновременно, не ясно когда и чью работу отдадут нашим железным друзьям и как потеря работы отразится на нашей жизни. Правда, пока AI скорее идет в сторону ассистентов людей, но при такой скорости развития моделей и получения данных для обучения ассистент скоро сможет превзойти учителя и ...

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

#AI #ML #Software #Engineering #DataScience
👍43🔥3
Немного картинок к отчету, на которых представлены значимые модельки за 2023 год, а также видно как performance моделей приближается или превосходит человеческий уровень.
🔥4👍21