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
530
PHP3問クイズ: エラーの中身は何じゃろな?
mohira
1
120
Other Decks in Programming
See All in Programming
実践 Dev Containers × Claude Code
touyu
1
200
Flutterと Vibe Coding で個人開発!
hyshu
1
250
バイブコーディング × 設計思考
nogu66
0
120
Understanding Ruby Grammar Through Conflicts
yui_knk
1
110
Terraform やるなら公式スタイルガイドを読もう 〜重要項目 10選〜
hiyanger
13
3.1k
生成AI、実際どう? - ニーリーの場合
nealle
0
110
GitHub Copilotの全体像と活用のヒント AI駆動開発の最初の一歩
74th
7
2.9k
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
390
それ CLI フレームワークがなくてもできるよ / Building CLI Tools Without Frameworks
orgachem
PRO
17
3.9k
Portapad紹介プレゼンテーション
gotoumakakeru
1
130
Go製CLIツールをnpmで配布するには
syumai
2
1.2k
令和最新版手のひらコンピュータ
koba789
13
7.8k
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
25
1.8k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The Language of Interfaces
destraynor
159
25k
Designing Experiences People Love
moore
142
24k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
RailsConf 2023
tenderlove
30
1.2k
Embracing the Ebb and Flow
colly
86
4.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Side Projects
sachag
455
43k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
4 Signs Your Business is Dying
shpigford
184
22k
Become a Pro
speakerdeck
PRO
29
5.5k
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