Professional Scala - Janek Bogucki - E-Book

Professional Scala E-Book

Janek Bogucki

0,0
40,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Professional Scala provides experienced programmers with fast track coverage aimed at supporting the use of Scala in professional production applications. Skipping over the basics and fundamentals of programming, the discussion launches directly into practical Scala topics with the most up-to-date coverage of the rapidly-expanding language and related tools. Scala bridges the gap between functional and object-oriented programming, and this book details that link with clear a discussion on both Java compatibility and the read-eval-print loop used in functional programming. You'll learn the details of tooling for build and static analysis. You'll cover unit testing with ScalaTest, documentation with Scaladoc, how to handle concurrency, and much more as you build the in-demand skill set required to use Scala in a real-world production environment. Java-compliant with functional programming properties, Scala's popularity is growing quickly--especially in the rapidly expanding areas of big data and cluster computing. This book explains everything professional programmers need to start using Scala and its main tools quickly and effectively. Master Scala syntax, the SBT interactive build tool, and the REPL workflow * Explore functional design patterns, concurrency, and testing * Work effectively with Maven, Scaladoc, Scala.js, and more * Dive into the advanced type system * Find out about Scala.js A working knowledge of Scala puts you in demand. As both the language and applications expand, so do the opportunities for experienced Scala programmers--and many positions are going unfilled. Twitter, Comcast, Netflix, and other major enterprises across industries are using Scala every day, in a number of different applications and capacities. Professional Scala helps you update your skills quickly to start advancing your career.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 330

Veröffentlichungsjahr: 2016

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Title Page

Introduction

Who This Book Is For

What This Book Covers

How This Book Is Structured

What You Need to Use This Book

Conventions

Source Code

Errata

p2p.wrox.com

Chapter 1: Language Features

Static Types and Type Inference

Pattern Matching

Packages, Companion Objects, Package Objects, and Scoping

Summary

Chapter 2: Functional Programming

Immutability

Pure Functions

Recursion

Higher-Order Functions

Core Collection Methods

Currying and Partially Applied Functions

Null Handling (Option)

Strict versus Non-Strict Initialization

Summary

Chapter 3: Java Compatibility

Scala and Java Collections

Interfaces and Traits

Scala/Java Enumerations

Summary

Chapter 4: Simple Build Tool

Basic Usage

Advanced Usage

Release Management

Summary

Chapter 5: Maven

Getting Started with Maven and Scala

Introducing scala-maven-plugin

Adding Library Dependencies

Using the REPL

Getting Help

Running Tests

Joint Compilation with Java

Accelerating Compilation with Zinc

Summary

Chapter 6: Scala Style/Lint

Scala with Style

Scaliform

Scapegoat

WartRemover

Scoverage

Summary

Chapter 7: Testing

ScalaTest

Unit Tests

Integration Testing

Load Testing

Summary

Chapter 8: Documenting Your Code with Scaladoc

Why Document Your Code?

Scaladoc Structure

Invoking the Scaladoc Tool

Wiki Syntax

Tagging

Invoking scaladoc: Additional Options

Integrating Scaladoc Creation with Your Project

Publishing Scaladoc

Tables and CSS

Summary

Chapter 9: Type System

What Is a Type System?

Scala's Unified Type System

Polymorphism

Bounds

Other Niceties

Summary

Chapter 10: Advanced Functional Programming

Higher-Kinded Types

Functional Design Patterns

Summary

Chapter 11: Concurrency

Synchronize/Atomic Variables

Future Composition

Parallel Collections

Reactive Streams

STM

Actors (Akka)

Spark

Summary

Chapter 12: Scala.js

Scala.js and Its Design

Getting Started: Scala.js with SBT

Scala.js Peculiarities

Webjars and Dealing with the Frontend Ecosytem

Summary

End User License Agreement

Pages

i

ii

iii

iv

xv

xvi

xvii

xviii

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

205

206

207

208

209

210

211

212

213

Guide

Cover

Table of Contents

Begin Reading

List of Illustrations

Chapter 2: Functional Programming

Figure 2.1

Figure 2.2

Figure 2.3

Chapter 5: Maven

Figure 5.1

Chapter 8: Documenting Your Code with Scaladoc

Figure 8.1

Figure 8.2

Figure 8.3

Figure 8.4

Figure 8.5

Figure 8.6

Figure 8.7

Figure 8.8

Figure 8.9

Figure 8.10

Figure 8.11

Figure 8.12

Figure 8.13

Figure 8.14

Figure 8.15

Figure 8.16

Figure 8.17

Figure 8.18

Figure 8.19

Figure 8.20

Figure 8.21

Figure 8.22

Figure 8.23

Figure 8.24

Figure 8.25

Figure 8.26

Figure 8.27

Figure 8.28

Figure 8.29

Chapter 9: Type System

Figure 9.1

Chapter 10: Advanced Functional Programming

Figure 10.1

Chapter 11: Concurrency

Figure 11.1

Figure 11.2

Figure 11.3

Figure 11.4

Figure 11.5

Figure 11.6

Figure 11.7

Figure 11.8

Figure 11.9

Figure 11.10

Figure 11.11

Chapter 12: Scala.js

Figure 12.1

List of Tables

Chapter 3: Java Compatibility

Table 3.1 From Scala to Java

Table 3.2 From Java to Scala

Chapter 5: Maven

Table 5.1 Plugin Goals

Chapter 8: Documenting Your Code with Scaladoc

Table 8.1 Entities by Category

Table 8.2 Wiki Syntax and Effects

Table 8.3 Wiki Syntax for Block Types

Table 8.4 Wiki Syntax for Lists

Table 8.5 Link types

Table 8.6 Tags and Their Purposes

Table 8.7 Newly Introduced Tags and Their Purpose

Table 8.8 The Group Tags

Table 8.9 Advanced Tags

Table 8.10 scaladoc Command-Line Options

Table 8.11 Supported Tags in Scaladoc

Chapter 9: Type System

Table 9.1 Variance Types

Chapter 10: Advanced Functional Programming

Table 10.1 Kinds in Type Theory

PROFESSIONALScala

Aliaksandr BedrytskiJanek BoguckiAlessandro LacavaMatthew de DetrichBenjamin Neil