«Flawors of streaming», Ruslan Shevchenko
Functional Streaming becomes one of the key techniques, used in data processing, which impacts software architecture on the micro and macro levels. In the first part of the talk, we will outline key ideas and their implementations. Then we will look into API and internal details of scala-gopher: a CSP-style concurrency framework builds on top of akka and async macro, to receive a united view of different concurrency models and show the recent development of the library, caused by the first steps of industry adoption.
«Demystifying type-class derivation in Shapeless», Yurii Ostapchuk
Have you been scared when you've seen shapeless for the first time? Like I was? Well, in this talk I will try to demystify some of the core concepts of this elegant library, try to give you a hint on how to approach it. We will start from the basics, rethinking ADTs in Scala and their generic representations. Then we will go through the notion of Type Class pattern and how we can derive instances for generic ADTs. There will be a short livecoding sessions throughout the talk, covering some of the specific type-level patterns.
«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.
«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.
«Spark for noobs», Paul Lysak
An introduction to Apache Spark for those who might have heard of it but never tried, and for those who mastered some basic tutorials but still unsure how to use it in real project. It covers basic Spark concepts, execution model, overview of approaches for running Spark application with special focus on Amazon EMR, some not-so-complex tricks and performance considerations which are better to be taken into account from the beginning.