49. Passwordless Authentication With ring-oauth2
More and more sites offer the ability to log in with Facebook, Twitter, or Github, which can be quite convenient, as it means fewer passwords to keep track of. Adding this kind of capability to a Ring...
View Article48. List Comprehension with clojure.core/for
A small macro with a lot of power! We start with a quick recap of Clojure's looping constructs, and then go over the various features and use cases of `for`, backed by examples taken directly from...
View Article47. Interceptors, part 1, concepts
The Interceptor pattern was originally introduced by Pedestal, but has since been adopted by several other projects in the Clojure world. It's an extremely useful design tools to be familiar with, and...
View Article46. À la Carte Polymorphism, part 2
With the basics of multimethods out of the way it's time to look at some of the more advanced uses. This episodes explores in depth Clojure's keyword hierarchy features, some little known aspects of...
View Article45. À la Carte Polymorphism, part 1
Clojure provides polymorphism through protocols and multimethods. Protocols were covered in depth in [episode 24](https://lambdaisland.com/episodes/defrecord_defprotocol). This episode provides a brief...
View Article44. Data Science with Kixi.stats, part 2
After some exploration and analysis of the data it's time to create a predictive model. In this episode you'll discover several new chart types, learn how to evaluate the correlation between variables,...
View Article43. Data Science with Kixi.stats, part 1
With the knowledge of transducers under your belt, it's time to start analyzing some data. This episode provides a first introduction to the Kixi.stats statistical toolkit, by analyzing a data set and...
View Article42. Inside Transducers
Clojure allows processing data in a way that is composable, reusable, and performs well, all through the power of Transducers. Episode 38 provided a general overview of what's in the box, the...
View Article41. Using React Components with Reagent
React's component based approach means you don't have to reinvent the wheel, there are literally thousands of building blocks freely available. When using React components from Reagent there are a few...
View Article40. The Ultimate Dev Setup
This one tool will transform how you program. It's time to raise your standards!
View Article39. Integrant
Integrant is a "micro-framework for data-driven architecture". It manages the lifecycle of your application, and the dependencies between components, similar to Component or Mount, but with some very...
View Article38. Transducers
Transducers are a Clojure feature allowing you to write code that is efficient, reusable, and composable. They have been around for several years, landing first in Clojure 1.8, but even some...
View Article37. Datomic Quickstart, part 2
Datomic is a database based on the same principles that underly the design of Clojure itself. Learn what makes it different, and how to start using from Clojure immediately. This second part dives...
View Article36. Datomic Quickstart, part 1
Datomic is a database based on the same principles that underly the design of Clojure itself. Learn what makes it different, and how to start using from Clojure immediately. This first part gives an...
View Article35. Generative Testing with test.check
Generative testing, also called Property Based testing, is a powerful technique able to expose some of the most obscure bugs. You'll learn how to create and compose generators, and how to define...
View Article34. Acceptance Testing With SparkleDriver
Learn how to use a headless web browser to test your application for feature completeness. You'll also see how Component can be used to set up an isolated test environment, how to use fixtures and...
View Article33. Running ClojureScript Tests
Learn how to run tests with Figwheel, PhantomJS, Node, doo, and Karma. Running Clojure tests once they are written is pretty straightforward, but for ClojureScript there are a few more things to...
View Article32. Introduction to Clojure Testing
Testing libraries and frameworks are indispensable, but there's no magic to how they work. Through implementing your own mini testing framework, you'll learn how `clojure.test` does things under the...
View Article31. Component in Practice
Learn how to incorporate Component in a real world project. This episode is a bit of grab bag. It shows how to set up a `-main` function and how to use it, how to use reloaded.repl and tools.namespace...
View Article30. Building Command Line Applications with Lumo, part 2
Now that the "birch" command is working, it's time to release it to the world. In this episode you'll learn how to turn your Lumo script into an NPM package. You'll also learn how to use packages from...
View Article