h264, yuv420p, 1280x720 |ENGLISH, aac, 48000 Hz, stereo, s16 | 4h 54 mn | 1.92 GB
Instructor: Dick Wall
Advanced Functional Programming, Macros, Parser-Combinators, Performance, Profiling, Optimizing
Advanced Functional Programming, Macros, Parser-Combinators, Performance, Profiling, Optimizing
What you'll learn
Advanced Functional Programming, Tail Calls, Trampolines, Functors, Monads, Applicative Functors, Different Monad Patterns
Macros, Scala Compiler Phases, Abstract Syntax Trees, Quasiquotes, When and how to use macros
Parser Combinators, External DSLs, Grammar Translation, Transformers, Parsing, Packrat Parsers
Performance Optimization, JVM Performance Tricks, Profiling, Visual VM
Requirements
You should be a developer with day to day working experience of Scala
It is recommended that you complete Parts 1 and 2 of the Escalate Scala Advanced course
You may also wish to consider following parts 1-3 of the Escalate Applied Scala course if you have trouble following these concepts
You will need a sufficiently powerful computer and to follow the included setup instructions to run the hands-on exercises
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 3 covers advanced functional programming concepts and patterns, use of Macros, how to write external DSLs with the parser-combinator library, and how to effectively optimize code by analyzing performance:
Functional Programming Building Blocks: ADTs, trampolines, recursion, functions
Functional Programming Patterns: Functors, Monads, Applicative Functors
Common Functional Patterns: IO, Reader, Writer, State, Free
Macros and Quasiquotes
External DSLs and Scala's Parser-Combinator Library
Profiling and Optimization
Code Performance Considerations
It is recommended that you complete Scala Advanced parts 1 and 2 before taking this part. While not strictly necessary, we may assume knowledge from parts 1 and 2 in some of the explanations that could be hard to follow unless you know the material.
This is the final part of the Advanced Scala course. We hope you enjoyed the course and that the material proves useful.
Who this course is for:
Scala developers looking to improve their skills, write libraries and APIs for others
Developers wanting to improve their knowledge of more advanced functional programming concepts
Developers wishing to learn how to save time and money by profiling and optimizing applications
Anyone who wants to be able to parse and use external DSLs in Scala
发布日期: 2020-02-01