Друзья, наверняка, кто-нибудь уже вовсю экспериментируют с chat gpt. Поделитесь интересными находками с точки зрения помощи разработчику)
👍6
Люблю доклады @vladik_kh даже не столько за практические советы (которых в его выступлениях достаточно много), сколько за возможность взглянуть на мир разработки через новые призмы.
Влад для меня является ярким примером того, как профессиональное развитие не должно быть ограничено лишь повышением квалификации и получением новых знаний. Он демонстрирует, что профессиональный успех также требует развития мышления и способности видеть вещи под другим углом.
Своими выступлениями и исследованиями он внедряет новые подходы в мир программной разработки, что является не только важным элементом развития профессиональных навыков, но и вдохновляет меня и других разработчиков исследовать новые идеи.
Enjoy! https://www.youtube.com/watch?v=1ZyR_tgGTp8
Влад для меня является ярким примером того, как профессиональное развитие не должно быть ограничено лишь повышением квалификации и получением новых знаний. Он демонстрирует, что профессиональный успех также требует развития мышления и способности видеть вещи под другим углом.
Своими выступлениями и исследованиями он внедряет новые подходы в мир программной разработки, что является не только важным элементом развития профессиональных навыков, но и вдохновляет меня и других разработчиков исследовать новые идеи.
Enjoy! https://www.youtube.com/watch?v=1ZyR_tgGTp8
YouTube
The Fractal Geometry of Software Design - Vlad Khononov - DDD Europe 2022
Domain-Driven Design Europe 2022
http://dddeurope.com - https://twitter.com/ddd_eu - https://newsletter.dddeurope.com/ https://linkedin.com/company/domain-driven-design-europe
Organised by Aardling (https://aardling.eu/)
Cities, organisms, companies, and…
http://dddeurope.com - https://twitter.com/ddd_eu - https://newsletter.dddeurope.com/ https://linkedin.com/company/domain-driven-design-europe
Organised by Aardling (https://aardling.eu/)
Cities, organisms, companies, and…
👍27🔥6❤2
Новый радар вышел. Посмотрим что интересного https://www.thoughtworks.com/radar
Для затравки три блипа
1. https://www.thoughtworks.com/radar/tools/eventcatalog каталог событий. Интересная задумка, надо покопать.
2. https://www.thoughtworks.com/radar/techniques/run-cost-as-architecture-fitness-function Все так или иначе начинают думать про стоимость работы кода.
3. https://www.thoughtworks.com/radar/techniques/zero-trust-security-for-ci-cd весь апрель никому не верь, а ci\cd - не верь никогда)
Для затравки три блипа
1. https://www.thoughtworks.com/radar/tools/eventcatalog каталог событий. Интересная задумка, надо покопать.
2. https://www.thoughtworks.com/radar/techniques/run-cost-as-architecture-fitness-function Все так или иначе начинают думать про стоимость работы кода.
3. https://www.thoughtworks.com/radar/techniques/zero-trust-security-for-ci-cd весь апрель никому не верь, а ci\cd - не верь никогда)
Thoughtworks
Technology Radar | Guide to technology landscape
The Technology Radar is an opinionated guide to today's technology landscape. Read the latest here.
👍15❤3
Всегда интересно почитать про DDD за пределами моего информационного пузыря 🤓
🔥6👍1
Forwarded from DevFM
Domain Driven Design
Domain Driven Design (DDD) – на первый взгляд, что-то такое сложное. Да и на второй тоже сложное. Не очень понятно, с чего начинать.
Начать можно со статьи Domain-driven design: рецепт для прагматика.
Автор на примерах проходится по основным концептам DDD:
– ubiquitous language – всё обсуждение происходит в терминах единого языка
– domain model – некий набор сущностей и сценариев, связанных с предметной областью
– bounded context – некие рамочки, в которых существует доменная модель и единый язык
Основная идея DDD – борьба со сложностью бизнес-процессов, их автоматизации и реализации в коде. Domain – предметная область и от неё нужно отталкиваться при проектировании и разработке.
Бороться со сложностью – звучит многообещающе, но "прежде чем начать бороться со сложностью с помощью Domain-Driven Design, нужно научиться бороться со сложностью самого Domain-Driven Design".
Не факт, что будете применять, но знать что это за зверь – стоит. К тому же, можно перенять некоторые полезные практики, например, ubiquitous languge – единый язык общения. На эту тему написан занимательный комментарий, что пример, приведённый в статье из мира продаж всем понятен, тривиален и нет смысла для него составлять ubiquitous languge. На что ему приводят такие термины из мира продаж: ретроскидка, скидка по фактуре, ценовое соглашение, отличное от базового и др. Кажется, не всем понятно. Это я к тому, что использование ubiquitous languge в любой области облегчит взаимодействие.
Можете посоветовать что-то толковое на тему DDD?
#skills
Domain Driven Design (DDD) – на первый взгляд, что-то такое сложное. Да и на второй тоже сложное. Не очень понятно, с чего начинать.
Начать можно со статьи Domain-driven design: рецепт для прагматика.
Автор на примерах проходится по основным концептам DDD:
– ubiquitous language – всё обсуждение происходит в терминах единого языка
– domain model – некий набор сущностей и сценариев, связанных с предметной областью
– bounded context – некие рамочки, в которых существует доменная модель и единый язык
Основная идея DDD – борьба со сложностью бизнес-процессов, их автоматизации и реализации в коде. Domain – предметная область и от неё нужно отталкиваться при проектировании и разработке.
Бороться со сложностью – звучит многообещающе, но "прежде чем начать бороться со сложностью с помощью Domain-Driven Design, нужно научиться бороться со сложностью самого Domain-Driven Design".
Не факт, что будете применять, но знать что это за зверь – стоит. К тому же, можно перенять некоторые полезные практики, например, ubiquitous languge – единый язык общения. На эту тему написан занимательный комментарий, что пример, приведённый в статье из мира продаж всем понятен, тривиален и нет смысла для него составлять ubiquitous languge. На что ему приводят такие термины из мира продаж: ретроскидка, скидка по фактуре, ценовое соглашение, отличное от базового и др. Кажется, не всем понятно. Это я к тому, что использование ubiquitous languge в любой области облегчит взаимодействие.
Можете посоветовать что-то толковое на тему DDD?
#skills
Хабр
Domain-driven design: рецепт для прагматика
Почему к DDD обычно подходят не с той стороны? А с какой стороны надо? Какое отношение ко всему этому имеют жирафы и утконосы? Специально для Хабра — текстовая расшифровка доклада «Domain-driven...
🔥13👍12❤4
Кстати про нейминг, пропустил отличную статью от коллег из Додо https://habr.com/en/companies/dododev/articles/714512/
Считаю, что проблемы привнесенные кривым неймингом точно занимают верхние строчки в различных чартах. И с неймингом как с бекапами, есть два типа людей: те кто не заморачивается с неймингом и те кто уже заморачивается.
Считаю, что проблемы привнесенные кривым неймингом точно занимают верхние строчки в различных чартах. И с неймингом как с бекапами, есть два типа людей: те кто не заморачивается с неймингом и те кто уже заморачивается.
Habr
Делай нейминг как сеньор
В чём разница между сочинением третьеклассника и статьёй в крупном таблоиде? Любой из нас сходу определит, что есть что. Даже если оба текста описывают одно и то же событие. А чем отличается код...
🔥6👍5
Используете ли вы каноничный TDD (test-first и цикл red-green- refactor)? Выберите самый подходящий вариант.
Anonymous Poll
6%
Постоянно, иначе и не могу
2%
Только на новых проектах
30%
Время от времени
13%
Умею, раньше использовал, но сейчас не применяю
27%
Нет опыта, хочу освоить
22%
Нет опыта и не планирую использовать
👍7
Продолжаем тему нейминга. Неплохой и местами капитанский доклад https://youtu.be/KHgftXIlGsY
YouTube
Naming in DDD - Sepehr Namdar & Khaled Souf - DDD EU 2022
http://dddeurope.com - https://twitter.com/ddd_eu - https://newsletter.dddeurope.com/ https://linkedin.com/company/domain-driven-design-europe
Organised by Aardling (https://aardling.eu/)
Naming is one of the hardest things to do when coding. It helps us…
Organised by Aardling (https://aardling.eu/)
Naming is one of the hardest things to do when coding. It helps us…
🔥6
Forwarded from StringConcat - разработка без боли и сожалений
Знакома ли вам ситуация, когда на предложение внедрить в проект что-то доброе и светлое, вроде чистой архитектуры, коллеги если и не кричат в открытую "нет", то очень скептически относятся ко всем доводам "за"?
К сожалению или к счастью, эволюция нашего мозга такова, что всю новую информацию он классифицирует либо как угрозу, либо как вознаграждение. При этом, проявлять интерес к чему-то новому он способен только будучи в безопасности. Почему это важно учитывать? Давайте на примере:
Петя, из-за тебя релиз вышел на три дня позже срока и всем пришлось работать до ночи. Заказчик был очень недоволен. Разве сложно написать три строчки кода, чтобы покрыть изменения после фикса бага?
Петин мозг в данном случае воспримет эту ситуацию как прямую угрозу жизни. Он, конечно, постарается сделать все, чтобы ее исправить, но осадочек, что называется, останется. И в тот момент, когда вы будете ему рассказывать про tdd, подсознательно его больше будет волновать тот факт, что если он опять накосячит с тестами, то его вышвырнут на улицу, а попробовать что-то новое без косяков невозможно, поэтому да ну его.
Как это исправить? Для этого умные люди придумали SCARF-модель, которая построена на удовлетворении 5 критически важных для мозга социальных потребностях: статус, определенность, автономность, принадлежность и справедливость.
Петя, ты перед отпуском закрывал срочный баг, но не покрыл исправление тестами. Вася внес изменения, которые откатили правку и без тебя мы не смогли это быстро починить. В следующий раз удели внимание тестам, команде важно не потерять результат твоей работы и сохранить стабильность релизов.
Опустим закадровое желание побить Петю и посмотрим, что дает такая формулировка:
🔹+2 к статусу ("без тебя не смогли", "нам важна твоя работа")
🔹+1 к определенности (ты, конечно, налажал, но мы тебя не выгоняем)
🔹0 про автономность (увы)
🔹+1 к принадлежности ("команда")
🔹+1 к справедливости (ты что-то сделал, оно привело к таким-то последствиям, вот что тебе нужно сделать, чтобы исправить ситуацию).
Итого: 5 баллов.
Чем больше баллов, тем больше наш мозг склонен воспринимать такую фразу, как обещание поощрения в будущем. И, соотвественно, чем баллов меньше, тем больше она воспринимается как угроза, даже если в реальной жизни вы не заставляете писать тесты под дулом автомата. В общем, наша рекомендация - попробовать применить. И уже если не сработает, то доставать автомат.
К сожалению или к счастью, эволюция нашего мозга такова, что всю новую информацию он классифицирует либо как угрозу, либо как вознаграждение. При этом, проявлять интерес к чему-то новому он способен только будучи в безопасности. Почему это важно учитывать? Давайте на примере:
Петя, из-за тебя релиз вышел на три дня позже срока и всем пришлось работать до ночи. Заказчик был очень недоволен. Разве сложно написать три строчки кода, чтобы покрыть изменения после фикса бага?
Петин мозг в данном случае воспримет эту ситуацию как прямую угрозу жизни. Он, конечно, постарается сделать все, чтобы ее исправить, но осадочек, что называется, останется. И в тот момент, когда вы будете ему рассказывать про tdd, подсознательно его больше будет волновать тот факт, что если он опять накосячит с тестами, то его вышвырнут на улицу, а попробовать что-то новое без косяков невозможно, поэтому да ну его.
Как это исправить? Для этого умные люди придумали SCARF-модель, которая построена на удовлетворении 5 критически важных для мозга социальных потребностях: статус, определенность, автономность, принадлежность и справедливость.
Петя, ты перед отпуском закрывал срочный баг, но не покрыл исправление тестами. Вася внес изменения, которые откатили правку и без тебя мы не смогли это быстро починить. В следующий раз удели внимание тестам, команде важно не потерять результат твоей работы и сохранить стабильность релизов.
Опустим закадровое желание побить Петю и посмотрим, что дает такая формулировка:
🔹+2 к статусу ("без тебя не смогли", "нам важна твоя работа")
🔹+1 к определенности (ты, конечно, налажал, но мы тебя не выгоняем)
🔹0 про автономность (увы)
🔹+1 к принадлежности ("команда")
🔹+1 к справедливости (ты что-то сделал, оно привело к таким-то последствиям, вот что тебе нужно сделать, чтобы исправить ситуацию).
Итого: 5 баллов.
Чем больше баллов, тем больше наш мозг склонен воспринимать такую фразу, как обещание поощрения в будущем. И, соотвественно, чем баллов меньше, тем больше она воспринимается как угроза, даже если в реальной жизни вы не заставляете писать тесты под дулом автомата. В общем, наша рекомендация - попробовать применить. И уже если не сработает, то доставать автомат.
👍40🔥8😁3❤1
Захотел загуглить какую-нибудь статью про System Design. Правктически вся выдача про System Design Interview. Такое ощущение, что данный термин стал использоваться только в контексте собесов 😅
😁44
Читал вчера статью Маттиаса Верраеса про Segregated Event Layers и внезапно узнал, что это серия статей о паттернах в контексте DDD и Messaging Architecture
https://verraes.net/2019/05/ddd-msg-arch/ Enjoy!
https://verraes.net/2019/05/ddd-msg-arch/ Enjoy!
Mathias Verraes' Blog
DDD and Messaging Architectures
An overview of my different series on patterns in distributed systems.
❤22👍2🎉1
Kenny Baas-Schwegler и Virtual DDD приглашают на встречу с Udi Dahan. Крайне рекомендую послушать. Также есть возможность заранее задать свои вопросы
https://www.meetup.com/virtual-domain-driven-design-meetup/events/294468728/
https://www.meetup.com/virtual-domain-driven-design-meetup/events/294468728/
👍14😁1
Хорошая новость: ACM опять договорился с O’Reilly, а заодно с Pluralsight и Skillsoft Percipio. И у них по-прежнему есть скидка для России (стоимость подписки $40 в год).
Плохая новость: Теперь это дополнительная платная опция (+$75 в год), да и курс с тех пор немного вырос.
Предложение теперь не такое заманчивое как раньше, но 1000р в месяц не выглядят такими уж безумными за пакет из 4 подписок (сам АСМ + три сторонних). Одна годовая подписка O’Reilly стоит в пять раз больше.
https://learning.acm.org/skills-bundle
Плохая новость: Теперь это дополнительная платная опция (+$75 в год), да и курс с тех пор немного вырос.
Предложение теперь не такое заманчивое как раньше, но 1000р в месяц не выглядят такими уж безумными за пакет из 4 подписок (сам АСМ + три сторонних). Одна годовая подписка O’Reilly стоит в пять раз больше.
https://learning.acm.org/skills-bundle
learning.acm.org
ACM has created a new Skills Bundle add-on providing unlimited access to ACM's collection of thousands of online books, courses…
The new Skills Bundle add-on is available to paid Professional Members only for the low additional cost of just $75 per year.
🔥17👍3
Неплохая подборка видео про DDD и около.
https://x.com/mjovanovictech/status/1695752490069762490?s=46&t=ExJM-wcqikMl9I7JeOzofA
P.S. Из очевидных плюсов – очень понятный по произношению английский 😅
https://x.com/mjovanovictech/status/1695752490069762490?s=46&t=ExJM-wcqikMl9I7JeOzofA
P.S. Из очевидных плюсов – очень понятный по произношению английский 😅
👍23😁7
Forwarded from Systems.Education: Системный Анализ и Проектирование информационных систем: архитектура, интеграции, базы данных (Systems Education)
Event Sourcing — это паттерн проектирования в информационных системах, который заключается в сохранении состояния системы путем сохранения истории всех событий, происходящих в системе.
Вместо того, чтобы сохранять текущее состояние объекта, система сохраняет все события, произошедшие с объектом, и воссоздает текущее состояние, используя эти события.
Когда происходит изменение состояния объекта, система создает новое событие и сохраняет его в хранилище событий. Это событие содержит информацию о том, что произошло, а не о текущем состоянии объекта. При необходимости система может воссоздать текущее состояние объекта, применяя все события из хранилища событий.
➖Хотите узнать подробнее, что такое event sourcing и какие преимущества и недостатки он имеет?
➖Хотите понять, какие трудности могут возникнуть при использовании этой технологии?
Тогда присоединяйтесь к нашему вебинару «Плюсы, минусы и подводные камни Event Sourcing», который состоится 28 cентября в 19:00 МСК
На вебинаре Станислав Щетинников из Сбера подробно расскажет о том, как на самом деле работает event sourcing, какие задачи он решает и какие преимущества он имеет. Мы также рассмотрим недостатки этой технологии и поделимся опытом в использовании event sourcing в реальных проектах.
Вебинар будет полезен разработчикам, архитекторам, техническим руководителям, которые хотят узнать больше о новых технологиях и подходах в разработке программного обеспечения.
✔️Подробности и регистрация
Вместо того, чтобы сохранять текущее состояние объекта, система сохраняет все события, произошедшие с объектом, и воссоздает текущее состояние, используя эти события.
Когда происходит изменение состояния объекта, система создает новое событие и сохраняет его в хранилище событий. Это событие содержит информацию о том, что произошло, а не о текущем состоянии объекта. При необходимости система может воссоздать текущее состояние объекта, применяя все события из хранилища событий.
➖Хотите узнать подробнее, что такое event sourcing и какие преимущества и недостатки он имеет?
➖Хотите понять, какие трудности могут возникнуть при использовании этой технологии?
Тогда присоединяйтесь к нашему вебинару «Плюсы, минусы и подводные камни Event Sourcing», который состоится 28 cентября в 19:00 МСК
На вебинаре Станислав Щетинников из Сбера подробно расскажет о том, как на самом деле работает event sourcing, какие задачи он решает и какие преимущества он имеет. Мы также рассмотрим недостатки этой технологии и поделимся опытом в использовании event sourcing в реальных проектах.
Вебинар будет полезен разработчикам, архитекторам, техническим руководителям, которые хотят узнать больше о новых технологиях и подходах в разработке программного обеспечения.
✔️Подробности и регистрация
😁5👍4❤1