舉報

會員
Professional Scala
最新章節:
V
ThisbookteachesyouhowtobuildandcontributetoScalaprograms,recognizingcommonpatternsandtechniquesusedwiththelanguage.You’lllearnhowtowriteconcise,functionalcodewithScala.Afteranintroductiontocoreconcepts,syntax,andwritingexampleapplicationswithscalac,you’lllearnabouttheScalaCollectionsAPIandhowthelanguagehandlestypesafetyviastatictypesout-of-the-box.You’llthenlearnaboutadvancedfunctionalprogrammingpatterns,andhowyoucanwriteyourownDomainSpecificLanguages(DSLs).Bytheendofthebook,you’llbeequippedwiththeskillsyouneedtosuccessfullybuildsmart,efficientapplicationsinScalathatcanbecompiledtotheJVM.
目錄(196章)
倒序
- 封面
- Professional Scala
- Why Subscribe?
- PacktPub.com
- Contributors
- About the Authors
- Preface
- Who This Book Is For
- What This Book Covers
- What You Need for This Book
- Conventions
- Installation and Setup
- Installing IntelliJ IDE
- Installing Scala plugin (make heading)
- Reader Feedback
- Customer Support
- Downloading the Example Code
- Errata
- Piracy
- Questions
- Chapter 1. Setting up the Development Environment
- Simple Program
- Definitions: Packages Imports and Objects
- Inside main
- Structure of a Scala Project
- Basic sbt Commands
- Activity: Performing Basic Operations with sbt: Build Run Package
- IDE
- Activity: Loading and Running a Sample Project in the IDE
- REPL
- Obtaining the Time Request from Our Chatbot Program
- Base Syntax
- Base Syntax for Definitions
- Base Syntax for Expressions
- Unit Testing
- Adding a Test to Our Project
- Inside Tests
- Running Tests for Chatbot
- Summary
- Chapter 2. Basic Language Features
- Objects Classes and Traits
- Object
- Classes
- Equality and Case Classes
- Pattern Matching
- Self-Types
- Special Classes
- OO in Our Chatbot
- Decoupling Logic and Environment
- Sealed Traits and Algebraic Datatypes
- Function Calls
- Syntax Goodies
- Implementing + in CartesianPoint
- Parameter-Passing Mode
- By Value
- By Name
- By Need
- Creating a Runnable Construction
- Printing the log Argument to the Console and File
- Summary
- Chapter 3. Functions
- Functions
- Function Values
- Function from an OO Point of View
- Conversions
- Defining and Measuring the Time of a Unit Function
- Syntax Sugar in a Function Definition
- Partial Functions
- Exploring Pattern Matching
- Binding a Sequence of Variables in the Pattern Matcher
- Partial Functions in Practice
- Representing ChatbotMode as a Partial Function
- Implementing RemindStore as a Set of Partial Functions
- Using Lifting for Conversations between Total and Partial Functions
- Summary
- Chapter 4. Scala Collections
- Working with Lists
- Constructing Lists
- Operations on Lists
- Pattern Matching on Lists
- First-Order Methods on List
- Appending and Concatenation
- Taking the Length of a List
- Reversing a List
- Prefixes and Suffixes
- Element Selection
- Display
- Activity: Creating a New Mode for Chatbot Using Lists
- Abstracting on Sequences
- The Traversable Trait
- Iterators
- Streams
- Activity: Implementing Fibonacci Series Using Streams and Iterators
- Other Collections
- Sets
- Tuples
- Maps
- Mutable and Immutable Collections
- Activity: Implementing the Tower of Hanoi Problem
- Summary
- Chapter 5. Scala Type System
- Type Basics and Polymorphism
- A Unified Type System
- Parametric Polymorphism
- Type Inference
- Parameterized Types
- Bounds
- Existential Types
- Activity: Generalizing the Implementation of the Binary Tree
- Variance
- Covariance
- Contravariance
- Invariance
- Activity: Implementing Covariance and the Database for Tools
- Advanced Types
- Abstract Type Members
- Structural Types
- Option
- Higher Kind Types
- Type Erasure
- Activity: Finding an Element Based on a Given Predicate
- Summary
- Chapter 6. Implicits
- Implicit Parameters and Implicit Conversions
- Implicit Parameters
- Implicit Conversions
- Implicit Resolution
- Activity: Creation of Extension Methods
- Ad Hoc Polymorphism and Type Classes
- Types of Polymorphism
- Type Classes
- Context Bounds and Implicitly
- Type Classes in the Standard Library
- Summary
- Chapter 7. Functional Idioms
- Introduction to Functional Programming Concepts
- Pure Functions
- Immutability
- Higher-Order Functions
- Functional Design Patterns
- Monoids
- Functor
- Monads
- Popular Libraries
- Validating Data Using Cats
- Prerequisites for Using Cats
- Introduction to Cats
- Validating Data
- Validating Using Validated
- Communicating with Databases Using Doobie
- Doobie
- Activity: Adding Priority to the Todo List
- Summary
- Chapter 8. Domain Specific Languages
- DSLs and Types of DSLs
- External DSLs
- Internal DSLs
- ScalaTest – A Popular DSL
- Adding ScalaTest to Your Project
- Overview of ScalaTest Styles
- Activity: Implementing ScalaTest Styles
- Language Features for Writing DSLs
- Flexible Syntax for Method Invocation
- By-Name Parameters
- Extension Methods and Value Classes
- Writing a Small DSL
- Modeling Test Cases
- DSL for TestCase
- Activity: Creating a DSL to Specify Assertions
- Beyond This Book
- Various Scala Libraries
- Uncovered Language Features
- Resources to Keep You Updated
- Summary
- Index
- A
- B
- C
- D
- E
- F
- H
- I
- L
- M
- N
- O
- P
- Q
- R
- S
- T
- U
- V 更新時間:2021-07-23 17:24:55
推薦閱讀
- 6G潛在關鍵技術(下冊)
- 物聯網工程規劃技術
- 物聯網安全(原書第2版)
- 面向物聯網的嵌入式系統開發:基于CC2530和STM32微處理器
- 射頻通信系統
- 中小型局域網組建、管理與維護實戰
- Yii Application Development Cookbook(Second Edition)
- 雷達饋線技術
- 物聯網技術與應用
- 城域網與廣域網(第2版)
- 面向5G-Advanced的關鍵技術
- TD-LTE無線網絡規劃與設計
- 通信十年:擁抱互聯網
- 網絡設計與應用(第2版)
- 精通SEO:100%網站流量提升密碼
- React Design Patterns and Best Practices(Second Edition)
- Microservices Development Cookbook
- VMware vSphere 5.0虛擬化架構實戰指南
- 華為LiteOS:快速上手物聯網應用開發
- 天基物聯網技術
- WLAN技術問答
- Developing Web Applications with Oracle ADF Essentials
- “IPv6+”網絡技術創新:構筑數字經濟發展基石
- Using CiviCRM(Second Edition)
- 中國物聯網產業發展概況
- 后危機時代跨國公司全球生產網絡研究:以西門子和華為公司為例
- LabVIEW虛擬儀器數據采集與通信控制35例
- 網絡安全技術:網絡空間健康發展的保障
- 5GtoB如何使能千行百業
- DEM插值算法適應性理論與方法