
Meet an author with a decade of software development experience who embraced Clojure four years ago, making it their go-to language for prototyping and writing about it across publications.
Explore how control flow works in Clojure, including if, when, case, and cond, and master binding with let and do for controlled evaluation and side effects.
Explore summing a list in Clojure through recursion with an accumulator, then replace recursion with recur, loop, and finally reduce for idiomatic, efficient code.
Discover how the closure test framework offers assertions, supports thrown exceptions, and uses def test with the testing macro to validate code and organize suites.
Learn java interop in clojure by importing java classes, calling static methods, constructing objects, and using dot notation or instance-first syntax, with mutability and type hints to optimize performance.
Learn how to use Clojure's proxy macro to implement Java classes and interfaces, and compare reify for faster, compile-time class creation, with thread pool examples.
Explore basic concurrency in Clojure by using threads, promises with deliver, and deref to retrieve values; leverage futures and delay for nonblocking work, and memoization to speed repeated computations.
Explore Clojure stm with atoms for safe shared state and transactional updates; use reset, swap, and deref to manage counts, with a validator and exception handling.
Explore Clojure stm concepts by contrasting atoms, refs, and agents, and learn how validators and transactions with do sync ensure safe, parallel updates.
This lecture demonstrates core.async in clojure, creating channels with buffers, using go blocks and loops, and patterns like put, take, reverser, and alts for multi-channel pipelines.
Define protocols and extend them to records and Java classes to compute circle and square area and perimeter with single-dispatch-based methods, and compare to multimethods.
learn to read and write files in Clojure using spit and slurp, with open, and handle lines as lazy sequences while safely closing resources.
Learn to use clojure with jdbc to connect to a postgresql database, configure a database spec, and perform safe queries, inserts, updates, and transactions via a connection pool.
Build a simple Clojure web app using Ring; handle requests as maps and return a 200 hello world response, run with a Ring adapter on port 3000.
Learn to implement string response middleware in a Ring app to wrap string outputs into proper responses, and apply middleware chains to access request parameters.
Learn to define web routes with composure and ring, using a def roots macro, get and post handlers, and regex matching to map routes to responses.
Learn how to render HTML templates in Clojure using Selmer and Hiccup, including installing dependencies, configuring resource paths, and rendering templates with bindings.
Learn to use the Enlive library to define templates and snippets in Clojure, transform and render HTML via selectors, and compose transformations to generate dynamic pages with Ring.
Pull together closure, ring, and templates to build the microblog Twiddler. Model items with title and content, render with templates and snippets, and run a dev server for live updates.
Learn to build a Clojure web app by serving assets with resources, wiring routes, handling form posts, rendering markdown, and sanitizing input to prevent injection.
Learn to wield the Clojure language to create useful software by mastering basic syntax. Integrate projects across desktop, distributed servers, and web apps while reading the source code.
In this Learning Clojure training course, expert author Adam Bard will teach you how to write Clojure code and structure Clojure products. This course is designed for the absolute beginner, meaning no experience with Clojure is required, although some programming knowledge would be beneficial.
You will start by learning how to structure Clojure projects, then jump into interacting with Java. From there, Adam will teach you about concurrency, how to write safer software, and how to interact with data stores. Finally, this video training will cover writing a web application with Clojure, including how to route with Compojure, render HTML with Selmer and Hiccup, and render HTML with Enlive.
Once you have completed this computer based training course, you will be fully capable of taking advantage of Clojure's unique feature set to start writing useful software. Working files are included, allowing you to follow along with the author throughout the lessons.