出版社内容情報
ハマりやすいScalaの36のトピック(コード)を集め、クイズ形式で解いていく書籍です。
Scalaは高機能で自由度が高い反面、意図しない動作をするコードを記述できてしまうケースがあります。本書では、初期化の順番やfor式とmapの違いなど、ハマりやすいScalaの36のトピック(コード)を集め、クイズ形式で解いていきます。
短いコードで考えさせられることがたっぷり。予想と違った結果や答えに、さらに興味が湧いて楽しめることでしょう。Scalaをはじめたばかりの人から、一通りScalaコードを書けるようになった人まで、奇しくも楽しいScalaの世界を満喫できる一冊です。
Scalaや関数型プログラミングに興味がある、あるいはScalaプログラミング時のハマりやすいポイントやキモを学びたい方など、Java/Scalaユーザーをはじめ、Scala/関数型プログラミングの入門者や学生にもおすすめの一冊です。
PUZZLE 1 皆さん、こんにちは!――Hi There!
PUZZLE 2 大文字と小文字――UPSTAIRS downstairs
PUZZLE 3 ロケーション、ロケーション、ロケーション――Location, Location, Location
PUZZLE 4 こっちを見て……ほら消えた!――Now You See Me, Now You Don't
PUZZLE 5 失われたリスト――The Missing List
PUZZLE 6 引数でもうドン引き!――Arg Arrgh!
PUZZLE 7 クロージャにとらわれる――Caught Up in Closures
PUZZLE 8 Map 内包表記――Map Comprehension
PUZZLE 9 あなたを初期化、私を初期化――Init You, Init Me
PUZZLE10 ケースクラスの等価性――A Case of Equality
PUZZLE11 もし最初に成功しなかったら――If at First You Don't Succeed...
PUZZLE12 MapにするかMapにしないか――To Map, or Not to Map
PUZZLE13 自分自身への参照――Self: See Self
PUZZLE14 私に返して!――Return to Me!
PUZZLE15 すぐにカウントするか、後でカウントするか――Count Me Now, Count Me Later
PUZZLE16 部分適用後の引数――One Bound, Two to Go
PUZZLE17 暗黙的なサプライズ――Implicitly Surprising
PUZZLE18 情報のオーバーロード――Information Overload
PUZZLE19 名前になんの意味がある?――What's in a Name?
PUZZLE20 非正規表現――Irregular Expressions
PUZZLE21 パディングいただけますか?――I Can Has Padding?
PUZZLE22 キャストアウェイ――Cast Away
PUZZLE23 適合的推論――Adaptive Reasoning
PUZZLE24 Doubleの問題点――Double Trouble
PUZZLE25 型の強要――Type Extortion
PUZZLE26 あらゆる引数を受け入れる――Accepts Any Args
PUZZLE27 nullのパターンマッチ――A Case of Strings
PUZZLE28 値型なのにnull?――Pick a Value, AnyValue!
PUZZLE29 implicit が無力になる――Implicit Kryptonite
PUZZLE30 型の省略と宣言――Quite the Outspoken Type
PUZZLE31 ビューはさくら――A View to a Shill
PUZZLE32 誤解を解く――Set the Record Straight
PUZZLE33 悪魔はデフォルト値――The Devil Is in the Defaults
PUZZLE34 大事なこと――The Main Thing
PUZZLE35 ドルのリスト――A Listful of Dollars
PUZZLE36 サイズアップ――Size It Up
内容説明
Scalaは高機能で自由度が高い反面、意図しない動作をするコードを記述できてしまうケースがある。本書では、初期化の順番やfor式とmapの違いなど、ハマりやすいScalaの36のトピック(コード)を集め、クイズ形式で解いていく。
目次
皆さん、こんにちは!
大文字と小文字
場所、場所、場所
こっちを見て…ほら消えた!
失われたリスト
引数でもうドン引き!
クロージャにとらわれる
Map内包表記
あなたを初期化、私を初期化
イコールの場合〔ほか〕
著者等紹介
フィリップス,アンドリュー[フィリップス,アンドリュー] [Phillips,Andrew]
並列/高性能アプリケーションのスペシャリストで、複数の企業で大規模システムの開発経験を持つ。長年にわたってオープンソース開発者、かつコミュニティのメンバーであり、もともとはAkkaで使用されていたSTM実装Multiverseの開発、Javaの有力なクラウドライブラリであるApache jcloudsへのコントリビュートなどに携わってきた。また、Scala PuzzlersのWebサイトの共同メンテナでもある。定期的にデベロッパーサイトのために執筆したり、カンファレンスやミートアップでの講演を行なっている
セリフォヴィック,ネルミン[セリフォヴィック,ネルミン] [〓erifovi´c,Nermin]
Javaテクノロジーを用いたエンタープライズソフトウェアアプリケーションの開発に関して10年以上の経験を持つ。キャリアのほとんどをバックエンドプラットフォームの構築に費やしてきた。2009年からScala愛好家だったが、2011年以降はScalaを専門としている。ハーバードエクステンションスクールの講師で、「Scalaでの並行プログラミング」コースを共同で教えており、また、さまざまなカンファレンスで講演している。アクティブなScalaコミュニティメンバーで、ボストンエリアのScala愛好者たちのユーザグループを組織し、ノースイーストScalaシンポジウムの設立チームの一員でもある
竹添直樹[タケゾエナオキ]
株式会社ビズリーチ所属。Scalaを愛するプログラマ。SI屋を定年退職して現職。業務の傍らOSS活動や書籍の執筆なども行なっており、Apache Software Foundation、Scalatraなどのコミッタを務める一方、最近はScalaによるオープンソースのGitHubクローン「GitBucket」を開発している
島本多可子[シマモトタカコ]
株式会社ビズリーチに勤務中。技術者でいたいと思い現職へ。ここ数年は「Scala」「オープンソース」をキーワードに、Webアプリケーションの開発に携わってきたが、最近はもっぱらApache Spark StreamingとAWS Kinesisのお世話に追われている。オープンソースのGitHubクローン「GitBucket」の開発も行なう(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。
-
- 洋書
- Did You Ever