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
設計の進め方と 品質特性品質特性
harakeishi
0
1k
golang.tokyo発表資料(whrisというコマンドを作った話)
harakeishi
0
46
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
240
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
140
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
5
1.9k
自宅NWにISR4331を導入してみた話
okaits
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
770
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
630
カートの信頼性を担保するWireMockを使ったe2eテスト
ykagano
0
390
LanceDB入門
mocobeta
8
590
Sets in Go
ramalho
1
990
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
440
Git: the NoSQL Database
bkeepers
PRO
432
67k
The Invisible Side of Design
smashingmag
301
52k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
530
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
940
Abbi's Birthday
coloredviolet
3
9.3k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
New Earth Scene 8
popppiees
3
2.5k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
240
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
From π to Pie charts
rasagy
0
290
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!