(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
A state machine is defined as follows:
Input
- a set of inputsOutput
- a set of outputsState
- a set of statesS0 ∈ S
- an initial stateT : Input * State -> Output * State
- a transition functionIf you model your services (aggregates, projections, process managers, sagas, whatever) as state machines, one issue to address is management of State
. There must be a mechanism to provide State
to the state machine, and to persist resulting State
for subsequent retrieval. One way to address this is by storing State
is a key-value store. Another way is to use a SQL database. Yet another way is event sourcing. The benefit of even sourcing is that you never need to store State
itself. Instead, you rely on the Output
of a service to reconstitute state. In order to do that, the state machine transition function needs to be factored into two functions as follows:
It's now here, in The Programmer's Compendium. The content is the same as before, but being part of the compendium means that it's actively maintained.
sudo: required #is required to use docker service in travis | |
language: php #can be any language, just php for example | |
services: | |
- docker # required, but travis uses older version of docker :( | |
install: | |
- echo "install nothing!" # put your normal pre-testing installs here |
package controllers | |
import java.io.Writer | |
import akka.util.ByteString | |
import io.prometheus.client._ | |
import io.prometheus.client.exporter.common.TextFormat | |
import play.api.http.HttpEntity | |
import play.api.mvc._ |
#The Functional Programmers Cheat Sheet for NDC Oslo 2014
This year NDC Oslo has a full three-day functional programming track with an amazing lineup. If you agree that the future of programming is FP, use this as your "auto pilot" guide on what sessions to attend.
Cheer for sessions on Twitter using the #ndcoslo and #fptrack hashtags.
[The full agenda (including non-fp sessions) is here].
#OS junk files | |
[Tt]humbs.db | |
*.DS_Store | |
#Visual Studio files | |
*.[Oo]bj | |
*.user | |
*.aps | |
*.pch | |
*.vspscc |