没有合适的资源?快使用搜索试试~ 我知道了~
Professional Scala
需积分: 10 20 下载量 80 浏览量
2017-09-19
17:12:45
上传
评论 1
收藏 5.27MB PDF 举报
温馨提示
试读
232页
Scala bridges the gap between functional and object-oriented programming, and this book details that link with a clear discussion of both Java compatibility and the read-eval-print loop used in declarative programming. You’ll learn the details of Scala testing, design patterns, concurrency, andmuch more as you build the in-demand skill set required to utilize Scala in a real-world production environment.
资源推荐
资源详情
资源评论
f rs.indd 05/12/2016 Page i
PROFESSIONAL SCALA
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
CHAPTER 1 Language Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
CHAPTER 2 Functional Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
CHAPTER 3 Java Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
CHAPTER 4 Simple Build Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
CHAPTER 5 Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
CHAPTER 6 Scala Style/Lint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
CHAPTER 7 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
CHAPTER 8 Documenting Your Code withScaladoc . . . . . . . . . . . . . . . . . . . . . . 95
CHAPTER 9 Type System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
CHAPTER 10 Advanced Functional Programming . . . . . . . . . . . . . . . . . . . . . . . . 165
CHAPTER 11 Concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
CHAPTER 12 Scala.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
www.allitebooks.com
f rs.indd 05/12/2016 Page iv
Professional Scala
Published by
John Wiley & Sons, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2016 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-119-26722-5
ISBN: 978-1-119-26725-6 (ebk)
ISBN: 978-1-119-26726-3 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means,
electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108
of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization
through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the
Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201)
748-6008, or online at http://www.wiley.com/go/permissions.
Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with
respect to the accuracy or completeness of the contents of this work and speci cally disclaim all warranties, including
without limitation warranties of tness for a particular purpose. No warranty may be created or extended by sales or
promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is
sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional ser-
vices. If professional assistance is required, the services of a competent professional person should be sought. Neither the
publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred
to in this work as a citation and/or a potential source of further information does not mean that the author or the pub-
lisher endorses the information the organization or Web site may provide or recommendations it may make. Further, read-
ers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work
was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the
United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with stan-
dard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such
as a CD or DVD that is not included in the version you purchased, you may download this material at http://book-
support.wiley.com
. For more information about Wiley products, visit www.wiley.com.
Library of Congress Control Number: 2016937234
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are trade-
marks or registered trademarks of John Wiley & Sons, Inc. and/or its af liates, in the United States and other countries,
and may not be used without written permission. All other trademarks are the property of their respective owners. John
Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book.
www.allitebooks.com
f rs.indd 05/12/2016 Page v
ABOUT THE AUTHORS
ALIAKSANDR BEDRYTSKI is a passionate software engineer at Worldline Lyon, France. Even though
it’s been more than four years since he discovered Scala, he’s still in love with the language and is
trying to push its boundaries every day. In his spare time he’s learning something new about space,
physics, and bleeding edge technologies. He is currently working as a lead developer on a data-
analysis project featuring Hadoop, Spark-Scala, Hive, and other Big Data tools.
JANEK BOGUCKI is a co-founder at Inferess Inc. and principal consultant (Machine Learning and
Scala) at Combination One. He has a background in mathematics with an ongoing interest in com-
puter science, data science, machine learning, graph theory, and development methodologies. He
lives in Kent, UK with his wife Rebecca, son Theo, two cats, one dog, and a variable number of
chickens.
ALESSANDRO LACAVA holds a degree in telecommunications engineering. He’s had extensive
experience with OOP before becoming very passionate about functional programming. He is cur-
rently working as a lead designer and developer on different types of applications using mainly,
but not only, Scala. He’s also a contributor of pretty famous open source projects, such as shape-
less and cats.
MATTHEW DE DETRICH is a tech lead for Monetise Pty Ltd, where he primarily works on full stack
applications with backends written in Scala. Matthew has a passion for designing, building, and
integrating complex multi-domain systems from the ground up. In his spare time he is exploring
new developments in the Scala space, such as Scala.js.
BENJAMIN NEIL is a full stack engineer at AppThis LLC. He is a polyglot engineer who has had the
privilege of working the past eight years making websites, services, and tools for amazing compa-
nies. He is obsessed with Scala, Vim, DevOps, and making services scale smoothly.
www.allitebooks.com
f rs.indd 05/12/2016 Page vi
ABOUT THE TECHNICAL EDITORS
JACOB PARK is a Scala and Typesafe enthusiast; he embraces Akka, Play, and Spark, all with
Scala, to solve various problems regarding distributed systems with additional technologies such as
Cassandra and Kafka. As a believer in open-source software, he contributes to various projects on
GitHub related to Akka and Cassandra:
https://github.com/jparkie. When he’s not working,
Jacob can be found at various Scala and Typesafe conferences and meetups, either as an attendee or
a presenter.
ARIEL SCARPINELLI is a senior Java developer at VirtualMind and is a passionate developer with
more than 15 years of professional experience. He currently leads four agile teams for a U.S.-based
enterprise SaaS company. He has experience in a lot of languages but is currently focused on Java
and JavaScript with some PHP and Python.
RADU GANCEA is a software engineer and consultant at Eloquentix with a Java background (also C/
C++). He is involved in projects in the energy and advertising sectors. His current focus is on Scala
and other JVM languages and frameworks.
www.allitebooks.com
剩余231页未读,继续阅读
资源评论
wangqun19890101
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功