Книжный куб
11.1K subscribers
2.67K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Шесть принципов практичности из книги Разработка программного обеспечения (Software for Use: A Practical Guide to the Models and Methods of Usage-Centered Design)

Я уже рассказывал про эту книгу ранее и там я говорил про пять правил практичности:)
А у автор еще есть шесть принципов практичности, которые тоже являтся занимательными и полезными даже сейчас, почти через 25 лет после издания книги.
Вот эти принципы в немного отредактированной форме

1) Структурный принцип - организуйте пользовательский интерфейс целенаплавленно на базе четких, устойчивых моделей, узнаваемых и понятных пользователю
2) Принцип простоты - ставьте простые, легко выполнимые задачи, позволяйте пользователю общаться с программой на своем языке
3) Принцип наблюдаемости - пусть пользователь видит то, что ему нужно, но не больше
4) Принцип обратной связи - держите пользователя в курсе происходящих действий в ходе выполнения его задачи
5) Принцип толерантности - будьте гибкими и толерантными к ошибкам пользователей и предусмотрите возможность отмены и повторного применения
6) Принцип повторного использования - сделайте так, чтобы пользователю не приходилось заново обдумывать действия, используйте повторно внутренние и внешние компоненты, а также поведение, поддерживайте эту консистентность целенаправленно

#Design #SoftwareDevelopment #Architecture #Processes
👍9🔥6
Книжный куб
Code of Architecture — Recap of "Software Architecture: The Hard Parts" В прошлом году в книжном клубе Code of Architecture мы разобрали книгу “Software Architecture: The Hard Parts”, вышедшую в конце 2021 года. У нас получилось шесть насыщенных выпусков…
Code of Architecture — Recap of “Learning Domain Driven Design”

В прошлом году в книжном клубе Code of Architecture мы разобрали превосходную книгу "Learning Domain Driven Design", вышедшую в конце 2021 года. У нас получилось шесть насыщенных выпусков где-то по часу каждый. Последний выпуск был бонусным - в нем мы общались с автором книги и задавали вопросы, собранные у зрителей за предыдущие пять выпусков. В этой статье я решил собрать все материалы в одном месте. Эти материалы потребовались мне в разрезе обсуждения книги "Evolutionary Architecture", так как там есть большое пересечение по темам работы с данными.

#ExternalReview #SoftwareArchitecture #Architecture #SystemDesign
🔥15👍5
C4 Models as Code • Simon Brown • YOW! 2022

Интересное выступление Саймона Брауна, создателя нотации C4 Model, в котором он рассказывает про концепцию диаграмм как кода и показывает демо.
Сама концепция описывается в первые десять минут, где Саймон проходит шаги
1) от рисования диаграмм при помощи Visio
2) дальше к описанию диаграмм как код в plantuml
3) а потом к созданию модели в structurizr и генерацию разных диаграмм из консистентной модели

А остальные 40 минут идет демо инструмента structurizr, который создал сам Саймон.

P.S.
У Simon Brown есть другое выступление больше про подходы к дизайну программного обеспечения, про которое я рассказывал несколько месяцев назад.

#SoftwareArchitecture #Architecture #SystemDesign #Software #SoftwareDevelopment #DistributedSystems
👍8🔥4
Green Day. Фотоальбом с комментариями участников группы (Green Day by Bob Gruen)

Пролистал вчера фотоальбом этой группы. Интересно, что в этом альбоме не просто фотографии, а фотографии с комментариями участников группы. Плюс фотгографии сделал культовый музыкальный фотограф Боб Груэн. Я не фанат этой группы, но такие песни как American Idiot" или "Boulevard of Broken Dreams" давно в моем плейлисте:)

P.S.
На снимке ниже есть трио из группы и сам Боб:)

#Music #Biography
👍9🔥6
Обзор книги "Hacking the System Design Interview"

Я наконец-то дописал обзор очередной книги про интервью по системному дизайну. На этот раз это книга Stanley Chiang, который работает сейчас в Google. По изложенной в книге легенде когда-то давно он делал заметки при подготовке к этому типу интервью и потом превратил их в книгу, которая неплохо продается, судя по Amazon. Кстати, мне эта книга показалась интереснее, чем “System Design Interview” от Alex Xu, про которую я рассказывал в статьях на Medium: 1 и 2.

В этой статье я разобрал
- алгоритм решения задач, который автор предлагает использовать
- советы для рисования диаграмм
- сами задачи (к сожалению новых задач там почти нет)

#SystemDesign #DistributedSystems #SoftwareArchitecture #SoftwareDevelopment #Architecture #Architect
👍20🔥2
Kafka (Франц Кафка: БиоГРАФИЧЕСКИЙ роман)

Этот комикс Роберта Крумба и Дэвида Зейн Мейровица рассказывает историю Франца Кафки, чья личность остается загадочной до сих пор.
Я не читал его произведений, но мне стало интересно, а в честь кого назвали популярное open source решение Apache Kafka для построения систем, использующих messaging. Одному из создателей этого open source решения, а точнее Jay Kreps, нравилось творчество Кафки и он дал это название решению, потому что это "a system optimized for writing".

Если же возвращаться к самому роману, то он создан в стиле нуар и рассказывает про жизнь автора, а также про ключевые произведения: "Метаморфозы", "Процесс", "Замок", ...
В результате прочтения становится ясно какие демоны терзали автора и как он графоманил по ночам. При жизни слава его не настигла, но вот после смерти его душеприказчик Макс Брод проигнорировал указание уничтожить незаконченные работы, подготовил их к публикации и дальше они стали классическими и привели к появлению прилагательного "кафкианский".

#Processes #Software #Comics #Biography
🔥14👍3❤‍🔥1
Канал на Youtube "Code of Architecture"

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

#CoA #Architecture #SoftwareArchitecture
👍269
Черчилль. Биография в комиксах ("Ils ont fait l’histoire: Churchill, volume 1" и "Ils ont fait l’histoire: Churchill, volume 2")

Дочитал сегодня биографию Черчиля в комиксах, которую написал квартет авторов: Дельма Винсен, Керсоди Франсуа, Рено Кристоф, Каммарделла Алессио. В оригинале эта биография состоит из двух частей:
1) Жизнь Черчиля до Второй мировой войны
2) Его действия во время нее
В издании на русский язык эти тома объединены в одну книгу, которые рассказывают историю жизни Уинстона, которая интересна сама по, а оформленная в стиле комикса она читается на одном дыхании. В книге идет речь про
- детские и юношеские годы, когда он не всегда оправдывал надежды родителей
- окончание военной школы и отправка в горячие точки на периферии влияния Британской империи, где он зачастую был и младшим офицром и журналистом
- возврат в Англию, политической карьеры и ее развитие до Первой мировой войны
- участие в войне сначала в качестве Первого лорда адмиралтейства, а потом после Дарданелльской операции отставка с поста и участие в войне уже просто в качестве подполковника
- до второй мировой он активно критиковал политику умиротворения Гитлера, но находился в оппозиции к тогдашнему политическому курсу
- во время Второй мировой войны его призвали руководить правительством и делал он это очень эффективно

Кстати, периоду Второй мировой войны посвящена половина этого комиска:)

#Comics #Biography
👍9🔥42👎2
Рефакторинг баз данных: эволюционное проектирование (Refactoring Databases: Evolutionary Database Design)

Эта книга посвящена эволюционному изменению баз данных. Она написана в 2006 года, а в те времена реляционные базы данных были стандартом де-факто и альтернатив особо не было. Потому вся книга посвящена эволюции подходов с жесткой схемой данных (schema on read), в ней активно рассматривается использование триггеров и хранимых процедур и не идет речи про polyglot persistence. Зато авторы говорят про написание тестов, процесс деплоя, sandboxes для разработчиков и так далее. Я читал эту книгу первый раз лет десять назад и она мне тогда казалось достаточно актуальной. Сейчас я перечитал ее и часть вещей кажутся очевидными, а вот часть все еще интересны:)

Если говорить про содержание книги, то в ней 11 глав
1) Evolutionary database development - здесь авторы вводят понятие эволюционного развития баз данных и перечисляют техники: database refactoring, evolutionary data modeling, database regression testing, configuration management of database artifacts, developer sandboxes
2) Database refactoring - в этой главе авторы проводят параллели между рефакторингом кода и рефакторингом схемы данных, а также класификацию видов рефакторинга, что подробнее раскрываются в главах 6-10. Здесь же идет речь про database smells: multipurpose column, multipurpose table, redundant data, tables with too many columns, tables with too many rows, "smart" columns, fear of change
3) The process of database refactoring - здесь авторы рассказывают про процесс с созданием новой схемы, параллельным существованием новой и старой схемы, а потом выключением старой. По-факту, это стандартная история с compatibility между версиями (forward и backward compatibility)
4) Deploying to production - здесь немного про CI/CD для баз данных (сейчас эта глава кажется очевидной)
5) Database refactoring strategies - глава про то, как подходить к миграциям с точки зрения организационного процесса
Дальше авторы проходятся по классам рефакторинга, которые они определили в главе 2.
6) Structural refactoring - здесь рассматриваются простые вещи, навроде того, как удалить колонку, таблицу, view, объединить колонки, переименновать их или например перейти от отношения один-ко-многим к отношению многие-ко-многим
7) Data quality refactoring - добавить или удалить ограничения на nullable, ввести формат данных для колонки, добавить или удалить дефолтное значение или переместить данные
😍 Referential integrity refactoring - как добавить или удалить constraints, добавить каскадное удаление, реализовать hard или soft delete, сделать историю на триггерах
9) Architectural refactoring - сделать CRUD через процедуры, добавить метод на чтение через процедуры, добавить view, добавить индексы, заменить процедуру на view или наоборот:)
10) Method refactoring - про рефакторинг триггеров, процедур и всего того, что сейчас рекомендуют использовать по минимуму
11) Transformation - как добавить новую колонку, новую таблицу, новый view, обновить данные

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

P.S.
Эту книгу я решил вспомнить в контексте нашего книжного клуба Code of Architecture, в котором мы в понедельник обсудим главу про эволюцию данных из книги "Building Evolutionary Architecture". В этой главе есть отсылка к этой книге "Refactoring Databases", так что я решил обновить свои воспоминания:)

#Databases #Data #Software #SoftwareArchitecture #Architecture
🔥12👍21
👍3
The Illustrated Children's Guide to Kubernetes

Помню как 5 лет назад наткнулся на интересный комикс про Kubernetes для детей (у него есть видео-версия). Концепт мне понравился тем, что сложные вещи объясняются буквально на пальцах да так, что и малыш поймет. А недавно я зашел посмотреть обновления проекта и заметил, что теперь это называется Phippy & Friends и там есть новые персонажи и новые серии:
- Phippy Goes to the Zoo - Follow the tale of Phippy and her niece Zee as they take an educational trip to the Kubernetes Zoo.
- Admiral Bash’s Island Adventure - Admiral Bash’s ship has been sunk by pirates and his mainframe is at the bottom of the sea! Washed up on a deserted island, join Admiral Bash as he navigates his cloud native transformation, helped by Phippy, Zee, Captain Kube, Goldie, Linky, Hazel and some very special new friends.
- From 00-K8s with Love - Agent 00-K8s has to deliver a super secret package as quickly and safely as possible. Will she be able to do it?
- Phippy and Zee go to the Mountains - Another work featuring Phippy and friends: Join Phippy and Zee on a 4-dimensional hike!
- Phippy In Space: Adventures in Cloud-Native Recovery - In the not-so-distant future, space outposts (cloud-native infrastructure) are the next frontier for settlement and Captain Kube is in charge of the cutting-edge Mars outpost. As the outpost has grown in size and complexity, Captain Kube needs to find solutions for many of the settlement’s growing pains. He has recruited Phippy to work with him on the outpost’s Day 2 challenges. Join them on their adventure, as they journey to Mars and brainstorm solutions.
- Phippy’s Quest for Cloud Native Transformation - Phippy is discussing her business challenges with Captain Kube to make the most of an upcoming big sale. Join their discussion on how to be truly cloud native.

В общем, есть что почитать детишками перед сном, чтобоы познакомить их с современным cloud-native концепциями:))

#Software #Cloud #ForKids #Comics
🔥19👍3
Confessions of an Enterprise Architect • Scott Shaw • YOW! 2016

Выступление про enterprise архитектуру семилетней давности, которое было опубликовано сегодня на канале GOTO Conferences.
Казалось бы зачем мне про него сейчас вспоминать? А ответ простой - буквально на этой неделе мы в программном комитете конфереции ArchDays обсуждали темы на пятую ежегодную конференцию ArchDays 2023. В ходе обсуждения мы вспомнили запрос посетителей прошлой конференции о докладах на тему enterprise architecture. Сам я считаю эту тему в каноническом виде рудиментом из прошлого ... что отчасти подтвеждает этот доклад семилетней давности, где Scott Shaw с юмором и в формате покаяния говорит про темы
1) Admitting "Architect" is a thing
2) Requiring documentation
3) Governance
4) Command and control
5) Preferring COTS packages

А дальше он финализирует свой рассказ про подход к entrerprise architecture в 21 веке, который должен следовать следующим приницпам, где элементы выделенные жирным предпочтительны относительно тех, что выделены курсивом

0) While we need ... -> Our preferred approach is ...
--------------------------------------------------------------------
1) Architecture -> Technical leadership
2) Traceability -> Architecture decision records
3) Strategically-aligned decisions -> Principles, influence, transparency
4) Direction -> Empowerment and accountability
5) Off-the-shelf software -> Small, incremental investmens

В общем, хороший это доклад, который не потерял актуальность до сих пор:)

#Architecture #SoftwareArchitecture #Software #Conference #SoftwareDevelopment
👍12🔥21
Научная коммуникация. Руководство для научных пресс-секретарей и журналистов (Handbook for Science Public Information Officers)

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

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

А если говорить про структуру книги, то она выглядит так
0. Почему так важен научный пресс-секретарь
1. Ищем истории и решаем, о чем писать
2. Пишем статьи
3. Предлагаем истории
4. Иллюстрируем материал
5. Обучаем ученых говорить о своей работе
6. Рассказываем истории сами: социальные сети и блоги
7. Измеряем успех вашей истории
7 Истории, которые вам не нужны: кризисные коммуникации

В итоге, книга мне понравилась - она достаточно полезна для того, кто много рассказывает про науку или IT разработку:)

#Science #Devrel #PublicSpeaking #Writing
🔥3👍2