Forwarded from Denis Beskov
Вышла запись интервью с Владом https://youtu.be/pwoBA88nAe0?si=ecbmJWJfzeYMH8IT
YouTube
Интервью с автором Learning Domain-Driven Design • Влад Хононов
Автор книги «Learning Domain-Driven Design» рассказывает о тонкостях работы с этим подходом и о своём опыте применения в разных компаниях.
00:00 Начало интервью
01:22 Как пришла идея книги?
05:54 Планируются ли ещё книги?
07:50 Кто такой архитектор и что…
00:00 Начало интервью
01:22 Как пришла идея книги?
05:54 Планируются ли ещё книги?
07:50 Кто такой архитектор и что…
🔥21👍2❤1
Forwarded from Code of Architecture
Заканчиваем книгу Continuous Architecture in Practice 📖
4 декабря в последнем выпуске разберем 7, 8 и 9 главы. Поговорим про надежность как атрибут качества в архитектуре и погрузимся в самые современные технологии.
Обсудим:
— что вообще такое надежность с точки зрения архитектуры;
— как можно работать с отказами и сбоями;
— как архитектору сохранить и поддерживать надежность на должном уровне.
А также:
— риски использования новейших технологий в вашей архитектуре;
— как жить вместе с машинным обучением и искусственным интеллектом;
— как и когда можно использовать блокчейн в своей архитектуре.
В самом конце сделаем выводы по всей книге и поделимся основными мыслями, которые нам удалось почерпнуть из Continuous Architecture in Practice.
Гостями эфира станут Евгений Пешков, техлид, независимый эксперт и консультант, увлеченный созданием продуктов, построением эффективных команд и внедрение практик технического совершенства в мире разработки и архитектуры ПО, основатель сообщества DDDevotion. И Сергей Баранов, архитектор, основатель конференции ArchDays. Сергей ведет каналы по распределенным системам и Event Storming, пишет статьи в блоге agilemindset.ru.
🔔 Ждем всех 4 декабря в следующий понедельник в 18:00 по Москве на нашем ютуб-канале.
#сontinuous_architecture_in_practice
4 декабря в последнем выпуске разберем 7, 8 и 9 главы. Поговорим про надежность как атрибут качества в архитектуре и погрузимся в самые современные технологии.
Обсудим:
— что вообще такое надежность с точки зрения архитектуры;
— как можно работать с отказами и сбоями;
— как архитектору сохранить и поддерживать надежность на должном уровне.
А также:
— риски использования новейших технологий в вашей архитектуре;
— как жить вместе с машинным обучением и искусственным интеллектом;
— как и когда можно использовать блокчейн в своей архитектуре.
В самом конце сделаем выводы по всей книге и поделимся основными мыслями, которые нам удалось почерпнуть из Continuous Architecture in Practice.
Гостями эфира станут Евгений Пешков, техлид, независимый эксперт и консультант, увлеченный созданием продуктов, построением эффективных команд и внедрение практик технического совершенства в мире разработки и архитектуры ПО, основатель сообщества DDDevotion. И Сергей Баранов, архитектор, основатель конференции ArchDays. Сергей ведет каналы по распределенным системам и Event Storming, пишет статьи в блоге agilemindset.ru.
#сontinuous_architecture_in_practice
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3
Классная заметка Кента Бека про TDD и быстрый фидбек (как один из важных аспектов разработки, имхо).
Получать быструю обратную связь от нашего кода, серверов, пользователей, экспертов и т.д. критически важно для успеха продукта. Особенно сейчас, когда сложность (aka complexity) систем продолжает наращиваться, а непредсказуемость и быстрое развитие не дают замедлиться и спокойно осмотреться)
https://open.substack.com/pub/tidyfirst/p/tdd-isnt-design
Получать быструю обратную связь от нашего кода, серверов, пользователей, экспертов и т.д. критически важно для успеха продукта. Особенно сейчас, когда сложность (aka complexity) систем продолжает наращиваться, а непредсказуемость и быстрое развитие не дают замедлиться и спокойно осмотреться)
https://open.substack.com/pub/tidyfirst/p/tdd-isnt-design
Software Design: Tidy First?
TDD Isn't Design
It's Design Feedback
👍6
Generative AI и LLM - новое большое окно возможностей в разработке и бизнесе в целом. Вангую, что это затронет почти каждого и эти темы станут частью разработческого минимума.
С чего же начать, если вы всю жизньпилили формы и мапили джейсончики работали с бизнес-приложениями?
1. Сперва пройти что-то базовое типа https://www.coursera.org/learn/ai-for-everyone от Andrew Ng. Освоить базовые понятия и ubiquitous language этого контекста.
2. Следующий пункт LLMs (aka Large Language Models). Здесь могу порекомендовать часовое интро еще одного Andrej https://www.youtube.com/watch?v=zjkBMFhNj_g
3. Если не хватит, то можно опять сходить на курсеру https://www.coursera.org/learn/generative-ai-with-llms.
4. Дальше облака. У всех ведущих провайдеров уже есть те или иные решения, посмотрите что предлагает ваш облачный провайдер (если в компании уже используется). Например, блоги от Azure https://learn.microsoft.com/en-us/azure/ai-services/openai/, Google https://cloud.google.com/ai/llms и AWS https://aws.amazon.com/generative-ai/
5. Иногда нам хочется немного донастроить/дообучить модель. На помощь нам приходит Fine Tuning. Можно пройти курс https://learn.deeplearning.ai/finetuning-large-language-models, чтобы получить практические навыки.
6. У Gen AI есть проблема. Его данные устаревают или вовсе отсутствуют доменные знания. На помощь идет RAG (или Retrieval-Augmented Generation)! Теперь мы можем дообогатить модель нашими собственными актуальными данными. Обзорное видео https://www.youtube.com/watch?v=T-D1OfcDW1M и курс https://learn.deeplearning.ai/building-evaluating-advanced-rag
7. Язык программирования. Исторически сложилось, что абсолютное большинство примеров будет на Пайтоне, так что рекомендую учить хотя бы базовый синтаксис, чтобы уметь читать.
8. Инструментарий. Здесь куча всего. Выделю https://www.langchain.com/ - фреймворк для всего того что я понаписал выше. Есть курс https://learn.deeplearning.ai/courses/langchain.
Хватит на новогодние?🙈
Поделитесь полезностями в комментах🙏
С чего же начать, если вы всю жизнь
1. Сперва пройти что-то базовое типа https://www.coursera.org/learn/ai-for-everyone от Andrew Ng. Освоить базовые понятия и ubiquitous language этого контекста.
2. Следующий пункт LLMs (aka Large Language Models). Здесь могу порекомендовать часовое интро еще одного Andrej https://www.youtube.com/watch?v=zjkBMFhNj_g
3. Если не хватит, то можно опять сходить на курсеру https://www.coursera.org/learn/generative-ai-with-llms.
4. Дальше облака. У всех ведущих провайдеров уже есть те или иные решения, посмотрите что предлагает ваш облачный провайдер (если в компании уже используется). Например, блоги от Azure https://learn.microsoft.com/en-us/azure/ai-services/openai/, Google https://cloud.google.com/ai/llms и AWS https://aws.amazon.com/generative-ai/
5. Иногда нам хочется немного донастроить/дообучить модель. На помощь нам приходит Fine Tuning. Можно пройти курс https://learn.deeplearning.ai/finetuning-large-language-models, чтобы получить практические навыки.
6. У Gen AI есть проблема. Его данные устаревают или вовсе отсутствуют доменные знания. На помощь идет RAG (или Retrieval-Augmented Generation)! Теперь мы можем дообогатить модель нашими собственными актуальными данными. Обзорное видео https://www.youtube.com/watch?v=T-D1OfcDW1M и курс https://learn.deeplearning.ai/building-evaluating-advanced-rag
7. Язык программирования. Исторически сложилось, что абсолютное большинство примеров будет на Пайтоне, так что рекомендую учить хотя бы базовый синтаксис, чтобы уметь читать.
8. Инструментарий. Здесь куча всего. Выделю https://www.langchain.com/ - фреймворк для всего того что я понаписал выше. Есть курс https://learn.deeplearning.ai/courses/langchain.
Хватит на новогодние?🙈
Поделитесь полезностями в комментах🙏
Coursera
AI For Everyone
Offered by DeepLearning.AI. AI is not only for ... Enroll for free.
🔥35👍12😁3❤1
Ахтям Сакаев на днях опубликовал отличную статью https://habr.com/ru/companies/m2tech/articles/782986/
Она для скалистов в первую очередь, но будет полезна всем как минимум для расширения кругозора.
Она для скалистов в первую очередь, но будет полезна всем как минимум для расширения кругозора.
Хабр
Calypso: Схема данных MongoDB на Scala
Введение Чтобы применять Domain-Driven Design, DDD Aggregate и Transactional outbox на MongoDB, наша команда создала open source — библиотеку calypso для работы с BSON. Публикация для тех, кто...
❤3🔥1
Друзья, с наступающим! Спасибо, что читаете-комментируете-реагируете. Скажу честно, у меня был более амбициозные планы, но сил и времени оказалось не так много.
Желаю в Новом году свершений, спокойствия, профессионального роста и не забывайте про себя, свои личные потребности, хотелки и радости.
Обнимаю каждого, ваш Женя Пешков.
Пусть наше общение будет источником вдохновения!❤️
Желаю в Новом году свершений, спокойствия, профессионального роста и не забывайте про себя, свои личные потребности, хотелки и радости.
Обнимаю каждого, ваш Женя Пешков.
Пусть наше общение будет источником вдохновения!❤️
❤52🎉33🔥2
Ник Тьюн, известный своим вкладом в инструменты и популяризацию DDD в целом, дописал свою книгу Architecture Modernization. По содержанию и отзывам очень хорошая. Жду когда появится на платформе O'Reilly.
https://www.manning.com/books/architecture-modernization
https://www.manning.com/books/architecture-modernization
👍51🔥13
У Саши Поломодова вышел подкаст с обсуждением книги Team Topologies. Если вам некогда читать — послушайте подкаст, возможно захочется погрузиться больше. https://youtu.be/q34rPXEErXA
YouTube
Code of Leadership #1 - "Team Topologies"
Первая серия проекта Александра Поломодов "Code of Leadership", где
- каждый эпизод посвящен одной книге по engineering management
- в каждом эпизоде есть приглашенный гость-эксперт, который может сам предложить свою любимую книгу по менджменту для обсуждения…
- каждый эпизод посвящен одной книге по engineering management
- в каждом эпизоде есть приглашенный гость-эксперт, который может сам предложить свою любимую книгу по менджменту для обсуждения…
🔥23👍3❤2
В рилсах-тиктоке есть популярный поджанр: видеообзор. Обычно берется какое-то нашумевшее видео и ведущий добавляет свои (обычно негативные) комментарии.
Интересно, что этот тренд проникает в ИТ и в более длинные видео. Например, Adam Dymitryuk делал вчера такой стрим https://m.twitch.tv/videos/2077247644
А еще недавно узнал о формате совместного просмотра видео:
1. Выбирается доклад.
2. Смотрят вместе.
3. В любой момент любой из участников может поставить на паузу и накинуть/спросить.
Интересно было бы попробовать)
P.S. Стрим не смотрел 🙈
Интересно, что этот тренд проникает в ИТ и в более длинные видео. Например, Adam Dymitryuk делал вчера такой стрим https://m.twitch.tv/videos/2077247644
А еще недавно узнал о формате совместного просмотра видео:
1. Выбирается доклад.
2. Смотрят вместе.
3. В любой момент любой из участников может поставить на паузу и накинуть/спросить.
Интересно было бы попробовать)
P.S. Стрим не смотрел 🙈
Twitch
Twitch is the world's leading video platform and community for gamers.
👍11❤2🔥1😁1
Классный референс для проектирования API, респект компаниям, которые собирают и шарят знания🔥
Forwarded from Системный сдвиг
Postman, кроме того, что производит инструмент для тестирования API, ещё собирает лучшие практики проектирования.
Для этого у них есть отдельная команда Postman Open Technologies, которая также собирает информацию о стандартах, отраслевых форматах и спецификациях, открытых API.
Каталог практик и паттернов оформлен как рабочее пространство Postman: https://www.postman.com/postman/workspace/postman-open-technologies-openapi-governance-templates/overview (открывается прямо в Postman!)
Смысл каталога в том, чтобы не придумывать каждый раз "как мы будем возвращать сумму платежа" или "как будем делать пагинацию", а брать готовое решение.
На текущий момент там описаны следующие паттерны:
🔸 Форматы данных:
🔹Коды стран (ISO 3166)
🔹Коды валют (ISO 4217)
🔹Дата, время и временные промежутки (ISO 8601)
🔹Числа с десятичными дробями
🔹Кастомные заголовки HTTP
🔹Расширенное описание ошибки (RFC 9457 - кстати, очень хороший формат для передачи смысла ошибки HTTP)
🔸Управление кэшированием:
🔹Параметр Cache-control
🔹Параметр Etag
🔹Параметр Expires
🔸Фильтрация:
🔹Параметры поискового запроса
🔹Точное соответствие
🔹Диапазон значений поля
🔹Выбор полей для ответа
🔸Пагинация:
🔹Заголовки page and per_page (rfc 5988)
🔹Курсор / NextRecordKey
🔹Параметры Limit и Offset
🔸Сортировка:
🔹По одному полю - параметры sort_by, sort_order
🔹По нескольким полям
🔸Версионирование:
🔹На уровне URL API
🔹На уровне отдельного ресурса
🔹Через заголовок Accept-Version
🔹Через заголовок Accept
🔸Информация:
🔹Контакты разработчиков
🔹Лицензия
🔹Условия использования
🔹Заголовок Sunset (предупреждение, что ресурс станет недоступным в определенное время)
Набор паттернов интересный, я, например, про RFC 9457, версионирование на уровне ресурсов и Sunset header раньше не слышал.
Для этого у них есть отдельная команда Postman Open Technologies, которая также собирает информацию о стандартах, отраслевых форматах и спецификациях, открытых API.
Каталог практик и паттернов оформлен как рабочее пространство Postman: https://www.postman.com/postman/workspace/postman-open-technologies-openapi-governance-templates/overview (открывается прямо в Postman!)
Смысл каталога в том, чтобы не придумывать каждый раз "как мы будем возвращать сумму платежа" или "как будем делать пагинацию", а брать готовое решение.
На текущий момент там описаны следующие паттерны:
🔸 Форматы данных:
🔹Коды стран (ISO 3166)
🔹Коды валют (ISO 4217)
🔹Дата, время и временные промежутки (ISO 8601)
🔹Числа с десятичными дробями
🔹Кастомные заголовки HTTP
🔹Расширенное описание ошибки (RFC 9457 - кстати, очень хороший формат для передачи смысла ошибки HTTP)
🔸Управление кэшированием:
🔹Параметр Cache-control
🔹Параметр Etag
🔹Параметр Expires
🔸Фильтрация:
🔹Параметры поискового запроса
🔹Точное соответствие
🔹Диапазон значений поля
🔹Выбор полей для ответа
🔸Пагинация:
🔹Заголовки page and per_page (rfc 5988)
🔹Курсор / NextRecordKey
🔹Параметры Limit и Offset
🔸Сортировка:
🔹По одному полю - параметры sort_by, sort_order
🔹По нескольким полям
🔸Версионирование:
🔹На уровне URL API
🔹На уровне отдельного ресурса
🔹Через заголовок Accept-Version
🔹Через заголовок Accept
🔸Информация:
🔹Контакты разработчиков
🔹Лицензия
🔹Условия использования
🔹Заголовок Sunset (предупреждение, что ресурс станет недоступным в определенное время)
Набор паттернов интересный, я, например, про RFC 9457, версионирование на уровне ресурсов и Sunset header раньше не слышал.
🔥54👍5
Классная метафора Кента Бека про уровень воды во время прогулки по острову.
Несколько предположений:
- Вода всегда на одном уровне (нет)
- Следует во что бы то не стало забираться на вершину (нет)
- У нас только один остров (нет)
- Мы можем навсегда обосноваться на одном острове (нет)
Ну и в конце про мою любимую адаптивность:
Подробнее в статье https://tidyfirst.substack.com/p/design-is-an-island, рекомендую подписаться ✍️
Несколько предположений:
- Вода всегда на одном уровне (нет)
- Следует во что бы то не стало забираться на вершину (нет)
- У нас только один остров (нет)
- Мы можем навсегда обосноваться на одном острове (нет)
Ну и в конце про мою любимую адаптивность:
Being prepared for both overland and underwater travel is the best preparation for software design success.
Подробнее в статье https://tidyfirst.substack.com/p/design-is-an-island, рекомендую подписаться ✍️
Substack
Design is an Island
First published April 2009.
👍13❤5
Интересная заметка. Аргументы против выглядят немного притянуто, но использование
https://www.infoworld.com/article/3714840/avoid-using-enums-in-the-domain-layer-in-c-sharp.html
record вместо enum выглядит интересно, что только у дотнета по перформансу?https://www.infoworld.com/article/3714840/avoid-using-enums-in-the-domain-layer-in-c-sharp.html
InfoWorld
Avoid using enums in the domain layer in C#
Understand the pitfalls of using enumeration types in the domain layer of your .NET applications and the advantages of using record types instead.
👍6
Любите ли вы AI так как люблю его я?)
Сегодня в 20:00 МСК Staffan Palopää проведетсеанс черной магии с последующим разоблачением демонстрационную сессию использования генеративного ИИ для EventStorming. Подключайтесь в зум или ютуб. Запись обычно у них доступна и после.
Сегодня в 20:00 МСК Staffan Palopää проведет
Virtual Domain-Driven Design
DDD & Domain Modeling: Using AI to Accelerate Design - with Staffan Palopää
DDD & Domain Modeling can take a long time to learn and understand. This could be one of the biggest impediments for increased adoption of DDD. With the help of AI, we can speed up the learning process dramatically. We can create domain models (from prompts)…
👍11🔥3
Просматриваю новый техрадар. Пока единственное что отметил: большой уклон в сторону LLM. Среди техник, например, 8 из 14 непосредственно связаны с LLM/GenAI. Забавно что на холд при этом предлагается поставить "Overenthusiastic LLM use". Увлекайтесь, но не сильно 😄
😁8❤3👍1
Попалась классная статья про рефакторинг. Бывают, конечно, и более сложные кейсы, но в целом согласен по всем пунктам.
https://open.substack.com/pub/danielmoka/p/refactor-like-a-pro
https://open.substack.com/pub/danielmoka/p/refactor-like-a-pro
Craftbettersoftware
Refactor like a PRO
The art of continuous, safe and aggressive refactoring
👍18
ArchDays выкатили видео доклада Влада Хононова https://www.youtube.com/watch?v=rH3u9DvOlPk
Я сам не посмотрел еще - поделитесь вашим мнением🙏
Я сам не посмотрел еще - поделитесь вашим мнением🙏
YouTube
Сложность и модулярность две стороны одной медали. Влад Хононов.
Выступление на ArchDays 2023. Забронируйте участие на следующей конференции: https://archconf.ru/arch
При проектировании систем мы стремимся достичь модульности и избежать сложности. Но довольно часто происходит обратное. Почему?
Чтобы ответить на этот вопрос…
При проектировании систем мы стремимся достичь модульности и избежать сложности. Но довольно часто происходит обратное. Почему?
Чтобы ответить на этот вопрос…
👍28
Сегодня начались доклады на DDD Europe 2024. Первый день называется DDD foundation. Доклады по достаточно базовым вещам - но надеюсь услышать что-то полезное энивей.
Я пропустил первый доклад от Майкла Физерса и сейчас слушаю про транзакции, легаси и прочее. Stay tuned 🤙
Я пропустил первый доклад от Майкла Физерса и сейчас слушаю про транзакции, легаси и прочее. Stay tuned 🤙
🔥13👍10❤1