Learn Scala Programming: A comprehensive guide covering functional and reactive programming with Scala 2.13, Akka, and Lagom
Slava Schmidt
- 出版商: Packt Publishing
- 出版日期: 2018-10-31
- 售價: $1,970
- 貴賓價: 9.5 折 $1,872
- 語言: 英文
- 頁數: 498
- 裝訂: Paperback
- ISBN: 1788836308
- ISBN-13: 9781788836302
-
相關分類:
Java 相關技術、JVM 語言
海外代購書籍(需單獨結帳)
相關主題
商品描述
A step-by-step guide in building high-performance scalable applications with the latest features of Scala.
Key Features
- Develop a strong foundation in functional programming and Scala's Standard Library (STL)
- Get a detailed coverage of Lightbend Lagom―the latest microservices framework from Lightbend
- Understand the Akka framework and learn event-based Programming with Scala
Book Description
Today's Scala is quite different from its earlier versions. The second version of the language is more than twelve years old and has undergone multiple changes related to supported features and library implementation. Scala 2.13, with its main focus on modularizing standard library and simplifying collections, brings around such a change one more time.
This book addresses both technical and architectural changes by providing a comprehensive guide to the redesigned standard library and collections as well as covering in-depth type system and first-level support for functions. It will teach you how to leverage implicits as a primary mechanism for building type classes and looks at different ways to test Scala code. You will learn about abstract building blocks used in functional programming, giving understanding sufficient to pick up and use any existing functional programming library out there.
The book will explore reactive programming by covering the Akka framework and reactive streams. Finally, 2 definitive projects will help you will build microservices and teach you how to implement them with Scala and Lagom framework.
What you will learn
- Acquaint yourself with the new standard library of Scala 2.13
- Get to grips with the Grok functional paradigms
- Get familiar with type system to express domain constraints
- Understand the actor model and different Akka libraries
- Grasp the concept of building microservices using Lagom framework
- Deep dive into property-based testing and its practical applications
Who this book is for
This book is for beginner to intermediate level Scala developers who would like to advance and gain knowledge of the intricacies of the Scala language, expand their functional programming tools, and explore actor-based concurrency models.
Table of Contents
- An Introduction to the Scala 2.13 standard library
- Understanding Types in Scala
- Deep Dive into Functions
- Getting to know Implicits and Type Classes
- Property based testing in Scala
- Exploring Build-in Effects
- Understanding Algebraic Structures
- Dealing with Effects
- Familiarizing Yourself with Basic Monads
- A Look at Monad Transformers and Free Monad
- An Introduction to Akka and Actor Models
- Building Reactive Applications with Akka Typed
- Basics of Akka Streams
- Building Microservices with Scala
- Building Microservices with Lagom
- Preparing the environment and running code samples
商品描述(中文翻譯)
一個逐步指南,教你如何使用 Scala 的最新特性來構建高效能可擴展的應用程式。
主要特點
- 建立功能性程式設計和 Scala 標準庫 (STL) 的堅實基礎
- 詳細介紹 Lightbend Lagom——Lightbend 最新的微服務框架
- 理解 Akka 框架並學習使用 Scala 進行事件驅動程式設計
書籍描述
當今的 Scala 與早期版本有很大不同。該語言的第二個版本已經超過十二年,並經歷了多次與支援特性和庫實現相關的變更。Scala 2.13 主要專注於模組化標準庫和簡化集合,再次帶來了這樣的變化。
本書通過提供重新設計的標準庫和集合的綜合指南,解決了技術和架構上的變更,並深入探討類型系統和對函數的第一級支援。它將教你如何利用 implicits 作為構建類型類的主要機制,並探討測試 Scala 代碼的不同方法。你將學習到功能性程式設計中使用的抽象構建塊,從而獲得足夠的理解,以便使用任何現有的功能性程式設計庫。
本書將通過涵蓋 Akka 框架和反應式流來探索反應式程式設計。最後,兩個明確的專案將幫助你構建微服務,並教你如何使用 Scala 和 Lagom 框架來實現它們。
你將學到的內容
- 熟悉 Scala 2.13 的新標準庫
- 理解 Grok 功能性範式
- 熟悉類型系統以表達領域約束
- 理解 Actor 模型和不同的 Akka 庫
- 掌握使用 Lagom 框架構建微服務的概念
- 深入了解基於屬性的測試及其實際應用
本書適合對象
本書適合希望進一步了解 Scala 語言的複雜性、擴展其功能性程式設計工具並探索基於 Actor 的並發模型的初學者到中級 Scala 開發者。
目錄
1. Scala 2.13 標準庫介紹
2. 理解 Scala 中的類型
3. 深入函數
4. 了解 Implicits 和類型類
5. Scala 中的基於屬性的測試
6. 探索內建效果
7. 理解代數結構
8. 處理效果
9. 熟悉基本 Monad
10. Monad 變換器和自由 Monad 概述
11. Akka 和 Actor 模型介紹
12. 使用 Akka Typed 構建反應式應用程式
13. Akka Streams 基礎
14. 使用 Scala 構建微服務
15. 使用 Lagom 構建微服務
16. 準備環境並運行代碼範例