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
780
vscodemeetup
shmokmt
1
340
Other Decks in Programming
See All in Programming
デフォルト運用のCodeRabbit、1年で何が変わったか / How CodeRabbit Changed Our Code Review in 1 Year
bake0937
1
110
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
890
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
260
[KCD Czech] eBPF Meets the GPU: Future of AI Infra Observability
doniacld
0
110
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
250
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
570
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
220
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
330
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
990
Inspired By RubyKaigi (EN)
atzzcokek
0
120
関係性から理解する"同一性"の型用語たち
pvcresin
2
580
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
160
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7k
From π to Pie charts
rasagy
0
190
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
370
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
KATA
mclloyd
PRO
35
15k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
New Earth Scene 8
popppiees
3
2.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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 Έͳ͞ΜͷνʔϜͲͷΑ͏ʹ͍ͯ͠·͔͢ʁ ෳਓͰͷྑ͍Β͠