Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web開発 × Elixir

shozo koga
January 09, 2020

Web開発 × Elixir

2020.01.09 北九州市立大学での登壇

shozo koga

January 09, 2020
Tweet

More Decks by shozo koga

Other Decks in Technology

Transcript

  1. 自己紹介 • 古賀 祥造(こが しょうぞう) • 株式会社ベガコーポレーション • fukuoka.exビルダー /

    もくもく会リーダー • Elixir/PhoenixでAPIを日々書いています • twitter: @koga1020_
  2. 専門分野ごとに覚えるべきことが無数にある 出典 https://github.com/kamranahmedse/developer-roadmap HTML・CSS・JavaScriptの基本がわかって 単純な静的ページが組めるレベル - ハイブリッドアプリに関する知識 - 型チェックに関する知識 -

    ビルドツール周辺の知識( Webpack) - フレームワーク(React、Angular、Vue)と そのアーキテクチャに関する知識 - テストに関する知識 - PWA(Progressive Web Apps)に関する知識 などなど。
  3. 参考:マイクロサービスのデプロイ例 - Continuous Integration - 修正・テスト・ビルドを継続的に行う - Continuous Delivery -

    ビルド成果物のリリースを継続的に行う - Continuous Deployment - 本番環境へのデプロイを継続的に行う
  4. 前述の観点 その言語・フレームワークで人は採用できるか→ △ の方が人を採りやすいのは事実 既存の資産はどの程度使い回せるか→ △ そもそも 開発実績は無いし、以前より充実したとは言えライブラリも未成熟 すでに社内に詳しい人がいるか→ △

    採用したタイミングで触ったことがある人間はいたが業務レベルではゼロ 不慣れな言語を選択した場合、納期に対して学習コストは許容できるのか → ◦ 技術検証の期間を設けることが出来た 性能要件が厳しいシステムの場合、その要件を満たせるか→ ◎ 耐障害性が選定の最大の理由
  5. メリット・デメリット メリット - ビジネスロジックが記述しやすい - 関数パターンマッチが強力 - ビルドツールであるMixが優秀 - プロジェクトの構成がシンプル

    - サブプロジェクトの追加が容易 - リリースコマンドもあり、 デプロイまで整う - APIレスポンスが高速 - 比較したわけではないのでおまけ程度 デメリット - AWS系のライブラリ不足 - エラー時の知見不足 - 日本語は皆無 - 自走できるメンバーでないと 開発は厳しい - Ecto (ORM相当のツール)の 記述が複雑になる
  6. は での フレームワークとして最も代表的 、 、 の つの存在を覚えておく と呼ばれる の の実装が標準で搭載

    を活用したリアルタイム の実装に優れている ただし、まだまだマイナー 一部機能(ファイルアップロードなど)の導入はこれから 要件によっては十分実践投入可能