
Clojure Applied
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Think in the Clojure way! Once you're familiar with Clojure, take the next step with extended lessons on the best practices and most critical decisions you'll need to make while developing. Learn how to model your domain with data, transform it with pure functions, manage state, spread your work across cores, and structure apps with components. Discover how to use Clojure in the real world, and unlock the speed and power of this beautiful language on the Java Virtual Machine.
Clojure Applied gives you the practical, realistic advice and depth of field that's been missing from your development practice. You want to develop software in the most effective, efficient way possible. This book gives you the answers you've been looking for in friendly, clear language.
Dive into the core concepts of Clojure: immutable collections, concurrency, pure functions, and state management. You'll finally get the complete picture you've been looking for, rather than dozens of puzzle pieces you must assemble yourself. First, explore the core concepts of Clojure development: learn how to model your domain with immutable data; choose the ideal collection; and write simple, pure functions for efficient transformation. Next you'll apply those core concepts to build applications: discover how Clojure manages state and identity; spread your work for concurrent programming; and create and assemble components. Finally, see how to manage external integration and deployment concerns by developing a testing strategy, connecting with other data sources, and getting your libraries and applications out the door.
Go beyond the toy box and into Clojure's way of thinking. By the end of this book, you'll have the tools and information to put Clojure's strengths to work.
What You Need:
To follow along with the examples in the book, you will need Clojure 1.6, Leinegen 2, and Java 6 or higher.
More details
Other editions
Additional editions

Person
Ben Vandgrift struggles daily with a compulsion to solve problems. His decades-old journey has most recently led him to Clojure, allowing him to solve many software problems elegantly and efficiently. He works as a software engineer when he's not being mauled by his rescue panther.
Content
- Cover
- Table of Contents
- Foreword
- Acknowledgments
- Introduction
- Putting Clojure to Work
- Building Applications
- From Build to Deploy
- About This Book
- Online Resources
- Part I-Foundations
- 1. Model Your Domain
- Modeling Entities
- Constructing Entities
- Modeling Relationships
- Validating Entities
- Domain Operations
- Wrapping Up
- 2. Collect and Organize Your Data
- Choosing the Right Collection
- Updating Collections
- Accessing Collections
- Building Custom Collections
- Wrapping Up
- 3. Processing Sequential Data
- Mapping Values
- Reducing to a Value
- Filtering and Removing Values
- Take and Drop
- Sorting and Duplicate Removal
- Grouping Values
- Putting It All Together
- Wrapping Up
- Part II-Applications
- 4. State, Identity, and Change
- Modeling a Change
- Tools for Managing Change
- Living with Change
- Wrapping Up
- 5. Use Your Cores
- Push Waiting to the Background
- Queues and Workers
- Parallelism with Reducers
- Thinking in Processes
- Wrapping Up
- 6. Creating Components
- Organizing with Namespaces
- Designing Component APIs
- Connecting Components with Channels
- Implementing Components
- Wrapping Up
- 7. Compose Your Application
- Taking Things Apart
- Implementing with Component
- Putting Things Together
- System Configuration
- Wrapping Up
- Part III-Practices
- 8. Testing Clojure
- Interactive REPL Tests
- Example-Based Tests with clojure.test
- Organizing and Running Your Tests
- Example-Based Tests with expectations
- Property-Based Tests with test.check
- Wrapping Up
- 9. Formatting Data
- Data Serialization Formats
- Extensible Data Notation
- JSON
- Transit
- Wrapping Up
- 10. Getting out the Door
- Publish Your Code
- Choose a Deployment Environment
- Deploy to a Platform
- Provision Your Own Servers
- Wrapping Up
- A1. Roots
- Reasonability
- Lisp
- Macros and Metaprogramming
- Persistent Data Structures
- Lazy and Delayed Evaluation
- Futures and Promises
- Concurrent Channels
- Multiversion Concurrency Control
- Wrapping Up
- A2. Thinking in Clojure
- Make Reasoned Choices
- Be Reasonable
- Keep It Simple
- Build Just Enough
- Compose
- Be Precise
- Use What Works
- Wrapping Up
- Bibliography
- Index
- - SYMBOLS -
- - A -
- - B -
- - C -
- - D -
- - E -
- - F -
- - G -
- - H -
- - I -
- - J -
- - K -
- - L -
- - M -
- - N -
- - O -
- - P -
- - Q -
- - R -
- - S -
- - T -
- - U -
- - V -
- - W -
- - Z -
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.