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
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
540
PHP3問クイズ: エラーの中身は何じゃろな?
mohira
1
120
Other Decks in Programming
See All in Programming
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
220
エンジニアに事業やプロダクトを理解してもらうためにやってること
murabayashi
0
110
HTTPじゃ遅すぎる! SwitchBotを自作ハブで動かして学ぶBLE通信
occhi
0
140
CSC305 Lecture 13
javiergs
PRO
0
340
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.7k
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
CSC305 Lecture 11
javiergs
PRO
0
320
Dive into Triton Internals
appleparan
0
400
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.4k
CSC509 Lecture 11
javiergs
PRO
0
280
CSC305 Lecture 10
javiergs
PRO
0
330
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
2k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The World Runs on Bad Software
bkeepers
PRO
72
11k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
GitHub's CSS Performance
jonrohan
1032
470k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Cult of Friendly URLs
andyhume
79
6.7k
A Modern Web Designer's Workflow
chriscoyier
697
190k
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