«Bring Functional Programming to production (Lightning Talk)», Yaroslav Hryniuk
Writing purely functional applications is hard. There are a lot of parts of the puzzle like typelevel/cats, typelevel/cats-effect, category theory, etc, but, unfortunately, there is no defined complete approach to do that. I am going to put all together and provide a set of rules for writing such kind of applications. Firstly, we are going to abstract over a container, and define code capabilities using typeclasses from cats and cats-effect. Then, I will show some practical problems we can easily solve using given approach. Currently, this approach is being adopted and used in WIX for production.
«Visualising IoT devices with Akka and Grafana», Willem Jan Glerum
Nowadays everything becomes smart at home, smart lights, smart thermostats, smart washing machines and even a smart coffee machine! Every device has its own manufacturer, protocol and API. To get a central monitoring dashboard, we will use Akka to collect different measurements and store them in InfluxDB to be visualised with Grafana. During this talk we will show you how easy you can add a new actor for a new device or protocol.
«Sangria — GraphQL APIs in Scala», Volodymyr Tsukur
REST-ish APIs have become the de-facto standard in the last 10 years. But is it always the right choice? Facebook, GitHub, and Pinterest challenge status quo in network communication and embrace GraphQL - query language for the APIs. This evolving standard also gives you runtime to execute the queries and enables comprehensive dev tooling, making it juicy for a developer to try and explore. That's what we, at Wix, did too! In this talk enriched with live coding, we will see GraphQL in real, practical action under Sangria sauce. We'll elaborate on our experience with GraphQL at Wix, see how it compares to REST, and, like with every other technology, understand its limits and shortcomings. So, is GraphQL right for you? Come by, and we'll see!
«Trembita library (Lightning Talk)», Vitalii Honta
Project Trembita is a library in active development. Modules and functions are designed due to experience of our company and our needs. There are a lot of boilerplate in production code that Trembita could eliminate. It have been started as lazy collections running sequentially, in parallel and on top of actor model. I see a big potential in this project so that we will use it in our production code.
«Those 10000 classes I never wrote — the power of recursion schemes applied to data engineering», Valentin Kasas
When validating data with Spark, or read/writing it to Kafka topics, the go-to solution is to write a Scala case class and let the compiler generate the code that would coerce incoming data to your business types. But what if you had only 5 developers, 10000+ data structures and only a few months to ship your project? Let me show you how the power of recursion schemes combined with expressive schemas allowed us to write the code that validates and transforms data from dozens of tables from hundreds of data sources, and ship our project in time and on budget.