Scala Advanced, Part 2 - Best Practices, Async, Serializing
Idioms and Patterns, Dependency Injection, XML, JSON, Custom Extractors and Asynchronous Programming with Futures
Description
The Escalate Software Scala Advanced course is intended for experienced Scala developers looking to improve their skills, particularly for library and API design and development. It covers topics needed to be effective in producing high quality, correct, powerful and flexible Scala libraries that are still easy to use by others.
Part 2 provides advice on best practices and patterns drawn from many years of real-world experience in Scala programming. In addition, strategies for compile-time verified dependency injection are covered, then XML and JSON serialization and deserialization, the use of custom extractors for pattern matching, and finally the very popular and important topic of asynchronous programming using Scala Futures:
Dependency Injection
Idioms and Best Practice advice
Patterns - Gang of Four
Scala specific patterns
XML literals and features
JSON libraries and type-classes
Custom extractors in pattern matching
Futures
Future functions and combinators
Patterns with Futures
It is recommended that you complete Scala Advanced part 1 before taking this part. While not strictly necessary, we may assume knowledge from part 1 in some of the explanations that could be hard to follow unless you know the material.
Part 3 (following this) builds on the information in these first two parts of the advanced course and moves into more advanced functional programming topics, along with performance optimization and more.
What You Will Learn!
- Be aware of the latest best practices, patterns and idioms in Scala programming
- Save and load data into Scala, taking full advantage of the Scala type system to obtain rich, useful types
- Use Scala Futures to program asynchronously and reactively, and implement more parallelization and performance in your code
Who Should Attend!
- Scala developers looking to improve their skills, write libraries and APIs for others, and learn patterns and best practices
- Developers looking to work in an asynchronous way with Futures
- Scala programmers using JSON and/or XML (or other data serialization)