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
go in to microservices(wip)
Search
Yoshiori SHOJI
September 26, 2015
Technology
5.9k
28
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
go in to microservices(wip)
Yoshiori SHOJI
September 26, 2015
More Decks by Yoshiori SHOJI
See All by Yoshiori SHOJI
なぜThrottleではなくDebounceだったのか? 700並列リクエストと戦うサーバーサイド実装のすべて
yoshiori
13
7.5k
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
2
1.1k
ソートできるUUID v7をJavaで使うときの話
yoshiori
8
8.3k
Go Down Rockin'
yoshiori
31
19k
テストデータを貯めて感じたこと
yoshiori
12
4.5k
エンジニアリング x US 海外とのコラボレーション
yoshiori
3
2.2k
未完成な技術と歩む道のりでの 試行錯誤
yoshiori
0
230
DevOps, Immutable Infrastructure, Microservices and Chaos Engineering
yoshiori
13
2.5k
Change the recipe's world
yoshiori
3
1.5k
Other Decks in Technology
See All in Technology
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
550
エンタープライズデータへ安全につなぐ Production-ready なエージェント設計 ― AI × MCP リファレンスアーキテクチャ ― #AIDevDay
cdataj
1
180
テックカンファレンス三大ステークホルダーの文化人類学 ─ 違いを認め合う関係性作り
bash0c7
4
930
reFACToring
moznion
1
800
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
28
22k
VPCセキュリティ対応の最新事情
nagisa53
1
340
『モンスターストライク』 の運営に伴走する! データ民主化への 解析グループの3つのアプローチ
mixi_engineers
PRO
0
150
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
230
現場との対話から始める “作る前に問い直す”業務改善
mochico50
2
330
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
560
QAと開発の両側から進める AI活用 -QAプロセスAI支援ツールキットと Inner Loop / Outer Loopの取り組み-
legalontechnologies
PRO
2
310
MCPをつなげて作る組織横断のAIエージェント基盤
tsubakimoto_s
0
220
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
560
The Language of Interfaces
destraynor
162
27k
The untapped power of vector embeddings
frankvandijk
2
1.8k
Typedesign – Prime Four
hannesfritz
42
3.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
270
Marketing to machines
jonoalderson
1
5.6k
Side Projects
sachag
455
43k
What's in a price? How to price your products and services
michaelherold
247
13k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
390
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
Transcript
ʲੈք࠷େڃʳΫοΫύουͷ .JDSPTFSWJDFTԽʲ8*1ʳ :PTIJPSJ4IPKJ IUUQTXXXqJDLSDPNQIPUPTHVZTJF
None
レベル: じんしゅ: ヨシオリ 40 エンジニア
レベル: じんしゅ: ヨシオリ 40 エンジニア ▶ アカウント
レベル: じんしゅ: ヨシオリ 40 エンジニア ▶ アカウント ギットハブ: ツイッター: yoshiori
@yoshiori
レベル: じんしゅ: ヨシオリ 40 エンジニア ▶ アカウント ギットハブ: ツイッター: yoshiori
@yoshiori ▶ コミュニティ
レベル: じんしゅ: ヨシオリ 40 エンジニア ▶ アカウント ギットハブ: ツイッター: yoshiori
@yoshiori ▶ コミュニティ java-ja: Asakusa.rb: しゅさいしゃ ゆうれいぶいん
None
.JDSPTFSWJDFT IUUQNBSUJOGPXMFSDPNBSUJDMFTNJDSPTFSWJDFTIUNM ҰຕؠʢϞϊϦγοΫʣʹ࡞ΔͷͰͳ͘ ෳͷܰྔͳαʔϏεΛΈ߹Θͤͯ࡞Δ ͱ͍͏Ξϓϩʔν
.JDSPTFSWJDFT IUUQNBSUJOGPXMFSDPNBSUJDMFTNJDSPTFSWJDFTIUNM ҰຕؠʢϞϊϦγοΫʣʹ࡞ΔͷͰͳ͘ ෳͷܰྔͳαʔϏεΛΈ߹Θͤͯ࡞Δ ͱ͍͏Ξϓϩʔν 細かく説明してると 時間無くなるので ググって
None
.JDSPTFSWJDF1SFNJVN IUUQNBSUJOGPXMFSDPNCMJLJ.JDSPTFSWJDF1SFNJVNIUNM ຆͲͷγεςϜɺ ୯ҰͷϞϊϦγοΫΞϓϦέʔγϣϯͱͯ͠ ߏங͞ΕΔ͖Ͱ͢ɻ
None
ͭ·Γ΄ͱΜͲ ͷγεςϜϚΠ ΫϩαʔϏεԽ ͖͢Ͱͳ͍
None
ͪΐͬͱ͚ͩ ͬͯ
ੈք࠷େڃͷ ϞϊϦγοΫ3BJMT αʔϏε IUUQTTQFBLFSEFDLDPNB@NBUTVEBUIFSFDJQFGPSUIF XPSMETMBSHFTUSBJMTNPOPMJUI
ϑΝϥʔʹઌۦ͚ͯ ʮ͜Μ͚ͩσΧΠαΠτͰϞ ϊϦγοΫʹ͍͚Δͷʹຊʹ ͓લΒNJDSPTFSWJTFTඞཁ ͳͷʁʯͱ͍͔͚Δ
࣮ࡍ ͲΜͳΜͳͷ͔
SBLF TUBUT +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC
| Classes | Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 51762 | 41676 | 554 | 4170 | 7 | 7 | | Helpers | 15863 | 12986 | 18 | 1478 | 82 | 6 | | Models | 104034 | 81971 | 1851 | 9241 | 4 | 6 | | Mailers | 2150 | 1729 | 42 | 203 | 4 | 6 | | Workers | 639 | 540 | 20 | 31 | 1 | 15 | | Chanko units | 10341 | 8587 | 8 | 229 | 28 | 35 | | Libraries | 50661 | 41872 | 626 | 3790 | 6 | 9 | | Feature specs | 49901 | 40916 | 0 | 205 | 0 | 197 | | Request specs | 43437 | 37448 | 0 | 19 | 0 | 1968 | | Routing specs | 627 | 505 | 0 | 0 | 0 | 0 | | Controller specs | 63678 | 52586 | 6 | 128 | 21 | 408 | | Helper specs | 81289 | 67277 | 3 | 69 | 23 | 973 | | Model specs | 156941 | 129837 | 5 | 124 | 24 | 1045 | | Worker specs | 901 | 747 | 0 | 1 | 0 | 745 | | Chanko unit specs | 11476 | 9210 | 0 | 12 | 0 | 765 | | Library specs | 24911 | 20824 | 26 | 116 | 4 | 177 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 668611 | 548711 | 3159 | 19816 | 6 | 25 | +----------------------+-------+-------+---------+---------+-----+-------+ Code LOC: 189361 Test LOC: 359350 Code to Test Ratio: 1:1.9
ेͰ͔͍
͜Ε͚ͩσΧΠ ͷΛΓ͚Δͷ ͳ͔ͳ͔ ܦݧͰ͖ͳ͍
ྫDPPLQBEྉཧಈը
Ͳ͏Γ͚Δ͔ IUUQTXXXqJDLSDPNQIPUPTKF⒎SFZXX
ॎʹΔ PS ԣʹΔ
DPPLQBEDPN ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϞϊϦγοΫͳߏ SFDJQFT VTFS@LPOEBUFT
LJUDIFOT DBUFHPSZ IPOPS@SFDJQF WJEFPT
DPPLQBEDPN ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ॎʹΔ SFDJQFT VTFS@LPOEBUFT
LJUDIFOT DBUFHPSZ IPOPS@SFDJQF WJEFPT ϛυϧΣΞ ϛυϧΣΞ
DPPLQBEDPN ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ϛυϧΣΞ ͜͜ SFDJQFT VTFS@LPOEBUFT
LJUDIFOT DBUFHPSZ IPOPS@SFDJQF WJEFPT ԣʹΔ
Θ͔Γʹ͍͘ͷͰ ۩ମతʹݴ͏ͱ ಈըΤϯίʔυ ৴γεςϜ
IUUQTTQFBLFSEFDLDPNZPTIJPSJIBQQZWJEFPUSBOTDPEJOHXJUIFMBTUJDUSBOTDPEFS Τϯίʔυ৴γεςϜͷ ৄ͍͠ίνϥ
Γ͚Δ w ॎʹΔ w ϏδωεྖҬʹΑͬͯΓ͚Δ w جຊ͜ͷܗ w ԣʹΔ w
ػೳͰΓ͚Δ w ಛఆͷྖҬʹಛԽͨ͠&WFSZUIJOHBTB4FSWJDFతͳͷ
ڞ௨ݴޠ IUUQTXXXqJDLSDPNQIPUPT!/
(BSBHF w 3BJMTHFNJpFEQMVHJOT w 3&45GVM)ZQFSNFEJB"1* w 3&45GVMͰ͋Γɺ)ZQFSNFEJBʹݱ࣮తͳϨϕϧͰରԠ w $PPLQBEͷαʔϏεؒ࿈ܞ͜ΕΛϕʔεʹΓऔΓͯ͠Δ w
αʔόಉ࢜ɺJ04ɺ"OESPJEͳͲͷΞϓϦͱͷ࿈ܞ w 044ͱͯ͠ެ։ͯ͋͠Δʢ3VCZͷΫϥΠΞϯτʣ w IUUQTHJUIVCDPNDPPLQBEHBSBHF w IUUQTHJUIVCDPNDPPLQBEHBSBHF@DMJFOU
IUUQTXXXqJDLSDPNQIPUPTDISJTUJBOIBVHFO ԣʹΔ
&WFSZUIJOHBTB4FSWJDF w ଞͷαʔϏεͰ͑ΔΑ͏ʹ࠷ॳ͔Βߟ͓͑ͯ͘ w ͨͱ͑ಈը৴γεςϜDPPLQBE͘Β͠ͷ͖΄Μ ಉ͡ΤϯυϙΠϯτΛୟ͍͍ͯΔ w αʔϏε͝ͱʹཱͯΔΑ͏ʹ͠ͳ͍ w εέʔϧ͍ͤ͢͞
w σϓϩΠ։ൃڥγϯϓϧʹอͯΔ
IUUQTXXXqJDLSDPNQIPUPTSPCCO ॎʹΔ
IUUQTDPPLQBEWJEFPKQ
࣮ࡍͬͯΈΔͱ݁ߏେมͩͬͨ wυϝΠϯͱΫοΩʔͷ wΩϟογϡઓུͷ
υϝΠϯͱΫοΩʔͷ w શಉҰυϝΠϯ w DPPLQBEDPNWJEFPT w αϒυϝΠϯ w WJEFPTDPPLQBEDPN w
શผυϝΠϯ w DPPLQBEWJEFPKQ
શಉҰυϝΠϯ w ΫοΩʔશʹڞ௨ w ͳͷͰͦΕͧΕผͷΞϓϦέʔγϣϯͰ ಉ͡ηογϣϯΫοΩʔΛ͏Α͏ͳ͜ͱʹͳΓ͔Ͷͳ͍ ͷͰҙ͕ඞཁ w DTTJNBHFͷ1BUIҙ w
DPPLQBEຊମͷΞϓϦ͕͏JNBHFTMPHPQOH ͱWJEFP͕͏JNBHFTMPHPQOH͕ಉ͡ͷʹͳ Δ
αϒυϝΠϯ w ΫοΩʔҰ෦ڞ༗ w DPPLQBEDPNͳͲʹ͠ͳ͚ΕجຊDPPLJF͕ಉ ҰʹͳΔ͜ͱͳ͍ w ্هΛར༻͢ΕϩάΠϯঢ়ଶͷҾ͖ܧ͗ͳͲൺֱతʹ ؆୯ DPPLQBEDPNʹ࣋ͨͤΕྑ͍ʣ
w DTTJNBHFͷ1BUIผʹͳΔ
શผυϝΠϯ w ΫοΩʔશผ w ڞ༗Խ͢Δ͕͢ͳ͍ w ϩάΠϯͷҾ͖ܧ͗ͱ͔ग़དྷͳ͍ w DTTJNBHFͷ1BUIશʹผʹͳΔ
υϝΠϯͱΫοΩʔͷ ͜ΕΒٕज़తͳΕΔ͜ͱɺ Εͳ͍͜ͱΛ౿·͑ͯɺ 4&0ͳͲߟ͑ ͲͷܗࣜͰߦ͔͘ΛܾΊΔ
Ωϟογϡઓུͷ େલఏͱͯ͠ "1*ͷΤϯυϙΠϯτ ͳΔ͘γϯϓϧʹ ͓͖͍ͯͨ͠
Ωϟογϡઓུͷ w ୯ҰϦιʔε"1*ʹ͓ͯ͘͠ͱ w NTͰฦ͢ͱͯ͠ݸͰNT w )551ͷίωΫγϣϯίετߴ͍ w ͦͷ··NFNDBDIFEʹΩϟογϡͯ͠ճ͍ ߹ΘͤมΘΒͳ͍
ྫ͑ಈըτοϓϖʔδͰݸͷϨγϐΛհ͍ͯͨ͠߹
Ωϟογϡઓུͷ w ෳಉ͍࣌߹Θͤ 42-ͷJO۟ͷΑ͏ʹJEෳͤΔ Ͱ͖ΔΑ͏ʹ͢Δͱ w ݸ͍߹Θͤͯݸ͔͠Ұக͠ͳ͔ͬͨ߹ɺΤϥʔ Λฦ͖͔͢औಘͰ͖͚ͨͩฦ͖͔͢ w ͍߹ΘͤଆݸʹͳΔ·Ͱ܁Γฦ͍͠߹ΘͤΔ
͖͔ w ͦͷෳΛҰؾʹΩϟογϡ͖͔͢ w ॲཧ͕ෳࡶʹͳΔ
Ωϟογϡઓུͷ ͔͜͠Ε͕ଟஈʹͳΔ͜ͱ͋Δ DPPLQBEDPN DPPLQBEWJEFPKQ ಈը৴αʔό τοϓʹදࣔ͢ΔҰཡଷ Ұཡͷಈըϝλσʔλଷ
Ωϟογϡઓུͷ ࠓͷͱ͜Ζ7BSOJTIͰ ͦͦΞϓϦέʔγϣϯαʔόʹདྷΔલʹฦ͢ ͔ ୯ҰϦιʔε"1*ΛNFNDBDIFEʹೖΕΔ ͷΛ͍͚͍ͯΔ͕ ·ͩ·ͩߟ͑Δ༨͋Δ
IUUQTXXXqJDLSDPNQIPUPTKBLFSVTU (BSBHFͷଞʹࣾͰ ϥΠϒϥϦԽ͞ΕͨΓ ͯ͠ڞ༗͞ΕͯΔͷ
w 17BVEJUܥ ͷϩάऩू w ΧελϜͳ औಘγεςϜ w ϩάΠϯपΓ w ϔομϑομ
w ࠂ w σϓϩΠपΓ w $*पΓ w Τϥʔूܭ ڞ༗
࣮ࡍΓ͚ͯΈͯ
ͬͯΈͯΑ͔ͬͨ w ߏͳͲ͕γϯϓϧʹͳͬͨ w ୯७ʹؾ͍͍࣋ͪ w WJFXͷϨϯμϦϯά͕ૣ͘ͳͬͨ w ࢥ͍ͬͨࢪࡦΛೖΕ͍͢ w
࣮ࡍʹࣈʹݱΕ͍ͯΔ
ͨͱ͑QKBY
ͨͱ͑QKBY
IUUQTEFWFMPQFSBQQMFDPNMJCSBSZTBGBSJEPDVNFOUBUJPO"VEJP7JEFP$PODFQUVBM 6TJOH@)5.-@"VEJP@7JEFP%FWJDF4QFDJpD$POTJEFSBUJPOT%FWJDF4QFDJpD$POTJEFSBUJPOTIUNM εϚϑΥͷϒϥβϢʔβʔΠϕϯτ ʢUPVDIDMJDLʣҎ֎Ͱ ϝσΟΞΛ࠶ੜ͢Δ͜ͱग़དྷͳ͍ POMPBEͱ͔ͷΠϕϯτͰࣗಈ࠶ੜΛ͢Δ͜ͱ ग़དྷͳ͍
࣮ී௨ͷϦϯΫͰͳ͍ λοϓ͢Δͱ QKBYͰը໘Λॻ͖͑ͳ ͕ΒಈըΛ࠶ੜͯ͠Δ ը໘ભҠ͍ͯ͠ͳ͍
Γ͚ͯWJFX ͷཧΛࣗͨͪ ͚ͩͰͰ͖ΔΑ͏ ʹͳͬͨͷͰ࣮ݱ Ͱ͖ͨ
Γ͚ͯWJFX ͷཧΛࣗͨͪ ͚ͩͰͰ͖ΔΑ͏ ʹͳͬͨͷͰ࣮ݱ Ͱ͖ͨ
Τϥʔ͕ൃੜͨ͠ΒࣗಈతʹJTTVFTͬͯ ͘Εͯϝϯόʔͷ୭͔ʹΞαΠϯͯ͘͠ΕΔ
Τϥʔूܭ4FOUSZͰ͍ͬͯ ΔͷͰQMVHJOॻ͍ͯެ։ͯ͋͠Δ IUUQTHJUIVCDPNZPTIJPSJTFOUSZOPUJGZHJUIVCJTTVFT
ΫοΫύουͷ044ͱͷؔ ࡞ͬͨͷجຊ044Ͱυϯυϯެ։ͯ͠Δ w DPPLQBEDIBOLP w ϓϩτλΠϓ։ൃ༻ͷϓϥάΠϯ w DPPLQBESSSTQFD w ࢄςετ
w DPPLQBELBHF w TIBEPXQSPYZTFSWF
w FBHMFUNUTXJUDI@QPJOU w 3%#38TQMJUUJOH w XJOFCBSSFMSJEHFQPM w εΩʔϚཧπʔϧ w TPSBINBNJZB
w ߴσϓϩΠ w FBHMFUNUGBNM w IBNߴ൛ w ࡉ͔͍ͷ͑ΒΕͣʜʜ
ͪΖΜ3VCZ3BJMTʹ ίϯτϦϏϡʔτͯ͠Δ ͪΐͬ͜ͱͯͨ͠Γ͢Δ
Ͱ
+----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes |
Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 51762 | 41676 | 554 | 4170 | 7 | 7 | | Helpers | 15863 | 12986 | 18 | 1478 | 82 | 6 | | Models | 104034 | 81971 | 1851 | 9241 | 4 | 6 | | Mailers | 2150 | 1729 | 42 | 203 | 4 | 6 | | Workers | 639 | 540 | 20 | 31 | 1 | 15 | | Chanko units | 10341 | 8587 | 8 | 229 | 28 | 35 | | Libraries | 50661 | 41872 | 626 | 3790 | 6 | 9 | | Feature specs | 49901 | 40916 | 0 | 205 | 0 | 197 | | Request specs | 43437 | 37448 | 0 | 19 | 0 | 1968 | | Routing specs | 627 | 505 | 0 | 0 | 0 | 0 | | Controller specs | 63678 | 52586 | 6 | 128 | 21 | 408 | | Helper specs | 81289 | 67277 | 3 | 69 | 23 | 973 | | Model specs | 156941 | 129837 | 5 | 124 | 24 | 1045 | | Worker specs | 901 | 747 | 0 | 1 | 0 | 745 | | Chanko unit specs | 11476 | 9210 | 0 | 12 | 0 | 765 | | Library specs | 24911 | 20824 | 26 | 116 | 4 | 177 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 668611 | 548711 | 3159 | 19816 | 6 | 25 | +----------------------+-------+-------+---------+---------+-----+-------+ Code LOC: 189361 Test LOC: 359350 Code to Test Ratio: 1:1.9 .PEFMTDMBTT
+----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes |
Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 51762 | 41676 | 554 | 4170 | 7 | 7 | | Helpers | 15863 | 12986 | 18 | 1478 | 82 | 6 | | Models | 104034 | 81971 | 1851 | 9241 | 4 | 6 | | Mailers | 2150 | 1729 | 42 | 203 | 4 | 6 | | Workers | 639 | 540 | 20 | 31 | 1 | 15 | | Chanko units | 10341 | 8587 | 8 | 229 | 28 | 35 | | Libraries | 50661 | 41872 | 626 | 3790 | 6 | 9 | | Feature specs | 49901 | 40916 | 0 | 205 | 0 | 197 | | Request specs | 43437 | 37448 | 0 | 19 | 0 | 1968 | | Routing specs | 627 | 505 | 0 | 0 | 0 | 0 | | Controller specs | 63678 | 52586 | 6 | 128 | 21 | 408 | | Helper specs | 81289 | 67277 | 3 | 69 | 23 | 973 | | Model specs | 156941 | 129837 | 5 | 124 | 24 | 1045 | | Worker specs | 901 | 747 | 0 | 1 | 0 | 745 | | Chanko unit specs | 11476 | 9210 | 0 | 12 | 0 | 765 | | Library specs | 24911 | 20824 | 26 | 116 | 4 | 177 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 668611 | 548711 | 3159 | 19816 | 6 | 25 | +----------------------+-------+-------+---------+---------+-----+-------+ Code LOC: 189361 Test LOC: 359350 Code to Test Ratio: 1:1.9 .PEFMTDMBTT ݮΒͤͨ
None
IUUQTSFDSVJUDPPLQBEDPN ͍ͬ͠ΐʹΨγΨγ044ʹίϯτϦϏϡʔτ͠ͳ͕Β ։ൃͯ͘͠ΕΔਓืूͯ͠·͢ʂ