Submit Search
Upload
Cowboyとelixir
•
5 likes
•
3,313 views
H
hayabusa333
Follow
Shibuya.ex #1 で発表した LT資料です
Read less
Read more
Technology
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Keisuke Takahashi
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
hayabusa333
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24
akahira
Kotlinソースコード探訪
Kotlinソースコード探訪
yy yank
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
泰 増田
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
Elixir lang bootstrap
Elixir lang bootstrap
Tsunenori Oohara
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
Recommended
パーフェクト"Elixir情報収集"
パーフェクト"Elixir情報収集"
Keisuke Takahashi
Cowboyとphoenixの速度比較
Cowboyとphoenixの速度比較
hayabusa333
COOKPAD tab 勉強会 2014.04.24
COOKPAD tab 勉強会 2014.04.24
akahira
Kotlinソースコード探訪
Kotlinソースコード探訪
yy yank
Robot Framework (のSelenium2Libraryのお話)
Robot Framework (のSelenium2Libraryのお話)
泰 増田
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
Elixir lang bootstrap
Elixir lang bootstrap
Tsunenori Oohara
PlayFramework1.x基礎編
PlayFramework1.x基礎編
Asami Abe
Build Dockferile with Haskell
Build Dockferile with Haskell
Nobutada Matsubara
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Masashi Shibata
WeblateでOSSの翻訳に参加する
WeblateでOSSの翻訳に参加する
裕士 常田
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
Nao Minami
KuromojiをKotlinで動かす
KuromojiをKotlinで動かす
yy yank
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
Gunmaweb#13 enalica
Gunmaweb#13 enalica
ivoryworks .
Yesodを支える技術
Yesodを支える技術
Hiromi Ishii
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
Ppl
Ppl
Seizan Shimazaki
Haskell Night: LT モナドで作る正規表現コンビネータライブラリ
Haskell Night: LT モナドで作る正規表現コンビネータライブラリ
Akihiro Harai
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
WebStormでできること
WebStormでできること
kamiyam .
Infrastructure as codeのススメ
Infrastructure as codeのススメ
kanji htmt
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
敦志 金谷
JavaScript ライブラリーを使い倒そう #buildinsider
JavaScript ライブラリーを使い倒そう #buildinsider
Tsuyoshi Yasunishi
Ansible x softlayer Provisioning
Ansible x softlayer Provisioning
softlayerjp
美乳とPHP7 on Docker - てきとうなさいと。べぇたばん
美乳とPHP7 on Docker - てきとうなさいと。べぇたばん
侑弥 濱田
Kotlinについて学んだコト
Kotlinについて学んだコト
iPride Co., Ltd.
Flowtype Introduction
Flowtype Introduction
Teppei Sato
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Tsunenori Oohara
自動化のその前に
自動化のその前に
hayabusa333
More Related Content
What's hot
Build Dockferile with Haskell
Build Dockferile with Haskell
Nobutada Matsubara
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
Masashi Shibata
WeblateでOSSの翻訳に参加する
WeblateでOSSの翻訳に参加する
裕士 常田
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
Nao Minami
KuromojiをKotlinで動かす
KuromojiをKotlinで動かす
yy yank
Real World PHP in pixiv
Real World PHP in pixiv
Kenta USAMI
Gunmaweb#13 enalica
Gunmaweb#13 enalica
ivoryworks .
Yesodを支える技術
Yesodを支える技術
Hiromi Ishii
IDEALIZE YOU
IDEALIZE YOU
佑介 九岡
Ppl
Ppl
Seizan Shimazaki
Haskell Night: LT モナドで作る正規表現コンビネータライブラリ
Haskell Night: LT モナドで作る正規表現コンビネータライブラリ
Akihiro Harai
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
shinjiigarashi
WebStormでできること
WebStormでできること
kamiyam .
Infrastructure as codeのススメ
Infrastructure as codeのススメ
kanji htmt
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
敦志 金谷
JavaScript ライブラリーを使い倒そう #buildinsider
JavaScript ライブラリーを使い倒そう #buildinsider
Tsuyoshi Yasunishi
Ansible x softlayer Provisioning
Ansible x softlayer Provisioning
softlayerjp
美乳とPHP7 on Docker - てきとうなさいと。べぇたばん
美乳とPHP7 on Docker - てきとうなさいと。べぇたばん
侑弥 濱田
Kotlinについて学んだコト
Kotlinについて学んだコト
iPride Co., Ltd.
Flowtype Introduction
Flowtype Introduction
Teppei Sato
What's hot
(20)
Build Dockferile with Haskell
Build Dockferile with Haskell
Webフレームワークを作ってる話 #osakapy
Webフレームワークを作ってる話 #osakapy
WeblateでOSSの翻訳に参加する
WeblateでOSSの翻訳に参加する
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
KuromojiをKotlinで動かす
KuromojiをKotlinで動かす
Real World PHP in pixiv
Real World PHP in pixiv
Gunmaweb#13 enalica
Gunmaweb#13 enalica
Yesodを支える技術
Yesodを支える技術
IDEALIZE YOU
IDEALIZE YOU
Ppl
Ppl
Haskell Night: LT モナドで作る正規表現コンビネータライブラリ
Haskell Night: LT モナドで作る正規表現コンビネータライブラリ
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
モダン PHP テクニック 12 選 ―PsalmとPHP 8.1で今はこんなこともできる!―
WebStormでできること
WebStormでできること
Infrastructure as codeのススメ
Infrastructure as codeのススメ
Werkzeugを使ってみた #osakapy 2016/04
Werkzeugを使ってみた #osakapy 2016/04
JavaScript ライブラリーを使い倒そう #buildinsider
JavaScript ライブラリーを使い倒そう #buildinsider
Ansible x softlayer Provisioning
Ansible x softlayer Provisioning
美乳とPHP7 on Docker - てきとうなさいと。べぇたばん
美乳とPHP7 on Docker - てきとうなさいと。べぇたばん
Kotlinについて学んだコト
Kotlinについて学んだコト
Flowtype Introduction
Flowtype Introduction
Viewers also liked
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Tsunenori Oohara
自動化のその前に
自動化のその前に
hayabusa333
アイマスで分かるプログラマ
アイマスで分かるプログラマ
hayabusa333
Cbで解るjojo up
Cbで解るjojo up
hayabusa333
DevLove2012 懇親会LT
DevLove2012 懇親会LT
hayabusa333
RubyでBLコマンド実装
RubyでBLコマンド実装
hayabusa333
Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活
hayabusa333
漏れのある抽象化の法則
漏れのある抽象化の法則
hayabusa333
ブラックボックステスト技法
ブラックボックステスト技法
hayabusa333
ホワイトボックステスト技法
ホワイトボックステスト技法
hayabusa333
現場にsahaginを取り入れた話
現場にsahaginを取り入れた話
hayabusa333
IEXを学ぶ
IEXを学ぶ
hayabusa333
Elixirのhoundを使ってみて
Elixirのhoundを使ってみて
hayabusa333
Getting test world
Getting test world
hayabusa333
E言語スタック
E言語スタック
hayabusa333
Erlang and Elixir
Erlang and Elixir
hayabusa333
派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまで
hayabusa333
Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能
hayabusa333
脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ
Masakazu Ikeda
Serverspecの本気をみるのです
Serverspecの本気をみるのです
hayabusa333
Viewers also liked
(20)
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
Shibuya.ex #1 Elixirを本番環境で使ってみたという事例紹介
自動化のその前に
自動化のその前に
アイマスで分かるプログラマ
アイマスで分かるプログラマ
Cbで解るjojo up
Cbで解るjojo up
DevLove2012 懇親会LT
DevLove2012 懇親会LT
RubyでBLコマンド実装
RubyでBLコマンド実装
Jenkinsとidobataで幸せな生活
Jenkinsとidobataで幸せな生活
漏れのある抽象化の法則
漏れのある抽象化の法則
ブラックボックステスト技法
ブラックボックステスト技法
ホワイトボックステスト技法
ホワイトボックステスト技法
現場にsahaginを取り入れた話
現場にsahaginを取り入れた話
IEXを学ぶ
IEXを学ぶ
Elixirのhoundを使ってみて
Elixirのhoundを使ってみて
Getting test world
Getting test world
E言語スタック
E言語スタック
Erlang and Elixir
Erlang and Elixir
派遣社員が現場にRubyを取り入れるまで
派遣社員が現場にRubyを取り入れるまで
Elixir v1.3 で入るかもしれない機能
Elixir v1.3 で入るかもしれない機能
脆弱性検査ツールってどうよ
脆弱性検査ツールってどうよ
Serverspecの本気をみるのです
Serverspecの本気をみるのです
Recently uploaded
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Recently uploaded
(8)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
Cowboyとelixir
1.
ElixirでCowboyを 使ってみる
2.
自己紹介 名前:橘田 隼一 TwitterID:hayabusa333 興味:カーネル、GC、Erlang、Elixir お仕事:派遣ウェッブプログラマ 所属:Joel教、翔鶴瑞鶴仲良し姉妹同盟
3.
やっていること ・ElixirChanges - Elixirの日々の変更点まとめ ・PhoenixChanges - Phoenixの日々の変更点まとめ ・週刊Elixirライブラリ -
Elixirのライブラリの紹介 ・CowboyのUserGuideの翻訳 - Coboyのことはじめ記事翻訳
4.
Cowboyとは ・Erlangで書かれた高速なモジュラー 形式のHTTPサーバ ・HTTP1.1/Websocke 対応 ・ErlangVMで動かすHTTPサーバだ とCowboyが一強 ・Plugを使えば、もっと簡単にでき るけど、今日は直接さわるよー
5.
Cowboyで静的ページを表示 http://d.hatena.ne.jp/hayabusa333/20150813/cowboy_elixir_static_pages
6.
新規プロジェクトを作成 $ mix new
static_hello_world ̶sup # mix new Elixirの新規プロジェクトを作成します # ̶sup をつけることによって supervision treeを含んだ OTPアプリケーションで作成されます # 通常のmix newではsupervisorがない状態なので注意が 必要です
7.
mix.exsを記載 def application do [applications:
[:logger, :cowboy, :ranch], mod: {StaticHelloWorld, []}] end # mod: {StaticHelloWorld, []} にてアプリケーションのコールバッ クモジュールとして指定してます # StaticHelloWorldはsupervison treeとして起動します defp deps do [{ :cowboy, "1.0.0" }] end
8.
supervisor.exを記載 defmodule StaticHelloWorld.Supervisor do use
Supervisor # supervisiorモジュールを起動するため def start_link(_) do {:ok, sup} = Supervisor.start_link(__MODULE__, [], name: :supervisor) end # supervisorモジュールを起動する際に init/1 を渡す必要がある def init(_) do processes = [] # one_for_oneは自分自身がダメになったら他人に影響されず # 自分自身を再起動するという戦略です。 {:ok, {{:one_for_one, 10, 10}, processes}} end end
9.
static_hello_world.exを記載 defmodule StaticHelloWorld do def
start(_type, _args) do dispatch = :cowboy_router.compile([ { :_, [ # http://localhost:8080/ でアクセスされた場合は static_hello_world を使うと指定 {"/", :cowboy_static, {:priv_file, :static_hello_world, index.html"}} ] } ]) # http通信にて使用する起動環境を設定します { :ok, _ } = :cowboy.start_http(:http, 100, [{:port, 8080}], [{ :env, [{:dispatch, dispatch}]}]) end end
10.
priv/index.html を記載 適当に静的ページを記載
11.
Cowboyを起動 $ mix deps.get $
mix run --no-halt
12.
デモ
13.
Cowboyで動的ページを表示
14.
新規プロジェクト作成から supervisor.exを記載までは ほぼ同じなためカット
15.
dynamic_hello_world.exを記載 defmodule DynamicHelloWorld do def
start(_type, _args) do dispatch = :cowboy_router.compile([ { :_, [ {"/", DynamicPageHandler, []} ]} ]) { :ok, _ } = :cowboy.start_http(:http, 100, [{:port, 8080}], [{ :env, [{:dispatch, dispatch}]}] ) end end
16.
dynamic_page_handler.exを記載 defmodule DynamicPageHandler do def
init(_type, req, []) do {:ok, req, :no_state} end def handle(request, state) do # Http通信にて返信する内容を自作する dynamic = Dynamic" { :ok, reply } = :cowboy_req.reply( 200, [{"content-type", "text/html"}], "#{dynamic} Hello World", request) {:ok, reply, state} end def terminate(reason, request, state) do :ok end end
17.
デモ
18.
ソースコード https://github.com/hayabusa333/cowboy-elixir-example
19.
今後 ・動的ページを表示する方法をまとめる ・COOKIE情報を送信する方法を記載 ・WebSocket通信を行う方法を記載 ・HTTP2に対応したら記事を記載
20.
ご静聴ありがとうございました
Download now