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
650
vscodemeetup
shmokmt
1
330
Other Decks in Programming
See All in Programming
AI主導でFastAPIのWebサービスを作るときに 人間が構造化すべき境界線
okajun35
0
500
Python’s True Superpower
hynek
0
200
JPUG勉強会 OSSデータベースの内部構造を理解しよう
oga5
2
230
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
210
DSPy入門 Pythonで実現する自動プロンプト最適化 〜人手によるプロンプト調整からの卒業〜
seaturt1e
1
480
Event Storming
hschwentner
3
1.3k
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
450
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.5k
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
Geminiの機能を調べ尽くしてみた
naruyoshimi
0
190
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
200
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
370
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
WENDY [Excerpt]
tessaabrams
9
36k
A Soul's Torment
seathinner
5
2.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Visualization
eitanlees
150
17k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Technical Leadership for Architectural Decision Making
baasie
3
270
The Cost Of JavaScript in 2023
addyosmani
55
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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 Έͳ͞ΜͷνʔϜͲͷΑ͏ʹ͍ͯ͠·͔͢ʁ ෳਓͰͷྑ͍Β͠