mirror of
https://codeberg.org/JasterV/jaster.xyz.git
synced 2026-04-26 18:10:01 +00:00
Update typos & add new diagram to latest post
This commit is contained in:
parent
33c0b31ce1
commit
c39914d979
2 changed files with 50 additions and 1 deletions
|
|
@ -224,6 +224,55 @@ Then, if a module that is interested on those events can simply subscribe to the
|
|||
|
||||
This automatically makes our application more flexible, testable and maintainable.
|
||||
|
||||
Let's look at a diagram of the new target architecture:
|
||||
|
||||
|
||||
<div class="diagram" align="center">
|
||||
|
||||
```d2 width="500" theme=303 title="event-driven architecture diagram"
|
||||
direction: down
|
||||
|
||||
user {
|
||||
shape: c4-person
|
||||
}
|
||||
|
||||
firmware {
|
||||
door_server: DoorServer
|
||||
lights: Lights
|
||||
notifications: Notifications
|
||||
|
||||
door_topic: Door events topic {
|
||||
shape: queue
|
||||
}
|
||||
|
||||
label.near: bottom-left
|
||||
}
|
||||
|
||||
third_party_notifications_service: 3rd party notifications service {
|
||||
shape: cloud
|
||||
}
|
||||
|
||||
hardware: {
|
||||
shape: rectangle
|
||||
}
|
||||
|
||||
user -> firmware.door_server: lock door {style.animated: true}
|
||||
|
||||
firmware.door_server -> firmware.door_topic: door_locked {style.animated: true}
|
||||
|
||||
firmware.door_topic -> firmware.lights: door_locked {style.animated: true}
|
||||
|
||||
firmware.door_topic -> firmware.notifications: door_locked {style.animated: true}
|
||||
|
||||
firmware.door_server -> hardware: lock {style.animated: true}
|
||||
|
||||
firmware.lights -> hardware: set_lights_red {style.animated: true}
|
||||
|
||||
firmware.notifications -> third_party_notifications_service: send_notification {style.animated: true}
|
||||
```
|
||||
|
||||
</div>
|
||||
|
||||
## Introducing Phoenix PubSub
|
||||
|
||||
[Phoenix PubSub](https://github.com/phoenixframework/phoenix_pubsub) is a known Elixir library that comes with the Phoenix framework.
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ const backgroundImageUrl = `url('${optimizedBgImage.src}')`;
|
|||
<meta
|
||||
name="description"
|
||||
content="My personal blog where I write about my learning on software development & coding.
|
||||
Learn with my about best coding practices and new tools to add to your developer toolbox."
|
||||
Learn with me about best coding practices and new tools to add to your developer toolbox."
|
||||
/>
|
||||
<link rel="sitemap" href="/sitemap-index.xml" />
|
||||
<title>{title}</title>
|
||||
|
|
|
|||
Loading…
Reference in a new issue