Elixir実践入門―基本文法、Web開発、機械学習、IoT(WEB+DB PRESS plusシリーズ) [単行本]
    • Elixir実践入門―基本文法、Web開発、機械学習、IoT(WEB+DB PRESS plusシリーズ) [単行本]

    • ¥3,740113 ゴールドポイント(3%還元)
    • 在庫あり2025年8月7日木曜日までヨドバシエクストリームサービス便(無料)がお届け
100000009003801432

Elixir実践入門―基本文法、Web開発、機械学習、IoT(WEB+DB PRESS plusシリーズ) [単行本]

価格:¥3,740(税込)
ゴールドポイント:113 ゴールドポイント(3%還元)(¥113相当)
フォーマット:
お届け日:在庫あり今すぐのご注文で、2025年8月7日木曜日までヨドバシエクストリームサービス便(無料)がお届けします。届け先変更]詳しくはこちら
出版社:技術評論社
販売開始日: 2024/02/26
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可

カテゴリランキング

店舗受け取りが可能です
マルチメディアAkibaマルチメディア梅田マルチメディア博多にて24時間営業時間外でもお受け取りいただけるようになりました

Elixir実践入門―基本文法、Web開発、機械学習、IoT(WEB+DB PRESS plusシリーズ) の 商品概要

  • 要旨(「BOOK」データベースより)

    本書は、プログラミング言語Elixirについて、基本的な文法や機能についてひととおり解説するとともに、Webアプリケーションはもとより、機械学習やIoTといった領域における実践的な応用についても解説します。そのため、Elixirのことをあまりよく知らない方々にはもちろんのこと、すでにElixirに馴染みのある方々も含む幅広い読者の皆様にお楽しみいただける書籍になっていると自負します。
  • 目次

    はじめに
    謝辞
    執筆者と担当章
    目次

    第1章:Elixir小史
    # Elixir言語の特徴
    ## モダンな関数型言語
    ## アクターモデルによる並行処理と耐障害性
    ## 大規模システムでの利用
    # Erlang/OTP──Elixirの実行基盤
    ## Erlangとはどんな言語か
    ### Erlangが得意なこと・苦手なこと
    ### 関数型言語としてのErlang
    ### コンパイラ言語としてのErlang
    ## プロセスとアクターモデル
    ### Erlangにおけるプロセス
    ### アクターモデルによるプログラムデザイン
    ## OTPによるErlangの拡張
    ### OTP──Open Telecom Platform
    ### ビヘイビアによる設計の抽象化
    # Elixirの誕生
    ## Elixirが作られた背景
    ### 並行処理へのアプローチ
    ### BEAM言語としてのElixir
    ### Elixirの特徴的なシンタックス
    ## ElixirとErlang/OTPとの関係
    ### Elixirのプログラム実行
    ### OTPから見たElixirアプリケーション
    ## Elixirの発展
    ### Elixirのエコシステム
    ### Elixirのコミュニティ
    # Elixirの持つポテンシャル
    ## ネットワークアプリケーション
    ### ネットワークアプリケーションの構造
    ### Elixirによるネットワークアプリケーション実装のメリット
    ### Elixirで実装されたネットワークアプリケーション
    ## Webアプリケーション
    ### Webアプリケーションの構造
    ### Webアプリケーションフレームワーク
    ### PhoenixによるWebアプリケーション開発
    ## 機械学習
    ### 機械学習アプリケーションの構造
    ### Elixirによる機械学習
    ### Nxのエコシステム
    ## IoTデバイス
    ### IoTアプリケーションの構造
    ### IoTとElixirの親和性
    ### Nervesのエコシステム
    # まとめ
    第2章:Elixirの基礎
    # Elixirのインストール
    ## macOS上でのElixirのインストール
    ### パッケージマネージャを利用したインストール
    ## Windows上でのElixirのインストール
    ## バージョン管理ツールasdfを用いたElixirのインストール
    ### asdfのインストール
    ### asdfを利用したElixirのインストール
    ## Dockerを利用したElixirの環境構築
    ### Elixirイメージを利用した環境構築
    # Elixirコードの実行方法
    ## IEx──REPL環境を提供するCLIアプリケーション
    ## Livebook──ElixirコードをGUIで実行できるアプリケーション
    ## ファイルからの実行
    ### コンパイルして実行する場合
    ### スクリプトとして実行する場合
    # 基本的な文法
    ## 変数
    ### 代入ではなく束縛
    ### 不変性
    ## 演算子
    ### 算術演算子──数値計算を行う基本的な演算子
    ### 比較演算子──値の比較を行う基本的な演算子
    ### 論理演算子──論理計算を行う基本的な演算子
    ### パイプ演算子
    ## マクロ
    # 制御フロー
    ## if、unless──単独の条件式による条件分岐
    ## cond──条件式による条件分岐
    ## case──パターンマッチによる条件分岐
    # まとめ
    第3章:基本的な型とパターンマッチ
    # 基本的な型
    ## 整数──整数を表す型
    ## 浮動小数点──小数点を表す型
    ## 真偽値──真と偽を表す型
    ## アトム──名前付きの定数を表す型
    ## 文字列──文字列を表す型
    ## 文字リスト──文字コードのリストを表す型
    ## リスト── 連結リストで複数の値をまとめる型
    ## タプル──連続メモリ空間で複数の値をまとめる型
    ## マップ──複数のキーと値のペアを表す型
    ## キーワードリスト──連結リストで複数のキーと値のペアを表す型
    ## 構造体──任意のデータ構造を表す型
    ## 範囲──範囲を表す型
    ## 日付と時間──日付と時間を表す型
    # シジル──リテラルを表現する記法
    ## ~Cと~c──文字リストを表すシジル
    ## ~Sと~s──文字列を表すシジル
    ## ~Wと~w ──単語のリストを表すシジル
    ## ~Rと~r ──正規表現を表すシジル
    ## 日付や時刻を表すシジル
    # パターンマッチ──データとパターンの照合
    ## パターンマッチとは何か
    ## さまざまなパターンマッチ
    ### 変数のパターンマッチ
    ### タプルのパターンマッチ
    ### リストのパターンマッチ
    ### マップのパターンマッチ
    ### 文字列のパターンマッチ
    ## パターンマッチが可能な場所
    ### 関数の引数
    ### case式
    ## ピン演算子──パターンマッチにおける変数の固定
    ## ガード節──パターンマッチへの条件の追加
    # まとめ
    第4章:モジュール
    # モジュールと関数によるプログラムの構造化
    ## モジュールの作成
    ## 無名関数
    ## 別のモジュールで定義した関数の呼び出し
    ## 関数のアリティ表記
    ### 関数キャプチャ
    ### 関数キャプチャを引数に利用
    ### キャプチャ演算子&を用いて無名関数を作成
    ## 標準モジュール
    # String──文字列操作を扱う標準モジュール
    ## length──長さを取得する関数
    ## contains?──指定の文字列を含んでいるかどうかを返す関数
    ## upcase──文字列を大文字にする関数
    ## downcase──文字列を小文字にする関数
    ## capitalize──文字列の先頭を大文字にする関数
    ## replace──文字列を置換する関数
    ## reverse──文字列を逆順にする関数
    ## split──文字列を分割する関数
    ### split/1
    ### split/3
    ## slice──部分文字列を返す関数
    ### slice/2
    ### slice/3
    # File──ファイル操作を行う標準モジュール
    ## read──ファイルを読み込む関数
    ## write──ファイルに書き出す関数
    # IO──標準入出力を扱う標準モジュール
    ## puts──文字列を出力する関数
    ## inspect──値を文字列に変換して出力する関数
    ## read──文字列を読み込む関数
    # Enum──コレクションを「いい感じ」に扱う標準モジュール
    ## map──各要素を変換する関数
    ## filter、reject──フィルタリングする関数
    ### filter
    ### reject
    ## all?、any?──要素を検証する関数
    ### all?
    ### any?
    ## max、min──最大値、最小値を取得する関数
    ### max
    ### min
    ## reduce──畳み込みを行う関数
    ## パイプ演算子との併用
    # Map──マップを「いい感じ」に扱う標準モジュール
    ## new──マップを生成する関数
    ### new/0──空のマップを生成する関数
    ### new/1──コレクションからマップを生成する関数
    ### new/2──コレクションと関数からマップを生成する関数
    ## has_key?──マップにキーが含まれているかどうかを返す関数
    ## get──マップからキーを指定して値を取得する関数
    ## put──マップにキーと値を挿入する関数
    ## update──マップを更新する関数
    ## merge──マップをマージする関数
    ### Map.merge/2
    ### Map.merge/3
    ## drop──マップから指定したキーを削除する関数
    ## keys──マップからすべてのキーを取り出す関数
    ## values──マップからすべての値を取り出す関数
    ## to_list──マップをリストに変換する関数
    # Stream──コレクションを遅延評価する標準モジュール
    ## map──各要素を変換する関数
    ## filter、reject──フィルタリングする関数
    ### filter
    ### reject
    ## iterate──無限のストリームを生成する関数
    ## EnumとStreamのどちらを使うか
    # ExUnit──Elixirの単体テスト標準モジュール
    ## テストをすべて実行
    ## 一部のテストのみを実行
    ## モジュールのテスト
    ## doctest──コメントにテストを記述する
    # まとめ
    第5章:Mixを使ったElixirプロジェクトの開発
    # Mixの基本的な使い方
    ## 新しいプロジェクトの作成
    ## mix.exs──プロジェクトの設定を管理するファイル
    ## 依存関係の管理
    ### Hex──パッケージマネージャ
    ## プロジェクト内でIExの起動
    ## プロジェクト設定の管理
    # Mixタスク──Elixir開発を支える便利なコマンド
    ## mix new ──プロジェクトの作成
    ## mix deps.get ──依存パッケージの取得
    ## mix compile──プロジェクトのコンパイル
    ## mix test──テストの実行
    ## mix release──アプリケーションのリリース
    ## mix format──コードフォーマット
    ## mix escript──Erlang/Elixirのスクリプト
    ### mix escript.build──escriptプログラムを作成
    ### mix escript.install──escriptプログラムをローカルにインストール
    ## mix help──Mixタスクの一覧表示とヘルプの表示
    ## Mixタスクの作成
    # 開発に便利なTips
    ## observer──GUIのモニタリングツール
    ## dbg/2──デバッグ用のマクロ
    # まとめ
    第6章:並行プログラミング
    # プロセスによる並行プログラミングの実現
    ## プロセスの生成とメッセージの送受信
    ### プロセスにメッセージを送信する
    ### プロセスがメッセージを受信する
    ### プロセスが別のプロセスを生成する
    ## プロセスの監視
    ### プロセスが別のプロセスをリンクする
    ### プロセスが別のプロセスをモニタする
    ## 高度なプロセス
    ### タスク──バックグラウンドで関数を実行するプロセス
    ### エージェント──状態を持ったプロセス
    # OTPによる並行プログラミングの実現
    ## GenServerビヘイビア──サーバの振る舞いを抽象化したパターン
    ### カウンタサーバを実装してみよう
    ### カウンタサーバの初期化
    ### カウンタサーバの起動
    ### 同期呼び出しと非同期呼び出し
    ### カウンタサーバの同期呼び出し
    ### 同期呼び出しのカウントアップ
    ### 同期呼び出しのカウントダウン
    ### カウンタサーバの非同期呼び出し
    ## Supervisorビヘイビア──プロセスの監視と再起動
    ### Supervisorモジュールによる実装
    ### 再起動設定
    ### Counterをスーパーバイザーで監視する
    # まとめ
    第7章:Phoenixの概要
    # Phoenixとは何か──Elixir製のWebアプリケーションフレームワーク
    ## Phoenixが解決すること──リッチなWebアプリケーション開発の効率化
    ## Phoenixの特徴──高い生産性とパフォーマンスを兼ね備えたフレームワーク
    # Phoenixの基礎知識
    ## Phoenixのディレクトリ構成
    ### mix.exs──プロジェクト全体の設定ファイル
    ### assetsディレクトリ──フロントエンドのリソースを格納するディレクトリ
    ### configディレクトリ──アプリケーションの設定情報を格納するディレクトリ
    ### depsディレクトリ──Mixのすべての依存関係があるディレクトリ
    ### libディレクトリ──アプリケーションのソースコードを格納するディレクトリ
    ### privディレクトリ──ソースコードには直接含まれないリソースを管理するディレクトリ
    ### testディレクトリ──テストコードを格納するディレクトリ
    ## ルーティング──URLとコントローラの対応
    ### リクエストライフサイクル──Phoenixにおけるリクエスト処理の流れ
    ### ルーティングファイルrouter.exの書き方
    ### ルーティングの特殊な関数──resourcesとlive
    ### 検証済みルート
    ## コントローラ
    ### アクションの定義
    ### レンダリングの指定
    ### リダイレクトの指定
    ### フラッシュメッセージの表示
    ## ビューとテンプレート
    ### HTMLのレンダリング
    ### JSONのレンダリング
    ## モデル
    ### Ecto──データベースを操作するライブラリ
    ### コンテキスト──機能のグルーピング
    ## Mixタスクによるスキャフォールディング
    ### mix phx.gen.html──HTMLリソースの生成
    ### mix phx.gen.json──JSONリソースの生成
    ### mix phx.gen.live──LiveViewリソースの生成
    ### mix phx.gen.auth──ユーザー認証機能の生成
    ### そのほかのスキャフォールディング
    # Phoenixの基本的な使い方
    ## PostgreSQLの起動
    ## Phoenixプロジェクトジェネレータのインストール
    ## Phoenixプロジェクトの作成
    ## データベースの初期設定
    ## Phoenixの起動
    # まとめ
    第8章:Ectoによるデータベース操作
    # Ectoとは何か──Elixir製のデータベースライブラリ
    ## Ectoが解決すること──データベースへのさまざまな操作をサポート
    ## Ectoの特徴──データマッパおよびクエリビルダ
    # Ectoの基礎知識
    ## 主要コンポーネント
    ### Ecto.Repo──データベースのラッパ
    ### Ecto.Query──Elixirの文法で書けるクエリビルダ
    ### Ecto.Schema──テーブル構造とElixir構造体のマッピング
    ### Ecto.Changeset──データ変更の管理
    ## 便利な機能
    ### データベースの作成、削除
    ### マイグレーション──データベースのスキーマに対する変更
    ### トランザクション──ひと塊の分けることができない操作
    ### シードデータの投入
    ### データリセット
    # Ectoの基本的な使い方
    ## スキーマモジュールとマイグレーションファイルの作成
    ### 銀行口座スキーマモジュールとマイグレーションファイルの作成
    ### 取引スキーマモジュールとマイグレーションファイルの作成
    ## マイグレーションの実行
    ## スキーマモデルどうしの関連付け
    ### TransferとAccountの関連付け
    ### AccountとTransferの関連付け
    ## バリデーション──入力データの検証
    ### Transferのバリデーション
    ### Accountのバリデーション
    ## データの操作
    ### 作成(Create)
    ### 読み出し(Read)
    ### 更新(Update)
    ### トランザクション
    ### 取引の読み出し
    ### 削除(Delete)
    ## シードデータの
  • 内容紹介

    本書は、Elixirの言語仕様と実践的な利用方法を解説した入門書です。

    Elixirは、低遅延で高い可用性を要求される分散システムの構築と運用を目的とするErlang VM上で動作する言語で、その文法はRubyから大きく影響を受けています。ゲームやチャットプラットフォームなど大量のコネクションとトラフィックを扱う必要のあるシステムを構築するのに利用されています。有用なツールやライブラリが多数開発されているのも後押しとなり、近年ではさまざまな分野に活躍の場を広げつつあります。

    本書では、Webアプリケーション、機械学習、IoTなどでのElixirの活用方法を解説します。サンプルアプリケーションを開発しながらコードを紹介しつつ解説しています。Phoenix、Nx、Livebook、Nervesといったツールやライブラリの実践的な活用方法も紹介しているので、今の開発に即した実践的な知識が身に付けられます。
  • 著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)

    栗林 健太郎(クリバヤシ ケンタロウ)
    GMOペパボ株式会社で取締役CTOを務めるかたわら、北陸先端科学技術大学院大学博士後期課程に在学中の社会人学生でもあります。IoTシステムへのElixirの応用について研究しています。GMOペパボ(株)

    大原 常徳(オオハラ ツネノリ)
    株式会社ドリコムでSRE部門のマネージャーをしています。プライベートではErlangを、仕事ではElixirとRubyとHCLを書いています。tokyo.exというElixirのコミュニティを運営しています

    大聖寺谷 一樹(ダイショウジヤ カズキ)
    本業では主にKotlinを使った開発していますが、副業でElixirやElmを触ったりしているなんちゃってアルケミスト。(株)UPSIDER

    山内 修(ヤマウチ オサム)
    日本マイクロソフト賞4受賞。Elixir本体、Ectoに貢献歴あり。(株)ハウインターナショナル

    齋藤 和也(サイトウ カズヤ)
    Webのサーバサイド開発やクラウドインフラ構築が得意なエンジニア。普段はRuby on Railsを使うことが多いですが、Elixir/Phoenixのお仕事や情報発信もしています。複数社で技術顧問を務めています。(株)スマートアルゴリズム

    隆藤 唯章(タカフジ ユイショウ)
    僧職系フリーランスプログラマーやってます。前はRailsがメインでしたが、現在はPhoenixメインでお仕事をしています

    高瀬 英希(タカセ ヒデキ)
    旧くからの組込み屋さん、最近の言い方ではIOT屋さん。ElixrだけでIOTシステムをすべからく包括的に開発できたら楽しい世界になると信じて研究を進めています
  • 著者について

    栗林 健太郎 (クリバヤシ ケンタロウ)
    GMOペパボ株式会社で取締役CTOを務めるかたわら、北陸先端科学技術大学院大学博士後期課程に在学中の社会人学生でもあります。IoTシステムへのElixirの応用について研究しています。Erlang/OTPとElixirは、基盤としてのErlangの誕生から40年近く経った今も常に未来を指し示しているところが好きです。

    大原 常徳 (オオハラ ツネノリ)
    株式会社ドリコムでSRE部門のマネージャーをしています。プライベートではErlangを、仕事ではElixirとRubyとHCLを書いています。tokyo.exというElixirのコミュニティを運営しています。

    大聖寺谷 一樹 (ダイショウジヤ カズキ)
    本業では主にKotlinを使った開発していますが、副業でElixirやElmを触ったりしているなんちゃってアルケミスト。Elixirの好きなところはイミュータブルなところとパターンマッチ。

    山内 修 (ヤマウチ オサム)
    名乗るほどのものではございませんが、山内修です。日本マイクロソフト賞④受賞。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)まるでわからん。組込みカーネルチョットデキナイ,,,。

Elixir実践入門―基本文法、Web開発、機械学習、IoT(WEB+DB PRESS plusシリーズ) の商品スペック

商品仕様
出版社名:技術評論社
著者名:栗林 健太郎(著)/大原 常徳(著)/大聖寺谷 一樹(著)/山内 修(著)/齋藤 和也(著)/隆藤 唯章(著)/高瀬 英希(著)
発行年月日:2024/03/08
ISBN-10:4297140144
ISBN-13:9784297140144
判型:A5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:424ページ
縦:21cm
他の技術評論社の書籍を探す

    技術評論社 Elixir実践入門―基本文法、Web開発、機械学習、IoT(WEB+DB PRESS plusシリーズ) [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!