Looking for Clojure Developer Training?
Using on-site instructor-led hands-on training we can help your team hit the ground running and quickly start delivering value. For more information email email@example.com.
In Clojure Fundamentals you will learn how to set up your development environment. You will learn how to develop Clojure interactively using the REPL, and how to compile and deploy Clojure applications. You will learn the details of Clojure’s syntax, data structures, and concepts like laziness and persistence. Through short lectures and hands-on exercises you will gradually become fluent in thinking functionally.
After the class
After the class you will have tamed Clojure through your hands-on programming experiences. You will feel comfortable starting a Clojure project from scratch. You will know how to translate programming ideas into Clojure. And you will experience the intensely interactive and enjoyable process of working in Clojure.
For more information
What you will get
- Live instructor-led hands-on training.
- Clojure source code from the class in a zip file.
- PDF ebook containing notes and exercises.
- Certificate of Course Completion.
Who is the instructor?
My name is Asim Jalis. I have worked at Microsoft, Hewlett-Packard, Symantec, and Salesforce, on large enterprise applications. I used Clojure at Salesforce to interactively measure the performance of the Salesforce app. If you want to understand Clojure and become productive in it, this class is designed for you. There is nothing else that will get you started as quickly.
Do I need to know programming?
You should be familiar with a programming language. No knowledge of Lisp or functional programming is required. We will cover all that in the class.
What will be covered?
- Clojure: intro, overview
- Using Leiningen to set up development environment
- Developing in an editor and on the REPL
- Using 3rd party modules and libraries
- Data types: numbers, booleans, strings, regex
- Collections: maps, vectors, sequences
- Functions: defn, fn, defining, overloading
- Threading macros: ->> ->
- Variables: def, let, bind
- Conditionals: cond, if, when, if-let, when-let
- Loops: loop, for, while, recur, doseq, dotimes
- Sequence functions: take, keep, filter, map
- Destructuring bind and let
- Higher-order functions: complement, comp, partial, juxt
- Java interop: dot, bean, seq, import, exceptions
- Macros: defmacro, macro syntax, gensym
- Sequences: laziness, map, reduce, filter
- Concurrency: future, pmap
- Transactions: ref, atom, agent, var, deref, dosync
- Command line tools using Drip
- Web development using Ring