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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
mohira
July 04, 2020
Programming
270
0
Share
WIP_リモートペアプロ環境構築の手引き / remote-pair-programming-env
mohira
July 04, 2020
More Decks by mohira
See All by mohira
『Goならわかるシステムプログラミング』はオススメ! / My Recommendation book "Go System Programming"
mohira
0
4.2k
TDDBC Online #01 朝会/tddbc-online-01-morning-mtg
mohira
0
130
TDDBC Online #01 開幕編/tddbc-online-01-opening
mohira
0
130
TDDBC準備会 / tddbc-online-preparation-day
mohira
0
570
PHP3問クイズ: エラーの中身は何じゃろな?
mohira
1
130
Other Decks in Programming
See All in Programming
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
360
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
130
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
120
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
210
tRPCの概要と少しだけパフォーマンス
misoton665
2
180
CDK Deployのための ”反響定位”
watany
4
750
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
170
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
240
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
220
Make GenAI Production-Ready with Kubernetes Patterns
bibryam
0
120
JOAI2026 1st solution - heron0519 -
heron0519
0
130
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
490
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
106
240k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
450
Believing is Seeing
oripsolob
1
110
Large-scale JavaScript Application Architecture
addyosmani
515
110k
How to make the Groovebox
asonas
2
2.1k
Google's AI Overviews - The New Search
badams
0
970
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
WCS-LA-2024
lcolladotor
0
540
Thoughts on Productivity
jonyablonski
76
5.1k
YesSQL, Process and Tooling at Scale
rocio
174
15k
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