Slide 1

Slide 1 text

PHPͰӡ༻தͷαʔϏεΛ Rubyʹ੾Γସ͑Δ

Slide 2

Slide 2 text

ࣗݾ঺հ • id: takanamito • ॴଐ: גࣜձࣾSpeee ւ֎ϝσΟΞνʔϜ

Slide 3

Slide 3 text

ΞδΣϯμ • Ruby੾Γସ͑લͷςετ • Ruby੾Γସ͑ޙͷ؂ࢹମ੍

Slide 4

Slide 4 text

1. Ruby੾Γସ͑લͷ ςετ

Slide 5

Slide 5 text

ASEAN޲͚ਓࡐϝσΟΞ • ਺ඦສPV / ݄ • 2೥΄ͲFuelPHPͰՔಇ • 1action 100~200ߦͷcontroller͕ෳ਺ • ϦϑΝΫλͷݶք

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

2016೥ RubyҠߦ • ͖͔͚ͬ͸SpeeeશࣾͷRubyҠߦ • ϚελσʔλΛ࡮৽͍ͨ͠ • URLϧʔϧΛม͍͑ͨ • چˠ৽URLʹ301ϦμΠϨΫτ
 /hoge/joblist -> /joblist/hogehoge

Slide 8

Slide 8 text

ͨͩ͠ URL͸10ສҎ্

Slide 9

Slide 9 text

10ສҎ্ͷURLΛ301ϦμΠϨΫτ • ϦμΠϨΫτϩδοΫ͕όάͬͯΔͱࢮ͵ • σʔλ͕ؒҧͬͯͯ΋ࢮ͵ σʔλͷଥ౰ੑ֬ೝΛؚΊͨςετΛ ͍͍ײ͡ʹ΍Γ͍ͨ

Slide 10

Slide 10 text

kage • γϟυ΢ϓϩΩγαʔόʔͷgem • ຊ൪΁ͷτϥϑΟοΫΛෳ੡͠
 ։ൃαʔόʔʹྲྀ͢

Slide 11

Slide 11 text

LBHF 'VFM1)1 3BJMT શϦΫΤετΛ 'VFM1)1ʹ (&5ϦΫΤετ ͚ͩෳ੡

Slide 12

Slide 12 text

Kage::ProxyServer.start do |server| server.port = 8090 server.host = '0.0.0.0' server.add_master_backend(:production, 'xxx.xxx.xxx.xxx', 80) server.add_backend(:sandbox, 'xxx.xxx.xxx.xxx', 80) server.client_timeout = 15 server.backend_timeout = 10 server.on_select_backends do |request, headers| if request[:method] == 'GET' [:production, :sandbox] else [:production] end end ~~ தུ ~~ end def compare(production_res, sandbox_res, url) # ͜ͷลͰresponseݟͯϩάग़ͨ͠Γ͢Δ end

Slide 13

Slide 13 text

kageͷϩά "Response diff 404, 301, /hoge/joblist" "Response diff 200, 404, /fuga/joblist" "Response diff 404, 301, /hoge/fuga/job" ˢ 1)1 ˢ 3VCZ ˢ ֘౰63- ϩάʹग़ྗ͞ΕͨURLΛ 1ͭͣͭ֬ೝ͍ͯ͘͠

Slide 14

Slide 14 text

2छྨͷςετͰ҆৺ • ϩδοΫ͸ςετίʔυͰݕূ • σʔλؚΊݕূ͢ΔͨΊʹ
 ຊ൪τϥϑΟοΫΛྲྀ͢

Slide 15

Slide 15 text

2. Ruby੾Γସ͑ޙͷ ؂ࢹମ੍

Slide 16

Slide 16 text

ϦϦʔεޙͷ՝୊ • ҙਤͤͣ40x, 30x͕ฦ͍ͬͯΔ৔߹ • ϨεϙϯελΠϜͷѱԽ Ͱ͖Δ͚ͩૣٸʹؾ෇͖͍ͨ

Slide 17

Slide 17 text

IUUQTTQFBLFSEFDLDPNTFMNFSUTYTQFFFOJPLFSVKJBOTIJUVSVGBMTFYVBOEJOHQVSPTFTV

Slide 18

Slide 18 text

DatadogͰ αʔϏεঢ়گΛ؂ࢹ

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

ˢ &-#഑Լͷ&$ ˢ &-#ʹྲྀΕΔ ϦΫΤετྔ ˢ (PPHMF"OBMZUJDT ϦΞϧλΠϜ

Slide 21

Slide 21 text

&-#͕ฦ͢Ϩεϙϯεͷεςʔλε ˣ ˢ &-#͕ฦ͢ϨεϙϯεͷϨΠςϯγʔ

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

४උͷ݁Ռ • େ͖ͳো֐΋ͳ͘ҠߦΛ৐Γ੾Ε·ͨ͠ • DatadogͷμογϡϘʔυʹ
 ͲΜͲΜॏཁͳKPI͕ू·Δ