Slide 1

Slide 1 text

ΧϠοΫͷήʔϜ ։ൃɾӡ༻ͷʮࠓʯ ྗٕͱޮ཰Խͷઌʹ զʑ͕໨ʹͨ͠΋ͷͱ͸ @mackee_w a.k.a macopy YAPC::Kansai 2017 OSAKA 2017-03-04

Slide 2

Slide 2 text

͓લ୭ʁʁʁʁʁ

Slide 3

Slide 3 text

͓લ୭ʁʁʁʁʁ ͓࢓ࣄιʔγϟϧήʔϜͷαʔ όαΠυͷ։ൃͱӡ༻ 1FSM HJUIVCNBDLFF UXJUUFS!NBDLFF@X 1"64&."$01: ࢓ࣄ͸1FSM͕ झຯ͸(P͕ ΄΅ Α͘পʹؕΓ͕ͪ ࠷ۙ͸73

Slide 4

Slide 4 text

ࠓ೔ͷ࿩: ʮ΅͘ΒͷߕࢠԂϙέοτʯͷ ӡ༻ͱ։ൃͷ࿩

Slide 5

Slide 5 text

టष͍࿩Λ΍͍ͬͯͧ̇͘

Slide 6

Slide 6 text

΅͘ΒͷߕࢠԂϙέοτͱ͸ʁ

Slide 7

Slide 7 text

΅͘ΒͷߕࢠԂϙέοτͷಛ௃ • 1೔4ճͷന೤ͨ͠ࢼ߹ʂɹ܅ͷεΩϧͱΤʔϧ ͕উഊΛ෼͚Δʂʂʂ -> 1೔4ճόοναʔό͕age㽉age㽉͢Δ • ͻ͖ͬΓͳ͠ʹ։࠵͞ΕΔ༷ʑͳϛχήʔϜΠϕ ϯτʂʂʂɹ໺ٿҎ֎΋ָ͠ΊΔͧʂ ɹ-> ຖ೔σϓϩΠຖ೔։ൃʘ(^o^)ʗ

Slide 8

Slide 8 text

΅͘ΒͷߕࢠԂϙέοτͷಛ௃ • 1೔4ճͷന೤ͨ͠ࢼ߹ʂɹ܅ͷεΩϧͱΤʔϧ ͕উഊΛ෼͚Δʂʂʂ -> 1೔4ճόοναʔό͕age㽉age㽉͢Δ • ͻ͖ͬΓͳ͠ʹ։࠵͞ΕΔ༷ʑͳϛχήʔϜΠϕ ϯτʂʂʂɹ໺ٿҎ֎΋ָ͠ΊΔͧʂ ɹ-> ຖ೔σϓϩΠຖ೔։ൃʘ(^o^)ʗ

Slide 9

Slide 9 text

ͱ͍͏ͷΛͲ͏৐Γ੾͍ͬͯΔ͔Λ ྺ࢙Λަ͑ͯ঺հ͠·͢

Slide 10

Slide 10 text

ࠓ͔Β࿩͢͜ͱ 1. ߏ੒ͷมભͱDBICͱDateTime.pm 2.ΨϯΨϯ΍ͬͯ͘ΔΠϕϯτΛӈ͔Βࠨ΁΍ͬ ͍͖ͯ͢Δख๏ʹ͍ͭͯ 3. 30ݸҎ্։ൃ༻ίϯςφཱ͕͍ͬͯͯ
 ͍ͭ΋ɹ͕ɹ͍ͬͯΔ࿩ +FOLJOTMPHPCZ+FOLJOT1SPKFDUIUUQTKFOLJOTJP

Slide 11

Slide 11 text

ߏ੒ͷมભͱDBICͱ DateTime.pm

Slide 12

Slide 12 text

Πϯϑϥʹ͍ͭͯ͸ͪ͜Β͕ৄ͍͠ IUUQTTQFBLFSEFDLDPNULVDIJLJOJBOKJBOZVOZPOHTJUFJSVTPTJZBSVHFNVGBMTFTBCBHPVDIFOHGBMTFCJBORJBO

Slide 13

Slide 13 text

ݱࡏͷΠϯϑϥߏ੒

Slide 14

Slide 14 text

ϦϦʔε౰ॳͷΠϯϑϥߏ੒ • உؾ͋;ΕΔγϯάϧϚελʔɾϊʔεϨʔϒ • ؅ཧը໘͸εϨʔϒ • RDS for MySQL(5.6) • ElastiCache RedisͰ͸ͳ͘Redis SentinelͰӡ༻ • WebAppͱBatchपΓ͸ߏ੒ʹมԽͳ͠ • deploy͕Archer͔Βstretcherʹͳͬͨ͘Β͍ • ϩάͷྲྀΕ͸͍ͩͿมΘ͍ͬͯΔ

Slide 15

Slide 15 text

ϦϦʔε౰ॳͷ໰୊: ࢼ߹͕ॏ͍

Slide 16

Slide 16 text

ݱࡏͷ͋Δ೔ͷreq/sec

Slide 17

Slide 17 text

ݱࡏͷ͋Δ೔ͷreq/sec ϩʔΧϧϓογϡͰ௚લͷഒͰۦ্͚͕Δ

Slide 18

Slide 18 text

͜Ε͕1೔4ճ㽉㽉㽉㽉

Slide 19

Slide 19 text

ىͬͨ͜͜ͱ • όοναʔό͕ॏ͘ࢼ߹ਐߦ͕͔͔Γ͗͢Δ • DBͷෛՙͰଞͷAPI΋஗Ԇ࢝͠ΊΔ • ࢼ߹த͸εϨʔϒ஗ԆͰ؅ཧը໘͕10෼஗Ε ͱ͔ʹͳΔ • Redisͷసૹྔʘ(^o^)ʗ

Slide 20

Slide 20 text

΍ͬͨ͜ͱ • ໷ͷࢼ߹Λ੢೔ຊͱ౦೔ຊͰ2෼ׂʹ͢Δ • ήʔϜ಺ͷνʔϜ͸஍ҬʹΑͬͯ෼ׂ͞Εͯ ͍Δ • 18࣌ͱ22࣌ͩͬͨͷΛ18/19࣌ͱ22/23࣌ʹ

Slide 21

Slide 21 text

1೔4ճ㽉㽉㽉㽉 ↓ 1೔6ճ㽉㽉㽉㽉㽉㽉

Slide 22

Slide 22 text

ϚελDBͷΫΤϦൃߦ਺

Slide 23

Slide 23 text

ͦͷଞ • DBICͰͷPrefetchͷ׆༻ • N + 1ΫΤϦΛpt-query-digestͱ͔Ͱݟ͚ͭͯҰͭͷ ΫΤϦʹ·ͱΊΔ • RedisʹΩϟογϡ͍ͯ͠Δࢼ߹σʔλΛlz4Ͱѹॖͯ͠ ऩΊΔ • WebAppαʔό͸ԣʹฒ΂ΒΕΔ͔ΒগʑͷCPUίε τ͸෷͏

Slide 24

Slide 24 text

ͦͷଞ • εϨʔϒ஗Ԇ͸IOPS͕଍Γͳ͔ͬͨͷͰIOPS Λ૿΍͢ • ͓ۚ͸͔͔Δ • ؅ཧը໘ʹ࢖͍ͬͯͨεϨʔϒʹ޲͚Δ࢓૊ ΈΛຊ൪ΞϓϦʹ΋ద༻ͯ͠Ϛελ΁ͷෛՙ Λ࡟ݮ͢Δ

Slide 25

Slide 25 text

͍͍ͩͨDBͰࠔ͍ͬͯΔ • RedisͰͷΩϟογϡ͸Ͱ͖Δ͚ͩ࢖Θͳ͍ํ਑ • ύʔςΟγϣϯʹΑΔ࣮ߦܭըͷ༳Ε • TEXTͷΧϥϜʹΊͪΌͰ͔͍JSONಥͬࠐΜͰ సૹྔ௓ͶΔ • RDSͷϝϯςφϯε

Slide 26

Slide 26 text

Perlͷ࿩

Slide 27

Slide 27 text

WebAppͰ࢖͍ͬͯΔ΍ͭ • Perl 5.16.3 EOLͳͷͰ͍͋͛ͨ • Ark + DBIx::Class + DateTime.pm… • ΫϥεϏϧμ͸MouseΛଟ༻͍ͯ͠Δ

Slide 28

Slide 28 text

ʮAPI͸΍͍͓ͨ͘͠ʙʯ • DBIC͸ศརɺ͔͠͠஗͍ • ҎલDevel::NYTProfΛ͔͚ͨΒ΄΅DBICͱ͍͏݁Ռ͕ग़ͨ ͜ͱ΋

Slide 29

Slide 29 text

DateTime.pm • DateTime.pm͸ඇৗʹଟػೳ͕ͩੜ੒ίετ ͕ߴ͍ • $row->created_atͰऔΔͱDateTimeʹͳͬ ͪΌ͏ͷͰ$row->get_column(“created_at”) Ͱऔͬͯeq΍Βlt/gtͰൺֱ͢ΔςΫ΋͋Δ • (Θ͔Γʹ͍͘)

Slide 30

Slide 30 text

DateTime.pmͱ͏Δ͏ඵ • Perl ͷ DateTime ར༻্ͷ஫ҙ఺ • https://shogo82148.github.io/blog/2015/12/09/perl-datetime/ • ςετதͷϩάʹ08:59:60ͱ͍͏จࣈΛݟ͚ͭͯɺͦͷ࣌ʹݪҼෆ ໌ͩͬͨ࣍ͷ0࣌ͪΐ͏Ͳʹࢼ߹ΛಥͬࠐΉσόοά͕ΤϥʔͰࢮΜ Ͱ͍ͨͷ͕͏Δ͏ඵͱ෼Γमਖ਼ΛࢼΈΔ • ͔͠͠ίϯύΠϧ࣌ʹ͏Δ͏ඵΛຒΊࠐΜͰ͍ΔͷͰզʑϢʔβʹ ͸Ͳ͏͢Δ͜ͱ΋ग़དྷͶ͑ • ͏Δ͏ඵΛ஌Βͳ͍όʔδϣϯʹμ΢ϯάϨʔυͯ͠ରԠorz

Slide 31

Slide 31 text

͠Ύͬ͠Ύʔ໰୊

Slide 32

Slide 32 text

͠Ύͬ͠Ύʔ໰୊ • ʮͳ͔ͬͨΒINSERT͍ͨ͠͠ɺ͋ΔͳΒϩοΫऔ Γ͍ͨ΍Μ?ʯ • http://ichirin2501.hatenablog.com/entry/ 2015/08/23/191500 • INSERT͠Α͏ͱ͢Δͱdupͬͯɺ͡Ό͋͋Δ΍ ΜͬͯSELECT͠Α͏ͱ͢ΔͱREPEATABLE READͷ᠘Ͱݟ͑ͳ͍ɻҰମͲ͏͢Ε͹

Slide 33

Slide 33 text

͠Ύͬ͠Ύʔ໰୊͕ى͜Δͱ • Α͘Πϕϯτ։࢝࣌ʹى͜Γ͕ͪ • Πϕϯτ༻ͷνʔϜ಺ڞ௨ϢʔβσʔλΛΠ ϕϯτͷγʔϯʹೖͬͨ࣌ʹ࡞Δͱ͔΍Δ • σʔλΛࣄલ౤ೖ͢Δͷ΋ޮՌత • ͔͠͠ޙ͔Β࡞ΒΕͨϢʔβ΍νʔϜʹ͸ޮ Ռ͕ͳ͍

Slide 34

Slide 34 text

ࠓͷͱ͜Ζͷରࡦํ๏ • τϥϯβΫγϣϯ֎(ίϯτϩʔϥͷ௚Լ͔Β ಡΜͩผͷϞσϧͷϝιουͳͲ)ͰॳظԽ͞ ΕͨߦΛ౤ೖ͢Δ • ͦͷޙͷຊମͷϝιουͰ͸ͦͷߦͷϩοΫ Λऔͬͯߦ͕͔ͳΒͣ͋ΔલఏͰॲཧΛଓ͚Δ • ͢ΔͱϩοΫऔΕΔ͠޾ͤ

Slide 35

Slide 35 text

ΨϯΨϯ΍ͬͯ͘ΔΠϕϯτΛ ӈ͔Βࠨ΁΍͍͖͍ͬͯͯ͘͠ ख๏ʹ͍ͭͯ 1IPUPCZ$BUXBMLIUUQTqJDLSQ(87V

Slide 36

Slide 36 text

͋ΔҰिؒͷ։ൃ

Slide 37

Slide 37 text

͋ΔҰिؒͷ։ൃ ݟʹ͍͘ͷͰ ਅͬೋͭʹ͠ ·͚ͨ͠ΕͲ ຊ౰͸͜Μͳ ײ͡Ͱ͢ ݄Րਫ໦ۚ

Slide 38

Slide 38 text

͜ͷύΠϓϥΠϯΛ ଺Γͳ͘εϜʔζʹ΍͍͖ͬͯ ग़དྷΔΑ͏ʹ͢Δͷ΋ ΤϯδχΞͷ࢓ࣄ

Slide 39

Slide 39 text

ࠓ೔օ͞Μʹ ֮͑ͯ΄͍͜͠ͱ: ֮ޛͱؾ߹

Slide 40

Slide 40 text

֮ޛ: αʔόʹσϓϩΠ͞ΕΔ΋ͷ͸ શͯαʔόΤϯδχΞ͕໨Λ௨͢

Slide 41

Slide 41 text

ͳͥͳΒ ͳΜ͔τϥϒͬͨͱ͖͸ αʔόΤϯδχΞ͕΍Δ͔Β

Slide 42

Slide 42 text

αʔόʹσϓϩΠ͞ΕΔ΋ͷ • Perlͷίʔυ • CSVͰಥͬࠐΉϚελσʔλ • Unity͕ಡΉAsset Bundle • chefͷrecipe

Slide 43

Slide 43 text

αʔόʹσϓϩΠ͞ΕΔ΋ͷ • Perlͷίʔυ • CSVͰಥͬࠐΉϚελσʔλ • Unity͕ಡΉAsset Bundle • chefͷrecipe ͜ΕΒશͯΛ αʔόΤϯδχΞ͕ ೺Ѳ͢Δඞཁ͕͋Δ

Slide 44

Slide 44 text

΋͘͠͸୭͕஌͍ͬͯΔ͔Λ ೺Ѳ͍ͯ͠Δඞཁ͕͋Δ -> ॿ͚Λݺ΂Δ

Slide 45

Slide 45 text

ؾ߹: పఈͨࣗ͠ಈԽ

Slide 46

Slide 46 text

։ൃ͸ ͢΂ͯPull RequestͰ ճ͍ͬͯΔ

Slide 47

Slide 47 text

ϒϥϯνΛ੾ΔBOT • ఆܗͷ໋໊نଇͱϒϥϯνπϦʔΛ࣋ͬͨ topicϒϥϯνΛࣗಈੜ੒͢ΔBOT • اըଆ͚ͩͰ࡞ۀΛ։࢝Ͱ͖Δ • hotfixϒϥϯν΋੾ΕΔΑ͏ʹͳ͍ͬͯΔͷͰ मਖ਼ͯ͠։ൃ؀ڥσϓϩΠ·Ͱ͸ΤϯδχΞ Ҏ֎͕ग़དྷΔΑ͏ʹͳ͍ͬͯΔ

Slide 48

Slide 48 text

͔͠͠؆୯ʹPRΛ࡞ΕΔͱ • No description… • ԿΛ໨తʹ͜ͷPR͕࡞ΒΕͨͷ͔ॻ͔Εͣ ʹճ͖ͬͯͯࠔΔ

Slide 49

Slide 49 text

ԿΛ͔ͨ͠: ϙΤϜΛॻ͍ͨ

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

Τϥʔϝοηʔδ͸ 2W1H ͕͍͍Μ͡Όͳ͍͔ - @bayashi Daily https://bayashi.net/diary/2016/0719 2W1H What? Why? How?

Slide 53

Slide 53 text

Pull Request΋2W1HͰ ͍͍Μ͡Όͳ͍͔ʁ ·ͩ΍ͬͯͳ͍͚ΕͲ13ͷςϯϓϨʹೖΕΔͷ΋ྑͦ͞͏

Slide 54

Slide 54 text

اըͷਓ͕ԿΛ੍࡞͢Δͷ͔ʁ

Slide 55

Slide 55 text

Ϛελʔσʔλ

Slide 56

Slide 56 text

Ϛελσʔλ • DB΍੩తϦιʔε্ͷϢʔβʹมߋ͞Εͳ͍ σʔλ • ରٛޠ͸Ϣʔβσʔλ • ϦϙδτϦ಺ʹ͸CSVͰσϓϩΠ࣌ʹDB΍Ϋ ϥΠΞϯτʹ౉͢όΠφϦʹͳͬͨΓ͢Δ

Slide 57

Slide 57 text

Ϛελσʔλ • DBʹೖΔͷ͕େ൒ͳͷͰߗ͍εΩʔϚܗࣜ • CSVΛฤू͍ͯ͠ΔΘ͚Ͱ͸ͳ͘Google SpreadsheetΛ༻͍͍ͯΔɻ͜ΕΛCSVԽ͢Δ -> BOT͕CSVʹམͱͯ͠Pull Requestʹͯ͘͠ ΕΔ

Slide 58

Slide 58 text

ԿނGoogle SpreadsheetͰ΍Δ͔: ͍͡Δਓ͕ίϯτϩʔϧͰ͖Δ

Slide 59

Slide 59 text

ΤΫηϧతͳ΍ͭͷ͍͍ͱ͜Ζ • දܭࢉͷؔ਺͕࢖͑Δ • ؔ਺͸ΘΓ͔͠Θ͔Γ΍͍ࣗ͢ಈԽݴޠ • εΫϦϓτ͕࢖͑Δ • σΟϨΫλʔ͕Կਓ͔GASॻ͍ͯࣗಈԽ͠ ͯΔ

Slide 60

Slide 60 text

ࣗಈԽΛ཰ઌͯ͠΍Δ͜ͱͰ ଞͷਓʹ΋ࣗಈԽΛଅ͢

Slide 61

Slide 61 text

ྫ͑͹Next IDൃߦ܅

Slide 62

Slide 62 text

͖ͬ͞ͷ͜Ε ࡞ۀதͷ΋ͷ͕ฒྻ

Slide 63

Slide 63 text

͖ͬ͞ͷ͜Ε ࡞ۀதͷ΋ͷ͕ฒྻ ͦΕͧΕʹϚελ σʔλ͕ଘࡏ͢Δ

Slide 64

Slide 64 text

ͳͷͰ

Slide 65

Slide 65 text

શͯͷγʔτΛ·͍ͨͰͲͷIDʹ ͢΂͖͔Λڭ͑ͯ͘ΕΔ܅͕ඞཁ

Slide 66

Slide 66 text

શͯͷγʔτʁʁʁ

Slide 67

Slide 67 text

͖ͬ͞ͷ͜Ε ࡞ۀதͷ΋ͷ͕ฒྻ ͦΕͧΕʹϚελ σʔλ͕ଘࡏ͢Δ

Slide 68

Slide 68 text

͖ͬ͞ͷ͜Ε ࡞ۀதͷ΋ͷ͕ฒྻ ͦΕͧΕʹಠཱͨ͠ εϓϨουγʔτ͕ ଘࡏ͢Δ

Slide 69

Slide 69 text

࣮ࡍʹCSVʹ͢Δͱ͖

Slide 70

Slide 70 text

࣮ࡍʹCSVʹ͢Δͱ͖ ຊ൪ʹೖ͍ͬͯΔϚελͷ γʔτ

Slide 71

Slide 71 text

࣮ࡍʹCSVʹ͢Δͱ͖ ຊ൪ʹೖ͍ͬͯΔϚελͷ γʔτ ΠϕϯτͰ࢖͍͍ͨ Ϛελσʔλͷγʔτ

Slide 72

Slide 72 text

࣮ࡍʹCSVʹ͢Δͱ͖

Slide 73

Slide 73 text

࣮ࡍʹCSVʹ͢Δͱ͖

Slide 74

Slide 74 text

࣮ࡍʹCSVʹ͢Δͱ͖ ࠓσϓϩΠ͞ΕΔͱͲ͏ͳΔ͔$47

Slide 75

Slide 75 text

ͭ·Γ εϓϨουγʔτͷ ϒϥϯν؅ཧ

Slide 76

Slide 76 text

େྔͷΠϕϯτΛճͨ͢Ίʹ • పఈͨࣗ͠ಈԽ • PullRequestͱγʔτͰݟ͑ΔԽͱ͍͡ΕΔԽ Λ͢Δ • γʔτΛࠩ෼؅ཧͯ҆͠શʹ։ൃ • BOTͰ΍ͬͯ୭͕ԿΛ΍͍ͬͯΔ͔ΛSlackͰ ஌ΕΔ

Slide 77

Slide 77 text

ͦΕͱେྔͷ։ൃ؀ڥ

Slide 78

Slide 78 text

։ൃ؀ڥͱ͸ • ຊ൪ͱ͸ಠཱͨ͠ಛఆͷϒϥϯνͷίʔυͱϚ ελσʔλͱΞηοτ͕σϓϩΠ͞Εͨαʔό • ϗετ͕ৼΒΕͯ։ൃ൛ΞϓϦ͔Βܨ͛ΒΕΔ • ੲ͸ϩʔΧϧͰplackup͚ͯͨ͠ΕͲࠓͱͳͬ ͯ͸Perl؀ڥ͋Δਓ΋ϩʔΧϧ͡Όͳͯ͘։ൃ ؀ڥΛ্ཱͪ͛ͯ֬ೝ͢Δ͜ͱ͕ଟ͍

Slide 79

Slide 79 text

ੲ(৽ن։ൃ౰ॳ)͸ ʮmacopy: ϒϥϯνhogehogeΛݟΕΔΑ͏ʹ ͯ͠ʯ ʮ͸ʔ͍ʯ ͬͯ΍͔ͬͯΒdevelopmentαʔόʹϩάΠϯ ͯ͠ϒϥϯνΛ੾Γସ͑ͯεΩʔϚద༻ͯ͠Ϛ ελಥͬࠐΜͰWebAppΛ࠶ىಈͯ͠…

Slide 80

Slide 80 text

ؾ͍ͮͨΒͣͬͱϒϥϯνσ ϓϩΠ৬ਓʹͳ͍ͬͯͨ

Slide 81

Slide 81 text

ΞΧϯͷͰBOTʹ΍ΒͤΔ • ಉ͜͡ͱΛBOTʹ΍ΒͤΔ • UnazuSanͱ͍͏ϞδϡʔϧΛ࢖༻ͯ͠IRC͔ ΒҰ࿈ͷσϓϩΠίϚϯυΛ࣮ߦ͢ΔΑ͏ʹ ͨ͠ • ͜ΕͰίʔυ͕ॻ͚ΔΑ͏ʹͳͬͯϋοϐʔ

Slide 82

Slide 82 text

͔͜͠͠͏ͳͬͯ͘Δͱ

Slide 83

Slide 83 text

ಉ࣌ʹෳ਺ͷਓ͕ผʑͷ ؀ڥΛݟ͍ͨͱ͍͏ཁ๬͕

Slide 84

Slide 84 text

͠Ό͋ͳ͍ͷͰෳ਺؀ڥΛ࡞Δ • devφϯτΧ͍ͬͯ͏αʔό͚ͩͩͬͨͷ͕ɺ dev01, dev02, dev03ͱ૿͑Δ • ͔͠͠࢖͍ͬͯΔͷʹଞਓ͕࢖͓͏ͱͯ͠ফ ͢ • εϓϨουγʔτ΍ΒϗϫΠτϘʔυͰ؅ཧ ࢝͠ΊΔ

Slide 85

Slide 85 text

ͳ͓ಉ͡ঢ়گʹஔ͔Εͨ ผͷνʔϜ͸ ࢖͍ͬͯΔਓͷ্ʹ෩ધ ͕͋Δͱ͍͏Ṗͷӡ༻Λ ͍ͯͨ͠Β͍͠ IUUQUFDICMPHLBZBDDPN@NJSBHF@JO@EPDLFSIUNM

Slide 86

Slide 86 text

͠ΐ͏͕ͳ͍ͷͰ؀ڥΛ૿΍͢ • ʮ؀ڥμϒͬͯ΋͏͠ΜͲ͍ͷͰͳΜͱ͔ͳΓ· ͤΜ͔ʯ • ʮ͠ΐ͏͕ͳ͍૿΍͔͢……ʯ Ұϲ݄ޙ ʮdev14·Ͱ࡞ΔͨΊʹdevͰchefճ͠·͢ʯ ΠϯϑϥʮͳΜͰͦΜͳ͜ͱʹʂʁʯ

Slide 87

Slide 87 text

૿΍ͯ͠΋ॴḨ͸༗ݶͳͷͰ͢

Slide 88

Slide 88 text

͋”͋” ແݶʹ։ൃ؀ڥΆ͜Ά͜ ཱ͍͓ͯͨʙ

Slide 89

Slide 89 text

+ mirage

Slide 90

Slide 90 text

(Ϧιʔε͕ڐ͢ݶΓͷ) ແݶͷ։ൃ؀ڥ • Docker಺Ͱϒϥϯν੾Γସ͑ͱcarton installͱDBϚ ΠάϨʔγϣϯΛߦͬͯplackup • Procletศར(ࢼ߹༻ʹgearmanͳͲ΋ཱͬͯΔ) • DBͱRedis͸લ͸ίϯςφ಺ʹཱ͍͕ͯͯͨɺϝϞϦ ͱσΟεΫ৯͏ͷͱίϯςφམͱ͢ͱશͯͳ͘ͳΔͷ ͰɺϗετʹRedisཱͯͯDB͸AuroraͰσʔλϕʔε Λ෼͚ͯಉډ͍ͯ͠Δ

Slide 91

Slide 91 text

(Ϧιʔε͕ڐ͢ݶΓͷ)

Slide 92

Slide 92 text

BOTͰ؀ڥΛ্ཱͪ͛ΕΔ ཪͰ͸Jenkins͕mirageͷAPIΛୟ͍ͯίϯςφ ىಈ͍ͯ͠Δ

Slide 93

Slide 93 text

͢ΔͱΈͳ͞Μ ޷͖์୊ͳ͞ΕΔ

Slide 94

Slide 94 text

ίϯςφେരൃ

Slide 95

Slide 95 text

ίϯςφ΍Πϝʔδ࡟আͱ͔͸ සൟʹ΍͍ͬͯΔ͕0%ʹͳͬͯdev͕ࢮ๢ͨ͠ ͜ͱ͸Կ౓΋͋Δ σΟεΫ͸༗ݶ

Slide 96

Slide 96 text

ͱΓ͋͑ͣσΟεΫΛ εέʔϧΞοϓͨ͠ͷͱ ίϯςφͷμΠΤοτ

Slide 97

Slide 97 text

͋ͱࣥࣄౖ͕Δ ͜ΕݟͯΈΜͳʮ͋ʙ࢖ͬͯͳ͍ͷ͋ͬͨΘʯͬͯݴͬͯ མͱ࢝͠ΊΔͷͰศར ͋ͱ࣌ؒΞΫηε͕ͳ͚Ε͹མͱ͢ͱ͔ ݄༵ேʹશ෦མͱ͢ िӽ͠ͷίϯςφ͸࣋ͨͳ͍ ͱ͔ ΍ͬͯΔ +FOLJOTMPHPCZ+FOLJOT1SPKFDUIUUQTKFOLJOTJP

Slide 98

Slide 98 text

ϝϞϦͱCPU΋༗ݶ

Slide 99

Slide 99 text

ݪҼ͸σόοά༻εΫϦϓτ͕ ϝϞϦόΧ৯͍͔ͭฒྻ࣮ߦ • QAͳͲͰ࢖͑ΔΑ͏ʹεΫϦϓτΛ࣮ߦ͢Δ WebUIΛ༻ҙ͍ͯ͠Δ͕ɺͦͷҰͭʹര஄͕ ͋ͬͨ • ͍ΘΏΔμϛʔσʔλ࡞Δܥɻ͜͏͍͏ͷ͸ ίʔυϨϏϡʔ͕ૄ͔ʹͳΓ͕ͪͩ͠ɺຊ൪ ͱ͸ҧ͏ෛՙʹͳΓ͕ͪ

Slide 100

Slide 100 text

ͦΜͳ͜ΜͳͰେྔʹ؀ڥΛཱͯΕ Δ͜ͱʹΑͬͯ ਺ेฒྻͷ։ൃ͕Մೳʹͳ͍ͬͯΔ

Slide 101

Slide 101 text

·ͱΊ • Perl͸ݱ໾Ͱಈ͍͍ͯ·͋͢ɻӡ༻͍ͯ͠·͋͢ɻ • ։ൃύΠϓϥΠϯΛਂͯ͘͠εέʔϧͤ͞Δͱαʔ Ϗεͷӡ༻ͷ෯͕޿͕Γ·͢ • ͦΜͳΘ͚ͰوॏͳPerlΤϯδχΞ΍߈Ίӡ༻͢ ΔͨΊʹύΠϓϥΠϯ૊Έ͍ͨΤϯδχΞ͞Μ͍ ·ͤΜ͔ʔʔʔʔʔʂʂʂʂ[Ad]↓

Slide 102

Slide 102 text

ͦͷଞൃද͖͠Εͳ͔ͬͨ΍ͭ • ͋ͱ͔ΒϚϧνςφϯτʹ͢Δͱ͖ͷۤ࿑ • σϓϩΠʹ͍ͭͯ(papix͕௚લʹ͍Ζ͍Ζ΍ͬͯ ͍ΔΜ͡Όͳ͍͔ʁ) • ௕͍͜ͱ΍͍ͬͯΔͱϞδϡʔϧͷޙํޓ׵ഁյ ʹ೰·͞ΕΔ͕ΞάϨογϒʹ্͛Δ • ςετ͕20෼͔͔ΔͷͰۚͰԥΔ༧ఆͷ࿩