
Clojure Reactive Programming
Beschreibung
Alle Preise
Weitere Details
Weitere Ausgaben
Inhalt
- Intro
- Clojure Reactive Programming
- Table of Contents
- Clojure Reactive Programming
- Credits
- About the Author
- Acknowledgments
- About the Reviewers
- www.PacktPub.com
- Support files, eBooks, discount offers, and more
- Why subscribe?
- Free access for Packt account holders
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Errata
- Piracy
- Questions
- 1. What is Reactive Programming?
- A taste of Reactive Programming
- Creating time
- More colors
- Making it reactive
- Exercise 1.1
- A bit of history
- Dataflow programming
- Object-oriented Reactive Programming
- The most widely used reactive program
- The Observer design pattern
- Functional Reactive Programming
- Higher-order FRP
- Signals and events
- Implementation challenges
- First-order FRP
- Asynchronous data flow
- Arrowized FRP
- Applications of FRP
- Asynchronous programming and networking
- Complex GUIs and animations
- Summary
- 2. A Look at Reactive Extensions
- The Observer pattern revisited
- Observer - an Iterator's dual
- Creating Observables
- Custom Observables
- Manipulating Observables
- Flatmap and friends
- One more flatmap for the road
- Error handling
- OnError
- Catch
- Retry
- Backpressure
- Sample
- Backpressure strategies
- Summary
- 3. Asynchronous Programming and Networking
- Building a stock market monitoring application
- Rolling averages
- Identifying problems with our current approach
- Removing incidental complexity with RxClojure
- Observable rolling averages
- Summary
- 4. Introduction to core.async
- Asynchronous programming and concurrency
- core.async
- Communicating sequential processes
- Rewriting the stock market application with core.async
- Implementing the application code
- Error handling
- Backpressure
- Fixed buffer
- Dropping buffer
- Sliding buffer
- Transducers
- Transducers and core.async
- Summary
- 5. Creating Your Own CES Framework with core.async
- A minimal CES framework
- Clojure or ClojureScript?
- Designing the public API
- Implementing tokens
- Implementing event streams
- Implementing behaviors
- Exercises
- Exercise 5.1
- Exercise 5.2
- A respondent application
- CES versus core.async
- Summary
- 6. Building a Simple ClojureScript Game with Reagi
- Setting up the project
- Game entities
- Putting it all together
- Modeling user input as event streams
- Working with the active keys stream
- Reagi and other CES frameworks
- Summary
- 7. The UI as a Function
- The problem with complex web UIs
- Enter React.js
- Lessons from functional programming
- ClojureScript and Om
- Building a simple Contacts application with Om
- The Contacts application state
- Setting up the Contacts project
- Application components
- Om cursors
- Filling in the blanks
- Intercomponent communication
- Creating an agile board with Om
- The board state
- Components overview
- Lifecycle and component local state
- Remaining components
- Utility functions
- Exercises
- Summary
- 8. Futures
- Clojure futures
- Fetching data in parallel
- Imminent - a composable futures library for Clojure
- Creating futures
- Combinators and event handlers
- The movies example revisited
- Futures and blocking IO
- Summary
- 9. A Reactive API to Amazon Web Services
- The problem
- Infrastructure automation
- AWS resources dashboard
- CloudFormation
- The describeStacks endpoint
- The describeStackResources endpoint
- EC2
- The describeInstances endpoint
- RDS
- The describeDBInstances endpoint
- Designing the solution
- Running the AWS stub server
- Setting up the dashboard project
- Creating AWS Observables
- Combining the AWS Observables
- Putting it all together
- Exercises
- Summary
- A. The Algebra of Library Design
- The semantics of map
- Functors
- The Option Functor
- Finding the average of ages
- Applicative Functors
- Gathering stats about ages
- Monads
- Summary
- B. Bibliography
- Index
Systemvoraussetzungen
Dateiformat: ePUB
Kopierschutz: Adobe-DRM (Digital Rights Management)
Systemvoraussetzungen:
- Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).
- Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions oder die App PocketBook (siehe E-Book Hilfe).
- E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)
Das Dateiformat ePUB ist sehr gut für Romane und Sachbücher geeignet – also für „fließenden” Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an.
Mit Adobe-DRM wird hier ein „harter” Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.
Bitte beachten Sie: Wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!
Weitere Informationen finden Sie in unserer E-Book Hilfe.
Dateiformat: PDF
Kopierschutz: Adobe-DRM (Digital Rights Management)
Systemvoraussetzungen:
- Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).
- Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions oder die App PocketBook (siehe E-Book Hilfe).
- E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)
Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist.
Mit Adobe-DRM wird hier ein „harter” Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.
Bitte beachten Sie: Wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!
Weitere Informationen finden Sie in unserer E-Book Hilfe.