『Elixir/Phoenix 初級①』読者サポートページ
2016/11/17
ここは『Elixir/Phoenix 初級①』の読者サポートページです。
刊行後に見つかった誤記・誤字や内容の更新などについてはこのページでお知らせします。
本書で誤字、脱字、内容の間違いなどを見つけた方は、hermes@oiax.jp までご連絡ください。
お知らせ
- 2018-01-08 第2章「各種ソフトウェアのインストール」の内容をさらに改訂しました。以下のURLからPDFファイルを入手してください。
改訂前は、ElixirのインストールをHomebrewとapt-getによって行っていました。改訂後は、kiexを用いてElixirをインストールしています。kiexを使用すると複数のバージョンのElixirを切り替えて使用することができます。2017年1月5日にElixir 1.4.0がリリースされたのを受けて改訂しました。本書の内容はElixir 1.3.4に基づきます。Elixir 1.4.0でもサンプルプログラムは動きますが、随所で警告メッセージが表示されるので、学習には不向きです。また、macOSでの準備作業にOpenSSLのインストール手順を追加しました。読者よりErlangのインストールに失敗する報告を受けての改訂です。
ソースコード
本書のサンプルアプリ ModestGreeter のソースコードは以下の URL から入手可能です。
https://github.com/oiax/modest_greeter/archive/v1.1.0.zip (初版)
https://github.com/oiax/modest_greeter/archive/v2.0.0.zip (第2版)
ペーパーバック版(紙版)の正誤表
初版第1刷
5.2節「Phoenixアプリの骨格を生成する」
- P.33のコラム「依存パッケージのインストール」の前に以下の記述を追加:
テキストエディタで
mix.exs
を開き、35行目を次のように書き換えてください。
:
35- {:gettext, "~> 0.11"},
35+ {:gettext, "~> 0.14.1"},
そして、ターミナルで次のコマンドを実行してください。
$ mix deps.update gettext
本書の刊行後にパッケージ gettext
のバージョン 1.15.0 がリリースされました。このバージョンから Elixir 1.4 以上が必要となったため、本書で採用している Elixir 1.3.4 では正常に動作しません。
7.3節「関数としてのアクション」
- 第3段落(P.51)
誤 第15章で詳しく説明します。
正 第8章や第16章でも言及しますが、詳しくは次巻『初級②』で解説します。
11.1節「Bootstrapの導入」
- コマンドの2行目(p.84)
誤 $ npm install --save tether bootstrap@4.0.0-alpha.5
正 $ npm install --save tether bootstrap@4.0.0-alpha.6
11.4節「Font Awesomeの導入」
web/templates/hello/show.html.eex
のソースコード(p.94)
誤
3 - <p class="card-text text-xs-center lead">Hello, <%= @name %>!</p>
3 + <p class="card-text text-xs-center lead">
正
3 - <p class="card-text lead">Hello, <%= @name %>!</p>
3 + <p class="card-text lead">
17.2節「tag 関数と static_path 関数」
web/templates/hello/show.html.eex
のソースコード(p.156-157)
誤
1 <div class="card m-1">
2 + <%= tag :img, src: static_path(@conn, "/images/modest_greeter.svg"),
3 + alt: "Robot", style: "width: 100%; max-width: 320px" %>
4 <div class="card-block card-inverse card-success">
正
1 <div class="card m-1">
2 + <div class="text-center">
3 + <%= tag :img, src: static_path(@conn, "/images/modest_greeter.svg"),
4 + alt: "Robot", style: "width: 100%; max-width: 320px" %>
5 + </div>
6 <div class="card-block card-inverse card-success">
第2版第1刷
2.1節「準備作業」
- 項「macOSの場合」の末尾(p.10)に以下の記述を追加:
ターミナルで次のコマンドを実行し、
openssl
をインストールします。
$ brew install openssl
ホームディレクトリに
.kerlrc
という名前のファイルを作成し、その中に次の内容を書き入れます。
KERL_CONFIGURE_OPTIONS="--enable-dynamic-ssl-lib --with-ssl=/usr/local/opt/openssl"
5.2節「Phoenixアプリの骨格を生成する」
- P.37のコラム「依存パッケージのインストール」の前に以下の記述を追加:
テキストエディタで
mix.exs
を開き、35行目を次のように書き換えてください。
:
35 - {:gettext, "~> 0.11"},
35 + {:gettext, "~> 0.14.1"},
:
そして、ターミナルで次のコマンドを実行してください。
$ mix deps.update gettext
本書の刊行後にパッケージ gettext
のバージョン 1.15.0 がリリースされました。このバージョンから Elixir 1.4 以上が必要となったため、本書で採用している Elixir 1.3.4 では正常に動作しません。
10.2節「スタイルシート」
- 項「brunch-config.js の変更」内のソースコードのパス(P.80)
誤 web/templates/layout/app.html.eex
正 brunch-config.js
11.1節「Bootstrapの導入」
- 項「Brunchの設定」内のソースコード(P.89)
誤
...
76 + }
77
78 watcher: {
79 usePolling: true
80 }
81 }
正
...
76 + }
77 },
78
79 watcher: {
80 usePolling: true
81 }
82 }
12.3節「モジュールのコンパイル」
- 本文(P.105)の6行目
誤 Elixirのソースコードからbemaファイルを
正 Elixirのソースコードからbeamファイルを
Kindle 版の更新履歴
v1.0 2016-11-23
- Kindle版の発売開始。
v1.1 2017-01-07
7.3節「関数としてのアクション」
- 第3段落
誤 これについては、第15章で詳しく説明します。
正 これについては第8章や第16章でも言及しますが、詳しくは次巻『初級②』で解説します。
10.2節「スタイルシート」
- 項「主部にスタイルシートを適用」の第1段落
誤 web/static/assets/css ディレクトリの下に
正 web/static/css ディレクトリの下に
12.8節「アリティ別に関数を定義する」
- 最初のソースコード(app.html.eex)
誤
1 defmodule Hello3 do
2 + def message do
3 + "Hello, world!"
4 + end
5 +
6 def message(name) do
7 "Hello, #{name}!"
正
1 defmodule Hello3 do
2 - def message(name \\ "world") do
2 + def message do
3 + "Hello, world!"
4 + end
5 +
6 + def message(name) do
7 "Hello, #{name}!"
17.5節「content_tag 関数」
- 最初のソースコード(app.html.eex)
誤 13 - href="<%= static_path(@conn, "/modest_greeter.ico") %>">
正 13 - href="<%= static_path(@conn, "/images/modest_greeter.ico") %>">
誤 14 + href=static_path(@conn, "/modest_greeter.ico") %>
正 14 + href=static_path(@conn, "/images/modest_greeter.ico") %>
誤 15 - href="<%= static_path(@conn, "/modest_greeter256.png") %>">
正 15 - href="<%= static_path(@conn, "/images/modest_greeter256.png") %>">
誤 16 - href: static_path(@conn, "/modest_greeter256.png") %>
正 16 - href: static_path(@conn, "/images/modest_greeter256.png") %>
v3 2017-02-20
第2章
- 「各種ソフトウェアのインストール」の内容を大幅に改訂。改訂後の内容(PDF)は下記URLから入手できます。
第11章
- Bootstrapのバージョンを
4.0.0-alpha.5
から4.0.0-alpha.6
に変更。 - HTMLクラス
text-xs-center
をtext-center
に変更。
第17章
web/templates/hello/show.html.eex
のコードを次のように変更。
(変更前)
1 <div class="card m-1">
2 + <%= tag :img, src: static_path(@conn, "/images/modest_greeter.svg"),
3 + alt: "Robot", style: "width: 100%; max-width: 320px" %>
4 <div class="card-block card-inverse card-success">
(変更後)
1 <div class="card m-1">
2 + <div class="text-center">
3 + <%= tag :img, src: static_path(@conn, "/images/modest_greeter.svg"),
4 + alt: "Robot", style: "width: 100%; max-width: 320px" %>
5 + </div>
6 <div class="card-block card-inverse card-success">
v4 2017-11-22
※ 紙書籍の第2版に相当します。
第2章
- 「各種ソフトウェアのインストール」の内容を大幅に改訂。改訂後の内容(PDF)は下記URLから入手できます。
第5章
5.2 Phoenix アプリの骨格を生成する
「ターミナルに次のような結果が表示されます。」の表示
(変更前)
...
* creating modest_greeter2/web/views/layout_view.ex
* creating modest_greeter2/web/views/page_view.ex
(変更後)
...
* creating modest_greeter/web/views/layout_view.ex
* creating modest_greeter/web/views/page_view.ex
コラム「inotify からのメッセージ」
削除
第6章
6.2 ファイルの拡張子
- 「この章で私たちが書き換えたり」を「前章で私たちが書き換えたり」に修正。
第10章
10.2 スタイルシート
- 項「NPMパッケージsass-brunchの導入」の次に項「brunch-config.js の変更」を追加し、
brunch-config.js
を次のように書き換えるように指示。
npm: {
enabled: true
},
watcher: {
usePolling: true
}
};
usePolling
オプションに true
をセットすると、Brunch によるファイルの変更の検知が少しだけ遅くなりますが、動作が安定します。
第11章
- 大幅改訂。改訂後の内容(PDF)は下記URLから入手できます。
第15章
- HTML ソースコードおよび本文内の
m-1
をすべてm-3
に変更(4ヶ所)。
第16章
- HTML ソースコード内の
m-1
をすべてm-3
に変更(2ヶ所)。 - HTML ソースコードおよび本文内の
mb-1
をすべてmb-3
に変更(6ヶ所)。 - HTML ソースコード内の
nav-inline
をすべてjustify-content-center
に変更(4ヶ所)。
第17章
- 大幅改訂。改訂後の内容(PDF)は下記URLから入手できます。
v5 2018-01-06
第2章
- 2.1節「準備作業」の項「macOSの場合」の末尾に以下の記述を追加:
ターミナルで次のコマンドを実行し、
openssl
をインストールします。
$ brew install openssl
ホームディレクトリに
.kerlrc
という名前のファイルを作成し、その中に次の内容を書き入れます。
KERL_CONFIGURE_OPTIONS="--enable-dynamic-ssl-lib --with-ssl=/usr/local/opt/openssl"
改訂後の第2章全体(PDF)を下記URLから入手できます。
v6 2018-05-14
第5章
- 5.2節「Phoenix アプリの骨格を生成する」に、gettextパッケージのダウングレードに関する記述を追加。変更内容はペーパーバック版(第2版第1刷)の正誤表を参照のこと。