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
5
2.5k
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
Shoma Okamoto
November 28, 2025
Tweet
Share
More Decks by Shoma Okamoto
See All by Shoma Okamoto
2ヶ月で新規事業のシステムを0から立ち上げるスタートアップの舞台裏
shmokmt
0
630
vscodemeetup
shmokmt
1
330
Other Decks in Programming
See All in Programming
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
210
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
320
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
190
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
260
猫の手も借りたい!ので AIエージェント猫を作って社内に放した話 Claude Code × Container Lambda の Slack Bot "DevNeko"
naramomi7
0
210
AI活用のコスパを最大化する方法
ochtum
0
110
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
340
個人開発は儲からない - それでも開発開始1ヶ月で300万円売り上げた方法
taishiyade
0
120
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜 / Understanding nil in Go Interface Representation and Why nil != nil
kuro_kurorrr
3
1.3k
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
470
TROCCOで実現するkintone+BigQueryによるオペレーション改善
ssxota
0
110
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
1
110
Featured
See All Featured
Designing for Timeless Needs
cassininazir
0
140
What's in a price? How to price your products and services
michaelherold
247
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Darren the Foodie - Storyboard
khoart
PRO
3
2.6k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
81
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
130
Accessibility Awareness
sabderemane
0
69
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
270
Writing Fast Ruby
sferik
630
62k
RailsConf 2023
tenderlove
30
1.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 Έͳ͞ΜͷνʔϜͲͷΑ͏ʹ͍ͯ͠·͔͢ʁ ෳਓͰͷྑ͍Β͠