Professional Clojure /
Clear, practical Clojure for the professional programmer Professional Clojure is the experienced developer's guide to functional programming using the Clojure language. Designed specifically to meet the needs of professional developers, this book briefly introduces functional programming before...
Saved in:
Main Authors: | |
---|---|
Corporate Authors: | |
Group Author: | ; ; ; |
Published: |
Wiley,
|
Publication Dates: | 2016. |
Literature type: | eBook |
Language: | English |
Subjects: | |
Online Access: |
http://onlinelibrary.wiley.com/book/10.1002/9781119281306 |
Summary: |
Clear, practical Clojure for the professional programmer Professional Clojure is the experienced developer's guide to functional programming using the Clojure language. Designed specifically to meet the needs of professional developers, this book briefly introduces functional programming before skipping directly to the heart of using Clojure in a real-world setting. The discussion details the read-eval-print workflow that enables fast feedback loops, then dives into enterprise-level Clojure development with expert guidance on web services, testing, datomics, performance, and more. Read from beginning to end, this book serves as a clear, direct guide to Clojure programming-but the comprehensive coverage and detail makes it extraordinarily useful as a quick reference for mid-project snags. The author team includes four professional Clojure developers, ensuring professional-level instruction from a highly practical perspective. Clojure is an open-source programming language maintained and supported by Cognitect., and quickly gaining use across industries at companies like Amazon, Walmart, Facebook, Netflix, and more. This guide provides a concise, yet thorough resource for professional developers needing to quickly put Clojure to work. -Parse the difference between functional and object-oriented programming -Understand Clojure performance and capabilities -Develop reactive web pages using ClojureScript -Adopt an REPL-driven development workflow Clojure is a modern dialect of Lisp, designed for concurrency and Java compatibility. It can be used with the Java virtual machine, Microsoft's Common Language Runtime, and JavaScript engines, providing a level of both versatility and functionality that is appealing to more and more enterprise-level developers. As requirements grow increasingly complex, stepping away from imperative programming can dramatically streamline the development workflow. Professional Clojure provides the expert instruction that gets professionals up to speed and back to work quickly. |
Item Description: | Mocking/Stubbing Using with-redefs. |
Carrier Form: | 1 online resource (267 pages) |
ISBN: |
9781119267287 1119267285 9781119281306 111928130X |
Index Number: | QA76 |
CLC: | TP312 |
Contents: |
Cover ; Title Page ; Copyright ; Contents ; Introduction ; Chapter 1: Have a Beginner's Mind ; Functional Thinking ; Value Oriented ; Thinking Recursively ; Higher Order Functions ; Embracing Laziness ; When You Really Do Need to Mutate ; Nil Punning ; The Functional Web. Doing Object-Oriented Better Polymorphic Dispatch with defmulti ; Defining Types with deftype and defrecord ; Protocols ; Reify ; Persistent Data Structures ; Shaping the Language ; Summary ; Chapter 2: Rapid Feedback Cycles with Clojure ; REPL-Driven Development. Basic REPL Usage with Leiningen Remote REPLs with nREPL ; REPL Usage with a Real Application ; Connecting Your Editor to a REPL ; Reloading Code ; Reloading Code from the REPL ; Automatically Reloading Code ; Writing Reloadable Code ; Summary ; Chapter 3: Web Services. Project Overview Namespace Layout ; Elements of a Web Service ; Libraries, Not Frameworks ; HTTP ; Routing ; JSON Endpoints ; Example Service ; Create the Project ; Additional Namespaces ; Default Middleware ; The Storage Protocol ; Handlers ; Middleware ; Routes. Deployment Using Leiningen ; Compiling an Uberjar or Uberwar ; Hosting ; Summary ; Chapter 4: Testing ; Testing Basics with clojure.test ; with-test ; deftest ; are ; Using Fixtures ; Testing Strategies ; Tests Against DB ; Testing Ring Handlers. |