Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Amazon WorkspacesとZoomで
リモートモブプログラミング環境作成

Amazon WorkspacesとZoomで
リモートモブプログラミング環境作成

ゆるWeb勉強会@札幌 OnLine #8
https://mild-web-sap.connpass.com/event/185835/

Hiroto YAMAKAWA

August 24, 2020
Tweet

More Decks by Hiroto YAMAKAWA

Other Decks in Programming

Transcript

  1. #ゆるWeb札幌 2 公立千歳科学技術大学 情報システム工学科 専任講師
 R&D: Experimental Development of ICT Systems

    (ex: City-Bus Tacking System) 
 Computer in Education, Programming and Programmer's Learning 
 
 Communities: YAMAKAWA, Hiroto : @gishi_yama 2
  2. #ゆるWeb札幌 モブプログラミング(モブワーク, モビング) とは 6 マーク・パール (著)、長尾高弘(訳)、
 及部敬雄(解説):
 モブプログラミング・ベストプラクティス ?

    モブプログラミング: 
  複数人の質疑や議論の結果で進み、
  フロー効率の向上やチームの成長に
  寄与する ◦ 難しい課題に複数人の知識、
    スキル、ノウハウを総動員し取り組める
 ◦ 相互に知識・スキルを共有・継承できる
 ◦ 開発と改善(レビュー・リファクタリング)
    を兼ねられる ! ひとつのプログラミング課題に、複数人のチームメンバーが、
 同じ場所で、ひとつのパソコンを使って、解決方法を議論しながら
 開発を進める手法 参考文献:
  3. #ゆるWeb札幌 1. 3名以上で一カ所に集まる 2. タイピスト(1名)とモブ(そのほか)に分かれる。タイピストは、パソコンの前に座る。 3. 活動する時間と、時間内に到達を目指すゴール、タイピストの交代のタイミング(5〜15分ごと)を決める
 〈モブ〉
 ・ ディスプレイに表示される画面を全員で見ながら、


      解決すべき課題や問題点に集中し、問題解決のための方法を考え・推測・提案する
 ・ わからないことはわかるまで質問して、学ぶ
 〈タイピスト〉
 ・モブ全員の合意がとれた操作やコードの入力をする 4. タイミングがきたら、タイピストを交代する。 5. ゴールが達成できたら、みんなで喜ぶ(ハイタッチ!) 6. モブ終了の時間がきたら、次回のモブにむけてふりかえりを行う モブプログラミングの流れ 7 モブ タイピスト モブ モブ モブ モブ
  4. #ゆるWeb札幌 Zoomミーティング AWS Workspaces 遠隔タイピストPC Zoomで画面共有 Workspaceクライアントで
 接続・タイピスト操作 タイピスト役 音声・カメラ


    共有 音声・カメラ共有 モブ役たち IntelliJ IDEA,
 Slack, Zoom を起動 10分程度で交代
 モブ役→タイピスト役は
  Workspacesクライアントを起動
 タイピスト役→モブ役は
 Workspacesクライアントを終了 Zoomを起動 遠隔タイピストPCの画面を
 Zoom画面共有で確認しながら
 モブ役達でディスカッションし、
 タイピストへ操作依頼 モブトレーナー
 (※慣れないうちは) 進め方の助言 10 こんな感じでいけそう?
  5. #ゆるWeb札幌 Amazon Workspacesで
 仮想マシンを作成 11 近所で買える日本酒(2)
 沢の鶴 生酛造り 純米 300ml
 ホクレンショップで発見。

    しっかりした味わい・香りだけど
 口に含んだ後の抜け感が良い。
 食中酒にもGood。
 お値段もワンコインで収まってうれしい。
  6. #ゆるWeb札幌 Linux(Amazon Linux 2)、Windows(Server 2016 Datacenter)の仮想マシンを利用可能
 手元からは Workspace Client で接続して、リモートデスクトップとして使用する


    (PC、iPad, Android/ChromeBook, FireTablet、Webブラウザ) Amazon Workspaces 12 Directory(認証・認可情報を管理) 1ユーザーに
 1ワークスペースを
 わりあて クライアントで接続 User1 User2 User3
  7. #ゆるWeb札幌 仮想マシンを
 タイピスト端末にして利用する 20 近所で買える日本酒?(3) 高砂酒造 国士無双 梅酒
 イオンのお酒コーナーで発見。
 
 日本酒「国士無双」を使った梅酒。


    甘みとキレのバランスがとても良い。
 冷やしてストレートでも楽しめます。 箱なし版(税込1,400ぐらい)が
 安くてオススメです。
  8. #ゆるWeb札幌 • JDK(Amazon Linux 2 ならAmazon Correto 11でいいかも)
  ⇒ 最新のJavaを使いたいならSDKMAN!いれてお好きなディストリビューションで

    • JetBrains IntelliJ IDEA
  ⇒ 言わずと知れた神IDE。学生も無料で使える神IDE。
  ⇒ プラグインとして:
  Mob Programming Timer(https://plugins.jetbrains.com/plugin/13585-mob-programming-timer/) 
  ⇒ 他は開発に必要なものをお好みで
 ※VSCodeにしなかった理由は後述 • Slack
  ⇒ 主にタイピスト端末への情報送り込み用途 • Zoom
  ⇒ 画面共有用、コンピュータオーディオには参加させない(ハウリング防止) とりあえずJavaを想定した開発環境をインストール(※linux編) 21
  9. #ゆるWeb札幌 実践してみて出てきたTips 25 近所で買える日本酒(4):レア
 
 清水清三郎商店 「作」 恵乃智
 ごく一部のツルハドラッグで発見。 香りも味もふくよか、それでいてすっきり。
 日本酒こだわる系の居酒屋にも


    割とある、ある意味定番処。
 冷やしたのを用意して、手のひらの熱で
 少しずつ変わる印象を楽しむのもよし。
 
 4合瓶だしちょっとお高い(2,000円台)。
  10. #ゆるWeb札幌 実行モードはいつまでAutoStop(時間単位課金)にする? ⇒ 最小設定で切断後、1時間経つと自動的にWorkspaceはスリープする
   さらに、Workspace Clientを起動してログインすれば自動起動する
   始めようと思ったタイミングで誰でも起動できる ⇒

    散発的なモブであれば、時間単位課金で十分(?)
   ネットで調べると、80時間ぐらいが時間単位・月額固定の判断点 
 よっしゃ!モブをやりたいチームの数だけ環境作ったろ! ⇒ デフォルト設定だと、仮想マシンは2台までしか作れない
   共用するなら終了時のお掃除ルールなどを決めておかないと、次のチームが萎える ⇒ フォームから制限緩和リクエストを申請する必要あり
 https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase
 &limitType=service-code-workspaces AWS Workspacesの使い方 26
  11. #ゆるWeb札幌 事例発表すると「なんでZoomの画面共有?VSCodeのLiveShareは?」という質問が毎回くる
 ⇒ 普段の開発環境を大きく変えたくなかった(現状、IntelliJ IDEAで統一)
 ⇒ LiveShareだと機能的すぎて「うまくハマらない」事例がある by @kappe1982 さん調べ


       https://www.remotemobprogramming.org/ より
 
 
 
 
 
 かといって、リモートだとタイピストへの指示が伝わりにくいときもある
 (ジェスチャーや指さしなどで指示していたことが抜けた事の大きさ)
 ⇒ モブ側から、Zoomの画面コメント機能で 図形やマークを書き込むようにした
     伝わらない!そこじゃない!というストレスは大分軽減した ツールの使い方 27 We tried collaboration IDEs. Surprisingly, this led to worse collaboration. 
 Impatient members of the rest of the mob circumvent both, the discussion and the typist,
 by just hacking their ideas. せっかちな一部のモブが,自分達のアイディアで(画面を)
  ハックして、議論やタイピストを避けてしまう なんだかんだ言って、Zoomの画面共有は優秀...
  12. #ゆるWeb札幌 (多分)Linux版Zoomがちょっとトラブルことがある
 ⇒ クライアントを切り替えると画面共有のサイズも替わる(再度共有で解決)
 ⇒ 画面共有をすると画面に謎の暗転フィルタがかかる(再々度共有で解決)
 ⇒ IDEの一部のダイアログやウィンドウが共有されてこない
 (今◦◦やってます!と声で解決) (多分)突然IBUSが応答不能になる

      ⇒ ローカル PCで書いた文章をWorkspaces経由でコピペする (多分)Workspaces クライアントのポートが空いてないと辛い
   ⇒ ポート 443 (TCP)
   ⇒ ポート 4172 (UDP と TCP)
   ※駄目な場合はVPNで回避?(未検証)
     画面共有のバグとか仕様を踏むと辛い(現状解決できてない問題点) 29 キーボード問題解決したので
 もうWindowsでいいかな...
 という気持ち そもそもAWSよわよわ人材なのでちゃんと試せてない
  13. #ゆるWeb札幌 おしまい 30 近所で買える日本酒(5):レア 旭酒造 獺祭 お試し3本セット 180ml×3
 まれにコープさっぽろで発見。 磨き45,

    39, 23が一本ずつ入ってる。
 大きい獺祭一本より、このセットの方が
 個人的には満足度高い。
 日本酒入門の人もオススメ。
 
 ちょっとお高い(3,000円前後)。
 大型連休の前にコープさっぽろ行くと
 なんか売ってる確率高い気がする。