Slide 1

Slide 1 text

1 JUN SUMIDA INTRODUCTION TO PLUG Tokyo.ex #5 2016/08/31

Slide 2

Slide 2 text

2 Introduction @junsumida Jun Sumida XFLAG™ STUDIO mixi, inc. developing internal platform servers in Elixir

Slide 3

Slide 3 text

Plugͬͯͳʹ? 3 What is Plug?

Slide 4

Slide 4 text

4 What is Plug? Elixirʹ͓͚Δ RubyͰ͍͏Rackͱ͔
 PerlͰ͍͏PSGIͱ͔ PythonͰ͍͏WSGIతͳ΋ͷ

Slide 5

Slide 5 text

7 What is Plug? defmodule MyPlug do import Plug.Conn def init(options) do # initialize options options end def call(conn, _opts) do conn |> put_resp_content_type("text/plain") |> send_resp(200, "Hello world") end end

Slide 6

Slide 6 text

5 What is Plug? request/connection Cowboy Plug Phoenix Plug Cowboy Phoenixʹ͓͚ΔॲཧͷྲྀΕ

Slide 7

Slide 7 text

Plugͷಛ௃ 6 • (Rackతͳ)webαʔόʔؒͷΞμϓλʔ • Cowboyʹ͔͠ରԠͯ͠ͳ͍ (2016/8ݱࡏ) • Req/Resp͡Όͳͯ͘ɺconnectionΛ࣋ͭ • connection͸immutable What is Plug?

Slide 8

Slide 8 text

PlugͬͯԿ͕Ͱ͖Δͷ 6 • CSRF Protection, ΤϥʔϋϯυϦϯάɺ҉߸ Խɺηογϣϯ؅ཧ, ੩తϑΝΠϧ഑৴ • ͪͳΈʹɺPhoenixͷEndpoint, Router, Controller͸plugͰͰ͖͍ͯ·͢ What is Plug? => ͍Ζ͍ΖͰ͖·͢

Slide 9

Slide 9 text

5 What is Plug? request/connection Cowboy Plug ࣮࣭ Plug Plug Cowboy Phoenixʹ͓͚ΔॲཧͷྲྀΕ

Slide 10

Slide 10 text

8 What is Plug? ΋ͬͱPhoenixͷPlugʹ͍ͭͯ ৄ͘͠஌Γ͍ͨํ͸….

Slide 11

Slide 11 text

10 What is Plug? tokyo.ex #1 - phoenixframeworkͷ଍ճΓ https://speakerdeck.com/hidetakakojo/tokyo- dot-ex-number-1-phoenixframeworkfalsezu- hui-ri

Slide 12

Slide 12 text

References 11 • https://github.com/vikram7/plug-example • https://github.com/elixir-lang/plug • https://speakerdeck.com/hidetakakojo/tokyo- dot-ex-number-1-phoenixframeworkfalsezu- hui-ri • Programming Phoenix - Chris McCord What is Plug?

Slide 13

Slide 13 text

12 THANK YOU FOR LISTENING

Slide 14

Slide 14 text

13 AND

Slide 15

Slide 15 text

14 WE ARE HIRING!