I hereby claim:
- I am jasongoodwin on github.
- I am jasongoodwin (https://keybase.io/jasongoodwin) on keybase.
- I have a public key ASCoW0mBFXZcqxjffgX-HYufPDj_SUIkQNclZlLEVbAUlAo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
echo hello world |
theme: Fira, 3 | |
# Domain Driven Design (DDD) with Elixir | |
- jason@funnelcloud.io | |
- (we're hiring) | |
--- | |
# Intent | |
- give an introduction to DDD conceps | |
- design | |
- architecture | |
- *HEURISTICS* |
theme: Sketchnote, 7 | |
build-lists: false | |
slidenumbers: true | |
autoscale: true | |
--- | |
# Functional Programming Paradigms In Elixir | |
- Objectives: | |
- Understand functional programming a bit better |
defmodule LoggingFake do | |
@moduledoc """ | |
This server is a Fake. | |
It will log the messages received. | |
Helpful stub of a genserver. | |
""" | |
use GenServer | |
require Logger | |
def handle_call(msg, _from, state) do |
--- | |
# Functional Programming Paradigms In Elixir | |
- Objectives: | |
- Understand functional programming a bit better | |
- Categorize and understand approaches | |
- See which approaches fit which problems | |
- Map concepts and approaches from Scala/Haskell to elixir | |
--- |
package contexts.cart.cluster; | |
import akka.actor.ActorRef; | |
import akka.actor.ActorSystem; | |
import akka.actor.CoordinatedShutdown; | |
import akka.actor.Props; | |
import akka.cluster.sharding.ClusterSharding; | |
import akka.cluster.sharding.ClusterShardingSettings; | |
import akka.cluster.sharding.ShardRegion; | |
import akka.event.Logging; |
package contexts.cart.cluster; | |
import akka.actor.PoisonPill; | |
import akka.actor.ReceiveTimeout; | |
import akka.cluster.sharding.ShardRegion; | |
import akka.japi.pf.ReceiveBuilder; | |
import akka.persistence.AbstractPersistentActor; | |
import contexts.cart.api.CartItem; | |
import scala.PartialFunction; | |
import scala.concurrent.duration.Duration; |
package com.akkademy | |
import akka.actor._ | |
import akka.event.Logging | |
import akka.pattern.{CircuitBreaker, ask} | |
import akka.util.Timeout | |
import com.akkademy.sapi.{GetRequest, KeyNotFoundException, SetRequest} | |
import scala.collection.mutable.HashMap | |
import scala.concurrent.Await |
import akka.actor._ | |
import akka.actor.SupervisorStrategy._ | |
import akka.routing.RoundRobinRouter | |
object Main { | |
val system = ActorSystem("TestActorSystem") | |
val escalator = OneForOneStrategy() { | |
case e: ActorInitializationException ⇒ | |
println("Got exception during actor start: " + e) |