Clojure includes a number of features that enable you to optimize your applications. In this course you'll learn about optimization of Clojure projects with multimethods and hierarchies, parallelism, and macros. You'll also learn about profiling and unit testing of Clojure applications.
Learning Objectives
Multimethods and Hierarchies
- start the course
- use multimethods in Clojure
- use hierarchies in Clojure
Java Interoperability
- call Java from Clojure and call Clojure from Java
- use proxy Java classes in Clojure
Parallel Programming
- use parallelism in Clojure
- implement concurrency with agents in Clojure
- use concurrency functions in Clojure
- work with futures and promises in Clojure
Macros
- understand how macros work in Clojure
- work with macros in Clojure
- implement macros in Clojure
- work with Clojure DSLs
DataTypes and Protocols
- understand how protocols and datatypes work in Clojure
- work with protocols and datatypes in Clojure
Performance
- using profiling in Clojure projects
- optimize Clojure functions
Testing
- perform unit testing in Clojure projects
Practice: Optimizing your Clojure Project
- apply various techniques to optimize your Clojure code