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
WIP_リモートペアプロ環境構築の手引き / remote-pair-programmin...
Search
mohira
July 04, 2020
Programming
0
260
WIP_リモートペアプロ環境構築の手引き / remote-pair-programming-env
mohira
July 04, 2020
Tweet
Share
More Decks by mohira
See All by mohira
『Goならわかるシステムプログラミング』はオススメ! / My Recommendation book "Go System Programming"
mohira
0
4k
TDDBC Online #01 朝会/tddbc-online-01-morning-mtg
mohira
0
120
TDDBC Online #01 開幕編/tddbc-online-01-opening
mohira
0
120
TDDBC準備会 / tddbc-online-preparation-day
mohira
0
520
PHP3問クイズ: エラーの中身は何じゃろな?
mohira
1
120
Other Decks in Programming
See All in Programming
Code as Context 〜 1にコードで 2にリンタ 34がなくて 5にルール? 〜
yodakeisuke
0
110
PicoRuby on Rails
makicamel
2
110
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
170
エラーって何種類あるの?
kajitack
5
320
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.1k
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
260
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
400
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
420
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
230
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
520
GraphRAGの仕組みまるわかり
tosuri13
8
500
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7k
Making Projects Easy
brettharned
116
6.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
670
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
KATA
mclloyd
30
14k
Embracing the Ebb and Flow
colly
86
4.7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Typedesign – Prime Four
hannesfritz
42
2.7k
Documentation Writing (for coders)
carmenintech
72
4.9k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Transcript
[WIP] リモートペアプロ環境構築の⼿ 引き @TDDBC Online 2020.07.04 版 @mohira 1
注意! このスライドは書きかけです! 書き終わったら、タイトルから WIP を外します どんどん情報が変わる可能性があります オレオレTODO [ ] たぶん想像しにくいので構成図やスクショを差し込む
[ ] 他の⾔語のQuickStart リポジトリを⽤意する 2
スライドのスコープ定義 伝えること リモートペアプロ環境構築の完了定義 リモートペアプロとオフラインペアプロの違い リモートペアプロ環境構築のパターン紹介 リモートペアプロであると良いもの 伝えないこと ペアプロ⾃体の話 3
完了条件の定義 この4 つさえできていれば何でもOK ! 1. お互いの「物理的なインフラ」が整備されている 2. お互いの実⾏環境が統⼀されている 3. ドライバー交代ができる
4. ペア内で共通の認識がとれている 4
え? そんなん楽勝じゃね? 5
意外とそうでもない! 6
オフラインペアプロとの⽐較 オフラインでは「なんとかなる」 リモートでは「なんとかならない」 例えば、 トラブルシューティングは実際ソロプレイ頼み ⾃分がみているものと、相⽅がみている画⾯が異なる マイクやスピーカーの調整も必須 いろいろ不安になりやすい その他⾊んな情報が伝わらない 7
環境構築は⼤仕事! だから事前にやろう! 8
物理インフラ編 ⼤前提の物理インフラ編 9
必須系アイテム インターネット環境 重要アイテム マルチモニター ⾳声環境 良いマイク スピーカーやヘッドホン ⼤前提の物理インフラ編 10
11
リモートペアプロ環境構築パターン 3 選 3 パターンを紹介します 1. Push/Pull パターン 2. LiveShare
パターン 3. ブラウザIDE パターン 12
1. Push/Pull パターン 1. Push/Pull パターン 13
やり⽅ 開発環境は各⾃のマシンで好きなものを採⽤する 交代する際には、Push/Pull を⾏う ドライバーの画⾯を共有しながら進める 同時に画⾯共有ができるのがオススメ(Discord/GoogleMeet など) Zoom は共有される画⾯の切り替えが⼿間なので、おすすめでき ない(
⾃分は耐えられなかった) 1. Push/Pull パターン 14
嬉しいところ 各⾃のIDE が使えるのでコーディングのストレスがない 相⼿のツールの使い⽅を⾒て学べる GitHub に慣れていれば新しく覚えることはない 残念ポイント ローカル環境を⼀致させるのがやっぱり⾯倒 交代するのに少し時間がかかる(Push/Pull が必要だから)
1. Push/Pull パターン 15
ちょいメモ : Push/Pull での交代はただの⼿間なのか? 確かにちょっと⼿間ですが、個⼈としてはむしろメリットが多いと考 えています。 それは「交代時に Commit が必要となる」から。 絶対に
Commit するので、振り返りの回数が⾃然と多くなるのです。 普段はあまり省みることが少ない( であろう) コミットメッセージさえ もペアプロするのです! ただし、万⼈にとって良いかというと、経験上は微妙なところ。 1. Push/Pull パターン 16
2. LiveShare パターン 2. LiveShare パターン 17
やり⽅ Visual Studio か Visual Studio Code を⽤意する ソースコードを管理する⼈を決める( ホストとする)
ホストがテストプロジェクトを⽤意する(GitHub からクローン or 0 からプロジェクトを作る) ホストは LiveShare のリンクURL を発⾏する ゲストに Discord でリンクURL を共有する 交代するときはゲストが LiveShare したままコードを書く 2. LiveShare パターン 18
嬉しいところ 環境構築の負担がホストだけで済む 両⽅が整わないと進めない!ということは避けられる 交代のコストが掛からない ナビゲーター⾃⾝がリアルタイムでコードに⽰すことができる 残念なところ ゲストは IDE のインテリセンスが利かない(← チョー⾟い!!)
ゲストはテスト実⾏ができない( ホストにテスト実⾏をやってもらう 必要がある) 2. LiveShare パターン 19
ちょいメモ TODO: ちょっとしたことや補⾜が思いついたら書く 2. LiveShare パターン 20
3. ブラウザ IDE パターン (repl.it 編 ) 3. ブラウザIDE パターン
21
やり⽅ ブラウザIDE はいくつかあるけれど、今回は repl.it ( れぷるいっと) を 紹介 アカウント登録をする 環境を作る(GitHub
からのClone でもOK) 相⽅に環境の共有リンクを送る 3. ブラウザIDE パターン 22
嬉しいポイント 環境構築がカンタン ブラウザだけあればOK 同時編集機能など基本的な機能は揃っている 残念なところ IDE として貧弱 ちょっとクセがある 相⽅の開発スタイルやテクニック吸収の機会が減る 3.
ブラウザIDE パターン 23
ちょいメモ 発展途上なサービスなので不安と期待が⼊り交じる はじめてのペアプロ( モブプロ) 会などで使うのがオススメ 環境トラブルが合った場合の避難先としても有⽤ 3. ブラウザIDE パターン 24
今回紹介しなかったツール cyber-dojo ブラウザのみでいける オフラインペアプロ( モブプロ) なら相当アリ AWS Cloud9 クラウドベースのIDE 設定ができればかなり快適
25
QuickStart QuickStart 26
QuickStart - Python x Pytest TDD ⽤のリポジトリを⽤意しました。(Python のみ) Python3.8 /
pytest mohira/replit-tdd-pytest README に使い⽅が記述されています .replit は repl.it ⽤のファイルです repl.it でなくても使えます QuickStart 27
他の⾔語のリポジトリ TODO: 準備しような! QuickStart 28
Tips: リモートペアプロであるとよいもの モニター! モニター! とにかくモニター! マイク コミュニケーションツール ホワイトボード: miro テキスト共有:
Hackmd / GoogleDocs Tips 29
参考になる⽂献 リモートモブプログラミング - STAY HOME with TEAM - Speaker Deck
13. ペアプロやテストの疑問とか、ソフトウェアエンジニアの育 成とか | fukabori.fm 30