商品情報
商品説明
内容紹介
【さまざま領域に活用範囲を広げる、新進気鋭の言語のポテンシャル】
本書は、Elixirの言語仕様と実践的な利用方法を解説した入門書です。
Elixirは、低遅延で高い可用性を要求される分散システムの構築と運用を目的とするErlang VM上で動作する言語で、その文法はRubyから大きく影響を受けています。ゲームやチャットプラットフォームなど大量のコネクションとトラフィックを扱う必要のあるシステムを構築するのに利用されています。有用なツールやライブラリが多数開発されているのも後押しとなり、近年ではさまざまな分野に活躍の場を広げつつあります。
本書では、Webアプリケーション、機械学習、IoTなどでのElixirの活用方法を解説します。サンプルアプリケーションを開発しながらコードを紹介しつつ解説しています。Phoenix、Nx、Livebook、Nervesといったツールやライブラリの実践的な活用方法も紹介しているので、今の開発に即した実践的な知識が身に付けられます。
■こんな方におすすめ
・なんらかのプログラミング言語(C、C++、Ruby、Python、JavaScriptなど)を習得している人で、新しい言語としてElixirを習得したい人
■目次
第1章:Elixir小史
Elixir言語の特徴
Erlang/OTP──Elixirの実行基盤
Elixirの誕生
Elixirの持つポテンシャル
まとめ
第2章:Elixirの基礎
Elixirのインストール
Elixirコードの実行方法
基本的な文法
制御フロー
まとめ
第3章:基本的な型とパターンマッチ
基本的な型
シジル──リテラルを表現する記法
パターンマッチ──データとパターンの照合
まとめ
第4章:モジュール
モジュールと関数によるプログラムの構造化
String──文字列操作を扱う標準モジュール
File──ファイル操作を行う標準モジュール
IO──標準入出力を扱う標準モジュール
Enum──コレクションを「いい感じ」に扱う標準モジュール
Map──マップを「いい感じ」に扱う標準モジュール
Stream──コレクションを遅延評価する標準モジュール
ExUnit──Elixirの単体テスト標準モジュール
まとめ
第5章:Mixを使ったElixirプロジェクトの開発
Mixの基本的な使い方
Mixタスク──Elixir開発を支える便利なコマンド
開発に便利なTips
まとめ
第6章:並行プログラミング
プロセスによる並行プログラミングの実現
OTPによる並行プログラミングの実現
まとめ
第7章:Phoenixの概要
Phoenixとは何か──Elixir製のWebアプリケーションフレームワーク
Phoenixの基礎知識
Phoenixの基本的な使い方
まとめ
第8章:Ectoによるデータベース操作
Ectoとは何か──Elixir製のデータベースライブラリ
Ectoの基礎知識
Ectoの基本的な使い方
まとめ
第9章:phx.gen.authによる認証
phx.gen.authとは何か──ビルトインのMixタスク
phx.gen.authの基礎知識
phx.gen.authの基本的な使い方
まとめ
第10章:LiveViewによるフロントエンドの開発
LiveViewとは何か──Elixirで実装するリアルタイムWeb
LiveViewの基礎知識
LiveViewの実践的な使い方
まとめ
第11章:実践的なWebアプリケーションの開発
ブログアプリケーションRealWorldの実装
記事のCRUD機能の開発
コメント機能の開発
タグ機能の開発
認証機能の開発
LiveViewによるRealWorldの開発
デプロイ
まとめ
第12章:行列演算ライブラリNxの概要
Nxとは何か
Nxの基本的な使い方
まとめ
第13章:Axonの概要と機械学習システム開発の進め方
Axonとは何か
Axonの基本的な使い方
SciDataとNxによる学習データの準備
Axonによるモデルの構築
Axon.Loopによるモデルの学習と可視化
Axon.Loopによるモデルの検証
Axon.predict/4──推論の実行
まとめ
第14章:機械学習向けのライブラリ
Kino──Livebook用のUIライブラリ
StbImage──軽量画像読み書きライブラリ
Evision──OpenCVラッパー
Bumblebee──学習済みTransformerモデル提供ライブラリ
まとめ
第15章:実践的なAxonアプリケーションの開発
画像分類を行うWebアプリケーションの実装
LiveViewページの作成
ファイルアップロード機能の実装
学習済みモデルでの画像分類機能の実装
まとめ
第16章:Nervesの概要
Nervesとは何か
Nervesの動作するIoTボード
まとめ
第17章:Nervesでの開発の進め方
用意するもの
Nervesプロジェクトの基本的な開発の進め方
まとめ
第18章:Elixir Circuitsによるモジュールの制御
Elixir Circuitsとは何か──Elixir/Nerves向けのモジュール制御ライブラリ
モジュールの通信方式
用意するもの
Elixir Circuitsの使い方
まとめ
第19章:実践的なIoTアプリケーションの開発
開発するもの
データ受け取りサーバの作成
データのリアルタイム表示部の作成
データ送信モジュールの作成
ボタンの押下によるデータ測定
まとめ
■著者プロフィール
栗林 健太郎:GMOペパボ株式会社で取締役CTOを務めるかたわら、北陸先端科学技術大学院大学博士後期課程に在学中の社会人学生でもあります。IoTシステムへのElixirの応用について研究しています。Erlang/OTPとElixirは、基盤としてのErlangの誕生から40年近く経った今も常に未来を指し示しているところが好きです。
大原 常徳:株式会社ドリコムでSRE部門のマネージャーをしています。プライベートではErlangを、仕事ではElixirとRubyとHCLを書いています。tokyo.exというElixirのコミュニティを運営しています。
大聖寺谷 一樹:本業では主にKotlinを使った開発していますが、副業でElixirやElmを触ったりしているなんちゃってアルケミスト。Elixirの好きなところはイミュータブルなところとパターンマッチ。
山内 修:名乗るほどのものではございませんが、山内修です。日本マイクロソフト賞4受賞。Elixir本体、Ectoに貢献歴あり。We are the alchemists, my friends!Elixirの好きなところは、>とコミュニティがあたたかいところ。
齋藤 和也:Webのサーバサイド開発やクラウドインフラ構築が得意なエンジニア。普段はRuby on Railsを使うことが多いですが、Elixir/Phoenixのお仕事や情報発信もしています。複数社で技術顧問を務めています。
隆藤 唯章:僧職系フリーランスプログラマーやってます。前はRailsがメインでしたが、現在はPhoenixメインでお仕事をしています。ElixirMobileというElixirのコミュニティのオーガナイザーをしています。最近はElixirでモバイルアプリの開発、モバイルアプリと機械学習との連携についての研究を行っています。
高瀬 英希:旧くからの組込み屋さん、最近の言い方ではIoT屋さん。ElixirだけでIoTシステムをすべからく包括的に開発できたら楽しい世界になると信じて研究を進めています。Elixir完全に理解したい。ROS(Robot Operating System)まるでわからん。組込みカーネルチョットデキナイ,,,。
商品レビュー
楽天Koboのレビュー
まだレビューがありません。 レビューを書く
楽天ブックスランキング情報
-
週間ランキング
ランキング情報がありません。
-
日別ランキング
ランキング情報がありません。

電子書籍版





![C# & Visual Studio2026パーフェクトマスター[.NET完全対応]](http://tshop.r10s.jp/rakutenkobo-ebooks/cabinet/5006/2000020155006.jpg?downsize=80:*)






