«Implementing CQRS with Akka», Michał Tomański
Command Query Responsibility Segregation is an innovative pattern focusing on the way we interact with our data. The core idea is that we split our data model into two: write model and read model. It's getting more interesting when we mix CQRS with Event Sourcing. This approach might leave us with two separate databases, namely a storage for events and a storage for views. We're going to see in practice the problems that we can solve with CQRS and the problems that it introduces. In this talk, CQRS and ES will be implemented with a great help of Akka toolkit.
«Kappa Architecture», Juantomás García Molina
The kappa architecture was coined by Jay Kreps in a key post that he wrote for the o'reilly radar website. Kappa Architecture is an strategic pattern design to work with data. At the talk we will see the main concepts, what's the differences with lambda architecture, why scala language is very important in all the definition and creation of the project and what's our favorite tools to implement it (kafka+spark+scala). In addition we will show a real use case with IoT (with data from cars) and how the adoption of kappa architecture improve the project. We will finish with our vision about the future with tools like google dataflow, apache beams or Scio (an scala port of apache beams).
«Mastering Optics in Scala with Monocle», Shimi Bandiel
Lenses are an important functional-programming “design pattern” often described as “immutable getters and setters”. In this session, we’ll get familiar with optics-related patterns (e.g.: Lens, Prism, Traverse, Iso) based on the popular Monocle library. The session targets Scala developers who feel at ease with Scala syntax.
«Property-based testing with ScalaCheck», Slava Schmidt
ScalaCheck is a well known testing framework with about a dozen of talks already dedicated to it. Though detailed most of them present the features of the framework in a rather abstract way, often using undemanding examples. In this live-coding session we will develop a small yet complete game using ScalaCheck to drive the development process.
«Reactive Programming in the Browser with Scala.js and Rx», Luka Jacobowitz
Creating User Interfaces has traditionally been a mostly imperative matter and building UIs in a functional way has never really been easy. In this talk we’ll learn how to build UIs using only pure functions with the help of Reactive Programming and Scala.js. We will take a look at OutWatch, a new UI Library based on Rx, look at what works well, identify more challenging tasks and unlock the full potential of functional design and type safety with functional programming in the browser.