Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
270
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
4.1k
TDDBC Online #01 朝会/tddbc-online-01-morning-mtg
mohira
0
120
TDDBC Online #01 開幕編/tddbc-online-01-opening
mohira
0
130
TDDBC準備会 / tddbc-online-preparation-day
mohira
0
550
PHP3問クイズ: エラーの中身は何じゃろな?
mohira
1
120
Other Decks in Programming
See All in Programming
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
7
2.4k
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
11
4k
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
140
Navigating Dependency Injection with Metro
l2hyunwoo
1
190
Cap'n Webについて
yusukebe
0
150
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
610
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
430
SwiftUIで本格音ゲー実装してみた
hypebeans
0
500
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
140
Implementation Patterns
denyspoltorak
0
120
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Spectacular Lies of Maps
axbom
PRO
1
400
Fireside Chat
paigeccino
41
3.8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Done Done
chrislema
186
16k
GitHub's CSS Performance
jonrohan
1032
470k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Making Projects Easy
brettharned
120
6.5k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
40k
Optimizing for Happiness
mojombo
379
70k
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