0845 450 6120

Advanced Clojure

Are you an experienced Clojure developer ready to take their skills to the next level? Then this course might be right for you! Learn to use Clojure's core function library to build up elegant programs.

About the Authors

Jon Pither

Jon Pither has led development of large Clojure projects at an Investment Bank, an online newspaper website, a major property portal, and is now working on various other Clojure projects. Jon is a co-founder of JUXT, a consultancy specialising in using Clojure.

Malcolm Sparks

Malcolm has been writing Clojure since 2009, has led Clojure teams and been involved in many successful Clojure projects. He is an experienced Clojure trainer and has written numerous open-source libraries including bidi and yada. He is also the founder of JUXT, a consulting and software development firm that uses Clojure exclusively.

Audience

Are you a developer who already has some working knowledge and experience with Clojure? Are you ready to take your skills to the next level? This course is for you!

Reset

Learning Objectives

Learn how to:

  • Create elegant programs from the building blocks provided by Clojure's core function library.
  • Utilise existing Java APIs from your Clojure programs
  • Write programs that use multiple threads without the risk of dreadlocks and race-conditions

Pre-Requisites

Prerequisites

Some working knowledge and experience working with Clojure.

Bring your own hardware

To participate in this Advanced Clojure course you are required to bring your own laptop so you can develop with your own tools and languages.

Course Content

1. Prismatic Schema

  • Introduction - why we recommend schemas as ’data firewalls’
  • Writing and composing schemas
  • Validation
  • Coercion

2. Application structure with the Stuart Sierra Component library

  • Intro to the Component library - what and why
  • Project skeleton
  • The system
  • Adding custom functions in the dev namespace
  • Schema integration to protect integrity
  • Dos and Don'ts – Use functions, Don’t put (too much) code in records
  • Testing – Testing with component – Testing without component - testing individual functions

3. Transducers

  • Basic transducers: composing map, filter & mapcat
  • Channels, sequences & eductions
  • Stateful transducers

4. core.async

  • channels and go-blocks
  • »! or >! or put!
  • mult / tap
  • pub / sub
  • using transducers
  • Dos and Don’ts

5. HTTP services

  • Building HTTP services with yada
  • Swagger API documentation
  • Asynchronous processing of inbound and outbound bodies
  • Parameter coercion
  • Security (authentication and authorization)

6. ClojureScript with Om Next (basics)

  • Building an application in Om Next
  • Integrating HTTP requests and Server-Sent Events

7. File processing

  • Techniques for dealing with large files (jackson, clojure.data.xml, etc.)
  • SAX
One Month
Two Months
Three Months
More than Three Months
PRINCE2 Foundation & Practitioner
MSP Foundation & Practitioner
APMP Certificate
ITIL Foundation
Scrum in One Day
Certified ScrumMaster
ISTQB Software Test Foundation
Microsoft Project
BCS Business Analysis Practice
Other - Please Specify Below

Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Our Customers Include