4.95 (91 reviews)
☑ Once you have completed this course, you will be fully capable of writing your own applications that take advantage of the core.async library.
☑ Learn the basics of core.async
In this Communicating Sequential Processes with core.async training course, expert author Timothy Baldridge will teach you the basics of core.async. This course is designed for users that already have a working knowledge of Clojure and ClojureScript.
You will start by learning how to create channels, then jump into creating and using threads. From there, Timothy will teach you how to combine and split channel streams, work with transducers, and the pipeline abstraction. This video tutorial also provides a quick tour of core.async internals, including how channels are modeled, how alt handlers interact with channels, and how threads interface with channels. Finally, you will learn about non-blocking channel operations and how to put it all together.
Once you have completed this computer based training course, you will be fully capable of writing your own applications that take advantage of the core.async library.
Important - Download These First - Working Files
What To Expect
About The Author
Async Operations On Channels
Creating And Using JVM Threads
Creating And Using Lightweight Threads
Practical Application Of core.async Basics
Interfacing With A HTTP Client
Interfacing With A DB Client
Interfacing With Blocking I/O
Introduction To Backpressure
Choosing Channels With alts!
Introduction To alts! And alt!
Channel Priority With alts
Combining And Splitting Channel Streams
Overview Of The Merge Function
Overview Of mult And tap
Overview Of pub/sub
Draining Channels With reduce And into
A Short Introduction To Transducers
The Problem With Reducer Functions
The Three Parts Of Transducer Functions
Adding Transducer Logic To Channels
The Pipeline Abstraction
Pipeline And Pipeline-Blocking Overview
Parallel Workflows With Transducers And Pipelines
A Quick Tour Of core.async Internals
How Channels Are Modeled
How alt Handlers Interact With Channels
How Go Blocks Interface With Channels
How Threads Interface With Channels
Non-Blocking Channel Operations
An Overview Of offer! And poll!
Putting It All Together
Implementing A Component Based Dataflow Engine
Creating HTTP And Image Processing Components
Wiring It All Together Into A Fully Parallel Asynchronous Data Processing Engine
Wrap Up And Thank You
A thorough overview of all aspects of core.async, However, I can confirm that a good foundation in Clojure fundamentals is definitely recommended for the student, to get the most out of this course. The instructor presents the concepts in a well organized sequence of concepts.
good, but would like to see some images to help illustrate some of the concepts. Code is king, but a few pictures here and there are gold. Stephen Grider's lessons on udemy are a perfect example of a great balance between code and diagrams.
O professor tem um profundo conhecimento de Clojure e da lib core.async. Os vídeos são curtos, porém claramente explicados e com exemplos bons. Recomendo!
As suggestion, I think the close caption has some issues with some words. In addition, I think it can add spanish caption.
I couldn't find such a well presented information on core/async in other courses/books. The explanation on transducers, despite not being exactly part of the content, way worth 5 star itself. Presenter is very clear and direct.
I couldn't find a good tutorial for core.async anywhere. I saw this course and thought I'd give it a shot, and I'm very glad I did. It's very easy to understand and quite enjoyable to watch
Fantastic course - the instructor is the most enlightened human being on earth :-) I am a clojure newbie, but a fairly experienced programmer (c#, c++ etc) I am right now midway through the course, but not only did I learn a whole bunch of stuff about core.async, but a number of light bulbs went off wrt functional programming, clojure syntax, multi-threaded programming and so on. At the discounted price of $15, this is a steal.
Timothy is great at explaining the content--no wonder, since he's the developer for Clojure's core.async!