Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
カヤックのゲーム開発・運用の「今」 力技と効率化の先に我々が目にしたものとは / YAPC K...
Search
mackee
March 04, 2017
Programming
300k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
カヤックのゲーム開発・運用の「今」 力技と効率化の先に我々が目にしたものとは / YAPC Kansai 2017 Development of the Bokura No Koshien Pocket
YAPC::Kansai OSAKA 2017
2017-03-04 #yapcjapan #yapcjapanB
mackee
March 04, 2017
More Decks by mackee
See All by mackee
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
550
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
1.1k
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
6
6.1k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
14
7.3k
ワンバイナリWebサービスのススメ
mackee
10
9k
tanukistack ライブコーディング / tanukistack live-coding
mackee
0
760
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
1.2k
perl for shell, awk and sed programmers
mackee
3
2.9k
今更GoのWebフレームワークを作ろうとしているワケ / Why am I trying to create a Go web framework now?
mackee
1
1.1k
Other Decks in Programming
See All in Programming
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
710
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
生成AIで帳票OCRが「簡単に」作れる時代になった?
kon_shou
0
560
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
1
250
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
100
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
150
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
290
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
670
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
210
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
280
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
250
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Mind Mapping
helmedeiros
PRO
1
300
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
A Soul's Torment
seathinner
6
3.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
Technical Leadership for Architectural Decision Making
baasie
3
470
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
450
Claude Code のすすめ
schroneko
67
230k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Building Applications with DynamoDB
mza
96
7.2k
Transcript
ΧϠοΫͷήʔϜ ։ൃɾӡ༻ͷʮࠓʯ ྗٕͱޮԽͷઌʹ զʑ͕ʹͨ͠ͷͱ @mackee_w a.k.a macopy YAPC::Kansai 2017 OSAKA
2017-03-04
͓લ୭ʁʁʁʁʁ
͓લ୭ʁʁʁʁʁ ͓ࣄιʔγϟϧήʔϜͷαʔ όαΠυͷ։ൃͱӡ༻ 1FSM HJUIVCNBDLFF UXJUUFS!NBDLFF@X 1"64&."$01: ࣄ1FSM͕ झຯ(P͕
΄΅ Α͘পʹؕΓ͕ͪ ࠷ۙ73
ࠓͷ: ʮ΅͘ΒͷߕࢠԂϙέοτʯͷ ӡ༻ͱ։ൃͷ
టष͍Λ͍ͬͯͧ̇͘
΅͘ΒͷߕࢠԂϙέοτͱʁ
΅͘ΒͷߕࢠԂϙέοτͷಛ • 14ճͷനͨ͠ࢼ߹ʂɹ܅ͷεΩϧͱΤʔϧ ͕উഊΛ͚Δʂʂʂ -> 14ճόοναʔό͕age㽉age㽉͢Δ • ͻ͖ͬΓͳ͠ʹ։࠵͞ΕΔ༷ʑͳϛχήʔϜΠϕ ϯτʂʂʂɹٿҎ֎ָ͠ΊΔͧʂ ɹ->
ຖσϓϩΠຖ։ൃʘ(^o^)ʗ
΅͘ΒͷߕࢠԂϙέοτͷಛ • 14ճͷനͨ͠ࢼ߹ʂɹ܅ͷεΩϧͱΤʔϧ ͕উഊΛ͚Δʂʂʂ -> 14ճόοναʔό͕age㽉age㽉͢Δ • ͻ͖ͬΓͳ͠ʹ։࠵͞ΕΔ༷ʑͳϛχήʔϜΠϕ ϯτʂʂʂɹٿҎ֎ָ͠ΊΔͧʂ ɹ->
ຖσϓϩΠຖ։ൃʘ(^o^)ʗ
ͱ͍͏ͷΛͲ͏Γ͍ͬͯΔ͔Λ ྺ࢙Λަ͑ͯհ͠·͢
ࠓ͔Β͢͜ͱ 1. ߏͷมભͱDBICͱDateTime.pm 2.ΨϯΨϯͬͯ͘ΔΠϕϯτΛӈ͔Βࠨͬ ͍͖ͯ͢Δख๏ʹ͍ͭͯ 3. 30ݸҎ্։ൃ༻ίϯςφཱ͕͍ͬͯͯ ͍ͭɹ͕ɹ͍ͬͯΔ +FOLJOTMPHPCZ+FOLJOT1SPKFDUIUUQTKFOLJOTJP
ߏͷมભͱDBICͱ DateTime.pm
Πϯϑϥʹ͍ͭͯͪ͜Β͕ৄ͍͠ IUUQTTQFBLFSEFDLDPNULVDIJLJOJBOKJBOZVOZPOHTJUFJSVTPTJZBSVHFNVGBMTFTBCBHPVDIFOHGBMTFCJBORJBO
ݱࡏͷΠϯϑϥߏ
ϦϦʔεॳͷΠϯϑϥߏ • உؾ͋;ΕΔγϯάϧϚελʔɾϊʔεϨʔϒ • ཧը໘εϨʔϒ • RDS for MySQL(5.6) •
ElastiCache RedisͰͳ͘Redis SentinelͰӡ༻ • WebAppͱBatchपΓߏʹมԽͳ͠ • deploy͕Archer͔Βstretcherʹͳͬͨ͘Β͍ • ϩάͷྲྀΕ͍ͩͿมΘ͍ͬͯΔ
ϦϦʔεॳͷ: ࢼ߹͕ॏ͍
ݱࡏͷ͋Δͷreq/sec
ݱࡏͷ͋Δͷreq/sec ϩʔΧϧϓογϡͰલͷഒͰۦ্͚͕Δ
͜Ε͕14ճ㽉㽉㽉㽉
ىͬͨ͜͜ͱ • όοναʔό͕ॏ͘ࢼ߹ਐߦ͕͔͔Γ͗͢Δ • DBͷෛՙͰଞͷAPIԆ࢝͠ΊΔ • ࢼ߹தεϨʔϒԆͰཧը໘͕10Ε ͱ͔ʹͳΔ • Redisͷసૹྔʘ(^o^)ʗ
ͬͨ͜ͱ • ͷࢼ߹Λຊͱ౦ຊͰ2ׂʹ͢Δ • ήʔϜͷνʔϜҬʹΑׂͬͯ͞Εͯ ͍Δ • 18࣌ͱ22࣌ͩͬͨͷΛ18/19࣌ͱ22/23࣌ʹ
14ճ㽉㽉㽉㽉 ↓ 16ճ㽉㽉㽉㽉㽉㽉
ϚελDBͷΫΤϦൃߦ
ͦͷଞ • DBICͰͷPrefetchͷ׆༻ • N + 1ΫΤϦΛpt-query-digestͱ͔Ͱݟ͚ͭͯҰͭͷ ΫΤϦʹ·ͱΊΔ • RedisʹΩϟογϡ͍ͯ͠Δࢼ߹σʔλΛlz4Ͱѹॖͯ͠
ऩΊΔ • WebAppαʔόԣʹฒΒΕΔ͔ΒগʑͷCPUίε τ͏
ͦͷଞ • εϨʔϒԆIOPS͕Γͳ͔ͬͨͷͰIOPS Λ૿͢ • ͓͔͔ۚΔ • ཧը໘ʹ͍ͬͯͨεϨʔϒʹ͚Δ ΈΛຊ൪ΞϓϦʹద༻ͯ͠Ϛελͷෛՙ Λݮ͢Δ
͍͍ͩͨDBͰࠔ͍ͬͯΔ • RedisͰͷΩϟογϡͰ͖Δ͚ͩΘͳ͍ํ • ύʔςΟγϣϯʹΑΔ࣮ߦܭըͷ༳Ε • TEXTͷΧϥϜʹΊͪΌͰ͔͍JSONಥͬࠐΜͰ సૹྔͶΔ • RDSͷϝϯςφϯε
Perlͷ
WebAppͰ͍ͬͯΔͭ • Perl 5.16.3 EOLͳͷͰ͍͋͛ͨ • Ark + DBIx::Class +
DateTime.pm… • ΫϥεϏϧμMouseΛଟ༻͍ͯ͠Δ
ʮAPI͍͓ͨ͘͠ʙʯ • DBICศརɺ͔͍͠͠ • ҎલDevel::NYTProfΛ͔͚ͨΒ΄΅DBICͱ͍͏݁Ռ͕ग़ͨ ͜ͱ
DateTime.pm • DateTime.pmඇৗʹଟػೳ͕ͩੜίετ ͕ߴ͍ • $row->created_atͰऔΔͱDateTimeʹͳͬ ͪΌ͏ͷͰ$row->get_column(“created_at”) ͰऔͬͯeqΒlt/gtͰൺֱ͢ΔςΫ͋Δ • (Θ͔Γʹ͍͘)
DateTime.pmͱ͏Δ͏ඵ • Perl ͷ DateTime ར༻্ͷҙ • https://shogo82148.github.io/blog/2015/12/09/perl-datetime/ • ςετதͷϩάʹ08:59:60ͱ͍͏จࣈΛݟ͚ͭͯɺͦͷ࣌ʹݪҼෆ
໌ͩͬͨ࣍ͷ0࣌ͪΐ͏Ͳʹࢼ߹ΛಥͬࠐΉσόοά͕ΤϥʔͰࢮΜ Ͱ͍ͨͷ͕͏Δ͏ඵͱΓमਖ਼ΛࢼΈΔ • ͔͠͠ίϯύΠϧ࣌ʹ͏Δ͏ඵΛຒΊࠐΜͰ͍ΔͷͰզʑϢʔβʹ Ͳ͏͢Δ͜ͱग़དྷͶ͑ • ͏Δ͏ඵΛΒͳ͍όʔδϣϯʹμϯάϨʔυͯ͠ରԠorz
͠Ύͬ͠Ύʔ
͠Ύͬ͠Ύʔ • ʮͳ͔ͬͨΒINSERT͍ͨ͠͠ɺ͋ΔͳΒϩοΫऔ Γ͍ͨΜ?ʯ • http://ichirin2501.hatenablog.com/entry/ 2015/08/23/191500 • INSERT͠Α͏ͱ͢Δͱdupͬͯɺ͡Ό͋͋Δ ΜͬͯSELECT͠Α͏ͱ͢ΔͱREPEATABLE
READͷ᠘Ͱݟ͑ͳ͍ɻҰମͲ͏͢Ε
͠Ύͬ͠Ύʔ͕ى͜Δͱ • Α͘Πϕϯτ։࢝࣌ʹى͜Γ͕ͪ • Πϕϯτ༻ͷνʔϜڞ௨ϢʔβσʔλΛΠ ϕϯτͷγʔϯʹೖͬͨ࣌ʹ࡞Δͱ͔Δ • σʔλΛࣄલೖ͢ΔͷޮՌత • ͔͠͠ޙ͔Β࡞ΒΕͨϢʔβνʔϜʹޮ
Ռ͕ͳ͍
ࠓͷͱ͜Ζͷରࡦํ๏ • τϥϯβΫγϣϯ֎(ίϯτϩʔϥͷԼ͔Β ಡΜͩผͷϞσϧͷϝιουͳͲ)ͰॳظԽ͞ ΕͨߦΛೖ͢Δ • ͦͷޙͷຊମͷϝιουͰͦͷߦͷϩοΫ Λऔͬͯߦ͕͔ͳΒͣ͋ΔલఏͰॲཧΛଓ͚Δ • ͢ΔͱϩοΫऔΕΔͤ͠
ΨϯΨϯͬͯ͘ΔΠϕϯτΛ ӈ͔Βࠨ͍͖͍ͬͯͯ͘͠ ख๏ʹ͍ͭͯ 1IPUPCZ$BUXBMLIUUQTqJDLSQ(87V
͋ΔҰिؒͷ։ൃ
͋ΔҰिؒͷ։ൃ ݟʹ͍͘ͷͰ ਅͬೋͭʹ͠ ·͚ͨ͠ΕͲ ຊ͜Μͳ ײ͡Ͱ͢ ݄Րਫۚ
͜ͷύΠϓϥΠϯΛ Γͳ͘εϜʔζʹ͍͖ͬͯ ग़དྷΔΑ͏ʹ͢Δͷ ΤϯδχΞͷࣄ
ࠓօ͞Μʹ ֮͑ͯ΄͍͜͠ͱ: ֮ޛͱؾ߹
֮ޛ: αʔόʹσϓϩΠ͞ΕΔͷ શͯαʔόΤϯδχΞ͕Λ௨͢
ͳͥͳΒ ͳΜ͔τϥϒͬͨͱ͖ αʔόΤϯδχΞ͕Δ͔Β
αʔόʹσϓϩΠ͞ΕΔͷ • Perlͷίʔυ • CSVͰಥͬࠐΉϚελσʔλ • Unity͕ಡΉAsset Bundle • chefͷrecipe
αʔόʹσϓϩΠ͞ΕΔͷ • Perlͷίʔυ • CSVͰಥͬࠐΉϚελσʔλ • Unity͕ಡΉAsset Bundle • chefͷrecipe
͜ΕΒશͯΛ αʔόΤϯδχΞ͕ Ѳ͢Δඞཁ͕͋Δ
͘͠୭͕͍ͬͯΔ͔Λ Ѳ͍ͯ͠Δඞཁ͕͋Δ -> ॿ͚ΛݺΔ
ؾ߹: పఈͨࣗ͠ಈԽ
։ൃ ͯ͢Pull RequestͰ ճ͍ͬͯΔ
ϒϥϯνΛΔBOT • ఆܗͷ໋໊نଇͱϒϥϯνπϦʔΛ࣋ͬͨ topicϒϥϯνΛࣗಈੜ͢ΔBOT • اըଆ͚ͩͰ࡞ۀΛ։࢝Ͱ͖Δ • hotfixϒϥϯνΕΔΑ͏ʹͳ͍ͬͯΔͷͰ मਖ਼ͯ͠։ൃڥσϓϩΠ·ͰΤϯδχΞ Ҏ֎͕ग़དྷΔΑ͏ʹͳ͍ͬͯΔ
͔͠͠؆୯ʹPRΛ࡞ΕΔͱ • No description… • ԿΛతʹ͜ͷPR͕࡞ΒΕͨͷ͔ॻ͔Εͣ ʹճ͖ͬͯͯࠔΔ
ԿΛ͔ͨ͠: ϙΤϜΛॻ͍ͨ
None
None
Τϥʔϝοηʔδ 2W1H ͕͍͍Μ͡Όͳ͍͔ - @bayashi Daily https://bayashi.net/diary/2016/0719 2W1H What? Why?
How?
Pull Request2W1HͰ ͍͍Μ͡Όͳ͍͔ʁ ·ͩͬͯͳ͍͚ΕͲ13ͷςϯϓϨʹೖΕΔͷྑͦ͞͏
اըͷਓ͕ԿΛ੍࡞͢Δͷ͔ʁ
Ϛελʔσʔλ
Ϛελσʔλ • DB੩తϦιʔε্ͷϢʔβʹมߋ͞Εͳ͍ σʔλ • ରٛޠϢʔβσʔλ • ϦϙδτϦʹCSVͰσϓϩΠ࣌ʹDBΫ ϥΠΞϯτʹ͢όΠφϦʹͳͬͨΓ͢Δ
Ϛελσʔλ • DBʹೖΔͷ͕େͳͷͰߗ͍εΩʔϚܗࣜ • CSVΛฤू͍ͯ͠ΔΘ͚Ͱͳ͘Google SpreadsheetΛ༻͍͍ͯΔɻ͜ΕΛCSVԽ͢Δ -> BOT͕CSVʹམͱͯ͠Pull Requestʹͯ͘͠ ΕΔ
ԿނGoogle SpreadsheetͰΔ͔: ͍͡Δਓ͕ίϯτϩʔϧͰ͖Δ
ΤΫηϧతͳͭͷ͍͍ͱ͜Ζ • දܭࢉͷ͕ؔ͑Δ • ؔΘΓ͔͠Θ͔Γ͍ࣗ͢ಈԽݴޠ • εΫϦϓτ͕͑Δ • σΟϨΫλʔ͕Կਓ͔GASॻ͍ͯࣗಈԽ͠ ͯΔ
ࣗಈԽΛઌͯ͠Δ͜ͱͰ ଞͷਓʹࣗಈԽΛଅ͢
ྫ͑Next IDൃߦ܅
͖ͬ͞ͷ͜Ε ࡞ۀதͷͷ͕ฒྻ
͖ͬ͞ͷ͜Ε ࡞ۀதͷͷ͕ฒྻ ͦΕͧΕʹϚελ σʔλ͕ଘࡏ͢Δ
ͳͷͰ
શͯͷγʔτΛ·͍ͨͰͲͷIDʹ ͖͔͢Λڭ͑ͯ͘ΕΔ܅͕ඞཁ
શͯͷγʔτʁʁʁ
͖ͬ͞ͷ͜Ε ࡞ۀதͷͷ͕ฒྻ ͦΕͧΕʹϚελ σʔλ͕ଘࡏ͢Δ
͖ͬ͞ͷ͜Ε ࡞ۀதͷͷ͕ฒྻ ͦΕͧΕʹಠཱͨ͠ εϓϨουγʔτ͕ ଘࡏ͢Δ
࣮ࡍʹCSVʹ͢Δͱ͖
࣮ࡍʹCSVʹ͢Δͱ͖ ຊ൪ʹೖ͍ͬͯΔϚελͷ γʔτ
࣮ࡍʹCSVʹ͢Δͱ͖ ຊ൪ʹೖ͍ͬͯΔϚελͷ γʔτ ΠϕϯτͰ͍͍ͨ Ϛελσʔλͷγʔτ
࣮ࡍʹCSVʹ͢Δͱ͖
࣮ࡍʹCSVʹ͢Δͱ͖
࣮ࡍʹCSVʹ͢Δͱ͖ ࠓσϓϩΠ͞ΕΔͱͲ͏ͳΔ͔$47
ͭ·Γ εϓϨουγʔτͷ ϒϥϯνཧ
େྔͷΠϕϯτΛճͨ͢Ίʹ • పఈͨࣗ͠ಈԽ • PullRequestͱγʔτͰݟ͑ΔԽͱ͍͡ΕΔԽ Λ͢Δ • γʔτΛࠩཧͯ҆͠શʹ։ൃ • BOTͰͬͯ୭͕ԿΛ͍ͬͯΔ͔ΛSlackͰ
ΕΔ
ͦΕͱେྔͷ։ൃڥ
։ൃڥͱ • ຊ൪ͱಠཱͨ͠ಛఆͷϒϥϯνͷίʔυͱϚ ελσʔλͱΞηοτ͕σϓϩΠ͞Εͨαʔό • ϗετ͕ৼΒΕͯ։ൃ൛ΞϓϦ͔Βܨ͛ΒΕΔ • ੲϩʔΧϧͰplackup͚ͯͨ͠ΕͲࠓͱͳͬ ͯPerlڥ͋ΔਓϩʔΧϧ͡Όͳͯ͘։ൃ ڥΛ্ཱͪ͛ͯ֬ೝ͢Δ͜ͱ͕ଟ͍
ੲ(৽ن։ൃॳ) ʮmacopy: ϒϥϯνhogehogeΛݟΕΔΑ͏ʹ ͯ͠ʯ ʮʔ͍ʯ ͔ͬͯͬͯΒdevelopmentαʔόʹϩάΠϯ ͯ͠ϒϥϯνΛΓସ͑ͯεΩʔϚద༻ͯ͠Ϛ ελಥͬࠐΜͰWebAppΛ࠶ىಈͯ͠…
ؾ͍ͮͨΒͣͬͱϒϥϯνσ ϓϩΠ৬ਓʹͳ͍ͬͯͨ
ΞΧϯͷͰBOTʹΒͤΔ • ಉ͜͡ͱΛBOTʹΒͤΔ • UnazuSanͱ͍͏ϞδϡʔϧΛ༻ͯ͠IRC͔ ΒҰ࿈ͷσϓϩΠίϚϯυΛ࣮ߦ͢ΔΑ͏ʹ ͨ͠ • ͜ΕͰίʔυ͕ॻ͚ΔΑ͏ʹͳͬͯϋοϐʔ
͔͜͠͠͏ͳͬͯ͘Δͱ
ಉ࣌ʹෳͷਓ͕ผʑͷ ڥΛݟ͍ͨͱ͍͏ཁ͕
͠Ό͋ͳ͍ͷͰෳڥΛ࡞Δ • devφϯτΧ͍ͬͯ͏αʔό͚ͩͩͬͨͷ͕ɺ dev01, dev02, dev03ͱ૿͑Δ • ͔͍ͬͯ͠͠Δͷʹଞਓ͕͓͏ͱͯ͠ফ ͢ •
εϓϨουγʔτΒϗϫΠτϘʔυͰཧ ࢝͠ΊΔ
ͳ͓ಉ͡ঢ়گʹஔ͔Εͨ ผͷνʔϜ ͍ͬͯΔਓͷ্ʹ෩ધ ͕͋Δͱ͍͏Ṗͷӡ༻Λ ͍ͯͨ͠Β͍͠ IUUQUFDICMPHLBZBDDPN@NJSBHF@JO@EPDLFSIUNM
͠ΐ͏͕ͳ͍ͷͰڥΛ૿͢ • ʮڥμϒͬͯ͏͠ΜͲ͍ͷͰͳΜͱ͔ͳΓ· ͤΜ͔ʯ • ʮ͠ΐ͏͕ͳ͍૿͔͢……ʯ Ұϲ݄ޙ ʮdev14·Ͱ࡞ΔͨΊʹdevͰchefճ͠·͢ʯ ΠϯϑϥʮͳΜͰͦΜͳ͜ͱʹʂʁʯ
૿ͯ͠ॴḨ༗ݶͳͷͰ͢
͋”͋” ແݶʹ։ൃڥΆ͜Ά͜ ཱ͍͓ͯͨʙ
+ mirage
(Ϧιʔε͕ڐ͢ݶΓͷ) ແݶͷ։ൃڥ • DockerͰϒϥϯνΓସ͑ͱcarton installͱDBϚ ΠάϨʔγϣϯΛߦͬͯplackup • Procletศར(ࢼ߹༻ʹgearmanͳͲཱͬͯΔ) • DBͱRedisલίϯςφʹཱ͍͕ͯͯͨɺϝϞϦ
ͱσΟεΫ৯͏ͷͱίϯςφམͱ͢ͱશͯͳ͘ͳΔͷ ͰɺϗετʹRedisཱͯͯDBAuroraͰσʔλϕʔε Λ͚ͯಉډ͍ͯ͠Δ
(Ϧιʔε͕ڐ͢ݶΓͷ)
BOTͰڥΛ্ཱͪ͛ΕΔ ཪͰJenkins͕mirageͷAPIΛୟ͍ͯίϯςφ ىಈ͍ͯ͠Δ
͢ΔͱΈͳ͞Μ ͖์ͳ͞ΕΔ
ίϯςφେരൃ
ίϯςφΠϝʔδআͱ͔ සൟʹ͍ͬͯΔ͕0%ʹͳͬͯdev͕ࢮͨ͠ ͜ͱԿ͋Δ σΟεΫ༗ݶ
ͱΓ͋͑ͣσΟεΫΛ εέʔϧΞοϓͨ͠ͷͱ ίϯςφͷμΠΤοτ
͋ͱࣥࣄౖ͕Δ ͜ΕݟͯΈΜͳʮ͋ʙͬͯͳ͍ͷ͋ͬͨΘʯͬͯݴͬͯ མͱ࢝͠ΊΔͷͰศར ͋ͱ࣌ؒΞΫηε͕ͳ͚Εམͱ͢ͱ͔ ݄༵ேʹશ෦མͱ͢ िӽ͠ͷίϯςφ࣋ͨͳ͍ ͱ͔ ͬͯΔ +FOLJOTMPHPCZ+FOLJOT1SPKFDUIUUQTKFOLJOTJP
ϝϞϦͱCPU༗ݶ
ݪҼσόοά༻εΫϦϓτ͕ ϝϞϦόΧ৯͍͔ͭฒྻ࣮ߦ • QAͳͲͰ͑ΔΑ͏ʹεΫϦϓτΛ࣮ߦ͢Δ WebUIΛ༻ҙ͍ͯ͠Δ͕ɺͦͷҰͭʹര͕ ͋ͬͨ • ͍ΘΏΔμϛʔσʔλ࡞Δܥɻ͜͏͍͏ͷ ίʔυϨϏϡʔ͕ૄ͔ʹͳΓ͕ͪͩ͠ɺຊ൪ ͱҧ͏ෛՙʹͳΓ͕ͪ
ͦΜͳ͜ΜͳͰେྔʹڥΛཱͯΕ Δ͜ͱʹΑͬͯ ेฒྻͷ։ൃ͕Մೳʹͳ͍ͬͯΔ
·ͱΊ • PerlݱͰಈ͍͍ͯ·͋͢ɻӡ༻͍ͯ͠·͋͢ɻ • ։ൃύΠϓϥΠϯΛਂͯ͘͠εέʔϧͤ͞Δͱαʔ Ϗεͷӡ༻ͷ෯͕͕Γ·͢ • ͦΜͳΘ͚ͰوॏͳPerlΤϯδχΞ߈Ίӡ༻͢ ΔͨΊʹύΠϓϥΠϯΈ͍ͨΤϯδχΞ͞Μ͍ ·ͤΜ͔ʔʔʔʔʔʂʂʂʂ[Ad]↓
ͦͷଞൃද͖͠Εͳ͔ͬͨͭ • ͋ͱ͔ΒϚϧνςφϯτʹ͢Δͱ͖ͷۤ࿑ • σϓϩΠʹ͍ͭͯ(papix͕લʹ͍Ζ͍Ζͬͯ ͍ΔΜ͡Όͳ͍͔ʁ) • ͍͜ͱ͍ͬͯΔͱϞδϡʔϧͷޙํޓഁյ ʹ·͞ΕΔ͕ΞάϨογϒʹ্͛Δ •
ςετ͕20͔͔ΔͷͰۚͰԥΔ༧ఆͷ