Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
go in to microservices(wip)
Search
Yoshiori SHOJI
September 26, 2015
Technology
6k
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.7k
クライアントサイドでよく使われる Debounce処理 をサーバサイドで3回実装した話
yoshiori
2
1.2k
ソートできるUUID v7をJavaで使うときの話
yoshiori
8
8.4k
Go Down Rockin'
yoshiori
31
20k
テストデータを貯めて感じたこと
yoshiori
12
4.5k
エンジニアリング x US 海外とのコラボレーション
yoshiori
3
2.2k
未完成な技術と歩む道のりでの 試行錯誤
yoshiori
0
250
DevOps, Immutable Infrastructure, Microservices and Chaos Engineering
yoshiori
13
2.5k
Change the recipe's world
yoshiori
3
1.6k
Other Decks in Technology
See All in Technology
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
570
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
160
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.5k
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
3
680
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
630
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
320
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
320
AI時代のPRレビューにどう向き合うか?
kairim0
1
120
メルペイ 会計システム概要と歴史
mewuto
0
200
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
1.8k
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
650
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
110
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
610
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
270
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Designing Experiences People Love
moore
143
24k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
300
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
590
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
590
Claude Code のすすめ
schroneko
67
230k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
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ʹίϯτϦϏϡʔτ͠ͳ͕Β ։ൃͯ͘͠ΕΔਓืूͯ͠·͢ʂ