emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc. – Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
3.48K subscribers
119 photos
15 videos
22 files
1.14K links
Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, Extreme Programming, SDLC, Agile, etc.

Chat: https://news.1rj.ru/str/emacsway_chat

Persistence: https://dckms.github.io/system-architecture/
Download Telegram
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
"Architecture Ownership Patterns for Team Topologies. Part 3: Multi-Team Patterns" by Nick Tune https://medium.com/nick-tune-tech-strategy-blog/architecture-ownership-patterns-for-team-topologies-part-3-multi-team-patterns-eecc146ddb28 #DDD #Microservices…
Alberto Brandolini не остался в стороне от популярного в наши дни вопроса топологии команд:

"About Team Topologies and Context Mapping" by Alberto Brandolini
https://blog.avanscoperta.it/2021/04/22/about-team-topologies-and-context-mapping/

P.S.: Другие посты по теме топологии команд:
- https://news.1rj.ru/str/emacsway_log/510
- https://news.1rj.ru/str/emacsway_log/348
- https://news.1rj.ru/str/emacsway_log/308
- https://news.1rj.ru/str/emacsway_log/141
- https://news.1rj.ru/str/emacsway_log/343
- https://news.1rj.ru/str/emacsway_log/322
- https://news.1rj.ru/str/emacsway_log/313

#DDD #Management #Microservices #SoftwareArchitecture
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Критически важная статья, проливающая свет на один из наиболее частых и болезненных вопросов в DDD: "Domain model purity vs. domain model completeness" by Vladimir Khorikov https://enterprisecraftsmanship.com/posts/domain-model-purity-completeness/ #DDD
Если вдруг кто не знал, у Vladimir Khorikov ( @vkhorikov ), известного автора в области DDD и Unit Testing, на сайте https://enterprisecraftsmanship.com/ есть рассылка. Подписаться можно здесь:
- https://enterprisecraftsmanship.com/subscribe

Контент рассылки не совпадает с контентом блога! Посмотреть архив рассылок можно на его другом сайте, про который мало кто знает:
- https://khorikov.org/

#DDD #Microservices #SoftwareArchitecture #SoftwareDesign
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Статьи на частые вопросы по DDD: - "What is domain logic?" by Vladimir Khorikov - "Domain services vs Application services" by Vladimir Khorikov - "Domain model isolation" by Vladimir Khorikov - "Email uniqueness as an aggregate invariant" by Vladimir Khorikov…
Не нарушит ли глабольно-уникальный идентификатор своего смысла, если он будет идентифицировать не один, а два и более Агрегата в разных Ограниченных Контекстах (или микросервисах), идентифицируя при этом одну и ту же бизнес-сущность?

На этот вопрос отвечает Vladimir Khorikov ( @vkhorikov ) в статье
"Should you reuse ids among microservices?"
- https://khorikov.org/posts/2021-02-03-should-you-reuse-ids-between-mss/

#Microservices #DDD #SoftwareDesign #SoftwareArchitecture
Ivan
А я уже делился: - https://news.1rj.ru/str/emacsway_log/45 - https://news.1rj.ru/str/emacsway_log/44 Барбару я, к сожалению, пока еще не читал. Но весьма авторитетный специалист Сергей Тепляков, бывший инструктор Люксофта, а сегодня он работает в Microsoft (США), автор популярного…
Как управлять знаниями и что для этого использовать? Это - один из наиболее частых вопросов. Поделюсь своим скромным опытом.

Internet-content

Нужные мне статьи из интернета я сохраняю в pdf-файлы, поскольку сайты с контентом даже таких известных людей, как Alistair Cockburn (а недавно - еще и Greg Young), могут быть недоступны.

В ноутбуке можно сохранять html-страницы в pdf-файл любым модулем печати ОС. Просто выбираю "Печатать в pdf-файл".

А вот в Android, только Яндекс-браузер позволяет сохранять режим чтения при печати html-страницы в pdf-файл. В FF такая возможность была, и, возможно, еще вернется. В остальных популярных браузерах, к сожалению, такой возможности нет, так как печать делается через share, а с media print не на всех сайтах все хорошо.

Можно использовать приложение Notion/Evernote/Nimbus/OneNote/etc. для сохранения html-страниц.

Пользуюсь "Избранным" браузера Firefox и его штатной возможностью синхронизации устройств.

Если сайт мне очень интересен, то скачиваю его полностью или частично (--no-parent), с помощью утилиты wget. Это позволяет осуществлять поиск в offline-режиме с помощью консольной утилиты find.

И все это сохраняю в свою библиотеку вместе с книгами.

Библиотека

Синхронизирую память телефона с ноутбуком по sftp посредством мобильного приложения TotalCommander/Termux/GhostCommander/etc. Раньше поднимал иногда sshd на телефоне и использовал команду sync на ноутбуке. Шнурком почти не пользуюсь.

Читаю обычно в EBookDroid и ReadEra.

Знания

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

Когда-то давно я поднимал свой Trac ( https://trac.edgewall.org/ ). Но возможность работы в offline-режиме для меня имеет значение, особенно в поездках.

Пробовал Evernote (для Linux - Nixnote2/Tusk/Geeknote). Но двухуровневая иерархия заметок (в виде наборов и блокнотов) для меня недостаточна. XML-формат экспорта (*.enex/*.nnex) тоже не очень удобен. Geeknote выглядит интересно, но плохо поддерживается и устанавливается не без проблем. Получить доступ к заметкам можно и на уровне API ( https://dev.evernote.com/doc/ ), используя SDK ( https://dev.evernote.com/doc/start/python.php ). Если этот вариант кому-то интереснен, то учитывайте, что evertnote (для python2) и evernote3 (для python3) - это две разные библиотеки, вместо одной кросс-совместимой ( https://github.com/evernote ).

Notion лишен этих недостатков - неограниченная иерархия и экспорт в PDF/HTML/Markdown&CSV файлы. Официально поддерживает Linux.

Существует ряд других приложений, в т.ч. Open Source, но эти два - наиболее популярные среди моих коллег.

Цитадель

Самую ценную информацию я сохраняю в обычных application-agnostic текстовых *.rst файлах (в силу привычки и тяги к аскетичности). Гитхаб хорошо отображает reStructuredText-разметку, предоставляет полнотекстовый поиск и позволяет синхронизировать устройства. Неограниченная иерархия.

На телефоне, для доступа к файлам git-repository, я использую мобильное Open Source приложение MGit ( https://play.google.com/store/apps/details?id=com.manichord.mgit ) и обычный текстовый редактор.

Share

Еще одним из способов управления знаниями является этот Телеграм-канал. Десктопная версия Телеграма позволяет экспортировать весь его контент целиком, что снижает риски.

В качестве блогового движка я использую статический генератор ABlog ( https://ablog.readthedocs.io/ ) - это расширение к статическому генератору документации Sphinx-Doc ( https://www.sphinx-doc.org/ ).

На Golang популярным аналогом считается Gohugo ( https://gohugo.io/ ).

Контент блога хранится в обычных текстовых файлах, с которыми можно работать с телефона в offline-режиме, используя MGit. А единый reStructuredText-формат разметки для заметок и для блога облегчает преобразование первого во второе.

News

Раз в неделю я просматриваю новости с помощью RSS-агрегатора Thunderbird и Twitter. Подписан на многих авторов из моей библиотеки. По соотношению затрат времени к качеству обнаруженного материала, RSS-подписки эффективней, чем Twitter.

А что используете вы?

#Career #SoftSkills
В продолжение темы топологии и платформенных команд - сегодня вышла статья от ребят из ThoughtWorks на сайте M.Fowler:

"Mind the platform execution gap. Prerequisite capabilities for successful platform strategies" by Cristóbal García García, Chris Ford
- https://martinfowler.com/articles/platform-prerequisites.html

Интересно, что они хорошо отзываются о книге "Team Topologies: Organizing Business and Technology Teams for Fast Flow" by Matthew Skelton, которая недавно упоминалась здесь:
- https://news.1rj.ru/str/emacsway_log/510

#Management #SoftwareArchitecture #Agile
Интересная подборка литературы по SoftSkills и искусству спора:
- https://m.vk.com/wall-56611080_127534

Первая книга - еще 1923 года, а Шопенгауэр и того старше. Пролистал несколько книг из этой коллекции и остался впечатлен.

#SoftSkills #Career #Management
emacsway-log: Software Design, Clean Architecture, DDD, Microservice Architecture, Distributed Systems, XP, Agile, etc.
Как управлять знаниями и что для этого использовать? Это - один из наиболее частых вопросов. Поделюсь своим скромным опытом. Internet-content Нужные мне статьи из интернета я сохраняю в pdf-файлы, поскольку сайты с контентом даже таких известных людей, как…
Мое изучение систем управления знаниями переросло в мини-проект:
- https://github.com/emacsway/dckms-template

Он возник потому, что сегодня мы много пишем там, где не ищем, и ищем там, где стали писать мало. Я, в этом отношении, не являюсь исключением.

Преследовалась цель минимизировать риски и внешние зависимости, обеспечить автономность работы и защищенность данных в пределах контролируемого контура, достигнуть легкость интеграции приватной базы знаний с коллективной (корпоративной, общественной), и при этом сохранить её свободу и автономность посредством распределенности.

Неделю назад я начал пользоваться этим подходом сам, и мигрировал все свои заметки на Sphinx-doc. Это оказалось несложно благодаря изначально выбранному reStructuredText-формату разметки. Впрочем, с Markdown все было бы так же просто:
- https://github.com/emacsway/dckms-template#markdown

Спасибо всем, кто принимал участие в этом процессе, делился опытом, давал информацию и идеи.

#Career #SoftSkills #KnowledgeManagement
Greg Young пишет книгу "Versioning in an Event Sourced System":
- https://leanpub.com/esversioning

Можно прочитать online: https://leanpub.com/esversioning/read

Готова на 90%, правда, последнее обновление было 2017-04-10 (если верить сайту).

Посвящена популярному вопросу - что делать с логом событий Event Sourced агрегата, когда мы изменяем агрегат (добавляем, удаляем, изменяем его атрибуты).

Парень написал конспект по книге Greg Young "Versioning in an Event Sourced System":
- https://github.com/luque/Notes--Versioning-Event-Sourced-System

#SoftwareDesign #DDD #Microservices #EDA #CQRS #EventSourcing #SoftwareArchitecture
Краткие пересказы некоторых популярных книг по IT:
- https://yoan-thirion.gitbook.io/knowledge-base/

Прокомментировать не могу - узнал о нем сегодня. Сайт может представлять интерес для формирования кругозора и приоритезации персонального плана обучения.

P.S.: Для приоритезации еще можно использовать сайт https://www.goodreads.com/ и рекомендательную систему сайта https://www.amazon.com/ .

#SoftwareArchitecture #Career #SoftwareConstruction
Gartner Report: статистика использования масштабируемых Agile Frameworks.
"Gartner Report: Survey Analysis: Enterprise Agile Frameworks Maximize Potential for Achieving Agility at Scale"
http://go.scaledagile.com/Gartner-a.html

Отчет прошлогодний, но все-равно интересный. Вдруг кто не знал.

#Agile #Management #SoftwareArchitecture
Просматривал на днях две книги:

1) "Agile Software Architecture: Aligning Agile Processes and Software Architectures" by Muhammad Ali Babar, Alan W. Brown, Kai Koskimies, Ivan Mistrík
- https://www.goodreads.com/book/show/17841633-agile-software-architecture

2) "Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World" by Murat Erder, Pierre Pureur
- https://www.goodreads.com/book/show/26260650-continuous-architecture

Вряд ли эти книги для широкого круга читателей, но, несмотря на малоизвестные фамилии авторов, они могут представлять интерес для тех, кто занимается интеграцией архитектурных процессов в Agile-разработку (я имею ввиду все - Business or Mission Analysis process, Stakeholder Needs and Requirements Definition process, System/Software requirements definition process, Architecture Definition process, Design Definition process, System Analysis process).

Первая из них рассматривает в т.ч. и Scrum - одну из наиболее непростых и дискуссионных моделей разработки.

#SoftwareArchitecture #Agile #Management
"Simplifying code with Decorated Commands" by Mark Seemann, published on 10 May 2021
https://blog.ploeh.dk/2021/05/10/simplifying-code-with-decorated-commands/

У Kamil Grzybek и Jimmy Bogard тема композитных команд тоже хорошо рассматривается.

#DDD #CQRS #SoftwareDesign
У ES несколько уровней. Big Picture, Process и Design как минимум.
Если говорить о QAW, то я провожу в такой последовательности:
1. Event Storming для формирования общих знаний на базе исследования домена
2. Impact Mapping для поиска крупных архитектурных Enabler’ов и ASR
3. Со всем этим багажом уже идем в QAW и архитектурные ограничения