feat: add presentation
18
.drone.yml
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: exec
|
||||
name: Build and deploy
|
||||
|
||||
steps:
|
||||
- name: Build Presentation
|
||||
commands:
|
||||
- cd presentation
|
||||
- marp presentation.md -o index.html
|
||||
- cp * /home/andr3/services/notes/presentation
|
||||
|
||||
trigger:
|
||||
branch:
|
||||
- main
|
||||
node:
|
||||
lights: builder
|
||||
|
BIN
presentation/atomas.png
Normal file
After Width: | Height: | Size: 478 KiB |
BIN
presentation/first-step.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
presentation/fourth-step.png
Normal file
After Width: | Height: | Size: 106 KiB |
557
presentation/presentation.html
Normal file
102
presentation/presentation.md
Normal file
@ -0,0 +1,102 @@
|
||||
---
|
||||
style: |
|
||||
img[alt~="center"] {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.2em;
|
||||
position: fixed;
|
||||
top: 1em;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
h4 {
|
||||
text-align: center;
|
||||
font-size: 1.2em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
img[alt~="top-m"] {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
---
|
||||
|
||||
# A Paxos implementation
|
||||
|
||||
Andre Henriques
|
||||
|
||||
---
|
||||
|
||||
# Basis of the implentation
|
||||
|
||||
|
||||
![Structure](./structure.png) ![Steps](./steps.png)
|
||||
|
||||
---
|
||||
|
||||
# Steps
|
||||
|
||||
```elixir
|
||||
receive do
|
||||
{:leader_elector, proc} -> ...
|
||||
{:propose, inst, value, t, pid_to_inform} -> ...
|
||||
{:prepare, proc, inst, ballot} -> ...
|
||||
{:nack, inst, ballot} -> ...
|
||||
{:prepared, inst, ballot, accepted_ballot, accepted_value} -> ...
|
||||
{:accept, inst, ballot, value} -> ...
|
||||
{:accepted, inst, ballot} -> ...
|
||||
{:decide, inst, value} -> ...
|
||||
end
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 1 - "Requirements"
|
||||
|
||||
![50% center](./first-step.png)
|
||||
|
||||
---
|
||||
|
||||
### Step 2 - "Prepare"
|
||||
|
||||
![w:600 center](./second-step.png)
|
||||
|
||||
---
|
||||
|
||||
### Step 3 - "Accept"
|
||||
|
||||
![w:600 center](./third-step.png)
|
||||
|
||||
---
|
||||
|
||||
### Step 4 - "Leader Crash"
|
||||
|
||||
![w:600 center](./fourth-step.png)
|
||||
|
||||
---
|
||||
|
||||
# Application
|
||||
|
||||
---
|
||||
|
||||
### Atomas
|
||||
|
||||
![w:300 center top-m](./atomas.png)
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Safety
|
||||
- If a game state exists, then it was created by a user
|
||||
- The game state can not divert.
|
||||
|
||||
## Liveness
|
||||
- Eventually all users will have the same game state
|
||||
|
||||
---
|
||||
|
||||
#### Questions?
|
BIN
presentation/second-step.png
Normal file
After Width: | Height: | Size: 148 KiB |
BIN
presentation/steps.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
presentation/structure.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
presentation/third-step.png
Normal file
After Width: | Height: | Size: 187 KiB |