Slide 1

Slide 1 text

PHP Conference Japan 2022 Hideki Kinjyo GitHub: o0h / Twitter: @o0h_ [഑෍൛]

Slide 2

Slide 2 text

ࣗݾ঺հ / GitHub: @o0h / Twitter: @o0h_ FW CakePHP

Slide 3

Slide 3 text

Slide 4

Slide 4 text

胸 できてますか!

Slide 5

Slide 5 text

ࣗ৴Λ࣋ͭɾɾʁ

Slide 6

Slide 6 text

ϓϩҙࣝʹ݉Ͷඋ͑ΒΕΔ΂͖ʮج४ʯ CTO S**T S**T [ग़య] ᴷ Robert C. Martin,֯ ੐య. Clean Craftsmanshipɹن཯ɺج४ɺྙཧ (Japanese Edition) Kindle ൛ P292

Slide 7

Slide 7 text

ʮ޷͖ͳਓ͕͍Δ͸͕ͣͳ͍ɻʯ S**T

Slide 8

Slide 8 text

ʮΤϥʔͱ޲͖߹͏ʯ 胸

Slide 9

Slide 9 text

胸 1

Slide 10

Slide 10 text

͓͠ͳ͕͖ 1. - - 2. - - 3. - - 4. - with Sentry- 5.

Slide 11

Slide 11 text

͓࿩͠ͳ͍͜ͱ QA

Slide 12

Slide 12 text

͜ͷ͓࿩Λಧ͚͍ͨਓ(૝ఆ͢Δର৅) 胸 Sentry

Slide 13

Slide 13 text

֓೦ɾݺͼํʹ͍ͭͯ : E_ALL : ( ) : ( ) :

Slide 14

Slide 14 text

§1 - -

Slide 15

Slide 15 text

§1 .1

Slide 16

Slide 16 text

ݸਓతͳؾ࣋ͪ 2 胸

Slide 17

Slide 17 text

ҙຯͷ͋Δ΋ͷΛ࡞Γ͍ͨ ( )

Slide 18

Slide 18 text

ؾ࣋ͪΑ͘։ൃʹऔΓ૊Έ͍ͨ 装 etc

Slide 19

Slide 19 text

ࢲతͳܦݧᶃ

Slide 20

Slide 20 text

ࢲతͳܦݧᶃ Open (Sentry Raygun Errbit) Rate Limit

Slide 21

Slide 21 text

= ( )

Slide 22

Slide 22 text

Τϥʔ͕ͳ͚Ε͹Ғ͍ɺͱ͍͏༁Ͱ΋ͳ͍͕ɾɾɾ ,10,000 , , 10,000,000,000,000,000,000,000,000,000 , , , , [ग़య] ᴷ Weinberg, Gerald M, େ໺ ₼࿠(؂༁). ϫΠϯόʔάͷγεςϜࢥߟ๏ P198

Slide 23

Slide 23 text

ϓϩҙࣝʹ݉Ͷඋ͑ΒΕΔ΂͖ʮྙཧʯ [ग़య] ᴷ Robert C. Martin,֯ ੐య. Clean Craftsmanshipɹن཯ɺج४ɺྙཧ (Japanese Edition) Kindle ൛ P335

Slide 24

Slide 24 text

ࢲతͳܦݧᶄ PJ

Slide 25

Slide 25 text

ࢲతͳܦݧᶄ PJ ( )

Slide 26

Slide 26 text

ڳΛுͬͯνʔϜͷதʹډΒΕΔ͔ (= ) 胸

Slide 27

Slide 27 text

ͲͪΒ΋ٹ͍͍ͨ 胸

Slide 28

Slide 28 text

΍Δ΂͖͜ͱʹऔΓ૊Ή 胸

Slide 29

Slide 29 text

§2 - -

Slide 30

Slide 30 text

§2ͷ·ͱΊ(͜Ε͔Β࿩͢͜ͱ)

Slide 31

Slide 31 text

§2 .1 .2

Slide 32

Slide 32 text

΍Γ͍ͨ͜ͱɺͦΕҎ֎ͷ͜ͱ = =

Slide 33

Slide 33 text

Ձ஋ΛੜΈग़͢ͷʹ࢖͍͑ͯΔ࣌ؒ͸ᶃ 49% 21% 38% 27% [ग़య] ᴷ Nicole Forsgren Ph.D.,Jez Humble,Gene Kim,෢ࣷ޿޾, ෢ࣷΔΈ. LeanͱDevOpsͷՊֶ[Accelerate] ςΫϊϩδʔͷઓུత׆༻͕૊৫มֵΛՃ଎͢Δ P63

Slide 34

Slide 34 text

Ձ஋ΛੜΈग़͢ͷʹ࢖͍͑ͯΔ࣌ؒ͸ᶃ ( ) 21%

Slide 35

Slide 35 text

Ձ஋ΛੜΈग़͢ͷʹ࢖͍͑ͯΔ࣌ؒ͸ᶄ 80 20 80% [ग़య] ᴷ David Scott Bernstein,٢Ӌཾଠ࿠,Ӭ੉ඒึ,ݪాٍ࿠,༗໺խ࢜. ϨΨγʔίʔυ͔Βͷ୤٫ ιϑτ΢ΣΞͷण໋ΛԆ͹͠Ձ஋ΛߴΊΔ9ͭͷϓϥΫςΟε P29

Slide 36

Slide 36 text

ιϑτ΢ΣΞ։ൃͷʮ༧ఆ֎ʯͷΠϯύΫτ 21 80

Slide 37

Slide 37 text

ͤΊͯʮ΍Γͨ͘ͳ͍͜ͱʯΛݮΒ͢

Slide 38

Slide 38 text

§2 .1 .2

Slide 39

Slide 39 text

ݶΒΕͨ࿑ྗΛ૿΍͢ɾ׆͔͢

Slide 40

Slide 40 text

ΤϥʔͷҰੜ

Slide 41

Slide 41 text

ίετͷҰੜ

Slide 42

Slide 42 text

ΤϥʔରԠʹ܎Δίετ

Slide 43

Slide 43 text

ಛఆ·Ͱͷίετ ( ) [ग़య] ᴷ David Scott Bernstein,٢Ӌཾଠ࿠,Ӭ੉ඒึ,ݪాٍ࿠,༗໺խ࢜. ϨΨγʔίʔυ͔Βͷ୤٫ ιϑτ΢ΣΞͷण໋ΛԆ͹͠Ձ஋ΛߴΊΔ9ͭͷϓϥΫςΟε P28

Slide 44

Slide 44 text

ʮܽؕͷಛఆʯ͕ͦ͜໽հͳ໰୊ [ग़య] ᴷ Weinberg, Gerald M, େ໺ ₼࿠(؂༁). ϫΠϯόʔάͷγεςϜࢥߟ๏ P234

Slide 45

Slide 45 text

ಛఆ͕Ͱ͖ͯ΋ɾɾ૿͑ଓ͚͍ͯΔίετ , , , , , ( ) 1 , , , , , [ग़య] ᴷ Pete McBreen, ଜ্ խষ. XPΤΫετϦʔϜϓϩάϥϛϯάջٙฤʕXP͸ιϑτ΢ΣΞ։ൃͷٹੈओͨΓ͑Δͷ͔ P130

Slide 46

Slide 46 text

ࣦഊʹؔ͢Δίετͷ੔ཧ =( ) 1. ( ) ( ) etc. 2. 署 etc. [ࢀߟ] ᴷ Roger S. Pressman, Bruce R. Maxim, SEPA຋༁ϓϩδΣΫτ. ࣮ફιϑτ΢ΣΞΤϯδχΞϦϯάʢୈ9൛ʣP229-230

Slide 47

Slide 47 text

ൃݟͷى఺ͷҧ͍ʹΑΔෆܦࡁੑ ( ) 1. 2. /

Slide 48

Slide 48 text

ൃݟͷى఺ͷҧ͍ʹΑΔෆܦࡁੑ 1. / (=outside-in) 2. /

Slide 49

Slide 49 text

ൃݟͷى఺ͷҧ͍ʹΑΔܦࡁੑ 1. 2. / (=inside-out)

Slide 50

Slide 50 text

ൃݟͷ஗Ε(εςʔδҠߦ)ʹΑΔෆܦࡁ 障害 変です! 具体的に⾔うと、 ●●機能が動きません ͜Μʹͪ͸ʂ ࢓ࣄ͕࣌ؒ͘Β͍ ࢭ·Γ·ͨ͠ʂ ॿ͚ͯʂ 特定 つまり どこだろうね! ユーザー対応もするぞ〜 Ϣʔβʔ ʙϦΞϧϫʔϧυͷ୅දऀʙ

Slide 51

Slide 51 text

ൃݟͷ஗Ε(εςʔδҠߦ)ʹΑΔෆܦࡁ 故障 変です! 具体的に⾔うと、 Cache missが多いです 特定 負荷OK!DB OK! アプリのどっかね! ·ͩ஌ΒΜ Ϣʔβʔ ʙϦΞϧϫʔϧυͷ୅දऀʙ

Slide 52

Slide 52 text

ൃݟͷ஗Ε(εςʔδҠߦ)ʹΑΔෆܦࡁ ⽋陥 変です! 具体的に⾔うと、 Z::aaa()が変です! 特定 具体的だね! そのコード⾒るぞ! Ϣʔβʔ ʙϦΞϧϫʔϧυͷ୅දऀʙ ·ͩ஌ΒΜ

Slide 53

Slide 53 text

Slide 54

Slide 54 text

ରԠͷ஗Ε(࣌ؒ)ʹΑΔෆܦࡁ => => => ࢀߟ ιϑτ΢ΣΞอकͷ๏ଇʢϦʔϚϯͷ๏ଇʣɺ͝ଘ஌Ͱ͔͢ʁɿ৿࡚म࢘ͷʮͲ͏΍ͬͯ͸͔Δͷʁʯ IUUQTCMPHTJUNFEJBDPKQNPSJTBLJQPTUFEIUNM

Slide 55

Slide 55 text

όά͸ʮൟ৩ʯ͢Δ 1 1 [ग़య] ᴷ Shore, James, Warden, Shane, ฏು ݈ࣇ, ໦Լ ࢙඙, ࡫Ҫ ਸ࢘ ΞʔτɾΦϒɾΞδϟΠϧσϕϩοϓϝϯτ : ૊৫Λ੒ޭʹಋ͘ΤΫετϦʔϜϓϩάϥϛϯά P169

Slide 56

Slide 56 text

X Z

Slide 57

Slide 57 text

X Z • XͰରԠͰ͖Ε͹ɺ ʮ2࣌ؒલͷίʔυͷҙਤʯΛࢥ͍ग़͚ͩ͢ͰࡁΉ (ຊ൪σϏϡʔͨͯ͠ͷίʔυͳͷͰɺඃґଘऀ΋গͳͦ͏) • ZͷରԠʹͳΔͱɺ ʮ3ϱ݄લͷίʔυͷҙਤʯΛ֬ೝ͢Δ͜ͱʹ (ͦͷதʹɺܽؕՕॴ΁ͷґଘ΋ؚ·ΕΔ)

Slide 58

Slide 58 text

σϓϩΠͷ஗ΕσϓϩΠ΁ͷڪා৺ʹ [ग़య] ᴷ Jeffery D. Smith, ాத ༟Ұ. γεςϜӡ༻Ξϯνύλʔϯ ΤϯδχΞ͕DevOpsͰղܾ͢Δ૊৫ɾࣗಈԽɾίϛϡχέʔγϣϯ P184 恐怖⼼やリスクのある デプロイが増えれば増え るほど、失敗の可能性も 増える デプロイの間の時間が⻑ くなればなるほど、デプロイ に含まれる変更の数が増え、 それによってリスクが増⼤ し、フィードバックループが ⽣じる。

Slide 59

Slide 59 text

( )

Slide 60

Slide 60 text

Slide 61

Slide 61 text

Slide 62

Slide 62 text

( )

Slide 63

Slide 63 text

Slide 64

Slide 64 text

ए͍಺ʹժΛఠΉ [ग़య] ᴷ Steve McConnell, ೔ཱΠϯϑΥϝʔγϣϯΞΧσϛʔ. ϥϐου σϕϩοϓϝϯτ P81

Slide 65

Slide 65 text

§2ͷ·ͱΊ(͍·࿩ͨ͜͠ͱ)

Slide 66

Slide 66 text

§3 - -

Slide 67

Slide 67 text

§3ͷ·ͱΊ(͜Ε͔Β࿩͢͜ͱ) Push Proactive

Slide 68

Slide 68 text

§3 .1 .2 0 .3

Slide 69

Slide 69 text

ΤϥʔରԠͷ࢓૊Έʹ͍ͭͯʮ੒ख़౓ʯΛߟ͑Δ ( , )

Slide 70

Slide 70 text

⽋陥を制御する ⽋陥に積極的に関⼼がある ⽋陥に消極的に関⼼がある ⽋陥に関⼼がない 故障に関⼼がない 障害に関⼼がない ( ) ( )

Slide 71

Slide 71 text

( ) ( )

Slide 72

Slide 72 text

「受動化・⾃動化」していくのが基本⽅針

Slide 73

Slide 73 text

「受動化・⾃動化」していくのが基本⽅針

Slide 74

Slide 74 text

「シフトレフト」していくのが基本⽅針

Slide 75

Slide 75 text

「シフトレフト」していくのが基本⽅針

Slide 76

Slide 76 text

ΤϥʔରԠͷ࢓૊Έʹ͍ͭͯʮ੒ख़౓ʯΛߟ͑Δ 1. 2.

Slide 77

Slide 77 text

1. Τϥʔ͸ͲͷΑ͏ʹه࿥ɾ؅ཧ͞Ε͍ͯ·͔͢ 1. ( ) 1 =1(orN) =1 2. =1

Slide 78

Slide 78 text

( )

Slide 79

Slide 79 text

ʮੜϩάཔΓʯͷ໰୊఺ =>

Slide 80

Slide 80 text

( )

Slide 81

Slide 81 text

ʮू໿ࡁΈʯͷར఺ ( / ) 縮 ( ) ( ) => ( )

Slide 82

Slide 82 text

2. Τϥʔʹ͸ͲͷΑ͏ʹؾͮ͘͜ͱ͕Ͱ͖·͔͢ 署 : : 署 :

Slide 83

Slide 83 text

Կ͕Ձ஋ΛଛͶΔ͔ : : 署 :

Slide 84

Slide 84 text

νʔϜͰʮ޲͖߹͑ʯ͍ͯΔ͔: ੒ख़ʹ޲͚ͯ ( ) => Push Proactive

Slide 85

Slide 85 text

Ͳ͏΍ͬͯආ͚Δ͔: ๬·͍͠ྫͱվળ͢΂͖ྫ ⭕ PUSH ❌ ❌ ⭕ ❌ grep ⭕ ❌

Slide 86

Slide 86 text

§3 .1 .2 0 .3

Slide 87

Slide 87 text

͓͞Β͍: ࣌ؒͷܦաͱରԠίετͷؔ܎ =

Slide 88

Slide 88 text

ʮγϑτϨϑτʯͱରԠίετͷؔ܎

Slide 89

Slide 89 text

ίεύͷྑ͍λΠϛϯάΛߟ͑Δ => =>

Slide 90

Slide 90 text

ίεύͷྑ͍λΠϛϯάΛߟ͑Δ 鮮結

Slide 91

Slide 91 text

ίεύͷྑ͍λΠϛϯάΛߟ͑Δ Just-in-Time

Slide 92

Slide 92 text

Τϥʔ͸͍ͭى͜Δͷ͔ : ( ) : ほほ( ) ✕✕( ) 署

Slide 93

Slide 93 text

ʮൃݟίετʯͱʮӨڹ(ඃ֐)ʯͷόϥϯεΛऔΔ 駄 n

Slide 94

Slide 94 text

ʮ0࣍ରԠʯΛऔΓೖΕΔ = = = 0 ( ) = 1 0

Slide 95

Slide 95 text

ʮ0࣍ରԠʯͷܦࡁੑ ( ) 1. 2. 3. 署

Slide 96

Slide 96 text

ʮ0࣍ରԠʯͷϝϦοτᶃ 1. ( ) 2. 3. 署

Slide 97

Slide 97 text

ʮ0࣍ରԠʯͷϝϦοτᶄ 1. 2. ( ) 3. 署

Slide 98

Slide 98 text

ʮ0࣍ରԠʯͷϝϦοτᶅ 1. 2. 3. DevOps

Slide 99

Slide 99 text

§3 .1 .2 0 .3

Slide 100

Slide 100 text

௵͢΂͖Τϥʔͷ؍఺ ex) UserNotExistsException, DatabaseConnectionError 賢

Slide 101

Slide 101 text

௵͢΂͖Τϥʔͷ؍఺ 2 : 0 1縮 ( ) : 賢 1. boolean 2.

Slide 102

Slide 102 text

ൃੜͷbooleanͰ͸ͳ͘ɺൃੜස౓Ͱ؂ࢹ͢Δ Duplicate entry for primary key : or : 1 10,000,000,000,000,000,000,000,000,000

Slide 103

Slide 103 text

ΞϓϦҎ֎ͷՕॴɾ؍఺Ͱ؂ࢹ͢Δ outside-in : Http Status Code(404, 502, etc)

Slide 104

Slide 104 text

§3ͷ·ͱΊ(͍·࿩ͨ͜͠ͱ) Push Proactive 0 :

Slide 105

Slide 105 text

§4 - with Sentry -

Slide 106

Slide 106 text

§4 .1 Sentry .2 .3 .4 .5

Slide 107

Slide 107 text

Sentry ( )SaaS (β PHP ) ( / ) 14

Slide 108

Slide 108 text

⼀部の機能を除き、それっぽいデータ込みでGUIをイジれます

Slide 109

Slide 109 text

ʲ଎श༻ʳίϨ͚ͩ͸཈͓͑ͯ͘ʂSentryͷجૅ֓೦ Sentry Event 胸 Event 1 Issue Event,Issue Alert

Slide 110

Slide 110 text

: Issue Issue 縮 (stats) Issue

Slide 111

Slide 111 text

: Issue Issue 駄 駄: OS URL 駄: IP

Slide 112

Slide 112 text

Issue Event Event Grouping Information ࢀߟ*TTVF(SPVQJOHc4FOUSZ%PDVNFOUBUJPO IUUQTEPDTTFOUSZJPQSPEVDUEBUBNBOBHFNFOUTFUUJOHTFWFOUHSPVQJOH

Slide 113

Slide 113 text

ଟগͷ͕ࠩ͋ͬͯ΋ಉҰIssueͱͯ͠ѻ͑Δ 2 Issue 48⾏⽬ 44⾏⽬

Slide 114

Slide 114 text

: Event Issue Event 1:N Event timestamp

Slide 115

Slide 115 text

: Event : key-value : ID( hash) 胸

Slide 116

Slide 116 text

: Alert Issue Alert 縮 Issue ( ) Issue Issue Event Event 縮

Slide 117

Slide 117 text

§4 .1 Sentry .2 .3 .4 .5

Slide 118

Slide 118 text

Πϯετʔϧํ๏ composer require sentry/sentry : SDK HTTP (php-http/async-client- implementation) sentry/sdk: HTTP FW : (Symfony/Larevel) https://github.com/getsentry/sentry-php

Slide 119

Slide 119 text

ΞΧ΢ϯτͷ࡞੒ͱΞϓϦέʔγϣϯઃఆ Sentry 1. https://sentry.io/signup/ 2. PJ Event 胸 URL(DSN) https://sentry.io/for/php/

Slide 120

Slide 120 text

ϚεΫͰ͍͟͝·͢ ϚεΫͰ͍͟͝·͢ ϚεΫͰ͍͟͝·͢

Slide 121

Slide 121 text

ಥવͷએ఻ʂʂʂʂ connehito/cake-sentry PR Starろ awesome-cakephp Sentry SDK 3rd party integrations 💪 cake4.4+ Laravel ίωώτ͞Μͷٻਓ৘ใ΋೷͍ͯΈ͍ͯͩ͘͞ͶʂIUUQTISNPTDPQBHFTDPOOFIJUPKPCT

Slide 122

Slide 122 text

§4 .1 Sentry .2 .3 .4 .5

Slide 123

Slide 123 text

͜͜·ͰͷʮͶΒ͍ʯΛSentry্Ͱ࣮ݱ͢Δ 1. ( ) 0 ( ) 2. ( ) ( )

Slide 124

Slide 124 text

SentryͰ0࣍ରԠΛ࣮ફ͢Δ Alert Alert Create Alert Issues Set Conditions When: A new issue is created Then: Send a Slack noti cation Slack Integration Alert名が併記される Alert名が併記される

Slide 125

Slide 125 text

SentryͰ0࣍ରԠΛ࣮ફ͢Δ When: The issue changes state from resolved to unresolved Then: Send a Slack noti cation

Slide 126

Slide 126 text

SentryͰසग़Τϥʔݕ஌Λ࣮ફ͢Δ When: Number of events in an issue is more than XXX( ) in XXX( ) Then: Send a Slack noti cation

Slide 127

Slide 127 text

ิ଍: SentryͰશ͘ѻΘͳ͍Τϥʔʹ͍ͭͯ Resolve Sentry UserNotExistsException Sentry SDK 胸 FW ࢀߟ 'JMUFSJOHGPS4ZNGPOZc4FOUSZ%PDVNFOUBUJPO IUUQTEPDTTFOUSZJPQMBUGPSNTQIQHVJEFTTZNGPOZDPOpHVSBUJPOpMUFSJOHpMUFSJOHFSSPSFWFOUT

Slide 128

Slide 128 text

ิ଍: SentryͰશ͘ѻΘͳ͍Τϥʔʹ͍ͭͯ Sentry 縮 縮 ( ) Amazon CloudWatch

Slide 129

Slide 129 text

🎉

Slide 130

Slide 130 text

͜͜·ͰͷʮͶΒ͍ʯΛSentry্Ͱ࣮ݱ͢Δ 1. ( ) 0 ( ) 2. ( ) ( )

Slide 131

Slide 131 text

ϋ΢εΩʔϐϯάͷ࣮ફ :

Slide 132

Slide 132 text

Issueͷ؅ཧ Issue Resolved Unresolved Issue Resolved : Web UI Slack Resolve

Slide 133

Slide 133 text

ࣗಈResolveᶃ: ؍࡯ظؒʹΑΔղܾ ( Event ) Resolve Resolve

Slide 134

Slide 134 text

ࣗಈResolveᶄ: ϦϦʔεͷ࿈ಈʹΑΔղܾ 胸 胸 (Event) (Resolved -> Regression) The next release: The current release: Another existing release: GitHub resolve

Slide 135

Slide 135 text

UnresolvedͳIssueͷReview/Reviewed Issue ( ack 踏 ) GitHub Issue tracker Review଴ͪIssueҰཡ ʮReviewࡁΈʯૢ࡞ͱมߋཤྺ

Slide 136

Slide 136 text

UnresolvedͳIssueͷIgnore Issue (Ignore) Ignore Event

Slide 137

Slide 137 text

͜͜·ͰͷʮͶΒ͍ʯΛSentry্Ͱ࣮ݱ͢Δ 1. ( ) 0 ( ) 2. ( ) ( )

Slide 138

Slide 138 text

໰୊ͷൃݟ࣌ͷରԠͷ࣭ΛߴΊΔ Issue

Slide 139

Slide 139 text

IssueͷAssign Issue / Slack 縮 Issue Assign Alert

Slide 140

Slide 140 text

Issue্Ͱͷิ଍ɾίϝϯτ Issue Resolve Regression Issue

Slide 141

Slide 141 text

ѻ͏EventσʔλΛॆ࣮ͤ͞Δ Sentry Event 駄 駄 ( ) etc.. Webiner ࢀߟ w $POUFYUc4FOUSZ IUUQTTFOUSZJPGFBUVSFTDPOUFYU w "QQMJDBUJPO.POJUPSJOHBOE&SSPS5SBDLJOH)PXUP*NQMFNFOUBOE$POpHVSF4FOUSZ ʰ"EEJOHDPOUFYUʱ IUUQTXXXZPVUVCFDPNXBUDI W,[4VE$5EVUT

Slide 142

Slide 142 text

§4 .1 Sentry .2 .3 .4 .5

Slide 143

Slide 143 text

ਐΊํͷ֓ཁ 1. 2. 3. 4.

Slide 144

Slide 144 text

ӡ༻ظʹ޲͚ͯͷਐΊํͷ֓ཁ 1. 2. 3. 4.

Slide 145

Slide 145 text

πʔϧΛೖΕ͚ͨͩͰ͸ʮελʔτ஍఺ͷखલʯ 1. ( 1 100 ) 2. 0 3. 縮 4. Issue

Slide 146

Slide 146 text

ӡ༻ظʹ޲͚ͯͷਐΊํͷ֓ཁ 1. 2. 3. 4.

Slide 147

Slide 147 text

ελʔτʹཱͱ͏: ݱঢ়ͷೝࣝͱ໨ඪͷઃఆ (1 1 etc)

Slide 148

Slide 148 text

ͲͷఆྔࢦඪΛ༻͍Δ͔ 2

Slide 149

Slide 149 text

Ϣʔβʔ΁ͷΠϯύΫτͷ؍఺ Sentry 1. Event ( ) 2. Event (Web )

Slide 150

Slide 150 text

ιϑτ΢ΣΞͷ඼࣭ͷ؍఺ Sentry 1. Event 2. Event Issue 3. Issue 4. Unresolved Issue 5. Resolve Issue 6. Issue resolved

Slide 151

Slide 151 text

ݸਓతͳΦεεϝ 0 Unresolved Issue Open

Slide 152

Slide 152 text

ݸਓతͳΦεεϝ Unresolved Issue cons ( ) Event 1 1

Slide 153

Slide 153 text

ݸਓతͳΦεεϝ Unresolved Issue pros 0 ( )

Slide 154

Slide 154 text

ఆྔࢦඪͷऔಘɾ؂ࢹํ๏ Dashboard https://docs.sentry.io/product/ dashboards/ API https://docs.sentry.io/api/events/ SandboxΞΧ΢ϯτͰͷμογϡϘʔυͷྫ

Slide 155

Slide 155 text

Wedding Park https://speakerdeck.com/kazatohiei/phperkaigi2022 https://engineers.weddingpark.co.jp/sentry/

Slide 156

Slide 156 text

ӡ༻ظʹ޲͚ͯͷਐΊํͷ֓ཁ 1. 2. 3. 4.

Slide 157

Slide 157 text

طଘΤϥʔͷղফͷ։࢝ 1. : 2. :

Slide 158

Slide 158 text

طଘΤϥʔͷղফͷ։࢝ 1. : For Review 0縮 ( ) 2. :

Slide 159

Slide 159 text

طଘΤϥʔͷղফͷ։࢝ 1. : 2. : 1 OKR Key Result 1

Slide 160

Slide 160 text

§4 .1 Sentry .2 .3 .4 .5

Slide 161

Slide 161 text

͓͞Β͍: ݸਓతʹେࣄʹ͍ͯ͠Δ͜ͱ 1. 胸 2.

Slide 162

Slide 162 text

͓͞Β͍: ݸਓతʹେࣄʹ͍ͯ͠Δ͜ͱ 1. 胸 2. ここまでの話は 割とコッチが中⼼では?

Slide 163

Slide 163 text

͓͞Β͍: ݸਓతʹେࣄʹ͍ͯ͠Δ͜ͱ 1. 胸 2. この節はコチラ!

Slide 164

Slide 164 text

໌೔͔Β࢝ΊΒΕΔͷ͔ ( )

Slide 165

Slide 165 text

(ͨͿΜ)͍͘Βڧௐͯ͠΋ɺ͠଍Γͳ͍ίτ

Slide 166

Slide 166 text

(ͨͿΜ)͍͘Βڧௐͯ͠΋ɺ͠଍Γͳ͍ίτ

Slide 167

Slide 167 text

ڳΛுͬͯνʔϜͷதʹډ͍ͨ

Slide 168

Slide 168 text

໌೔͔ΒԿΛ࢝ΊΒΕΔͷ͔

Slide 169

Slide 169 text

Ͳ͏΍ͬͯมԽΛଅ͔͢

Slide 170

Slide 170 text

Ͳ͏΍ͬͯมԽΛଅ͔͢ BBQ

Slide 171

Slide 171 text

ྑ͍มԽ͸ྑ͍ఉ͔Β࢝·Δ ( ) 1. 2. 3.

Slide 172

Slide 172 text

ྑ͍มԽ͸ྑ͍ఉ͔Β࢝·Δ 1. 2. 3.

Slide 173

Slide 173 text

ྑ͍มԽ͸ྑ͍ఉ͔Β࢝·Δ 1. 2. 3.

Slide 174

Slide 174 text

ྑ͍มԽ͸ྑ͍ఉ͔Β࢝·Δ 1. 2. 3. 0 Sentry (Resolve, Mark Reviewed )

Slide 175

Slide 175 text

§5

Slide 176

Slide 176 text

Τϥʔͱ޲͖߹͍ɺࣗ৴Λ࣋ͬͯ αʔϏε։ൃʹऔΓ૊ΈɺલʹਐΉ Sentry

Slide 177

Slide 177 text

͓͠·͍ʂ ͓෇͖߹͍͍͖ͨͩ ͋Γ͕ͱ͏͍͟͝·ͨ͠

Slide 178

Slide 178 text

§X Appendix

Slide 179

Slide 179 text

ࢀߟॻ੶ɾҾ༻ͨ͠ॻ੶ Clean Craftsmanship (Japanese Edition) E ective DevOps 4 Fearless Change 48 Google ITIL ITIL Leading Beyond Change: A Practical Guide to Evolving Business Agility Lean DevOps [Accelerate] Observability Engineering: Achieving Production Excellence XP XP : ( ) DevOps 9 ( 3 ) 9 ޒेԻॱ

Slide 180

Slide 180 text

Web্ͷࢀߟϦιʔε / Sentry͕ఏڙ͍ͯ͠ΔϦιʔε Product Guides | Sentry Documentation https://docs.sentry.io/product/ API Reference | Sentry Documentation https://docs.sentry.io/api/ Spend Less Time on Bugs & More Time on Features: Sentry + Sleuth | Sentry https://sentry.io/resources/improve-and-automate-your-work ow/ Automate, Group, and Get Alerted: A Best Practices Guide to Monitoring your Code | Sentry https://sentry.io/resources/automate-group-get-alerted/ Sentry - YouTube ろ https://www.youtube.com/c/Sentry-monitoring

Slide 181

Slide 181 text

Web্ͷࢀߟϦιʔε / Sentryͷಋೖɾ׆༻ࣄྫ / PHPerKaigi2022 - Speaker Deck https://speakerdeck.com/kazatohiei/phperkaigi2022 Sentry | Wedding Park CREATORS Blog https://engineers.weddingpark.co.jp/sentry/ Raygun Sentry - BASE https://devblog.thebase.in/entry/raygun2sentry - https://daisuki.nichiyoubi.land/entry/2020/07/01/ 123616#%E3%81%AA%E3%81%9C%E3%82%84%E3%82%8B%E3%81%AE%E3%81%8B

Slide 182

Slide 182 text

Web্ͷࢀߟϦιʔε / DevOpsɺϞχλϦϯά Monitoring Check Smells https://benjiweber.co.uk/blog/2015/03/02/monitoring-check-smells/ 5 2020 (1/2) CodeZine https://codezine.jp/article/detail/12052 https://www.youtube.com/watch?v=9RPgdJyeA7Y&t=4784s State of DevOps Four Keys ( ) / Introduction to State of DevOps and Four Keys for Visualizing Productivity in Development Organizations expanded and revised edition - Speaker Deck https://speakerdeck.com/isanasan/introduction-to-state-of-devops-and-four-keys-for-visualizing- productivity-in-development-organizations-expanded-and-revised-edition

Slide 183

Slide 183 text

Web্ͷࢀߟϦιʔε / ඼࣭ɾอकɾ༧๷ https://blogs.itmedia.co.jp/morisaki/2012/04/post-7e5d.html - Cybozu Inside Out | https://blog.cybozu.io/entry/2016/05/18/103000 - 領 / Growing Reliable Code PHPerKaigi 2022 - Speaker Deck https://speakerdeck.com/twada/growing-reliable-code-phperkaigi-2022 / Agility and Quality Characteristics Developers Summit 2021 Summer - Speaker Deck https://speakerdeck.com/twada/agility-and-quality-characteristics-developers-summit-2021-summer - pixiv inside https://inside.pixiv.blog/shimashima/6247

Slide 184

Slide 184 text

Web্ͷࢀߟϦιʔε / ͦͷଞ(จԽɺ૊৫ͳͲ) I - https://daisuki.nichiyoubi.land/entry/2021/12/11/182323 #scrumosaka / Scrum Fest Osaka 2021 Keynote - Speaker Deck https://speakerdeck.com/bu erings/scrum-fest-osaka-2021-keynote / The Debt - Speaker Deck https:// speakerdeck.com/toricls/the-debt / You won't be in the team forever - Speaker Deck https://speakerdeck.com/toricls/you-wont-be-in-the-team-forever