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
1.2k
0
Share
minne の開発環境の変革と今後
Kubernetes Meetup Tokyo #24
shiro16
October 24, 2019
More Decks by shiro16
See All by shiro16
minne のアーキテクチャの進化とこれから
shiro16
1
3.6k
Rails6 upgrade タイムアタック
shiro16
2
2.9k
telepresence で始める k8s 時代のローカル開発
shiro16
10
5.9k
minne での検索改善の歴史
shiro16
1
2.5k
minne でのハイブリッドクラウド運用
shiro16
1
2k
マイクロサービス事始め@技術編
shiro16
0
1.3k
Other Decks in Technology
See All in Technology
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
850
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
280
テストコードのないプロジェクトにテストを根付かせる
tttol
0
220
データ分析基盤の信頼を支える視点と設計
yuki_saito
2
740
さきさん文庫の書籍ができるまで
sakiengineer
0
290
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
0
250
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
360
OpenClawとHermesAgentでAI新入社員を作った話
takanoriyanada
0
130
大規模災害時でも高い信頼性を維持するアプリケーション基盤の実現/nikkei-tech-talk46
nikkei_engineer_recruiting
0
110
Agentic Design Patterns
glaforge
0
250
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
3
680
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
120
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Tell your own story through comics
letsgokoyo
1
930
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
590
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
For a Future-Friendly Web
brad_frost
183
10k
Paper Plane (Part 1)
katiecoart
PRO
0
7.9k
How to train your dragon (web standard)
notwaldorf
97
6.6k
Code Reviewing Like a Champion
maltzj
528
40k
Docker and Python
trallard
47
3.8k
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ΞϓϦΤϯδχΞͷؾܰʹյͤΔ ΠϯϑϥڥΛఏڙͰ͖ͨ
͋Γ͕ͱ͏͍͟͝·ͨ͠