Gdpgdvgz5hn8jbpmmjj2
2 DAY COURSE

Advanced Clojure

Topics covered at ADV-CLOJURE-01-02
View Schedule & Book More dates available

Next up:

Are you an experienced Clojure developer ready to take their skills to the next level? Then this course might be right for you!

Learn how to:

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.

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

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!

Prerequisites

Some working knowledge and experience working with Clojure.

Bring your own hardware

To benefit most from this Advanced Clojure course, please bring your own laptop, so you can develop with your own tools and languages, rather than something you are not familiar with.

If you are not able to bring in your own laptop, please contact the Skills Matter team on +44 207 1839040 or email info@skillsmatter.com