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
並列開発を支援するツールを作った話
Search
harachan
September 16, 2025
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
並列開発を支援するツールを作った話
harachan
September 16, 2025
More Decks by harachan
See All by harachan
golang.tokyo発表資料(whrisというコマンドを作った話)
harakeishi
0
37
Other Decks in Technology
See All in Technology
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
2
1.2k
NDIAS CTF 2026 問題解説会資料
bata_24
0
170
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
140
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
120
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
270
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
230
GitHub Copilot運用のリアル ~AI Credit時代にどう向き合うか~
takafumisu2uk1
0
610
グローバルチームと挑むプロダクト開発
sansantech
PRO
1
140
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
210
AIをフル活用してオンコール機能のプロトタイプを2日で作った話 / Building an AI-Powered On-Call Prototype in Just Two Days
nari_ex
0
170
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
850
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
8
5k
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
Between Models and Reality
mayunak
4
360
Test your architecture with Archunit
thirion
1
2.3k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
490
RailsConf 2023
tenderlove
30
1.5k
Unsuck your backbone
ammeep
672
58k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
My Coaching Mixtape
mlcsv
0
160
Transcript
1 ฒྻ։ൃΛࢧԉ͢Δ πʔϧΛ࡞ͬͨ ϩϦϙοϓϜʔϜʔυϝΠϯࣄۀ෦ ݪ ܛ࢜
2 ࣗݾհ ϩϦϙοϓϜʔϜʔυϝΠϯࣄۀ෦ 2020 ৽ଔೖࣾ ݪ ܛ࢜ Keishi Hara •
ϗεςΟϯάαʔϏεΛ࡞ͬͯ·͢ • ઃܭͷΛ͢Δͷ͕͖Ͱ͢ • Go, Rails Λओʹ৮͍ͬͯ·͢ • GoͰcliπʔϧΛ࡞Δͷ͕͖Ͱ͢ • ࠷ۙ whris ͕100starΒ͍خ͍͠ • ϒϩά: yaserarenai.dev • X : @harachan_02206
AIΤʔδΣϯτͬͯ·͔͢ʁ 3
AIίʔσΟϯάΤʔδΣϯτศརʂʂ 4 ϝΠϯλεΫ ςετ࡞ ↓ ࣮ ↓ ςετ αϒλεΫ طଘίʔυͷௐࠪ
& υΩϡϝϯτԽ αϒλεΫ খ͞Ίͷ मਖ਼λεΫ αϒλεΫ ࣍ͷλεΫͷ༧උ ௐࠪ ˍ جຊઃܭॻͷ࡞
AIίʔσΟϯάΤʔδΣϯτศརʂʂ 5 git worktree # ϝΠϯ։ൃσΟϨΫτϦ $ cd path/hoge #
work1 ༻ͷϒϥϯνͱ࡞ۀσΟϨΫτϦΛՃ $ git worktree add ../hoge.work1 -b feature/work1 # work2 ༻ $ git worktree add ../hoge.work2 -b feature/work2 # work3 ༻ $ git worktree add ../hoge.work3 -b feature/work3 # ͦΕͧΕͷϫʔΫεϖʔε͕Ͱ͖͍ͯΔ $ ls -la ../ hoge hoge.work1 hoge.work2 hoge.work3
ฒྻ։ൃͷΓํ 6 • ϙʔτόΠϯσΟϯάͷিಥ ◦ ྫ: ෳͷAPIαʔόʔ͕ಉ͡ :8080 Λୣ͍߹͏ •
ωοτϫʔΫઃఆͷিಥ ◦ ಉ໊͡લͷωοτϫʔΫ͕࡞ΒΕࣦͯഊ͢Δ docker compose ͰෳڥΛ্ཱͪ͛Δͱ…
ฒྻ։ൃͷΓํ 7 • compose.ymlͷमਖ਼ ◦ ຖճஆ͔͍ख࡞ۀͰͷมߋ ◦ compose.ymlͷϙʔτωοτϫʔΫ෦Λڥม͔ΒಡΈࠐΉΑ͏ʹ͢Δ ▪ makeϑΝΠϧͳͲͰڥมΛࣗಈઃఆ
etc… ͔͠͠ɺcompose.ymlͷมߋ͕ࠩͰͯޡcommitͳͲͯ͠͠·͏ ղܾ๏
ͦ͜Ͱ͓͢͢Ίͳͷ͕ʂʂ 8
https://github.com/harakeishi/gopose 9
gopose is ͳʹʁ • ϙʔτিಥͷࣗಈղܾ ◦ γεςϜͰطʹ༻தͷϗετϙʔτͱɺComposeͷॏෳϙʔτΛݕग़͠ɺۭ͍͍ͯΔ ϙʔτࣗಈஔɻ • DockerωοτϫʔΫিಥͷճආ
◦ طଘDockerωοτϫʔΫͷαϒωοτωοτϫʔΫ໊ͱিಥ͢ΔComposeωοτϫʔΫ Λݕग़͠ɺ҆શͳସαϒωοτࣗಈஔɻ • ඇഁյతͳద༻ ◦ ݩͷ docker-compose.yml มߋͤͣɺࠩͷΈΛ docker-compose.override.yml ͱͯ͠ग़ྗ 10
# ϝΠϯ։ൃσΟϨΫτϦ $ cd path/hoge # ϝΠϯͷ։ൃڥΛ্ཱͪ͛ $ docker compose
up -d # αϒλεΫͷϫʔΫεϖʔεʹҠಈ $ cd ../hoge.work1 # goposeͰিಥճආͷoverride.ymlΛ࡞ $ gopose up # αϒλεΫͷ։ൃڥ্ཱͪ͛ $ docker compose up -d goposeͷ͍ํ 11
# Docker Compose Override File # Generated by gopose (Go
Port Override Solution Engine) name: hoge.work1 services: frontend: ports: !override - "8000:80" networks: hoge_net: ipv4_address: 10.20.0.16 backend: ports: !override - "8001:80" networks: hoge_net: ipv4_address: 10.20.0.12 mysql: ports: !override - "8006:3306" networks: hoge_net: ipv4_address: 10.20.0.10 networks: hoge_net: ipam: config: - subnet: "10.20.0.0/24" override.yml͜Μͳײ͡Ͱ͢ 12
• ϙʔτিಥͷࣗಈղܾ a. compose.ymlͷதΛղੳ b. netstat -an ͷ݁ՌΛղੳ c. িಥΛݕ͠ɺoverride.ymlʹॻ͖ग़͠
• DockerωοτϫʔΫিಥͷճආ a. docker network ls/inspect ͰωοτϫʔΫ໊ͱαϒωοτΛऩू b. ComposeͷωοτϫʔΫ͝ͱʹɺ࣮ࡍʹੜ͞ΕΔωοτϫʔΫ໊ʢ-p/--project-name Ͱ͘ ಄ࣙʣͱαϒωοτΛٻΊɺ໊લিಥͱαϒωοτিಥΛݕग़ c. ඞཁ͕͋Ε)ݻఆIP࠶ׂ େ·͔ͳಈ࡞༰ 13
14 Thank you!