akka with scala

  • Developers who need to quickly ramp on both Scala and Play in a single workshop.

The Akka with Scala training course focuses on ramping existing Java, C#, C++, etc, developers into becoming full-fledged Scala and Akka Framework developers.

This course assumes strong prior experience with: object oriented programming, web application development, design patterns, and the idea of a DSLs.

COURSE AGENDA

  • Lists
  • Buffers
  • Sets
  • Maps
  • Arrays
  • Streams
  • Vectors and Tries
  • Options
  • For-Comprehensions
  • Functions and Higher Order Functions
  • Functions from Objects
  • Partial Functions
  • Recursion
  • Classes and Objects
  • Nulls, Nothing, and Units
  • Case Classes
  • Abstract Classes and Basic Traits
  • Primitive and simple types
  • Control structures
  • Better Access Modifiers
  • Lazy Values
  • About Scala
  • Setting up SBT
  • The Language
  • Traits
  • Parameterized Types and Abstract types
  • Self types
  • Path Dependent Types
  • Type Safe Duck Typing with Structural types
  • Covariance, Invariance, Contravariance
  • Manifests and Reflections
  • Matching Lists, Options, Tuples, and Regular Expressions
  • Pattern Guards
  • Case Class and Sealed Case Class Matching
  • Custom Pattern Matching with Extractors
  • Implicit Conversions
  • Implicit Parameters
  • Type Classes
  • View Bounds
  • Scala and Java Interoperability
  • ScalaTest with Easy Mock
  • Specs2 with Mockito
  • ScalaMock
  • ScalaCheck
  • Dependency Injection with Java frameworks
  • Functional Patterns
  • Cake Pattern
  • Higher Kinded Types and Existentials
  • Setting up Akka
  • About Akka
  • Actors & Supervision
  • What is Akka
  • History or Akka
  • Requirements of Akka
  • Understanding the Akka and Scala Community
  • Terminology
  • Use Cases of Akka
  • Untyped Actors in Java
  • Untyped Actors in Scala
  • Typed Actors in Java
  • Typed Actors in Scala
  • The History of java.util.concurrent
  • Understanding scala.util.concurrent
  • Futures and Promises
  • Using Futures and Promises in Actors
  • One for One Strategy
  • One for All Strategy
  • Configuring Dispatchers
  • Configuring Mailboxes
  • Configuring Additional Routers to Handle Load
  • Understanding Netty
  • Configuring Additional Systems to Handle Load
  • Listening for changes on the Event Bus
  • Change state Becoming and Unbecoming
  • Using Finite State Machines
  • Create atomic references with STM (Software Transactional Memory)
  • Managing State with Agents
  • Coordinate Actors with Transactors
  • Configuring Clusters of Actors
  • Using Clusters