Mastering Clojure
暫譯: 精通 Clojure

Akhil Wali

  • 出版商: Packt Publishing
  • 出版日期: 2016-03-25
  • 售價: $2,200
  • 貴賓價: 9.5$2,090
  • 語言: 英文
  • 頁數: 266
  • 裝訂: Paperback
  • ISBN: 1785889745
  • ISBN-13: 9781785889745
  • 相關分類: JVM 語言
  • 海外代購書籍(需單獨結帳)

相關主題

商品描述

Key Features

  • Learn to handle data using sequences, reducers, and transducers in Clojure
  • Explore the lesser known and more advanced features, constructs, and methodologies of the Clojure language and its ecosystem, such as asynchronous channels, actors, logic programming, and reactive programming
  • Sharpen your Clojure skills through illustrative and comprehensive examples

Book Description

Clojure is a general-purpose language from the Lisp family with an emphasis on functional programming. It has some interesting concepts and features such as immutability, gradual typing, thread-safe concurrency primitives, and macro-based metaprogramming, which makes it a great choice to create modern, performant, and scalable applications.

Mastering Clojure gives you an insight into the nitty-gritty details and more advanced features of the Clojure programming language to create more scalable, maintainable, and elegant applications. You'll start off by learning the details of sequences, concurrency primitives, and macros. Packed with a lot of examples, you'll get a walkthrough on orchestrating concurrency and parallelism, which will help you understand Clojure reducers, and we'll walk through composing transducers so you know about functional composition and process transformation inside out. We also explain how reducers and transducers can be used to handle data in a more performant manner.

Later on, we describe how Clojure also supports other programming paradigms such as pure functional programming and logic programming. Furthermore, you'll level up your skills by taking advantage of Clojure's powerful macro system. Parallel, asynchronous, and reactive programming techniques are also described in detail.

Lastly, we'll show you how to test and troubleshoot your code to speed up your development cycles and allow you to deploy the code faster.

What you will learn

  • Maximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducers
  • Process and manipulate data using sequences, reducers, and transducers in Clojure
  • Modify and add features to the Clojure language using macros
  • Explore the features of category theory and custom data sources for logic programming in Clojure
  • Orchestrate parallelism and concurrency using built-in primitives as well as community libraries in Clojure
  • Handle data with asynchronous and reactive programming methodologies and leverage it using the core.async library
  • Test your code with unit tests, specs, and type checks to write testable code
  • Troubleshoot and style your Clojure code to make it more maintainable

About the Author

Akhil Wali is a software developer. He has been writing code as a hobbyist since 1997 and professionally since 2010. He completed his post graduation from Santa Clara University in 2010, and he graduated from Visvesvaraya Technological University in 2008. His areas of work include business intelligence systems, ERP systems, search engines, and document collaboration tools. He mostly works with Clojure, JavaScript, and C#. Apart from computers, his interests include soccer, guitar solos, and finding out more about the universe.

Table of Contents

  1. Working with Sequences and Patterns
  2. Orchestrating Concurrency and Parallelism
  3. Parallelization Using Reducers
  4. Metaprogramming with Macros
  5. Composing Transducers
  6. Exploring Category Theory
  7. Programming with Logic
  8. Leveraging Asynchronous Tasks
  9. Reactive Programming
  10. Testing Your Code
  11. Troubleshooting and Best Practices
  12. References

商品描述(中文翻譯)

#### 主要特點
- 學習如何使用序列、減少器和轉換器在 Clojure 中處理數據
- 探索 Clojure 語言及其生態系統中較少為人知的進階特性、結構和方法論,例如非同步通道、演員、邏輯編程和反應式編程
- 通過生動且全面的範例來提升你的 Clojure 技能

#### 書籍描述
Clojure 是一種來自 Lisp 家族的通用語言,強調函數式編程。它具有一些有趣的概念和特性,例如不可變性、漸進式類型、線程安全的並發原語和基於宏的元編程,使其成為創建現代、高效和可擴展應用程序的絕佳選擇。

掌握 Clojure 讓你深入了解 Clojure 編程語言的細節和更進階的特性,以創建更可擴展、可維護和優雅的應用程序。你將從學習序列、並發原語和宏的細節開始。書中充滿了許多範例,將引導你協調並發和並行,幫助你理解 Clojure 減少器,並將介紹如何組合轉換器,讓你徹底了解函數組合和過程轉換。我們還解釋了如何使用減少器和轉換器以更高效的方式處理數據。

接下來,我們將描述 Clojure 如何支持其他編程範式,例如純函數式編程和邏輯編程。此外,你將通過利用 Clojure 強大的宏系統來提升你的技能。書中還詳細描述了並行、非同步和反應式編程技術。

最後,我們將展示如何測試和排除代碼中的問題,以加快開發週期並使你能更快地部署代碼。

#### 你將學到的內容
- 通過組合減少器和轉換器,最大化並行化、函數組合和過程轉換的影響
- 使用序列、減少器和轉換器在 Clojure 中處理和操作數據
- 使用宏修改和添加 Clojure 語言的特性
- 探索 Clojure 中類別理論的特性和自定義數據源的邏輯編程
- 使用內建原語和 Clojure 社群庫協調並行性和並發性
- 使用非同步和反應式編程方法處理數據,並利用 core.async 庫
- 使用單元測試、規範和類型檢查來測試你的代碼,以編寫可測試的代碼
- 排除故障並美化你的 Clojure 代碼,使其更具可維護性

#### 關於作者
**Akhil Wali** 是一名軟體開發人員。他自 1997 年以來一直作為業餘愛好者編寫代碼,並自 2010 年以來專業從事此工作。他於 2010 年從聖克拉拉大學完成研究生學業,並於 2008 年畢業於維斯維斯瓦拉亞科技大學。他的工作領域包括商業智慧系統、ERP 系統、搜索引擎和文檔協作工具。他主要使用 Clojure、JavaScript 和 C#。除了電腦,他的興趣還包括足球、吉他獨奏和探索宇宙的奧秘。

#### 目錄
1. 使用序列和模式
2. 協調並發和並行
3. 使用減少器進行並行化
4. 使用宏進行元編程
5. 組合轉換器
6. 探索類別理論
7. 使用邏輯編程
8. 利用非同步任務
9. 反應式編程
10. 測試你的代碼
11. 故障排除和最佳實踐
12. 參考文獻