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
suzuri-data-driven-2020
Search
Osamtimizer
December 16, 2020
Technology
1
1.6k
suzuri-data-driven-2020
Osamtimizer
December 16, 2020
Tweet
Share
More Decks by Osamtimizer
See All by Osamtimizer
SUZURIにおけるSREの取り組み/SRE-and-SUZURI
osamtimizer
0
1.3k
pepabo-with-flutter-2020
osamtimizer
1
2.2k
Flutter+Providerでウィジェットのテストを書く/widget-test-with-provider
osamtimizer
0
1.8k
SUZURIのAndroidアプリをFlutterで作っている話 / SUZURI-meets-Flutter
osamtimizer
2
23k
RubyのOSSコードリーディング / ruby-oss-code-reading
osamtimizer
4
3k
Other Decks in Technology
See All in Technology
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
110
dbtとリバースETLでデータ連携の複雑さに立ち向かう
morookacube
0
1.1k
名単体テスト 禁断の傀儡(モック)
iwamot
PRO
1
320
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
14
46k
MagicPodが描くAIエージェント戦略とソフトウェアテストの未来
magicpod
0
290
Vibe Coding Tools
ijin
1
290
VitePress & MCPでアプリ仕様のオープン化に挑戦する
hal_spidernight
0
130
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
180
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
780
20 Years of Domain-Driven Design: What I’ve Learned About DDD
ewolff
1
400
雑に疎通確認だけしたい...せや!CloudShell使ったろ!
alchemy1115
0
240
水耕栽培に全部賭けろ
mutsumix
0
150
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
183
22k
Building Adaptive Systems
keathley
41
2.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
A better future with KSS
kneath
239
17k
The Language of Interfaces
destraynor
158
25k
Music & Morning Musume
bryan
47
6.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Making Projects Easy
brettharned
116
6.2k
Transcript
࣌ాཧ(.01FQBCP *OD ϖύϘςοΫΧϯϑΝϨϯε 46;63*ͷσʔλ ج൫ࣄ
ϞόΠϧ8FCΞϓϦέʔγϣϯΤϯδχΞ ࣌ాཧ!PTBNUJNJ[FS 46;63*ࣄۀ෦ϓϩμΫτνʔϜ IUUQTPTBNUJNJ[FSIBUFOBCMPHDPN
ࠓ͢͜ͱ w46;63*ͷݱঢ়ͱ՝ w͜Ε·Ͱ͖ͬͯͨ͜ͱ w͜Ε͔ΒΔ͜ͱ
46;63*ͷ ݱঢ়ͱ՝
None
ΦϦδφϧάοζ͕࡞ΕΔɺചΕΔɺങ͑Δɻ ը૾Λ1ຕΞοϓ ͢Δ͚ͩ ࣗಈతʹ͕ Ͱ͖·͢ ࣗͰങ͑Δ͠ ചΔ͜ͱͰ͖·͢
46;63*ͷݱঢ়ͱ՝ wྲྀ௨ֹɺձһͱʹେ෯૿ wͦΕʹ͍ɺ͍߹ͤنҧͷը૾Ξοϓϩʔυ૿Ճ ૉࡐͷ௨ใ
46;63*ͷݱঢ়ͱ՝ wཉ͍͠ʹͳ͔ͳ͔ͨͲΓண͚ͳ͍ w͍߹ͤߪೖϑϩʔͷੳɺυοάϑʔσΟϯά͔Β w4/4͔Βϖʔδͷྲྀೖ͕ଟ͘ɺݕࡧͰతͷʹͨͲΓ ண͖ͮΒ͍
46;63*ͷݱঢ়ͱ՝ wنҧૉࡐʹؔ͢Δ$4ۀͷෛ୲૿ wنҧૉࡐͷ௨ใରԠ wจ͞ΕͨͷൃલνΣοΫ wྲྀ௨ֹ૿Ճʹ͏จ૿ՃͰɺख࡞ۀʹΑΔνΣοΫ͕ෛ୲ʹ wཉ͍͠ʹͨͲΓண͖ͮΒ͍
͜ΕΒͷ՝Λ ղܾ͢ΔͨΊʹ
ղܾͷͨΊʹ wنҧૉࡐͷݕίετΛݮΒ͍ͨ͠ wࣗಈԽ wൃ࣌Ͱͳ͘ɺΞοϓϩʔυ࣌ʹݕ wϢʔβʔ͕ཉ͍͠ʹͨͲΓண͚ΔΑ͏ʹ͍ͨ͠ wݕࡧମݧͷ্ wཉ͍͠ΛαʔϏεଆ͔ΒఏҊ
ղܾʹ σʔλ͕ඞཁ
IUUQTUFDIQFQBCPDPNEYDSJUFSJB
ղܾͷͨΊʹ w%9$SJUFSJBͷஅ݁Ռ͔Β͔Δ௨Γɺܭଌͱσʔλ׆༻͕ऑ͍ w·ͣσʔλΛूΊΔͨΊͷج൫ͮ͘Γ͔Β
͜Ε·Ͱ͖ͬͯͨ͜ͱ
ߦಈσʔλͷੵ
ߦಈσʔλͷੵ wϢʔβʔ͕46;63*্Ͱىͨ͜͠ߦಈΛੵ wͦͷߦಈσʔλΛݩʹɺҙࢥܾఆ͕Ͱ͖ΔΑ͏ʹ͢Δ wͦͷͨΊͷԼ४උ wϖύϘͷσʔλੳج൫ #JHGPPU ͱ࿈ܞͤ͞Δ
#JHGPPU
#JHGPPU wϖύϘͷσʔλੳج൫ w%8)ͱͯ͠#JH2VFSZΛ༻ wߦಈσʔλͳͲΛ%8)ʹूੵͯ͠ɺੳ͕Ͱ͖Δ IUUQTSBOEQFQBCPDPNBSUJDMFCJHGPPUNJHSBUJPO
8FCΞϓϦ্ͷ ߦಈϩάੵ
8FCΞϓϦ্ͷߦಈϩάੵ w8FCΞϓϦ 3BJMT ͷϦΫΤετ͔ΒɺඞཁͳύϥϝʔλΛநग़ wநग़ͨ͠ύϥϝʔλΛ%8)͚ʹՃ w#JHGPPUͷ%8)Ͱ͋Δ#JH2VFSZʹߦಈσʔλΛૹ৴ wߦಈϩάϦΫΤετ୯Ґ w3BDLNJEEMFXBSFʹૹ৴ΛࠐΉ
ϞόΠϧΞϓϦ্ͷ ߦಈϩάੵ
ϞόΠϧΞϓϦ্ͷߦಈϩάੵ w8FCΞϓϦͱҟͳΓɺ)551ϦΫΤετ୯ҐͰͷߦಈϩά͕औΕͳ͍ wͷλοϓɺΧʔτը໘ͷҠಈɺߪೖ FUDʜ wશͯͷΞΫγϣϯ͕ϦΫΤετΛ͏ͱݶΒͳ͍ w'JSFCBTF"OBMZUJDT"EKVTUʹΧελϜΠϕϯτΛૹ৴
ૉࡐը૾ʹ ใΛ༩͢Δ
ૉࡐը૾ʹใΛ༩͢Δ wΞοϓϩʔυ͞Εͨૉࡐը૾ͷใগͳ͍ wը૾ϑΝΠϧ͔ΒऔΕͨใͷΈ wը૾ʹؚ·ΕΔใΛΑΓৄ͘͠Δ͜ͱͰɺੳͷʹཱͭ w(PPHMF7JTJPO"1*ͷྗΛआΓΔ
(PPHMF 7JTJPO"1*
(PPHMF7JTJPO"1* w($1ͷҰػೳ wը૾Λ͢ͱɺͦͷը૾͕࣋ͭใΛڭ͑ͯ͘ΕΔ wը૾ʹؚ·ΕΔͷը૾͕࣋ͭಛ wϩΰɺΩϟϥΫλʔɺΠϥετɺ৭ɺFUDʜ wը૾ͷ݈શࢉग़ͯ͘͠ΕΔ w"EVMU 7JPMFODF .FEJDBM 4QPPG
3BDZͭͷࢦඪ
(PPHMF7JTJPO"1*
(PPHMF7JTJPO"1*
ૉࡐը૾ʹใΛ༩͢Δ wૉࡐΞοϓϩʔυΛτϦΨʔʹ͠ɺ7JTJPO"1*ʹը૾Λඇಉظૹ৴ wಘΒΕͨ݁Ռσʔλϕʔεʹ֨ೲ͠ɺ&5-Ͱ#JH2VFSZʹಉظ
͜Ε·Ͱ͖ͬͯͨ͜ͱͷ·ͱΊ w46;63*্ͷߦಈϩάΛ#JHGPPUʹੵ wΞοϓϩʔυ͞Εͨૉࡐը૾ͷՃใΛੵ wσʔλۦಈͷͨΊͷԼ४උͱͯ͠ɺσʔλج൫Λඋ
͜Ε͔ΒΔ͜ͱ
͜Ε͔ΒΔ͜ͱ wҾ͖ଓ͖ɺσʔλج൫ͷվળ wੵ͞ΕͨσʔλΛݩʹɺσʔλۦಈͰ͖ΔΑ͏ʹ͢Δ wૉࡐը૾ʹ༩͞ΕͨใΛͬͯɺنҧը૾Λࣗಈݕग़͢Δ
σʔλج൫ͷվળ w8FCϞόΠϧΞϓϦͷߦಈϩάΛ౷Ұతʹѻ͑ΔΑ͏ʹ wΧελϜΠϕϯτΛ#JHGPPUʹΠϯϙʔτ
ੵ͞Εͨσʔλͷ׆༻ wߦಈϩάͱը૾ʹ༩͞ΕͨใΛΈ߹ΘͤΔ wߪങཤྺ wӾཡཤྺ wߪೖ͞Εͨʹ༻͞Εͨૉࡐը૾ͷใ wΦεεϝͷఏҊ͕Ͱ͖Δ͔ʁ
نҧૉࡐͷࣗಈݕ w7JTJPO"1*ʹΑͬͯ༩͞Εͨใ wը૾͕࣋ͭಛ wը૾ͷ݈શ wنҧʹΑ࣮ͬͯࡍʹൢചېࢭͱͳͬͨૉࡐը૾ w͜ΕΒͷใΛͬͯɺڭࢣ͋Γֶश͕Ͱ͖ͦ͏ʁ
·ͱΊ
·ͱΊ wྲྀ௨ֹɾϢʔβʔͷେ෯૿ʹ͍ɺ՝૿͑ͨ w՝Λղܾ͢ΔͨΊͷԼ४උ w͜Ε͔Βɺू·ͬͨσʔλΛݩʹੳࣗಈԽΛ͑Δ