Suche senden
Hochladen
hello waf, hello phoenix
•
Als PPTX, PDF herunterladen
•
6 gefällt mir
•
2,452 views
Tsunenori Oohara
Folgen
tokyo.ex #5
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 27
Jetzt herunterladen
Empfohlen
running-elixir-in-production
running-elixir-in-production
Tsunenori Oohara
Tokyoex6 EEx
Tokyoex6 EEx
Tsunenori Oohara
running web app on elixir
running web app on elixir
Tsunenori Oohara
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
Redmineでいこう
Redmineでいこう
Manabu Shinsaka
Yapc fukuoka crust
Yapc fukuoka crust
Tokuhiro Matsuno
[jaws days 2014]ELB/AutoScaling
[jaws days 2014]ELB/AutoScaling
Tomohiro Motoki
Scotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web API
Daisuke Fujimura
Empfohlen
running-elixir-in-production
running-elixir-in-production
Tsunenori Oohara
Tokyoex6 EEx
Tokyoex6 EEx
Tsunenori Oohara
running web app on elixir
running web app on elixir
Tsunenori Oohara
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
Redmineでいこう
Redmineでいこう
Manabu Shinsaka
Yapc fukuoka crust
Yapc fukuoka crust
Tokuhiro Matsuno
[jaws days 2014]ELB/AutoScaling
[jaws days 2014]ELB/AutoScaling
Tomohiro Motoki
Scotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web API
Daisuke Fujimura
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Keisuke Takahashi
Cowboyとelixir
Cowboyとelixir
hayabusa333
SoftLayer API で資産管理をお手伝い!
SoftLayer API で資産管理をお手伝い!
Kazumi IWANAGA
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
Shuichi Tsutsumi
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
rina0521
すこやかRails
すこやかRails
Takafumi ONAKA
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
Shuichi Tsutsumi
[jjug] Java と Benchmark
[jjug] Java と Benchmark
Tokuhiro Matsuno
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24
akahira
いま OS X アプリがアツい
いま OS X アプリがアツい
Tetsuya Kaneuchi
iOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワード
Yuki Asai
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
今城 善矩
iOSアプリエンジニアの最近
iOSアプリエンジニアの最近
Kengo Suzuki
Raspberry Piで撮った写真を共有するアプリ on SoftLayer
Raspberry Piで撮った写真を共有するアプリ on SoftLayer
rina0521
軽量のススメ
軽量のススメ
hirokiky
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Python勉強会資料(MessageBoard作成)
Python勉強会資料(MessageBoard作成)
Kimihiro N
kay-jpmobile
kay-jpmobile
Tasuku Suenaga
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
Biblnk
Biblnk
繁史 河久保
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
hirokiky
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Shinichi Nakagawa
Weitere ähnliche Inhalte
Was ist angesagt?
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Keisuke Takahashi
Cowboyとelixir
Cowboyとelixir
hayabusa333
SoftLayer API で資産管理をお手伝い!
SoftLayer API で資産管理をお手伝い!
Kazumi IWANAGA
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
Shuichi Tsutsumi
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
rina0521
すこやかRails
すこやかRails
Takafumi ONAKA
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
Shuichi Tsutsumi
[jjug] Java と Benchmark
[jjug] Java と Benchmark
Tokuhiro Matsuno
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24
akahira
いま OS X アプリがアツい
いま OS X アプリがアツい
Tetsuya Kaneuchi
iOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワード
Yuki Asai
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
今城 善矩
iOSアプリエンジニアの最近
iOSアプリエンジニアの最近
Kengo Suzuki
Raspberry Piで撮った写真を共有するアプリ on SoftLayer
Raspberry Piで撮った写真を共有するアプリ on SoftLayer
rina0521
Was ist angesagt?
(14)
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Cowboyとelixir
Cowboyとelixir
SoftLayer API で資産管理をお手伝い!
SoftLayer API で資産管理をお手伝い!
iOSエンジニア in ハードウェア・プロジェクト
iOSエンジニア in ハードウェア・プロジェクト
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
すこやかRails
すこやかRails
WatchKitを実際にさわってみてわかったこと
WatchKitを実際にさわってみてわかったこと
[jjug] Java と Benchmark
[jjug] Java と Benchmark
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24
いま OS X アプリがアツい
いま OS X アプリがアツい
iOSエンジニアの最近 株式会社マネーフォワード
iOSエンジニアの最近 株式会社マネーフォワード
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
iOSアプリエンジニアの最近
iOSアプリエンジニアの最近
Raspberry Piで撮った写真を共有するアプリ on SoftLayer
Raspberry Piで撮った写真を共有するアプリ on SoftLayer
Andere mochten auch
軽量のススメ
軽量のススメ
hirokiky
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Python勉強会資料(MessageBoard作成)
Python勉強会資料(MessageBoard作成)
Kimihiro N
kay-jpmobile
kay-jpmobile
Tasuku Suenaga
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
Biblnk
Biblnk
繁史 河久保
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
hirokiky
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Shinichi Nakagawa
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
hayabusa333
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
makoto tsuyuki
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
Shinya Okano
Python札幌201406
Python札幌201406
Shinya Okano
Gunma.web #24 MySQL HA
Gunma.web #24 MySQL HA
Yusuke Muraoka
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
Takayuki Shimizukawa
Django learning Part2
Django learning Part2
Yusuke Muraoka
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
hirokiky
ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!
Hasegawa Yusuke
Pycon2014 django performance
Pycon2014 django performance
hirokiky
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
predictori
Django 1.9
Django 1.9
OMEGA (@equal_001)
Andere mochten auch
(20)
軽量のススメ
軽量のススメ
Python札幌 2012/06/17
Python札幌 2012/06/17
Python勉強会資料(MessageBoard作成)
Python勉強会資料(MessageBoard作成)
kay-jpmobile
kay-jpmobile
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Biblnk
Biblnk
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
Python札幌201406
Python札幌201406
Gunma.web #24 MySQL HA
Gunma.web #24 MySQL HA
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
Django learning Part2
Django learning Part2
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!
Pycon2014 django performance
Pycon2014 django performance
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
ウマナリティクス#2資料『PAI競馬予測が1番人気に挑む!』
Django 1.9
Django 1.9
Ähnlich wie hello waf, hello phoenix
Elixirハンズオン2
Elixirハンズオン2
Tsunenori Oohara
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11
Tsunenori Oohara
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Hideki Takase
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
Imamura Masayuki
Swimming in the Sea of ELF - AV Tokyo 2015 Workshop #MalwareMustDie
Swimming in the Sea of ELF - AV Tokyo 2015 Workshop #MalwareMustDie
unixfreaxjp
PHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 Silex
Masao Maeda
20140629 firefoxos-devenv
20140629 firefoxos-devenv
Noritada Shimizu
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」
Noritada Shimizu
OSC福岡 20111203
OSC福岡 20111203
Hiroshi Bunya
Selenium WebDriver,Cypress,TestCafeの違いを調べてみました
Selenium WebDriver,Cypress,TestCafeの違いを調べてみました
MaiKaneko4
開発中のiOSアプリ紹介 #okamoba
開発中のiOSアプリ紹介 #okamoba
ishikawa akira
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
Takeshi Komiya
Elixir言語紹介
Elixir言語紹介
Tsunenori Oohara
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Noritada Shimizu
サービスを日々運用し続けながら最新版のRailsに追従させる極意
サービスを日々運用し続けながら最新版のRailsに追従させる極意
Teruo Adachi
Spring tools4
Spring tools4
Takuya Iwatsuka
Silverlight+COMにチャレンジ
Silverlight+COMにチャレンジ
You&I
FirefoxOS勉強会#7 カメラアプリの作り方
FirefoxOS勉強会#7 カメラアプリの作り方
Kazuyuki Suzuki
Fn project爆誕
Fn project爆誕
Hiroshi Hayakawa
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
LIFULL Co., Ltd.
Ähnlich wie hello waf, hello phoenix
(20)
Elixirハンズオン2
Elixirハンズオン2
Elixirハンズオン-2017-03-11
Elixirハンズオン-2017-03-11
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
iQONの開発手法 at iQONエンジニアセミナー
iQONの開発手法 at iQONエンジニアセミナー
Swimming in the Sea of ELF - AV Tokyo 2015 Workshop #MalwareMustDie
Swimming in the Sea of ELF - AV Tokyo 2015 Workshop #MalwareMustDie
PHPカンファレンス関西2012 Silex
PHPカンファレンス関西2012 Silex
20140629 firefoxos-devenv
20140629 firefoxos-devenv
関東Firefox OS勉強会6th「Firefox OS」
関東Firefox OS勉強会6th「Firefox OS」
OSC福岡 20111203
OSC福岡 20111203
Selenium WebDriver,Cypress,TestCafeの違いを調べてみました
Selenium WebDriver,Cypress,TestCafeの違いを調べてみました
開発中のiOSアプリ紹介 #okamoba
開発中のiOSアプリ紹介 #okamoba
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
Elixir言語紹介
Elixir言語紹介
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
Firefox OS 勉強会 名古屋2nd 「便利な便利な開発ツール」
サービスを日々運用し続けながら最新版のRailsに追従させる極意
サービスを日々運用し続けながら最新版のRailsに追従させる極意
Spring tools4
Spring tools4
Silverlight+COMにチャレンジ
Silverlight+COMにチャレンジ
FirefoxOS勉強会#7 カメラアプリの作り方
FirefoxOS勉強会#7 カメラアプリの作り方
Fn project爆誕
Fn project爆誕
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
20170510 タウンwi fixlifull_スマホアプリ開発の実例 (1)
Mehr von Tsunenori Oohara
meguro.rb LT
meguro.rb LT
Tsunenori Oohara
Elixir解答
Elixir解答
Tsunenori Oohara
パンチラに関する考察
パンチラに関する考察
Tsunenori Oohara
how-to-learn-elixir
how-to-learn-elixir
Tsunenori Oohara
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Tsunenori Oohara
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LT
Tsunenori Oohara
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発
Tsunenori Oohara
tokyo.ex3 LT
tokyo.ex3 LT
Tsunenori Oohara
Elixir lang bootstrap
Elixir lang bootstrap
Tsunenori Oohara
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Tsunenori Oohara
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄
Tsunenori Oohara
elixir in production
elixir in production
Tsunenori Oohara
地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)
Tsunenori Oohara
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Tsunenori Oohara
地獄Spec
地獄Spec
Tsunenori Oohara
Mehr von Tsunenori Oohara
(15)
meguro.rb LT
meguro.rb LT
Elixir解答
Elixir解答
パンチラに関する考察
パンチラに関する考察
how-to-learn-elixir
how-to-learn-elixir
Elixir-Conf-Japan-2017-session-ohr486
Elixir-Conf-Japan-2017-session-ohr486
Re:デブ デブナイト vol.2 LT
Re:デブ デブナイト vol.2 LT
失敗という概念が存在しない退屈なweb開発
失敗という概念が存在しない退屈なweb開発
tokyo.ex3 LT
tokyo.ex3 LT
Elixir lang bootstrap
Elixir lang bootstrap
Elixirと他言語の比較的紹介ver.2
Elixirと他言語の比較的紹介ver.2
Elixirについて私が知ってる二、三の事柄
Elixirについて私が知ってる二、三の事柄
elixir in production
elixir in production
地獄のElixir(目黒スタートアップ勉強会)
地獄のElixir(目黒スタートアップ勉強会)
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
地獄Spec
地獄Spec
Kürzlich hochgeladen
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
Kürzlich hochgeladen
(10)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
hello waf, hello phoenix
1.
Hello WebApp, Hello Phoenix 2016/8/31
tokyo.ex#5 おーはら
2.
Agenda 自己紹介 |> 趣旨 |> Phoenixとは? |>
webアプリとは? |> webアプリの構造 |> Phoenixの構造 |> Why 軽量 |> Why 高速 |> Why 安定 |> 周辺ツール/情報 |> 不足しているもの |> まとめ
3.
自己紹介 • おーはら@ohrdev – 基盤技術部@ドリコム •
仕事/技術スタック – 広告サービスのお世話 – 全社基盤システムのお世話 – Elixir/Erlang/Ruby/Lisp/etc… • Elixirアプリ: 本番稼動:2、開発/検証: 1 – Elixirアプリ: 運用1年半/v:1.0.0 -> 1.3.1(elixir) – Phoenixアプリ: 運用1年/v:1.0.0 -> 1.2.0(phoenix)
4.
趣旨 • ターゲット – (Elixir
is 何? な方) – Webアプリ is 何? な方 – Phoenix is 何? な方 • ゴール – Webアプリケーションの構造がわかる – Phoenixとは何なのかがわかる – Phoenixと他のWebアプリフレームワークの違い がわかる – Phoenixの周辺ライブラリ(何があるか)がわかる
5.
Phoenixとは? • Elixirで実装された • MVCパターンの •
高生産性、高パフォーマンスな • Webアプリケーションフレームワーク • リアルタイムweb(channel/websocket)を提供 この発表ではスコープ外とさせてください
6.
Webアプリとは? • インターネット/ネットワークを介して使用する アプリケーション – ここではwebブラウザ上で動作するとします –
Ex) wiki、blog、掲示板、ECサイト、etc – 何らかのフレームワーク/ライブラリを利用して作 る事が多い Webクライアント (Webブラウザ) Webサーバー Request Response
7.
Webアプリとは? Webサーバー Webアプリ HTTP WebSocket etcnginx Apache h2o cowboy etc I/F定義 Python: WSGI Perl: PSGI Ruby:
Rack Clojure: Ring Lisp: clack Haskell: WAI Scala: SSGI Elixir: Plug データベース Python: Django Perl: Catalyst Ruby: Rails Clojure: Compojure Lisp: caveman2 Hskell: Yesold Scala: Play Elixir: Phoenix DBドライバ/ORM Python: - Perl: - Ruby: ActiveRecord Clojure: java.jdbc Lisp: CLSQL/CL-DBI Hskell: HDBC Scala: Slick Elixir: Ecto
8.
Webアプリの構造 Webサーバー Controller Router Action Model Bussiness Logic Database View Template DB driverORM WAF
I/F ControllerがModelの 情報をViewにPush MVCモデルPush型
9.
Phoenixの構造 cowboy Endpoint Model Database View Template Ecto Plug View Router Controller Pipeline Plug.Conn Plug.Conn リクエスト/コネク ションを抽象化した 構造体 複数のplugを パイプライン plug: Plug.Connを入力して Plug.Connを出力 function (関数)
10.
endpoint
11.
router/pipeline
12.
controller
13.
Why 軽量 cowboy Endpoint Model Database View Template Ecto Plug View Router Controller Pipeline コネクションを受ける(accept)毎に、それを処理するErlangプ ロセス(軽量,OSのスレッド・プロセスではない)が生成される Phoenixというより、cowboy/ranchが軽量 Phoenixはcowboy/plugの薄いハンドラー
+ ジェネレー タ ここの処理がOSのスレッド、プロセスだとHeavy
14.
Phoenixの構造 cowboy Endpoint Model Database View Template Ecto Plug View Router Controller Pipeline function (関数) View: データをhtml/json/etcに変 換/renderするモジュール Template: マークアップ+埋め込み Elixir/ループ/etc、eex compile データを入力して マークアップを出力
15.
Why 高速 cowboy Endpoint Model Database View Template Ecto Plug View Router Controller Pipeline function (関数) compile Linked
List(データ)を使って、テンプレートをビルドする (遅い・ボトルネックになる)文字列の連結は行わない 多くのWAFでテンプレートの 文字列連結処理がボトルネックになる Elixirの文字列はイミュータブル もっとも大きい文字列のコピーのみアプリ内に保持する のでキャッシュが適切に動作する
16.
view/template
17.
Phoenixの構造 cowboy Endpoint Model Database View Template Ecto Plug View Router Controller Pipeline Erlang VM上で動作するモ ジュールという形体で提供
18.
Why 安定 cowboy Endpoint Model Database View Template Ecto Plug View Router Controller Pipeline OS ErlangVM OTP cowboy
Ecto Phoenix plug 障害耐性 監視、再起動、etc 並行プログラミング の為のフレームワー ク/パターン
19.
周辺ツール/情報 • モジュール/プロジェクト管理 – mix •
ジェネレーター/タスク
20.
周辺ツール/情報 • ディレクトリ構造 – 指標/レール –
基本はmixベース – MVC関連: web – 静的ファイル: • Input: web/static • Output: priv • brunch.io(等)を使って アセットコンパイル(変 更可能)
21.
不足しているもの • 日本語の情報 – 「プログラミングElixir」
22.
不足しているもの • 日本語の情報 – 「プログラミングElixir」
! • モジュール、ライブラリ – http://www.modulecounts.com
23.
不足しているもの
24.
不足しているもの
25.
モジュール/ライブラリ不足
26.
モジュール/ライブラリ不足
27.
まとめ • Webアプリケーションの構造を紹介しました • Phoenixの構造を紹介しました •
Phoenixの特徴を紹介しました • 「プログラミング Elixir」発売おめでとうござい ます • 「プログラミングElixir」を読んで、みんなでライ ブラリを書きましょう⭐️
Jetzt herunterladen