プログラミングElixir(第2版)株式会社 オーム社, 2020/12/01 - 424 ページ プログラミング言語Elixirを学ぶ Elixir(エリクサー)は、 本書は、RubyやElixirの伝道師として、そして「 第2版では、内容が大幅にアップデートされ、Elixir 1.6以降に対応しただけではなく、 このような方におすすめ 向上心のあるプログラマ Elixirに興味のある人 Rubyユーザ Erlangユーザ プログラミングを学んでいる学生 情報系の大学生 主要目次 Elixir作者による前書き はじめに(正当化のむなしい試み、再び) 第1章 赤いカプセルをとれ 第 I 部 伝統的なプログラミング 第2章 パターンマッチ 第3章 不変性 第4章 Elixirの基礎 第5章 無名関数 第6章 モジュールと名前付き関数 第7章 リストと再帰 第8章 マップ、キーワードリスト、セット、構造体 第9章 寄り道:型とは何か? 第10章 コレクションの処理 ── EnumとStream 第11章 文字列とバイナリ 第12章 制御フロー 第13章 プロジェクトを構成する 第14章 ツールの利用 第 II 部 並行プログラミング 第15章 複数のプロセスを使う 第16章 ノード ── 分散システムの要 第17章 OTP:サーバ 第18章 OTP:スーパーバイザ 第19章 さらに複雑な例 第20章 OTP:アプリケーション 第21章 タスクとエージェント 第 III 部 より高度なElixir 第22章 マクロとコードの評価 第23章 モジュールのリンク:ビヘイビアとuse 第24章 プロトコル ── ポリモーフィック関数 第25章 かっこいい機能いろいろ 付録A 例外:rais、try、catch、throw 付録B 型仕様と型チェック 付録C 参考文献 付録D Elixir 1.6以降の状況と開発運用の実際 付録E 日本語版に寄せて |
目次
1315 データの変換によるコーディング | 167 |
第14章ツールの利用 | 169 |
142 テスト | 173 |
143 コードの依存関係 | 186 |
144 サーバモニタリング | 187 |
145 ソースコードの整形 | 190 |
146 予想どおりもっとある | 193 |
第II 部並行プログラミング | 195 |
18 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
28 | |
31 | |
33 | |
34 | |
48 変数のスコープ | 36 |
49 基礎の終わり | 40 |
第5章無名関数 | 41 |
51 関数とパターンマッチ | 42 |
52 一つの関数複数のボディ | 43 |
53 関数は関数を返すことができる | 45 |
54 関数を引数として渡す | 47 |
55 関数はElixirの中核だ | 51 |
第6章モジュールと名前付き関数 | 53 |
62 関数のボディはブロックだ | 54 |
63 関数呼び出しとパターンマッチ | 55 |
64 ガード節 | 58 |
65 デフォルトパラメータ | 60 |
66 プライベート関数 | 63 |
68 モジュール | 65 |
69 モジュールの属性 | 67 |
ElixirErlangそしてアトム | 68 |
611 Erlangのライブラリにある関数の呼び出し | 69 |
第7章リストと再帰 | 71 |
72 ヘッドとテイルによるリストの処理 | 72 |
73 ヘッドとテイルを使ったリストの構築 | 74 |
74 map関数の作成 | 75 |
75 リストを単一の値にまとめる | 76 |
76 より複雑なリストのパターン | 78 |
77 実践Listモジュール | 81 |
78 リストと仲良くなろう | 82 |
第8章マップキーワードリストセット構造体 | 83 |
82 キーワードリスト | 84 |
84 マップのパターンマッチと更新 | 85 |
85 マップの更新 | 87 |
86 構造体 | 88 |
87 入れ子になった辞書構造体 | 89 |
88 セット | 95 |
型とは何か? | 97 |
第10章コレクションの処理EnumとStream | 99 |
102 ストリーム遅延列挙 | 103 |
103 Collectableプロトコル | 110 |
104 内包表記 | 111 |
105 神業との訣別 | 114 |
第11章文字列とバイナリ | 117 |
112 文字列という名前 | 120 |
113 シングルクオートで囲まれた文字列文字コードのリスト | 121 |
114 バイナリ | 123 |
115 ダブルクオート文字列はバイナリ | 124 |
116 バイナリとパターンマッチ | 130 |
117 見慣れたけれど奇妙な | 132 |
第12章制御フロー | 133 |
122 cond | 134 |
123 case | 137 |
124 例外の発生 | 138 |
126 少ない努力で大きな成果 | 139 |
第13章プロジェクトを構成する | 141 |
Mixを使って新しいプロジェクトを作る | 142 |
コマンドライン解析 | 145 |
134 基本的なテストを書く | 146 |
大きな関数注意報 | 149 |
ライブラリを使う | 151 |
レスポンスを加工する | 156 |
データを並び替える | 158 |
最初のn個を取り出す | 159 |
テーブルに整形 | 160 |
実行可能なコマンドを作成 | 163 |
ロギングの追加 | 164 |
プロジェクトドキュメントの生成 | 166 |
第15章複数のプロセスを使う | 197 |
151 シンプルなプロセス | 198 |
152 プロセスのオーバヘッド | 203 |
153 プロセスが死ぬとき | 206 |
154 Parallel MapErlang のHello World | 210 |
155 フィボナッチサーバ | 211 |
156 Agents難問 | 215 |
157 プロセスで考える | 216 |
第16章ノード分散システムの要 | 219 |
162 プロセスの名前付け | 223 |
163 入力出力PIDノード | 226 |
164 ノードは分散の基本 | 228 |
サーバ | 229 |
172 OTP サーバ | 230 |
173 GenServerコールバック | 238 |
174 プロセスの名前を付ける | 240 |
176 サーバをコンポーネントにする | 242 |
スーパーバイザ | 247 |
182 ワーカの再起動オプション | 254 |
183 スーパーバイザは信頼の要 | 255 |
第19章さらに複雑な例 | 257 |
192 Duper アプリケーション | 262 |
193 さて動くかな? | 272 |
194 自分のElixirアプリケーションを計画しよう | 274 |
195 次に来るのは? | 275 |
アプリケーション | 277 |
202 アプリケーション仕様ファイル | 278 |
204 スーパーバイザが信頼性の基盤 | 281 |
205 コードのリリース | 282 |
207 OTPは大きい信じられないくらい大きい | 292 |
第21章タスクとエージェント | 293 |
212 エージェント | 295 |
213 大きめの例 | 297 |
214 エージェントかタスクかそれともGenServerか? | 300 |
第III 部より高度なElixir | 301 |
第22章マクロとコードの評価 | 303 |
222 マクロはコードを注入する | 304 |
223 コードとして表現を利用する | 307 |
224 値の注入のためのバインディングの利用 | 312 |
225 マクロは健全 | 313 |
226 コード片を走らせる他の方法 | 314 |
227 マクロと演算子 | 315 |
228 さらに深掘り | 316 |
ビヘイビアとuse | 319 |
232 useと__using__ | 322 |
234 useを使う | 326 |
第24章プロトコルポリモーフィック関数 | 329 |
242 プロトコルの実装 | 330 |
243 利用可能な型 | 331 |
244 プロトコルと構造体 | 332 |
245 組み込みプロトコル | 333 |
246 プロトコルはポリモーフィック | 345 |
第25章かっこいい機能いろいろ | 347 |
252 複数アプリケーションのアンブレラプロジェクト | 351 |
253 お楽しみはこれからだ | 354 |
raistrycatchthrow | 355 |
A2 catchexitthrow | 357 |
A3 独自の例外の定義 | 358 |
A4 今はこの付録を無視してほしい | 359 |
付録B 型仕様と型チェック | 361 |
B2 型の指定 | 362 |
B3 新しい型の定義 | 364 |
B4 関数とコールバックの型仕様 | 365 |
B5 Dialyzer の利用 | 366 |
付録C 参考文献 | 373 |
付録D Elixir16以降の状況と開発運用の実際 | 375 |
D2 リリース | 377 |
D3 アプリケーションのデリバリー | 382 |
付録E 日本語版に寄せて | 385 |
E2 Elixir作者より第2版発行に寄せて | 386 |
E4 訳者より | 387 |
389 | |
著者訳者について | 409 |
411 | |