Slide 1

Slide 1 text

Typeclasses, Monads, etc. Functional programming in Scala can be simple!

Slide 2

Slide 2 text

Cassandra Client for Scala

Slide 3

Slide 3 text

“The plan” • Typeclasses - code reuse • Actors - asynchronousness and self-healing • Monads - composition and reasoning

Slide 4

Slide 4 text

• Keyspace =~ db schema • Column family =~ db table

Slide 5

Slide 5 text

Operations on rows

Slide 6

Slide 6 text

Implicit keyspace

Slide 7

Slide 7 text

Operations on objects

Slide 8

Slide 8 text

Typeclasses Demo

Slide 9

Slide 9 text

Typeclasses summary Numeric[T] Serializable[T]

Slide 10

Slide 10 text

Actors

Slide 11

Slide 11 text

JVM Cassandra Actor Router Actor Cassandra Actor Connection Cassandra Get(...) Cassandra Actor Connection Cassandra Actor Connection

Slide 12

Slide 12 text

Blocking vs Non-blocking

Slide 13

Slide 13 text

Akka Demo

Slide 14

Slide 14 text

Actors API

Slide 15

Slide 15 text

Composition

Slide 16

Slide 16 text

Composition Demo

Slide 17

Slide 17 text

Monads summary

Slide 18

Slide 18 text

Questions? Peter Gabryanczyk @piotrga [email protected] http://blog.scala4java.com We are hiring!