舉報

會員
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
- Traits
- 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
推薦閱讀
- 工業控制網絡安全技術與實踐
- 信息通信網絡建設安全管理概要2
- 企業私有云建設指南
- 計算機網絡工程實用教程(第2版)
- Yii Application Development Cookbook(Second Edition)
- 城市治理一網統管
- 邁向自智網絡時代:IP自動駕駛網絡
- 5G+區塊鏈
- 網絡利他行為研究:積極心理學的視角
- 設備監控技術詳解
- 云計算技術與標準化
- React Design Patterns and Best Practices(Second Edition)
- Twilio Cookbook(Second Edition)
- Learning IoT with Particle Photon and Electron
- 深入淺出計算機網絡
- 5G低功耗蜂窩物聯網開發與應用
- 區塊鏈與物聯網:構建智慧社會和數字化世界
- 移動物聯網智能通信與計算
- Hands-On Full-Stack Web Development with GraphQL and React
- 5G波形設計
- 零距離接觸物聯網
- 物聯網導論
- Web滲透測試實戰:基于Metasploit 5.0
- Implementing Microsoft Dynamics AX 2012 with Sure Step 2012
- 物聯網全棧開發原理與實戰
- 網絡安全技術:網絡空間健康發展的保障
- 網絡工程師紅寶書:思科華為華三實戰案例薈萃
- Microservices with Clojure
- DEM插值算法適應性理論與方法
- 系統化思維導論