🍁 🥁 Auf geht's in den Konferenzherbst: Am 28. und 29. September kehrt die @bedcon nach 3 Jahren zurück und wir sind mit einem Stand und Vorträgen dabei. Sehen wir uns dort?
Wir freuen uns schon auf zwei aufregende Konferenztage rund um #Programming, #DDD und #Softwareentwicklung mit Euch in #Berlin!
👉 Unsere Vorträge: https://www.innoq.com/de/talks/?all=true&conference=berlin-expert-days-2023
#programming #ddd #softwareentwicklung #berlin
{{ define "main" }}
<style>
/* 弹窗样式 */
.custom-popup {
width: 500px;
padding: 20px;
background-color: #e9f3fb;
border: 1px solid #ddd;
border-radius: 5px;
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
text-align: center;
font-family: ipx;
color: #8aa2d3;
margin: 0 auto;
}
.custom-popup input[type="password"] {
width: 100%;
padding: 10px;
margin-bottom: 10px;
border: 1px solid #ccc;
border-radius: 3px;
}
.custom-popup button {
background-color: #34495e;
color: #fff;
border: none;
border-radius: 3px;
padding: 10px 20px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.custom-popup button:hover {
background-color: #465b70; /* 鼠标悬停时的背景颜色 */
}
/* 密码错误提示样式 */
.error-message {
color: red;
font-size: 14px;
margin-top: 10px;
}
body[data-theme='dark'] .overlay {
background-color: #2f3136; /* 黑夜模式下的背景颜色 */
}
body[data-theme='dark'] .custom-popup {
background-color: #1e1e1e; /* 黑夜模式下的背景颜色 */
color: #8aa2d3; /* 黑夜模式下的文字颜色 */
}
body[data-theme='dark'] .custom-popup button {
background-color: #2c3e50; /* 黑夜模式下的按钮背景颜色 */
}
body[data-theme='dark'] .custom-popup button:hover {
background-color: #34495e; /* 黑夜模式下按钮悬停时的背景颜色 */
}
</style>
<div class="custom-popup">
<h2>请输入页面认证密钥</h2>
<input type="password" id="password" placeholder="密码">
<button id="submit-button">开启</button>
<div class="error-message" id="error-message"></div> <!-- 密码错误提示 -->
</div>
<script>
var passwordInput = document.getElementById('password');
var submitButton = document.getElementById('submit-button');
var errorMessage = document.getElementById('error-message');
passwordInput.addEventListener('keyup', function(event) {
if (event.key === 'Enter') {
submitButton.click(); // 模拟点击提交按钮
}
});
submitButton.addEventListener('click', function() {
var inputPassword = passwordInput.value;
if (inputPassword === '密码1) {
window.location.href = '/跳转页面';
} else if (inputPassword === '密码2') {
window.location.href = '跳转页面';
} else {
errorMessage.textContent = '认证失败!'; // 显示错误提示
}
});
</script>
{{ end }}
#e9f3fb #ddd #8aa2d3 #ccc #34495e #fff #465b70 #2f3136 #1e1e1e #2c3e50
{{ define "main" }}
<style>
/* 弹窗样式 */
.custom-popup {
width: 500px;
padding: 20px;
background-color: #e9f3fb;
border: 1px solid #ddd;
border-radius: 5px;
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1);
text-align: center;
font-family: ipx;
color: #8aa2d3;
margin: 0 auto;
}
.custom-popup input[type="password"] {
width: 100%;
padding: 10px;
margin-bottom: 10px;
border: 1px solid #ccc;
border-radius: 3px;
}
.custom-popup button {
background-color: #34495e;
color: #fff;
border: none;
border-radius: 3px;
padding: 10px 20px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.custom-popup button:hover {
background-color: #465b70; /* 鼠标悬停时的背景颜色 */
}
/* 密码错误提示样式 */
.error-message {
color: red;
font-size: 14px;
margin-top: 10px;
}
body[data-theme='dark'] .overlay {
background-color: #2f3136; /* 黑夜模式下的背景颜色 */
}
body[data-theme='dark'] .custom-popup {
background-color: #1e1e1e; /* 黑夜模式下的背景颜色 */
color: #8aa2d3; /* 黑夜模式下的文字颜色 */
}
body[data-theme='dark'] .custom-popup button {
background-color: #2c3e50; /* 黑夜模式下的按钮背景颜色 */
}
body[data-theme='dark'] .custom-popup button:hover {
background-color: #34495e; /* 黑夜模式下按钮悬停时的背景颜色 */
}
</style>
<div class="custom-popup">
<h2>请输入页面认证密钥</h2>
<input type="password" id="password" placeholder="密码">
<button id="submit-button">开启</button>
<div class="error-message" id="error-message"></div> <!-- 密码错误提示 -->
</div>
<script>
var passwordInput = document.getElementById('password');
var submitButton = document.getElementById('submit-button');
var errorMessage = document.getElementById('error-message');
passwordInput.addEventListener('keyup', function(event) {
if (event.key === 'Enter') {
submitButton.click(); // 模拟点击提交按钮
}
});
submitButton.addEventListener('click', function() {
var inputPassword = passwordInput.value;
if (inputPassword === '密码1) {
window.location.href = '/跳转页面';
} else if (inputPassword === '密码2') {
window.location.href = '跳转页面';
} else {
errorMessage.textContent = '认证失败!'; // 显示错误提示
}
});
</script>
{{ end }}
#e9f3fb #ddd #8aa2d3 #ccc #34495e #fff #465b70 #2f3136 #1e1e1e #2c3e50
Oh you’re free like a bird with @ApiPlatform
Sure you can do as you say….
But you can also, as I do, go full #DDD and decouple everything
In our case, the business layer is completely decoupled from the framework
@chalasr has a talk somewhere where he shows the basic principles… I think he also did the talk in English… let me check
#ddd recently came up in conversation with a mentee. Having read Eric Evans’ Domain Driven Design book a few years ago, I recently stumbled upon this free ebook which is a refreshingly succinct revisiting of the topic (compared to the original tome). https://www.infoq.com/minibooks/domain-driven-design-quickly/
On the concrete side, there are repos of opinionated domain driven hexagonal examples with which to cement the concepts: https://github.com/Sairyss/domain-driven-hexagon #architecture
In unserer neuen Folge von Papperlapapp - Spaß mit Klammern reden wir über Event-Storming! 🌬️
https://www.youtube.com/watch?v=52J9GKfAjAo
Was ist Event-Storming? Wie funktioniert das? Wann kann das helfen?
Zusammen mit @AndreasEK erklären wir das und erzählen von unseren Erfahrungen mit dieser klasse Methode!
Habt ihr Event-Storming schonmal eingesetzt? Wie sind eure Erfahrungen? Schreibt es in die Kommentare! ✍️
#eventstorming #ux #userexperience #ddd #domaindrivendesign #papperlapapp #youtube #techfluencer
#eventstorming #ux #userexperience #ddd #DomainDrivenDesign #papperlapapp #youtube #techfluencer
I keep hearing about frameworks like Brighter/Darker, Wolverine ("critter stack") etc that are alternatives to Mediatr.
Any suggestions on what is better from a DDD or event-driven development point of view taking into account developer productivity and performance?
#dotnet #ddd #evetdrivendevekopment #mediatr #brighter #wolverine
#dotnet #ddd #evetdrivendevekopment #mediatr #brighter #wolverine
Leute, wir sind zurück. Mit einer neuen @papperlapapp UX Folge.
Oder - ist es wirklich eine UX Folge??
Es geht um das Thema Event Storming und darum, warum diese Methode auch ohne Domain Driven Design sinnvoll sein kann!
#eventstorming #ddd #domaindrivendesign #ux #uxdesign #userexperience
#eventstorming #ddd #DomainDrivenDesign #ux #uxdesign #userexperience
Reflecting a bit on the work I had done to be able to publish https://github.com/whaally/domain in its current form, but that's going all the way back to 2016 😅
Perhaps the first recognizable prototype can be found in this blog post from 2022: https://www.corstianboerman.com/blog/2022-01-20/event-sourced-aggregates #software #DDD #dotnet
I signed up for the @virtualddd Open Space Meetup happening on September 20th! Logged into Gather.town and created my avatar.
This is going to be fun! Check it out here: https://techhub.social/@virtualddd/110831608753228330
#ddd #OpenSpaces #domaindrivendesign
Wie Agile Transformationen und Domain-driven Design sich gegenseitig unterstützen können – 📘 Neuer Artikel von Lana Knödler & Christian Nockemann
@nockemannc #agile #transformation #ddd #domaindrivendesign
https://www.informatik-aktuell.de/entwicklung/methoden/agile-transformationen-und-domain-driven-design-unterstuetzen-sich.html
#agile #transformation #ddd #DomainDrivenDesign
A process may not always be as simple as it seems. #DomainStorytelling can help bring out the details of complex processes. The #NimblePros webinar on Domain Storytelling is happening this Thursday! Learn more about the event and sign up today: https://mailchi.mp/nimblepros/domain-storytelling-webinar #DDD #SoftwareDevelopment
#domainstorytelling #nimblepros #ddd #softwaredevelopment
My #NimblePros #DomainStorytelling webinar is happening this Thursday! Learn more about the event and sign up today: https://mailchi.mp/nimblepros/domain-storytelling-webinar #DDD #SoftwareDevelopment
#nimblepros #domainstorytelling #ddd #softwaredevelopment
My #NimblePros #DomainStorytelling webinar is happening this Thursday! Learn more about the event and sign up today: https://mailchi.mp/nimblepros/domain-storytelling-webinar #DDD #SoftwareDevelopment
#nimblepros #domainstorytelling #ddd #softwaredevelopment
Hey #DDD and #EventSourcing community. Are there any event-sourcing databases that aim for simplicity? A bit what sqlite is for relational databases. But aimed at storing events.
Hell, even storing json-on-disk would work, I guess.
I doesn't need thousands of tps, nor load-balancing or redundancy and such. Like SQLite, storing on disk is fine for my use-case, and, like sqlite, having it integrated in the app preferable over a separate service.
Anything?
Hey #Developer in #Adelaide
Did you know we have our very own conference going on in #Adelaide this November?
#developer #adelaide #dev #ddd
ふわっと理解するDDD ~ドメイン駆動設計~
https://qiita.com/yu-saito-ceres/items/f73262cedcdd6e8e75c8?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
#qiita #初心者 #DDD #ドメイン駆動設計 #entity #ValueObject
#qiita #初心者 #ddd #ドメイン駆動設計 #entity #valueobject
Hey #developers. Wenn Ihr interessiert seit, wie die Software-Architektur bei @digitec_ch @Galaxus aussieht, dann gibt es am 6.9. einen Livestream von unserem Domain-Architect Oliver Girard. Sehr empfehlenswert!
#developers #coding #architecture #dotnet #kafka #ddd
So I am currently doing some #DDD documentation driven development with League\Uri v7. Every time I re-read the documentation to see if all is OK before release I found ways to improve the doc example which leads to updating the public API which means refactoring the code adding tests and changing the doc. #php #thecircleoflife
#CloudAutomation à la #DDD: From stringly typed to affordances
Domain-driven design very much applies to technical domains. Let’s try it on event-driven #cloud systems to see why I am such a big fan of object-oriented automation languages.