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
minne の開発環境の変革と今後
Search
shiro16
October 24, 2019
Technology
0
1.1k
minne の開発環境の変革と今後
Kubernetes Meetup Tokyo #24
shiro16
October 24, 2019
Tweet
Share
More Decks by shiro16
See All by shiro16
minne のアーキテクチャの進化とこれから
shiro16
1
3.3k
Rails6 upgrade タイムアタック
shiro16
2
2.6k
telepresence で始める k8s 時代のローカル開発
shiro16
10
5.8k
minne での検索改善の歴史
shiro16
1
2.4k
minne でのハイブリッドクラウド運用
shiro16
1
1.8k
マイクロサービス事始め@技術編
shiro16
0
1.2k
Other Decks in Technology
See All in Technology
Lakehouse в Лемана Тех. От архитектуры до оптимизации
emeremyanina1234
0
510
熱々🔥のUDN🍜を喰らえ❗マルチテナントもVM統合も思いのまま❗新機能で切り拓くk8sネットワークの未来
tsukaman
0
150
golang-migrate VS Atlas !? 技術選定のポイントと学び ~DBマイグレーションツール選定の実例を通して~ / golang-migrate vs Atlas ! What is the point of technology selection and what you can learn from the examples of DB migration tool selection?
nttcom
0
120
撤退危機からのピボット : 4年目エンジニアがリードする TypeScript で挑む事業復活 / crisis-to-pivot-4th-year-engineer-ts-relaunch
carta_engineering
2
230
転職したらMCPサーバーだった件
nwiizo
14
10k
【iOSエンジニア特集】 iOSアプリ開発の裏側 開発組織が向き合う課題とこれから - 株式会社カウシェ
akifumifukaya
0
320
インラインRBSコメントに鯛pe checkersもニッコリ
sansantech
PRO
2
230
変化に強いテーブル設計の勘所 / Table design that is resistant to changes
soudai
12
3.1k
PandaCSSでつくる 型で守られたスタイリング基盤
dendaiman
1
110
正解のない未知(インボイス制度対応)をフルサイクル開発で乗り越える方法 / How to overcome the unknown invoice system with full cycle development
carta_engineering
0
170
KubeCon EU 2025 Recap - Kubernetes CRD Design for the Long Haul: Tips, Tricks, and Lessons Learned / Kubernetes Meetup Tokyo #70 / k8sjp70-crd-long-haul-recap
everpeace
0
110
テスト設計、逆から読むとおもしろい──仕様にない“望ましさ”の逆設計
mhlyc
0
210
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Being A Developer After 40
akosma
91
590k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
GitHub's CSS Performance
jonrohan
1031
460k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Unsuck your backbone
ammeep
671
58k
It's Worth the Effort
3n
184
28k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Facilitating Awesome Meetings
lara
54
6.4k
Side Projects
sachag
453
42k
Transcript
ޙ౻རത(.01FQBCP *OD LVCFSOFUFTNFFUVQUPLZP NJOOFͷ։ൃڥͷมֵͱࠓޙ
νʔϑςΫχΧϧϦʔυ 5PTIJIJSP(PUP!@TIJSP NJOOFࣄۀ෦ δϣʔδΞͷXFC$.ʹग़ͯΔਓ
None
ࠓճ͢Δ wNJOOFͷߏͷ w,VCFSOFUFTಋೖҎલͷ։ൃڥͷ w,VCFSOFUFTಋೖҎޙͷ։ൃڥͷ wࠓޙͷ։ൃڥͷ
ࠓճ͠ͳ͍ wͳͥ,VCFSOFUFTͷҠߦΛߦͳ͔ͬͨʁ w࣮ࡍͷ,VCFSOFUFTҠߦͷ͓
NJOOFͷͬ͘͟Γͱͨ͠ߏͷ
None
None
LTಋೖҎલͷ։ൃڥ
ϩʔΧϧͷ։ൃڥ wEPDLFSͰ֤ίϯςφΛ্ཱ͍ͪ͛ͯΔ w֤ϛυϧΣΞNZTRM&MBTUJDTFBSDISFEJTNFNDBDIFEFUDʜ wϚΠΫϩαʔϏεԽ͞Ε֤ͨαʔϏε w։ൃ͢ΔαʔϏεࣗମΛ্ཱͪ͛ΔࡍϩʔΧϧͰ্ཱͪ͛ΔPSϩʔ ΧϧͷEPDLFS্Ͱ্ཱͪ͛Δ wਓʹΑͬͯҧ͏
چϩʔΧϧ։ൃڥͰͷ՝ wͳΜ͔յΕͨ wEPDLFS্Ͱίϯςφ্ཱ͕͕͍ͪͬͯͳ͍͚ͩ wίϯςφىಈ·ͱΊͯίϚϯυͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͕ʜ wϝϞϦͷͱ͔Ͱࢮ͵ίϯςφ͕͍ͨΓ w֤छUPLFO͕ݹ͍ w࠷৽ͷNBTUFSΛ͓ͬͯΒ֤ͣछUPLFO͕ݹͯ͘ىಈ࣌ʹࢮ͵ wͦͷʹਓʑ͕Կ͕յΕͨͷ͔ௐࠪ͢Δඞཁ͕͋Δ
ϦϞʔτͷ։ൃڥ w&$૬ͷTFSWFSΛෳ༻ҙ wԿނ͔ಈͷ໊લͰڥΛ༻ҙ͍ͯͨ͠ wϝΠϯͱͳΔαʔϏεҎ֎ڞ௨ͷͷ w֤ϛυϧΣΞڞ௨ͷͷ wσʔλຊ൪ͷσʔλΛϚεΫͨ͠ͷ
None
։ൃͷྲྀΕ ϩʔΧϧͰ։ൃ ͜ͷࡍͷಈ࡞֬ೝMPDBMIPTUͱ͔Ͱߦ͏ Πϯλʔωοτӽ͠ʹಈ࡞֬ೝ লུՄೳ
ϦϞʔτͷ։ൃڥʹEFQMPZΛߦ͏ ϦϞʔτͷυϝΠϯΛࢦఆͯ͠ΞΫηε͠ಈ࡞֬ೝΛߦ͏
ਓʑ͕૿͑ͨ͜ͱͰ͕ʜ
چϦϞʔτ։ൃڥͰͷ՝ wਓʑ͕૿͑ͨ͜ͱͰϦϞʔτ։ൃڥͷ͕Γͳ͘ͳͬͯདྷͨ wCPUʹ୭͕ͬͯΔ͔Ѳͯ͠Β͏Α͏ʹͳͬͨ wۭ͍ͯͳ͚Ε୭͔ʹৡͬͯΒ͏ wશ෦͍ͬͯͨΒͪ wͱΓ͋͑ͣΛ૿ͤղܾ͢Δ wਓʑ͕૿͑Δͱ·ͨಉ͘͡૿͢ඞཁ͕ʜ w ৗʹ͏Α͏ͳڥ͡Όͳ͍ͷͰ ίετʜ
None
ͲͷΑ͏ʹ՝Λղܾ͔ͨ͠ʁ
LTҠߦ࣌ʹରԠ
None
LTҠߦޙͷ։ൃڥ
ϩʔΧϧͷ։ൃڥ wҎલͱಉ͡ਓ͍Δ w৽ڥͷਓ։ൃ͢ΔαʔϏεͷΈEPDLFS্ʹίϯςφΛىಈ wਖ਼֬ʹUFMFQSFTFODFܦ༝Ͱىಈͯ͠Β͏ wΠϯλʔωοτӽ͠ͷΞΫηεΛϩʔΧϧͷEPDLFSʹྲྀ͢͜ͱ͕ Մೳ w֤ϛυϧΣΞϦϞʔτڥͷͷʹଓ͕Մೳ
ղܾ͞ΕͨϩʔΧϧͷ։ൃڥͷ wͳΜ͔յΕͨ wEPDLFS্Ͱίϯςφ্ཱ͕͕͍ͪͬͯͳ͍͚ͩ wίϯςφىಈ·ͱΊͯίϚϯυͰ͖ΔΑ͏ʹͳ͍ͬͯΔ͕ʜ wϝϞϦͷͱ͔Ͱࢮ͵ίϯςφ͕͍ͨΓ w֤छUPLFO͕ݹ͍ w࠷৽ͷNBTUFSΛ͓ͬͯΒ֤ͣछUPLFO͕ݹͯ͘ىಈ࣌ʹࢮ͵ wͦͷʹਓʑ͕Կ͕յΕͨͷ͔ௐࠪ͢Δඞཁ͕͋Δ
ݸਓͷڥͷґଘ͕Լ
ϦϞʔτͷ։ൃڥ wݸਓͰQPEΛॴ༗Ͱ͖Δ ਖ਼֬ʹXFCBQJ͕͋ΔͷͰQPE wOHJOYJOHSFTTDPOUSPMMFSΛ༻ͯ͠υϝΠϯຖʹΞΫηεΛྲྀ͢ TWDΛࢦఆ w֤ϛυϧΣΞڞ௨ wUFMFQSFTFODFΛ͏ࡍ͜ͷQPEΛ͏
ղܾ͞ΕͨϦϞʔτ։ൃڥͰͷ՝ wਓʑ͕૿͑ͨ͜ͱͰϦϞʔτ։ൃڥͷ͕Γͳ͘ͳͬͯདྷͨ wCPUʹ୭͕ͬͯΔ͔Ѳͯ͠Β͏Α͏ʹͳͬͨ wۭ͍ͯͳ͚Ε୭͔ʹৡͬͯΒ͏ wશ෦͍ͬͯͨΒͪ wͱΓ͋͑ͣΛ૿ͤղܾ͢ΔOPEF૿͔͢ wਓʑ͕૿͑Δͱ·ͨಉ͘͡૿͢ඞཁ͕ʜ w ৗʹ͏Α͏ͳڥ͡Όͳ͍ͷͰ ίετʜ
ۭ͖ͷ֬ೝ͕ͪͳ͘ͳΓੜ࢈ੑ61 ίετ%08/
None
ϦϞʔτ։ൃڥͷߏ wOHJOYJOHSFTTDPOUSPMMFSΛ༻ͯ͠υϝΠϯຖʹΞΫηεΛྲྀ͢ TWDΛࢦఆ wొ͞ΕͨJOHSFTTFYUFSOBMEOTΛ༻ͯ͠3PVUFʹొ ͠ ͔͕ͨͬͨʜ wTLB⒎PME LBOJLP LVTUPNJ[FΛ༻ͯ͠ϦϞʔτͰͷJNBHF
CVJMEෳڥʹରԠ wEFQMPZTMBDLͷ*OUFSBDUJWF.FTTBHFTΛ༻ͨ͠CPU͕ߦ͏
TLB⒎PME wJNBHFͷ࡞EFQMPZΛࣗಈԽ wZBNMͰཧͰ͖Δ wLTͷNBOJGFTUT %PDLFSpMFΛ͏ wEFWϞʔυͩͱίʔυʹมߋ͕͋ͬͨࡍʹࣗಈͰEFQMPZ wޙड़͢ΔLVTUPNJ[FLBOJLPͱΈ߹ΘͤΔ͜ͱ͕Մೳ
LVTUPNJ[F wෳڥʹରԠͨ͠NBOJGFTUΛੜͰ͖Δ wPWFSMBZΛ͏ wQSPEVDUJPOTUBHJOHFUDʜ wLVTUPNJ[BUJPOZBNMΛ͏ wKTPOQBUDIΛ͑ॊೈʹมߋՄೳ
LBOJLP wίϯςφͰJNBHFCVJMEΛͯ͘͠ΕΔ wEPDLFSDPNNBOE͕ෆཁ w%PDLFSpMFΛݩʹJNBHFΛCVJME wCVJMEͨ͠JNBHFಛఆͷ3FHJTUSZʹQVTIͯ͘͠ΕΔ
FYUFSOBMEOT w*OHSFTTTFSWJDFͷઃఆΛݩʹ"843PVUF(PPHMF $MPVE%/4ͷ%/4Ϩίʔυͷߋ৽Λߦ͏ w3PVUFͰ͏߹*".ϙϦγʔͷՃ͕ඞཁ w*OHSFTTTFSWJDFΛফͨ͠ࡍͷڍಈ੍ޚՄೳ w%/4Ϩίʔυআ͢ΔPS͢ w͔͠͠NJOOFͰ3PVUFͱDMVTUFSͷؒʹSPMFTFSWFS͕ڬ· ΔͷͰ༻͍ͯ͠ͳ͍
EFQMPZCPU wฐࣾͷPHJEPX͕TMBDLJOUFSBDUJWFNFTTBHFΛ͏CPUͷ GSBNFXPSLΛ༻ wIUUQTHJUIVCDPNPHJEPXHPCPU wJOUFSBDUJWFNFTTBHFͷύϥϝʔλΛݩʹίϚϯυΛ࣮ߦ͠࠷ऴతʹ TLB⒎PMESVOΛ࣮ߦ͢Δ wQPEͷೖΕସ͕͑ऴΘͬͨࡍʹTMBDLʹ௨
None
UFMFQSFTFODF wϦϞʔτͷLVCFSOFUFTDMVTUFSʹଓ͠ͳ͕ΒɺαʔϏεΛϩʔΧ ϧͰ࣮ߦ͢Δ͜ͱ͕Մೳ wϩʔΧϧͷ։ൃϚγϯΛLVCFSOFUFTDMVTUFSͷҰ෦ͷΑ͏ʹಈ࡞͞ ͤΔ͜ͱ͕Մೳ
ৄࡉͪ͜Β
ࠓޙͷ
৽ڥͰݟ͑ͯདྷͨ՝
৽ڥͰͷ՝ wϩʔΧϧͰͷ։ൃͰҎલͱͯ͠EPDLFSίϯςφΛ্ཱ͍ͭͪ͘ ͍͛ͯΔਓ͍Δ wUFMFQSFTFODF͏ࡍʹEPDLFSTZOD͏ͷͰϝϞϦ͕ݫ͍͠ ಛ ʹσβΠφʔ wJNBHFσΧ͗͢ wCVJMEʹ͔͔࣌ؒΔ wLTʹ׳Εͯͳ͍ނʹτϥϒϧγϡʔςΟϯάʹ͕͔͔࣌ؒΔ
ࠓޙऔΓΉඞཁ͕͋Γͦ͏ͳ՝
ࠓޙऔΓΉඞཁ͕͋Γͦ͏ͳ՝ wϚΠΫϩαʔϏεԽ͕ਐΜͩࡍʹͲ͜·ͰݸਓͷڥΛ͚Δ͔ w֤αʔϏεͷશQPEΛݸਓຖʹ༻ҙ͢Δ͔ʁ w্هͱ߹Θ֤ͤͨϛυϧΣΞΛݸਓຖʹ͚Δ͔
͜ΕΒͷ՝Λղܾ͠ͳ͕Β ͬͱ໘ന͍͜ͱ͕Ͱ͖ͳ͍͔ʁ Λߟ͍͑ͯΔ͕ʜ
·ͱΊ
·ͱΊ wLTҠߦʹͬͯچ։ൃڥͷ՝ΫϦΞͰ͖ͨ wUFMFQSFTFODFΛ͏͜ͱͰچϩʔΧϧͱچϦϞʔτΛϋΠϒϦου Խͨ͠Α͏ͳڥʹͳͬͨ w·ͩLTͷԸܙΛશʹड͚Ε͍ͯͳ͍ͷ͔͠Εͳ͍ w৽ͨͳ՝͋ΔͷͰཁվળ wϚΠΫϩαʔϏεԽ͕ਐΜͰ͍͘ͱ৽͍͠՝͕ൃੜͦ͠͏ w෭࣍తޮՌͱͯ͠"OESPJEJ04ΞϓϦΤϯδχΞͷؾܰʹյͤΔ ΠϯϑϥڥΛఏڙͰ͖ͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠