Slide 1

Slide 1 text

PHPΞϓϦέʔγϣϯͩͬͯ 
 ϞχλϦϯά͍ͨ͠ɻ PHPConference 2021 αΠϘ΢ζגࣜձࣾɹਿࢁ ༞Ұ @oogFranz #phpcon2021 #track3 
 Discord Channel: #track3-2-a-php-monitor

Slide 2

Slide 2 text

Whoami • ਿࢁ ༞Ұ @oogFranz • αΠϘ΢ζ7೥໨ΤϯδχΞ • େاۀ޲͚άϧʔϓ΢ΣΞGaroon(Ψϧʔϯ) ࡞ͬͯΔ • ෳۀδϟζϛϡʔδγϟϯ@MASHݭָஂ

Slide 3

Slide 3 text

αΠϘ΢ζ Garoon • େاۀ޲͚ͷάϧʔϓ΢ΣΞ • ੜ࢈ੑɾνʔϜϫʔΫ޲্ͷࢧԉ • ύοέʔδ൛ͱΫϥ΢υ൛͕͋Δ

Slide 4

Slide 4 text

We're sorry for...

Slide 5

Slide 5 text

We're sorry for... • ো֐ʹͯ͝໎࿭Λ͓͔͚ͨ͠Έͳ͞·ɺ͝ΊΜͳ͍͞ • ؂ࢹɾରࡦɾௐࠪɾମ੍Λ೔ʑվળ • վળ͸·ͩ·ͩಓ൒͹ • αΠϘ΢ζͱGaroonΛ຤௕͘ΑΖ͓͘͠ئ͍͠·͢ • ͜ͷൃද಺ͷάϥϑ΍ίʔυ͸ɺ಺෦৘ใΛؚ·ͳ͍Α͏ʹ͢ΔͨΊɺ 
 ·ͨઆ໌ͷͨΊʹɺ࣮ࡍͷ΋ͷͱ͸Ұ෦ҟͳΔ఺͕͋Γ·͢ɻ

Slide 6

Slide 6 text

cybozu.comͷαϒυϝΠϯ mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com

Slide 7

Slide 7 text

cybozu.comͷαϒυϝΠϯ mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com Ϣʔβʔ͝ͱʹαϒυϝΠϯΛ෼͚ΒΕΔ

Slide 8

Slide 8 text

cybozu.comͷߏ੒ • ΞϓϦέʔγϣϯΛෳ਺ͷαʔόʔ(VM)Ͱಈ͔͍ͯ͠Δ 
 ʢΞϓϦέʔγϣϯɾσʔλϕʔεɾϑΝΠϧɾetc.ʣ • Ϛϧνςφϯτͷߏ੒ • ෳ਺ͷαʔόʔͷηοτͰෳ਺ͷυϝΠϯΛಈ͔͍ͯ͠Δ

Slide 9

Slide 9 text

cybozu.comͷαϒυϝΠϯ 9 mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com /HJOY͕֤αΠϘ΢ζ੡඼ʹϦόʔεϓϩΩγ͍ͯ͠Δ

Slide 10

Slide 10 text

cybozu.comͷαϒυϝΠϯ mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com ো֐ൃੜʂ

Slide 11

Slide 11 text

cybozu.comͷαϒυϝΠϯ mash.cybozu.com bluegrass.cybozu.com banana.cybozu.com monopockle.cybozu.com ো֐ൃੜʂ ো֐͕ൃੜ͢ΔͱͲ͏ͳΔʁ

Slide 12

Slide 12 text

Ϣʔβʔ͔Β ి࿩͕͘Δ

Slide 13

Slide 13 text

Ϣʔβʔ͔Βి࿩Λ͍ͨͩ͘·Ͱ ΤϯυϢʔβʔ ؅ཧऀ ΧελϚʔαϙʔτ ։ൃνʔϜ αΠϘ΢ζ Ϣʔβʔاۀ ো֐ൃੜʂ

Slide 14

Slide 14 text

Ϣʔβʔ͔Βి࿩Λ͍ͨͩ͘·Ͱ ΤϯυϢʔβʔ ؅ཧऀ ΧελϚʔαϙʔτ ։ൃνʔϜ αΠϘ΢ζ Ϣʔβʔاۀ ΤϯυϢʔβʔ͸؅ཧऀʹ͓໰͍߹ΘͤΛ͢Δ

Slide 15

Slide 15 text

Ϣʔβʔ͔Βి࿩Λ͍ͨͩ͘·Ͱ ΤϯυϢʔβʔ ؅ཧऀ ΧελϚʔαϙʔτ ։ൃνʔϜ αΠϘ΢ζ Ϣʔβʔاۀ ؅ཧऀ͸αϙʔτʹ͓໰͍߹ΘͤΛ͢Δ

Slide 16

Slide 16 text

Ϣʔβʔ͔Βి࿩Λ͍ͨͩ͘·Ͱ ΤϯυϢʔβʔ ؅ཧऀ ΧελϚʔαϙʔτ ։ൃνʔϜ αΠϘ΢ζ Ϣʔβʔاۀ αϙʔτ͸։ൃνʔϜʹΤεΧ͢Δ

Slide 17

Slide 17 text

ి࿩Ͱো֐ʹؾ͕ͭ͘·Ͱʹ΋ • ΤϯυϢʔβʔ͸࣌ؒΛ͓͍ͯ΋͏Ұ౓ࢼͦ͏ͱߟ͑Δ͔΋͠Εͳ͍ • ؅ཧऀ͸ͨ͘͞ΜͷΤϯυϢʔβʔ͔Βͷ໰͍߹ΘͤΛ·ͱΊͯ͘Ε͍ͯΔ͔΋͠Εͳ͍ • ؅ཧऀ͸ࣗࣾଆͷ໰୊Ͱ͸ͳ͍͔֬ೝ͔ͯ͠Β 
 αϙʔτʹ໰͍߹ΘͤΑ͏ͱߟ͑Δ͔΋͠Εͳ͍ • αϙʔτ͸࠶ݱͰ͖Δෆ۩߹͔Λௐࠪ͢Δ͕͔͔࣌ؒΔ • αϙʔτ͸طଘͷෆ۩߹Ͱͳ͍͔Λௐࠪ͢Δ͕͔͔࣌ؒΔ • etc.

Slide 18

Slide 18 text

ి࿩Ͱো֐ʹؾ͕ͭ͘·Ͱʹ΋ • ΤϯυϢʔβʔ͸࣌ؒΛ͓͍ͯ΋͏Ұ౓ࢼͦ͏ͱߟ͑Δ͔΋͠Εͳ͍ • ؅ཧऀ͸ͨ͘͞ΜͷΤϯυϢʔβʔ͔Βͷ໰͍߹ΘͤΛ·ͱΊͯ͘Ε͍ͯΔ͔΋͠Εͳ͍ • ؅ཧऀ͸ࣗࣾଆͷ໰୊Ͱ͸ͳ͍͔֬ೝ͔ͯ͠Β 
 αϙʔτʹ໰͍߹ΘͤΑ͏ͱߟ͑Δ͔΋͠Εͳ͍ • αϙʔτ͸࠶ݱͰ͖Δෆ۩߹͔Λௐࠪ͢Δ͕͔͔࣌ؒΔ • αϙʔτ͸طଘͷෆ۩߹Ͱͳ͍͔Λௐࠪ͢Δ͕͔͔࣌ؒΔ • etc. ։ൃνʔϜ͕ো֐ʹؾ͕ͭ͘·Ͱʹ͸λΠϜϥά͕ൃੜ͢Δ

Slide 19

Slide 19 text

ো֐ʹؾ͕ͭ͘ͷ͕஗ΕΕ͹ • ରԠ͸஗ΕΔ • ෮چ·Ͱͷ࣌ؒ΋ԆͼΔ • ಉ͡ো֐ʹ౰ͨΔϢʔβʔ͕૿͑Δ • ໰͍߹Θͤ΋ͦͷ෼૿͑Δ • ॳΊʹো֐ʹ௚໘ͨ͠Ϣʔβʔ͸ͣͬͱαʔϏε͕ར༻Ͱ͖ͳ͍

Slide 20

Slide 20 text

ো֐ʹؾ͕ͭ͘ͷ͕஗ΕΕ͹ • ରԠ͸஗ΕΔ • ෮چ·Ͱͷ࣌ؒ΋ԆͼΔ • ಉ͡ো֐ʹ౰ͨΔϢʔβʔ͕૿͑Δ • ໰͍߹Θͤ΋ͦͷ෼૿͑Δ • ॳΊʹো֐ʹ௚໘ͨ͠Ϣʔβʔ͸ͣͬͱαʔϏε͕ར༻Ͱ͖ͳ͍ ࣄޙରԠͰϢʔβʔʹ໎࿭Λ͔͚ͯ͠·͏

Slide 21

Slide 21 text

ো֐ʹؾ͕ͭ͘ͷ͕஗ΕΕ͹ • ରԠ͸஗ΕΔ • ෮چ·Ͱͷ࣌ؒ΋ԆͼΔ • ಉ͡ো֐ʹ౰ͨΔϢʔβʔ͕૿͑Δ • ໰͍߹Θͤ΋ͦͷ෼૿͑Δ • ॳΊʹো֐ʹ௚໘ͨ͠Ϣʔβʔ͸ͣͬͱαʔϏε͕ར༻Ͱ͖ͳ͍ αʔϏεΛ؂ࢹͯ͠ɺো֐ʹઌʹૣ͘ؾ͕ͭ͜͏

Slide 22

Slide 22 text

ͦ΋ͦ΋ো֐ͱ͸ʁ

Slide 23

Slide 23 text

Ϣʔβʔ໨ઢͰͷো֐ͷ෼ྨ • ར༻Ͱ͖ͳ͍ൣғ • ͳʹ΋͔ͭ͑ͳ͍ • ಛఆͷػೳͷΈ • ಛఆͷૢ࡞ͷΈ • ಛఆͷ࣌ؒଳͷΈ • ར༻Ͱ͖ͳ͍ঢ়گ • ϨεϙϯελΠϜ͕஗͍ • Τϥʔ͕ฦͬͯ͘Δ • εϧʔϓοτ͕Ͱͳ͍ • ૝ఆͨ͠ಈ࡞͕ฦͬͯ͜ͳ͍

Slide 24

Slide 24 text

։ൃ໨ઢͰͷো֐ͷ෼ྨ • ൃੜൣғ • શαʔϏε • ಛఆαʔόʔ • ಛఆυϝΠϯ • ಛఆϢʔβʔ • ൃੜݪҼ • ϋʔυ΢ΣΞো֐ʢߴෛՙɾαʔόμ΢ϯʣ • ιϑτ΢ΣΞো֐ʢෆ۩߹ɾ࢓༷ɾ૝ఆ֎ͷར༻ʣ • σʔλىҼͷো֐ • ࡞ۀϛε

Slide 25

Slide 25 text

ো֐ͱҰޱʹݴͬͯ΋ • Ͳͷঢ়ଶ͕ো֐ʹͳΔ͔͸αʔϏεʹΑͬͯҟͳΔ • ϞχλʔɾϩάɾϝτϦΫε΁ͷݱΕํ΋ҟͳΔ

Slide 26

Slide 26 text

ো֐ͱҰޱʹݴͬͯ΋ • Ͳͷঢ়ଶ͕ো֐ʹͳΔ͔͸αʔϏεʹΑͬͯҟͳΔ • ϞχλʔɾϩάɾϝτϦΫε΁ͷݱΕํ΋ҟͳΔ ݕ஌͍ͨ͠ো֐ʹ߹Θͤͯ؂ࢹΛ࢝ΊΑ͏

Slide 27

Slide 27 text

SLO (Service Level Objective) • cybozu.comʹ͸Քಇ཰99.99%ͱ͍͏SLO͕͋Δɻ • ͔͠͠ͳ͕ΒɺGaroonϨϕϧͰ͸SLO͸ͳ͔ͬͨ • ʮGaroon͕஗͍ʯͱ͍͏͓໰͍߹Θ͕ͤ͋ͬͯ΋ɺ 
 ো֐ͳͷ͔ͷ൑அ͕͙͢ʹͰ͖ͳ͍ɻ • SRE΍αϙʔτɺӦۀͱ͍ͬͨଞͷνʔϜͱ΋ɺ 
 Ͳͷ͘Β͍ٸ͍ͰରԠ͢΂͖͔ɺͷೝ͕ࣝἧ͑ΒΕͳ͍ https://www.cybozu.com/jp/infrastructure/slo.html

Slide 28

Slide 28 text

ʮຖே࢝ۀ௚ޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ 
 ΊͪΌͪ͘Ό஗͘ͳΔͷ͚ͩͲʯ ྫ͑͹͜Μͳ͓໰͍߹Θͤ

Slide 29

Slide 29 text

ʮຖே࢝ۀ௚ޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ 
 ΊͪΌͪ͘Ό஗͘ͳΔͷ͚ͩͲʯ ྫ͑͹͜Μͳ͓໰͍߹Θͤ ಛఆͷ࣌ؒଳͷΈ

Slide 30

Slide 30 text

ʮຖே࢝ۀ௚ޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ 
 ΊͪΌͪ͘Ό஗͘ͳΔͷ͚ͩͲʯ ྫ͑͹͜Μͳ͓໰͍߹Θͤ ಛఆͷ࣌ؒଳͷΈ ಛఆͷૢ࡞ͷΈ

Slide 31

Slide 31 text

ʮຖே࢝ۀ௚ޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ 
 ΊͪΌͪ͘Ό஗͘ͳΔͷ͚ͩͲʯ ಛఆͷ࣌ؒଳͷΈ ಛఆͷૢ࡞ͷΈ ಛఆͷϢʔβʔͷΈ ྫ͑͹͜Μͳ͓໰͍߹Θͤ

Slide 32

Slide 32 text

ಛఆͷૢ࡞ͷΈ ಛఆͷ࣌ؒଳͷΈ ʮຖே࢝ۀ௚ޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ 
 ΊͪΌͪ͘Ό஗͘ͳΔͷ͚ͩͲʯ ಛఆͷϢʔβʔͷΈ ϨεϙϯελΠϜ͕஗͍ ྫ͑͹͜Μͳ͓໰͍߹Θͤ

Slide 33

Slide 33 text

ಛఆͷૢ࡞ͷΈ ಛఆͷ࣌ؒଳͷΈ ʮຖே࢝ۀ௚ޙʹϝʔϧΛ։͜͏ͱ͢ΔͱɺҰ෦ͷࣾһ͚ͩ 
 ΊͪΌͪ͘Ό஗͘ͳΔͷ͚ͩͲʯ ಛఆͷϢʔβʔͷΈ ϨεϙϯελΠϜ͕஗͍ ྫ͑͹͜Μͳ͓໰͍߹Θͤ ΞΫηεϩάͰ൑ผ͸Ͱ͖ͦ͏

Slide 34

Slide 34 text

cybozu.comͷΞΫηεϩά • ϩάͷղੳʹ෼ࢄΫΤϦΤϯδϯͷPresto Λ • UIͰΫΤϦΛ࣮ߦ͢ΔͨΊ Redash Λར༻͍ͯ͠Δ αΠϘ΢ζͷϩάج൫ 2018೥൛ΑΓ https://blog.cybozu.io/entry/2018/03/19/080000

Slide 35

Slide 35 text

ো֐ൃੜ࣌ͷαʔόʔ͝ͱͷ 
 ϨεϙϯελΠϜͷਪҠΛΈΔ

Slide 36

Slide 36 text

server 11 server 24 server 41 server 59 server 13 server 21 server 32 server 17 server 12 server 98 ো֐ൃੜ࣌ͷαʔόʔ͝ͱͷ 
 ϨεϙϯελΠϜͷਪҠΛΈΔ

Slide 37

Slide 37 text

server 11 server 24 server 41 server 59 server 13 server 21 server 32 server 17 server 12 server 98 ো֐ൃੜ࣌ͷαʔόʔ͝ͱͷ 
 ϨεϙϯελΠϜͷਪҠΛΈΔ ো֐ͩʂ

Slide 38

Slide 38 text

• σʔλΛঢॱʹฒ΂ͨͱ͖ʹɺશମͷN ˋͷҐஔʹ͋Δ஋ • ֎Ε஋Λແࢹͯ͠େ෦෼ͷϢʔβʔʹͲ͏͔ͩͬͨΛݟΔͷʹ ޲͍͍ͯΔ • Presto ʹ͸ύʔηϯλΠϧͷ֓ࢉΛૉૣ͘ٻΊΔؔ਺͕͋Δ ύʔηϯλΠϧ approx_percentile(response_time, 0.95)

Slide 39

Slide 39 text

ύʔηϯλΠϧΛͲ͜ʹઃఆ͢Δ͔ʁ • ো֐Λݕ஌͢Δ͚ͩͳΒߴ͍਺஋ͷ΄͏͕ɺݕ஌͠΍͍͢ • γεςϜ͕݈શʹಈ࡞͍ͯ͠Δ͜ͱΛ஌Γ͍ͨͷͰ͋Ε͹ ௿͍਺஋ͷํ͕ద͍ͯ͠Δ͜ͱ΋͋Δ • ࠓͷGaroonͰ͸99%λΠϧͰ30ඵɺ95ˋλΠϧͰ4ඵɺ 85%λΠϧͰ2ඵɺͱ͍͏Α͏ʹઃఆ͍ͯ͠Δ

Slide 40

Slide 40 text

୯७ͳᮢ஋Ͱো֐ΛΈ͚ͭΒΕΔ͔ʁ • ୯७ʹᮢ஋Λ௒͑ͨͱ͜Ζ͔Βো֐Λݕ஌͠Α͏ͱ͢Δ ͱɺِཅੑ͕ଟ͘ͳΔ • ूܭൣғ͕ͤ·͍ͱগ਺ͷΞΫηεʹҾͬுΒΕͯ͠·͏ • ஗͘ͳΓ΍͍͢ΞΫηε΋ଘࡏ͢Δ

Slide 41

Slide 41 text

ूܭൣғ • 95%λΠϧͰ͸ूܭൣғʹ20ΞΫηε͔͠ͳ͚Ε͹ɺ 1൪஗͍ΞΫηεͷ஋͕༻͍ΒΕΔ • ूܭൣғ͕ڱ͍ͱɺগͳ͍ΞΫηεʹҾͬுΒΕΔ • ΞΫηε਺͕গͳ͍৔߹͸ͦ΋ͦ΋ແࢹ͢Δͷ΋͋Γ

Slide 42

Slide 42 text

Ͳͷ࣌ؒ΢Πϯυ΢෯Ͱूܭ͢Δ͔ʁ • ୹͍΢Πϯυ΢෯Ͱूܭ͢Δɿ • ͢͹΍͘ো֐Λݕ஌Ͱ͖Δ • ॠஅͷো֐΋ݕ஌Ͱ͖Δ • গͳ͍ΞΫηεʹҾͬுΒΕ ΍͍͢ • ௕͍΢Πϯυ΢෯Ͱूܭ͢Δɿ • ো֐ݕ஌࣌ؒʹϥά͕ͰΔ • ॠஅͷো֐Λݕ஌Ͱ͖ͳ͘ͳΔ • গͳ͍ΞΫηεʹӨڹ͞Εͳ͘ ͳΔ

Slide 43

Slide 43 text

ूܭൣғ • αʔϏεશମ • αʔόʔ͝ͱ • υϝΠϯ͝ͱ • Ϣʔβʔ͝ͱ

Slide 44

Slide 44 text

ूܭൣғ • αʔϏεશମ • αʔόʔ͝ͱ • υϝΠϯ͝ͱ • Ϣʔβʔ͝ͱ খ͍͞ൣғͰͷো֐͕ 
 ݕ஌͠ʹ͍͘ খ͍͞ൣғͰͷো֐͕ 
 ݕ஌Մೳ ϊΠζ͕ଟ͘ͳΔ ϊΠζ͕গͳ͘ͳΔ

Slide 45

Slide 45 text

஗͘ͳΓ΍͍͢ΞΫηε • ஗ͯ͘΋໰୊ͷͳ͍ΞΫηε͸͋Δ • ϑΝΠϧΞοϓϩʔυɾμ΢ϯϩʔυ • APIͰͷҰׅऔಘ • CSVॻ͖ग़͠ • etc...

Slide 46

Slide 46 text

஗͘ͳΓ΍͍͢ΞΫηε • ஗ͯ͘΋໰୊ͷͳ͍ΞΫηε͸͋Δ • ϑΝΠϧΞοϓϩʔυɾμ΢ϯϩʔυ • APIͰͷҰׅऔಘ • CSVॻ͖ग़͠ • etc... ੑ࣭͝ͱʹผʑʹ؂ࢹ͢Δඞཁ͕͋Δ

Slide 47

Slide 47 text

ো֐Λ࢒ͣ͞ݕ஌Ͱ͖Δ͔ʁ • ϨεϙϯελΠϜ͸͋͘·Ͱ਺஋ɻ • ݕ஌͍ͨ͠ͷ͸Ϣʔβʔʹෆརӹͳঢ়گ͕ൃੜ͍ͯ͠ ͳ͍͔Ͳ͏͔ • ϢʔβʔͷͨΊʹͳΔ൑அج४͕ඞཁ

Slide 48

Slide 48 text

Apple Watch • ߴ৺ഥ਺ɾ௿৺ഥ਺ɾෆنଇͳ৺ഥΛ௨஌ͯ͘͠ΕΔ • ৺๪ࡉಈʹΑΔෆنଇͳ৺ഥΛૣظʹݟ͚ͭΒΕΔ͜ ͱ͕ظ଴Ͱ͖Δ https://support.apple.com/ja-jp/HT208931

Slide 49

Slide 49 text

Apple Watch • ߴ৺ഥ਺ɾ௿৺ഥ਺ɾෆنଇͳ৺ഥΛ௨஌ͯ͘͠ΕΔ • ৺๪ࡉಈʹΑΔෆنଇͳ৺ഥΛૣظʹݟ͚ͭΒΕΔ͜ ͱ͕ظ଴Ͱ͖Δ https://support.apple.com/ja-jp/HT208931

Slide 50

Slide 50 text

Apple Watch • ߴ৺ഥ਺ɾ௿৺ഥ਺ɾෆنଇͳ৺ഥΛ௨஌ͯ͘͠ΕΔ • ৺๪ࡉಈʹΑΔෆنଇͳ৺ഥΛૣظʹݟ͚ͭΒΕΔ͜ ͱ͕ظ଴Ͱ͖Δ https://support.apple.com/ja-jp/HT208931 ো֐ݕ஌ʹ͓͍ͯ΋ɺ׬શͳݕ஌͸ͳ͍ͱ೦಄ʹஔ͘ඞཁ͸͋Δ

Slide 51

Slide 51 text

ো֐ީิΛه࿥ ఆظతʹ3FEBTIͰΫΤϦΛ࣮ߦ ᮢ஋Λӽ͑ͨΞΫηεΛ 
 ো֐ީิͱͯ͠ه࿥

Slide 52

Slide 52 text

RedashͷRefresh Schedule • Redash ͷΫΤϦΛఆظతʹ

Slide 53

Slide 53 text

Garoon PerformanceΞϓϦ

Slide 54

Slide 54 text

Garoon PerformanceΞϓϦ ͲͷαʔόʔͰͲͷ͘Β͍Քಇঢ়گ͕ѱԽ͍ͯ͠Δ͔͕Θ͔Δ

Slide 55

Slide 55 text

Slide 56

Slide 56 text

·ͱΊ • αʔόʔϨϕϧͰ͸ͳ͘ΞϓϦέʔγϣϯϨϕϧͰ΋ ؂ࢹΛ͸͡ΊΑ͏ • SLO͸ϢʔβʔͷͨΊʹཱͯΔ • ؂ࢹ͢Δൣғ͸޿͗ͣ͢ɾڱ͗ͣ͢ߦ͓͏ • ো֐͸σʔλΛ΋ͱʹٞ࿦Λ͠Α͏

Slide 57

Slide 57 text

ΤϥʔΛݕ஌ • ϦϦʔε௚ޙʹ৽ͨͳΤϥʔ͕ൃੜ͢Δέʔε͕ଟൃ • Garoon ͸PHPΤϥʔ͕͋Δͱɺ༧ظͤ͵Τϥʔͱ͢Δ • σʔλෆ੔߹ͳͲͰɺ༧ظͤ͵ΤϥʔΛ׬શʹͳ͘͢ͷ͸ ࠔ೉ 9

Slide 58

Slide 58 text

ΤϥʔͷൃੜΛϩάʹه࿥ • Τϥʔൃੜ࣌͸ Header ʹ Τϥʔ൪߸Λه࿥ • Nginx ͰΞΫηεϩάʹు͘Α͏ʹ͢Δ • RedashͰͷղੳ͕ՄೳʹͳΔ 9

Slide 59

Slide 59 text

৽ͨͳΤϥʔΛݕ஌ 9 ఆظతʹΫΤϦΛ࣮ߦ ͍··Ͱݕ஌ͨ͜͠ͱͷͳ͍ 
 Τϥʔ͕͋ͬͨΒLJOUPOFʹొ࿥