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
サービスやアーキテクチャを考慮したパス構造を用いたログ保存について / Web System Architecture #2
Search
Ken’ichiro Oyama
May 15, 2018
Technology
4
810
サービスやアーキテクチャを考慮したパス構造を用いたログ保存について / Web System Architecture #2
Ken’ichiro Oyama
May 15, 2018
Tweet
Share
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
17
5.2k
Command-line interface tool design / PHPerKaigi 2024
k1low
6
1.3k
gostyle IS NOT Go Style / Fukuoka.go#19 Reboot
k1low
1
150
Parsing case study in Go / Go Conference mini 2023 Winter IN KYOTO
k1low
2
1.1k
APIシナリオテストツールとしてのrunn / 4 API testing tools
k1low
1
970
The future of tbls and "Documentation as Code" / phpconfuk 2023
k1low
3
4.3k
net/http/httptest.Server のアプローチをテスト戦略に活用する / Go Conference 2023
k1low
9
2.5k
Win Testing Trophy Easily / テスティングトロフィーを獲得する / PHPerKaigi 2023
k1low
6
3.3k
runnによるAPIのシナリオテストの導入と自動化 / stac2022
k1low
11
3.5k
Other Decks in Technology
See All in Technology
SLOいつ決めましょう?
abnoumaru
3
790
From here to resilience - a travel guide
ufried
1
160
.NET GraphQL Client のリアル
sansantech
PRO
1
390
能動学習のいろは:書籍「Human-in-the-Loop機械学習」3〜5章
hiroyoshiito
0
290
Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論
sansantech
PRO
1
800
エムスリーQAチーム紹介資料 / Introduction of M3 QA Team
m3_engineering
1
340
OPENLOGI Company Profile
hr01
0
46k
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
390
データ分析力を高めるSQL研修サービス『SQL Everyone』
hikarut
1
400
拓展QA日常工作的邊界
line_developers_tw
PRO
0
580
複雑なビジネスルールに挑む:正確性と効率性を両立するfp-tsのチーム活用術 / Strike a balance between correctness and efficiency with fp-ts
kakehashi
5
3.6k
TiDBにおけるテーブル設計と最適化の事例
cygames
0
800
Featured
See All Featured
Optimizing for Happiness
mojombo
370
69k
Why Our Code Smells
bkeepers
PRO
331
56k
Statistics for Hackers
jakevdp
790
220k
Facilitating Awesome Meetings
lara
43
5.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
1
130
YesSQL, Process and Tooling at Scale
rocio
165
13k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
23
1.7k
Designing for Performance
lara
601
67k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Building an army of robots
kneath
300
41k
jQuery: Nuts, Bolts and Bling
dougneiner
60
7.2k
Transcript
খࢁ݈Ұ(.01FQBCP *OD ୈճ8FC4ZTUFN"SDIJUFDUVSFݚڀձ αʔϏεΞʔΩςΫνϟΛߟྀͨ͠ ύεߏΛ༻͍ͨϩάอଘʹ͍ͭͯ
γχΞΤϯδχΞ খࢁ݈Ұ!L-P8 ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓϚωʔδυΫϥυνʔϜ IUUQTHJUIVCDPNL-P8
ΞδΣϯμ wత wରαʔϏεͷΞʔΩςΫνϟ wྨ wύεߏΛ༻͍ͨϩάอଘ w·ͱΊ
త w ϩάΛग़ྗอଘ͠ɺͦͯ͠நग़͠׆༻͢Δ͜ͱ8FCγεςϜΛӡ༻͢Δʹ͋ͨͬͯҰൠ తʹߦΘΕ͍ͯΔ w αʔϏεαʔϏεΛߏ͢ΔΞʔΩςΫνϟͷෳࡶԽʹ͍ɺͦΕͧΕͷίϯϙʔωϯ τ͕ग़ྗͨ͠ϩάΛͨͩͦΕͧΕ༻͍ͯαʔϏεͷঢ়ଶΛѲ͢Δ͜ͱ͕ࠔ w ϩάͷอଘநग़ͷख๏ɺσʔλϕʔεͱಉ͡Α͏ʹʮ͋Β͔͡ΊαʔϏεΞʔΩς ΫνϟʹԊͬͨઃܭΛ͢Δͱ͍͏͜ͱʯ͕ͦΕͧΕͷݱͰਐΜͰ͍ΔͷͰͳ͍͔
w ·ͣɺൃදऀ͕ݕ౼ΛਐΊ͍ͯΔʮύεߏΛ༻͍ͨϩάอଘʯʹ͍͍ͭͯٞͨ͠
ൃදऀͷϞνϕʔγϣϯ w ൃදऀ'BTU$POUBJOFSϕʔεͷϩϦϙοϓϚωʔδυΫϥυͷΤϯδχΞ w )551ϦΫΤετ͕༷ʑͳίϯϙʔωϯτΛൖ͠ɺͦͷޙͬͱίϯςφ͕ىಈ͢Δ w ίϯςφͰϢʔβͷ8FCΞϓϦέʔγϣϯ͕ಈ͍͍ͯΔ w ෆ۩߹ൃੜ࣌ʹɺ্هڥʹ͓͍ͯͷݪҼಛఆΛૣΊ͍ͨ
ରαʔϏεͷΞʔΩςΫνϟ w ೖྗͱͯ͠ͷϦΫΤετͱग़ྗͱͯ͠ϨεϙϯεΛରͱͯ࣋ͭ͠8FCΞϓϦέʔγϣϯ w ෳͷίϯϙʔωϯτ͕ϦΫΤετϨεϙϯεͰ࿈ܞ w ͦΕͧΕͷίϯϙʔωϯτଟॏԽ͞Ε͍ͯΔʢͭͷίϯϙʔωϯτ͕ෳ͋Δʣ w ίϯϙʔωϯτ͕ͦΕͧΕϩάΛग़ྗ͢Δ w
ϦΫΤετɺαʔϏεʹ͓͚ΔϢʔβϓϩδΣΫτͳͲͷϢχʔΫͳ*%͕อ࣋͞Εͯ ͓ΓɺϩάΛͦΕΒͰάϧʔϐϯάͰ͖Δͷͱ͢ΔʢҎԼϓϩδΣΫτ*%ʣ
ରαʔϏεͷΞʔΩςΫνϟͷಛੑ w αʔϏε͕ਖ਼ৗͰ͋Δͱ͖ɺҙͷϦΫΤετ֤ίϯϙʔωϯτΛਖ਼͘͠ใ͕ ൖ͠ʢҎԼɺΠϕϯτͷൖʣ࠷ऴతʹਖ਼͘͠ϨεϙϯεΛฦ͍ͯ͠Δ w ͨͩ͠ɺਖ਼͍͠ΠϕϯτͷൖϧʔτछྨͱݶΒͳ͍ w ͋ΔϨεϙϯε͕ਖ਼ৗͰͳ͍ͱ͖ɺͦͷϨεϙϯεʹߜͬͨϦΫΤετϨεϙϯε ؒͷϩά͔Βෆ۩߹ΛಛఆͰ͖ΔՄೳੑ͕ߴ͍ w
ʢྫ͑ʣ)551ϦΫΤετʹ͓͚ΔεςʔλείʔυΛਖ਼͘͠ฦ͍ͤͯΔͱݶ Βͳ͍ʢόάͷ߹ɺਖ਼͘͠ͳ͍ঢ়گͰΛฦ͢Մೳੑ͋Δʣ
ϩάͷར༻ͷతͷྨ αʔϏεͷఆྔతܭଌ w ϩάΛूܭ͠ར༻͢Δ αʔϏεΛߏ͢Δίϯϙʔωϯτͷҙਤ͠ͳ͍ಈ࡞ʢԆόάͳͲʣͷಛఆ w ϩάͷৄࡉΛಛఆ֬͠ೝ͢Δ ຊൃදͰओʹΛର
Ξϓϩʔνͷྨ อଘ࣌ʹϩάΛͲͷΑ͏ʹਖ਼نԽ͢Δ͔ B ࠷খཻͷϩάΛͲͷΑ͏ʹਖ਼نԽ͢Δ͔ʢ࠷খཻ"QBDIFͷΞΫηεϩά ʹ͓͚ΔΞΫηεͰग़ྗ͞ΕΔϩάͳͲʣ w "QBDIF)551%$PNCJOFE-PH'PSNBUɺ-547 C ෳछྨͷϩά܈ΛͲͷΑ͏ʹਖ਼نԽͯ͠อଘ͢Δ͔
อଘ͞ΕͨϩάΛͲͷΑ͏ʹநग़͢Δ͔ w HSFQɺ&MBTUJD4FBSDI#JH2VFSZͷݕࡧΤϯδϯ ຊൃදͰCΛର
ύεߏΛ༻͍ͨϩάอଘ w ύεߏQBUIUPpMFOBNFFYU w ϩάΛอଘ͢ΔࡍʹύεߏʹҙຯΛ࣋ͨͤΔख๏ w Ұൠతʹ͍ͬͯΔ͜ͱʢΛϑΝΠϧ໊ʹ͚ͭΔɻWBSMPHOHJOYͳͲϛυ ϧΣΞ໊ͷσΟϨΫτϦʹ͢ΔɻͳͲʣ w ຊൃදͰɺ͜ͷύεߏΛ༻͍ͨϩάอଘΛɺ൚༻తͳͷͰͳ͘ɺΑΓαʔ
ϏεΞʔΩςΫνϟʹ߹Θͤͯઃܭ͢Δ͜ͱΛఏҊ
ྫGBVMUMJOFʹ͓͚Δϩάอଘߏ w IUUQTHJUIVCDPNGBVMUMJOFGBVMUMJOF w "84ͷϚωʔδυαʔϏεͰߏங͞ΕͨΤϥʔτϥοΩϯάπʔϧ w ͭͷΤϥʔϩάΛ QSPKFDUT\ϓϩδΣΫτ໊^FSSPST\Τϥʔϝοηʔδ^PDDVSSFODFT\࣌ࠁ^KTPO ͱ͍͏ύεߏͰ"844ʹอଘ w
ϓϩδΣΫτҰཡɺϓϩδΣΫτ͝ͱͷΤϥʔҰཡɺΤϥʔ͝ͱͷ࣌ࠁʹΑΔߜ ࠐ͕ɺύεߏͷใͷΈͰՄೳ
ରαʔϏεͷΞʔΩςΫνϟͷಛੑʢ࠶ܝʣ w αʔϏε͕ਖ਼ৗͰ͋Δͱ͖ɺҙͷϦΫΤετ֤ίϯϙʔωϯτΛਖ਼͘͠ใ͕ ൖ͠ʢҎԼɺΠϕϯτͷൖʣ࠷ऴతʹਖ਼͘͠ϨεϙϯεΛฦ͍ͯ͠Δ w ͨͩ͠ɺਖ਼͍͠ΠϕϯτͷൖϧʔτछྨͱݶΒͳ͍ w ͋ΔϨεϙϯε͕ਖ਼ৗͰͳ͍ͱ͖ɺͦͷϨεϙϯεʹߜͬͨϦΫΤετϨεϙϯε ؒͷϩά͔Βෆ۩߹ΛಛఆͰ͖ΔՄೳੑ͕ߴ͍ w
ʢྫ͑ʣ)551ϦΫΤετʹ͓͚ΔεςʔλείʔυΛਖ਼͘͠ฦ͍ͤͯΔͱݶ Βͳ͍ʢόάͷ߹ɺਖ਼͘͠ͳ͍ঢ়گͰΛฦ͢Մೳੑ͋Δʣ
ݕ౼͍ͯ͠Δϩάͷύεߏ \ϓϩδΣΫτ*%^:NE)\ϦΫΤετ࣌ࠁ^@\τϨʔε*%^@\ίϯϙʔωϯτ*%^@@\ίϯϙʔ ωϯτ*%^MPH w ʮਖ਼͍͠Πϕϯτൖͷϧʔτʯ͕ݶఆͨ͠छྨ͔͠ͳ͍߹ɺʮ͋ΔϓϩδΣΫ τͷ͋Δ࣌ࠁۙͷௐࢠ͕͓͔͍͠ʯͱ͍͏ͱ͖ʹɺ·ͣͲͷίϯϙʔωϯτͰΠ ϕϯτͷൖ͕͏·͍͔͘ͳ͔͔ͬͨΛύεͷ͞ύε໊͔ΒߜΓࠐΈͰ͖Δ w τϨʔε*%ϦΫΤετ͝ͱͷ*% w
ίϯϙʔωϯτ*%ίϯϙʔωϯτ͝ͱͷݻఆͷ*%
༗༻Ͱ͋Δࠜڌ ຊൃදͷΞʔΩςΫνϟͰ͋ΕશͯͷΠϕϯτൖ༗άϥϑʹͳΔ Πϕϯτൖͷύεύεߏ
ύεߏΛ༻͍ͨϩάอଘͷϝϦοτ w -JOVYͷϑΝΠϧγεςϜ্Ͱ࣮ݱՄೳ w ಋೖ͕؆୯ w ύεߏͷϧʔϧΛ͏·͘ઃܭ͢Δ͜ͱͰɺႈੑΛͬͨϩάऩू͕Մೳ w "844ͳͲͷΦϒδΣΫτετϨʔδͷར༻Λࢹʹ͍ΕΔ͜ͱ͕Ͱ͖Δ
·ͱΊ w ൃදऀϩάอଘͷํ๏ʹ͍ͭͯσʔλϕʔεͷΑ͏ʹʮ͋Β͔͡ΊαʔϏε ΞʔΩςΫνϟʹԊͬͨઃܭΛ͢ΔྲྀΕ͕͋ΔͷͰͳ͍͔ʯͱߟ͍͑ͯΔ w ͦͷҰख๏ͱͯ͠ʮύεߏΛ༻͍ͨϩάอଘʯͱ͍͏ΞΠσΞͷಋೖΛݕ౼͠ ͍ͯΔ Έͳ͞Μ͕ϩάΛͲͷΑ͏ʹอଘ͠நग़͍ͯ͠Δͷ͔ΛΓ͍ͨͰ͢