O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning Path: Clojure Fundamentals

Video Description

You’re a software developer with a basic understanding of Java and the Java Virtual Machine (JVM), but you want to write more productive code that is fast and less verbose. This learning path covers the fundamentals of Clojure, a dynamic, general­purpose programming language for the JVM. You’ll dive into such topics as Java interoperability, concurrency, interacting with data, and working with collections, along with best practices so you can be on your way to writing Clojure code that is simple, maintainable, and fast. Once you’ve added the skills in this learning path to your programming tool belt, you’ll be ready to move on to more advanced Clojure development challenges.

Table of Contents

  1. Introduction
    1. What To Expect 00:01:16
    2. About The Author 00:00:31
    3. How To Access Your Working Files 00:01:15
  2. Diving In
    1. Getting Started 00:03:14
    2. Types 00:04:51
    3. Control Flow 00:06:07
    4. Functions 00:07:42
    5. Working With Collections 00:07:01
    6. Recursion In Clojure 00:08:16
  3. Structuring Clojure Projects
    1. Introducing Leiningen 00:04:05
    2. Using Modules 00:03:44
    3. Writing Tests With Clojure.Test 00:03:33
  4. Interacting With Java
    1. Working With Java 00:06:07
    2. Proxying And Reifying Java Classes 00:02:58
    3. Generating Java Classes 00:04:39
    4. Using Java Code With Leiningen 00:02:33
  5. Concurrency
    1. Basic Concurrency In Clojure 00:03:54
    2. Clojure Stm - Atoms 00:02:50
    3. Clojure Stm - Refs And Agents 00:06:33
    4. Working With Core.Async 00:09:47
  6. Writing Safer Software
    1. Types And Records 00:02:11
    2. Multimethods 00:04:18
    3. Protocols 00:04:40
  7. Interacting With Data Stores
    1. Reading And Writing Files 00:03:49
    2. Working With JDBC 00:07:59
  8. Writing A Web Application With Clojure
    1. HTTP With Ring Part - 1 00:03:49
    2. HTTP With Ring Part - 2 00:04:52
    3. Routing With Compojure 00:08:48
    4. Rendering HTML With Selmer And Hiccup - Part 1 00:05:29
    5. Rendering HTML With Selmer And Hiccup - Part 2 00:04:47
    6. Rendering HTML With Enlive 00:09:44
    7. Dependency Injection For Persistence 00:05:55
    8. Pulling It All Together - Part 1 00:08:51
    9. Pulling It All Together - Part 2 00:07:41
  9. Conclusion
    1. Wrapping Up 00:00:40
    2. Introduction 00:33:08
    3. Data 00:19:29
    4. Code Part 1 00:41:29
    5. Code Part 2 00:34:45
    6. Functions Part 1 00:34:13
    7. Functions Part 2 00:46:49
    8. Abstraction 00:33:45
    9. Concurrency Part 1 00:18:06
    10. Concurrency Part 2 00:22:04
    11. JVM Interop 00:30:54
    12. Integration 00:37:44
    13. Wrap-up 00:00:30