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.8k
クライアントサイドでよく使われる 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
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
120
Jev の中身は50行で再現できる。でも本物との差はどこにあるのか
hisuzuya
0
270
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
120
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
800
あなたのDartコードは丸見えかもしれない ~reFlutterで暴くFlutterアプリの中身と多層防御~
zozotech
PRO
0
730
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
2.1k
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
220
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
160
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
460
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
310
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
730
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.4k
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
240
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
70
68k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
460
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
910
Done Done
chrislema
187
17k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
290
Speed Design
sergeychernyshev
33
2.2k
Balancing Empowerment & Direction
lara
6
1.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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ʹίϯτϦϏϡʔτ͠ͳ͕Β ։ൃͯ͘͠ΕΔਓืूͯ͠·͢ʂ