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
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
Search
Shoma Okamoto
November 28, 2025
Programming
2.6k
6
Share
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
Shoma Okamoto
November 28, 2025
More Decks by Shoma Okamoto
See All by Shoma Okamoto
2ヶ月で新規事業のシステムを0から立ち上げるスタートアップの舞台裏
shmokmt
0
730
vscodemeetup
shmokmt
1
340
Other Decks in Programming
See All in Programming
[RubyKaigi 2026] Require Hooks
palkan
1
210
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
24
14k
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
520
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
480
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
150
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
2
210
Making the RBS Parser Faster
soutaro
0
440
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
970
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
160
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
380
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
140
Server-Side Kotlin LT大会 vol.18 [Kotlin-lspの最新情報と Neovimのlsp設定例]
yasunori0418
1
160
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
370
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
We Are The Robots
honzajavorek
0
220
A better future with KSS
kneath
240
18k
Building Applications with DynamoDB
mza
96
7k
Why Our Code Smells
bkeepers
PRO
340
58k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
270
Unsuck your backbone
ammeep
672
58k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Transcript
ෳਓͰͷCLI / Infrastructure as Code ͷΒ͠Λྑ͘͢Δ Shoma Okamotoʢ@shmokmtʣ Terminal Night
#1 2025-11-28 
4NBSU#BOL *OD 4PGUXBSF&OHJOFFS43& 4IPNB0LBNPUP !TINPLNU !TINPLNU 4QFBLFS
*OUSPEVDUJPO 🧑🧒🧒 ෳਓͰಉ͡$-*πʔϧΛӡ༻͢Δͷ݁ߏΘ͍͠ʢͱ͖͋Δʣ 💪 νʔϜʹඞཁͳճΓʢ$-*πʔϧʣͷڥΛಓʹ͑Δͱ շదͳΒ͠ΛૹΔ͜ͱ͕Ͱ͖Δ ࠓճͷτʔΫ Β͕͠ྑ͘ͳΔ˺ࣗͨͪͷखݩͷڥ͕͍ɺ࡞ۀ͘͢͠ͳΔ͜ͱ
εϚʔτόϯΫͷ43&ͷٕज़ελοΫʢݴޠɺ$-*πʔϧʣ w 5FSSBGPSNʢ*OGSBTUSVDUVSFBT$PEFʣ w 1ZUIPO w "QBDIF"JS fl PX
"84-BNCEBͳͲͰ༻ w #BTIʢγΣϧεΫϦϓτʣ w "84$PEF#VJMEʢCVJMETQFDZNMʣͳͲͰ࣌ંग़ͯ͘Δ
εϚʔτόϯΫͷ43&ͷٕज़ελοΫʢݴޠɺ$-*πʔϧʣ ɾUFSSBGPSNίϚϯυΛසൟʹखݩͰଧͭ ɾWBMJEBUF GNUͰߏจνΣοΫϑΥʔϚοτͰ͖Δͷͷ ҎԼͷΑ͏ͳ$-*πʔϧΛΈ߹ΘͤΔ͜ͱ͕ଟ͍ ɾU fl JOU ɾUSJWZ
5FSSBGPSN
εϚʔτόϯΫͷ43&ͷٕज़ελοΫʢݴޠɺ$-*πʔϧʣ w Ҏલ֤ʑͷ5FSSBSGPSNͳͲͷόʔδϣϯ͕Ұகͯ͠ͳ͍͜ͱ͕ଟ͔ͬͨ w )PNFCSFXͳͲͰదͳόʔδϣϯΛΠϯετʔϧ w ࣌ંɺτϥϒϧγϡʔτͰফ͢Δ w UGFOWɺUFOWͳͲͬͯͳ͔ͬͨ
w ਖ਼֬ʹख͕ճͬͯͳ͔ͬͨ
εϚʔτόϯΫͷ43&ͷٕज़ελοΫʢݴޠɺ$-*πʔϧʣ w ӡ༻पΓͷࡶଟͳ$-*πʔϧಉ͡όʔδϣϯͷͷΛ͍͍ͨ w BDUJPOMJOU w (JU)VC"DUJPOTͷXPSL fl PXϑΝΠϧͷMJOUFS
w FDTQSFTTP w "NB[PO&$4ͷσϓϩΠπʔϧ w 1ZUIPOΛॻ͘ͷʹඞཁͳπʔϧ܈ w ϢχοτςετΛ࣮ߦͤͨ͞ΓɺMJOUFSͷ͜ͱΛߟ͑Δͱ৭ʑཉ͘͠ͳΔ
͔Ε͜Ε͍ͯ͠Δʹ %FWJOɺ$MBVEF$PEF͕ྲྀߦ͖ͬͯͨ
43&ͷਓ ਓ͔ΒਓʢؚࣗΉʣ
%FWFMPQFSɺ$*ɺ"*༻ͷ7.ʢ%FWJO.BDIJOFʣ ͜ΕΒͰಉ͡όʔδϣϯͷ$-*Λ͍͍ͨ
$-*ͷόʔδϣϯཧπʔϧ ͷಋೖ͕ٸʹ
৭ʑݕ౼ͯ͠ΈΔ
BTEG w BTEG w UPPMWFSTJPOTΛϦϙδτϦʹೖΕΔ͜ͱͰෳͷ$-*ͷ όʔδϣϯΛڞ༗Ͱ͖Δ w ݩʑCBTI࣮͕ͩͬͨɺW ʣ͔Β
(PͰ࠶࣮͞Εͨ 13IUUQTHJUIVCDPNBTEGWNBTEGQVMM
BRVB w BRVB w BTEGMJLFͳͷ w (P w 4IVOTVLF4V[VLJࢯ͕։ൃ
w BRVBSFHJTUSZ͕ݫ֨ʹཧ͞Ε͓ͯΓɺ ηΩϡΞͳ࡞Γʹͳ͍ͬͯΔ w ຊͰͷ࠾༻࣮ଟ IUUQTHJUIVCDPNBRVBQSPKBRVB
NJTFFOQMBDF w NJTFFOQMBDF w ຊޠͰͷൃԻʮϛʔζʯͰྑ͍ͬΆ͍1SPOPVODFE.&&;BIOQMBIT w ϑϥϯεޠͰʮԼ४උʯͱ͍͏ҙຯ w 3VTU
w BTEGͷ্Ґޓʢͱݴ͍ͬͯྑ͍Α͏ʹࢥ͏ʣ w ৄ͘͠ެࣜαΠτʹ৭ʑͱॻ͍ͯ͋Δ w λεΫϥϯφʔڥมͷΓସ͑Ͱ͖ΔͷͰɺ.BLF fi MFEJSFOWతͳػೳඋΘ͍ͬͯΔ w BTEGBRVBʹ Ћͳػೳ͕ੜ͍͑ͯΔͱ͍͏ײ͡ IUUQTNJTFKEYEFW
NJTFFOQMBDF IUUQTNJTFKEYEFWEFWUPPMTDPNQBSJTPOUPBTEGIUNMTVQQMZDIBJOTFDVSJUZ w 4VQQMZDIBJOTFDVSJUZ w ͳΔ͘ηΩϡΞʹѻ͍͍ͨ w NJTF࡞ऀͷKEYࢯʹΑΔͱɺ͜ͷྨͷίϛϡχςΟओಋͷϓϥάΠϯͷ ΤίγεςϜTVQQMZDIBJOBUUBDLͷڴҖʹͳΓ͍͢
w ΑΓݫ֨ͳQMVHJOཧΛ͍ͨ͠ࢫ͕ॻ͔Ε͍ͯΔ w BTEGແͷϓϥάΠϯ࡞ऀʹ؆୯ʹBTEGDPNNVOJUZPSHͷίϛοτݖݶΛ͗͢͠Ͱ͋ΔͨΊɺ ຊདྷ୲อ͍ͨ͠Ψόφϯε͕ޮ͍͍ͯͳ͍ͷͰͱ͍͏ओு
NJTFFOQMBDF w 4VQQMZDIBJOTFDVSJUZ w ಉ͡πʔϧ͕BRVBͱBTEGʹ͋Δ߹BRVBΛ ༏ઌతʹऔΔΑ͏ͳϩδοΫʹͳ͍ͬͯΔ w DIFDLTVNɺ(JU)VC"SUJGBDU"UUFTUBUJPOTͳͲࣗಈͰΑ͠ͳʹݕূͯ͘͠Εͯศར w
໌ࣔతʹॻ͘ํ͕ΑΓ҆৺ w BRVBPSHSFQP
NJTFFOQMBDF w ࣾͰͷଞͷϝϯόʔͷޱίϛͳͲ͋Γɺ NJTFΛಋೖͯ͠ΈΔ͜ͱʹ w NJTFJOTUBMMͷ̍ൃͰશ෦͏ײ͡ʹ͍ͨ͠ w $-*ڥΛศརʹ͢Δ$-*πʔϧʂ
NJTFFOQMBDF w 3FOPWBUFNJTFʹରԠ͍ͯ͠Δ w EFQFOEBCPUݱ࣌ͰະରԠ *TTVFIUUQTHJUIVCDPNEFQFOEBCPUEFQFOEBCPUDPSFJTTVFT
͖ͬͯͨ͜ͱʢҰ෦հʣ :BL4IBWJOH
-FHBDZ5FSSBGPSN w NJTFJOTUBMMͰڥߏங͕̍ൃͰऴΘΒͳ͍ w "QQMF4JMJDPONBD04ͰUFNQMBUFQSPWJEFS͕͑ͳ͍ w CSFXJOTUBMMLSFV[XFSLFSNUFSSBGPSNQSPWJEFSIFMQFS w CSFXґଘ
w ηΩϡϦςΟతʹϫʔΫΞϥϯυΛ͋·Γ͍ͨ͘ͳ͍ w ॺ໊ݕূ͕Ͱ͖ͳ͍ w CSFXͰιʔείʔυ͔Βμϯϩʔυ͖ͯͯ͠(PͰϏϧυ͢ΔڍಈʹͳΔ
-FHBDZ5FSSBGPSN IUUQTEJTDVTTIBTIJDPSQDPNUUFNQMBUFWEPFTOPUIBWFBQBDLBHFBWBJMBCMFNBDN w "QQMF4JMJDPONBD04ͰUFNQMBUFQSPWJEFS͕͑ͳ͍ w UFNQMBUFQSPWJEFSςϯϓϨʔτʹมΛຒΊࠐΜͰͦΕΛ͏͜ͱ͕Ͱ͖Δ w 5FSSBGPSNҎ߱͜Εͱಉͷػೳ͕ඪ४ͷؔͰΈࠐ·ΕΔ͜ͱʹͳͬͨͨΊɺ UFNQMBUFQSPWJEFSΞʔΧΠϒ͞ΕΔ͜ͱʹ
w Կނ͔EBSXJO@BSNରԠ͞ΕΔલʹΞʔΧΠϒ͞Εͨ
-FHBDZ5FSSBGPSN w "QQMF4JMJDPONBD04ͰUFNQMBUFQSPWJEFS͕͑ͳ͍ w ͭͣͭґଘΛऔ͍ͬͯ͘ w ਪ͞Εͨඪ४ͷؔͰஔ͍ͯ͘͠
νʔϜͰͷσϞ w جຊతʹBRVBSFHJTUSZʹ͋ΔͨΊେ͖ͳͳ͔ͬͨ w ͋Δఔಈ͘Α͏ʹͳͬͨλΠϛϯάͰ νʔϜͰσϞΛ൸࿐͠ɺख৮ΓײΛ͔֬ΊͯΒͬͨ
·ͱΊ w ෳਓͷ։ൃɺࣝʹ͕ࠩ͋Δ߹ͩͱ ίϚϯυͰηοτΞοϓ͕ऴΘΔͱศར w ৽͍͠ϝϯόʔͷΦϯϘʔσΟϯάίετݮ w ࣗͷ$-*ڥΛྑ͘͢Δ͚ͩʹཹ·Βͣɺ νʔϜͷ$-*ڥΛྑ͘͢ΔͱḿΔ
w Έͳ͞ΜͷνʔϜͲͷΑ͏ʹ͍ͯ͠·͔͢ʁ ෳਓͰͷྑ͍Β͠