"Scala with Cats"の(非公式)和訳 🐱🇯🇵 (Japanese translation of the book "Scala with Cats")
著: Noel Welsh / Dave Gurnell
訳: Takumi Fujiwara(@jiftechnify)
挿絵: Jenny Clements
この著作物はCreative Commons Attribution-ShareAlike 4.0 International Licenseのもとで頒布されています。
Scala with Catsは、Catsライブラリと多くの実例を用いて、モノイド・ファンクタ・モナド・アプリカティブファンクタといった、関数プログラミングにおける抽象化手法について解説した書籍である。
Scala with Catsでは、Underscoreの電子書籍ビルドシステムを利用している。
この本をビルドする最も簡単な方法は、Docker Composeを使う方法だ:
-
Docker Composeをインストール(OS Xなら
brew install docker-compose
。そうでなければdocker.comからダウンロード)し、 -
go.sh
を実行する(go.sh
が動かなければ、代わりにdocker-compose run book bash
を実行)。
これで、この本をビルドするのに必要なすべての依存ライブラリを含んだDockerコンテナの中で、bash
シェルが起動した状態になる。
次に、シェルから次のコマンドを順に実行する:
npm install
sbt
sbt
の中でpdf
、html
、epub
、またはall
コマンドを実行すれば、所望の形式の本がビルドされる。
出力はdist
ディレクトリに配置される。
TBD
(以下、原著のREADME)
Copyright Noel Welsh and Dave Gurnell, 2014-2017.
Artwork by Jenny Clements.
Published by Underscore Consulting LLP.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Scala with Cats teaches core functional abstractions of monoids, functors, monads, and applicative functors using the Cats library and a number of case studies.
Scala with Cats uses Underscore's ebook build system.
The simplest way to build the book is to use Docker Compose:
-
install Docker Compose (
brew install docker-compose
on OS X; or download from docker.com); and -
run
go.sh
(ordocker-compose run book bash
ifgo.sh
doesn't work).
This will open a bash
shell running inside the Docker container
that contains all the dependencies to build the book.
From the shell run:
npm install
; and thensbt
.
Within sbt
you can issue the commands
pdf
, html
, epub
, or all
to build the desired version(s) of the book.
Targets are placed in the dist
directory.
If you spot a typo or mistake,
please feel free to fork the repo and submit a Pull Request.
Add yourself to src/pages/contributors.md
to ensure we credit you for your contribution.
If you don't have time to submit a PR or you'd like to suggest a larger change to the content or structure of the book, please raise an issue instead.