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

JavaDo #19

JavaDo #19

〈7/17〉Java 17 までの新文法をオンラインモブプログラミングで体験会
https://javado.connpass.com/event/217537/

Hiroto YAMAKAWA

July 17, 2021
Tweet

More Decks by Hiroto YAMAKAWA

Other Decks in Programming

Transcript

  1. #javado 〜 Java 9 : Milling Project Coin (2017)  Java

    7(Project Coin: try-with-resouces や型引数の省略など)の微修正  ・インターフェースのPrivateメソッド  ・try-with-resources の実質finalな変数利用  ・_ だけの使用禁止 など Java 9 〜 Project Amber (半年ごと)  Javaの生産性を重視した小規模な言語使用のインキュベート  一部 Preview で導入し、その後追加の改善や正式が行われる  ・var ・Instance of のパターンマッチ ・switch式 ・Textブロック ・Records など その他:標準ライブラリの改善など(半年ごと)  ・List などの .of , copyOf、Stringのformatted 、Streamのnot, drop/takeWhile, toList、   HTTPClientなど !pq$rrsttuvwsx)yz{|+,)}~Y•€CR•‚TG 6 Javaは後⽅互換性を⼤切にしつつも、 新たな⾔語や技術が作り出す「最近の当然」を取り込む速度をあげられるようになってきた
  2. #javado インターフェースを実装するクラスが、 共通して・初期状態として持つメソッドと その処理内容を記述できるようになった たとえば... getZoneCode() で "JST" を返す TokyoClockクラス

    getZoneCode() で "EST" を返す ParisClockクラス を実装すれば、それぞれのインスタンスの getZoneTime で、タイムロケール 設定済みの日時を得ることができる。 20ds£¦st)$§—ž"š •¨$©‘•#"•—$EªA« 10
  3. #javado 一覧しててみやすい参考サイト: @hishidama "ひしだま's ホームページ Java新機能(Javaの変更点)" https://www.ne.jp/asahi/hishidama/home/tech/java/uptodate.html きしだなおきさんのQiita記事: @kis "Java16新機能まとめ"

    など https://qiita.com/nowokay 櫻庭 祐一さんのBlog記事: @skrb "JEPでは語れないJava 16" など http://www.javainthebox.com/ "今こそStream API 入門" もとても参考になる https://www.slideshare.net/skrb/stream-api-125945709 X)ÌMCYGkÍ•ÎJ 24
  4. #javado 345671807>34Ósʨ$3Ö07P$Ko 27 マーク・パール (著)、長尾高弘(訳)、 及部敬雄(解説): モブプログラミング・ベストプラクティス モブプログラミング:   複数人の質疑や議論の結果で進み、  フロー効率の向上やチームの成長に

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

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

    音声・カメラ Workspacesの 画面共有 音声・カメラ共有 モブ役たち IntelliJ IDEA, Zoom を起動 ブラウザも利用可 10分程度で交代 モブ役→タイピスト役は  Workspacesクライアントを起動 タイピスト役→モブ役は Workspacesクライアントを終了 (変更タイミングはお知らせします) Zoomを起動 遠隔タイピストPCの画面を Zoom画面共有で確認しながら モブ役達でディスカッションし、 タイピストへ操作依頼
  7. #javado • 内職はやめましょう! 通知がきたのでつい...は休み時間までグッと堪える。  ⇒どうしても緊急のときは、一旦モブの活動から抜けて、終了させてから戻ってくる。 進行に必要な調べものも、タイピストに指示をしてみんなで同じ画面で調べる。  ⇒調べる時は一時的にタイマーをポーズしても良い。 • できるだけビデオもONにしましょう! メンバーがどんな表情で参加しているかも、チームに重要な情報です。

    差し支えのない範囲で、カメラをONにして参加しましょう。 • タイピストへ指示するときは、Zoomのコメント機能をうまく使おう! オプションを表示>コメントをつける で、画面共有に色々描ける  ⇒レーザーポインタのつもりで「絵を描く」「スターをつける」で指し示す  ⇒削除で消す • 細かくゴールを設定して、達成したら万歳しよう! 「何分ぐらいで◦◦をしよう」と目標を決めてから作業をする 目標が達成できたら、全員で万歳をして喜ぶ(少し大げさに) 345671807)ÛÜÝ>ÞP 30
  8. #javado • 参加者の人へ どんなに小さいことでも「わからない」「不安」「こういうことかな?と確認したい」が 1つも残らないようにどんどん質問・確認しましょう。 もちろん、プログラムのこと以外でも構いません。 あなたが質問すれことで、同じ事を思っている・実は勘違いしている他の人も助かります。 • 経験者の方へ 参加者(初心者)の方が発言しやすい雰囲気造りや、確認の促しをしてあげてください。

    どんな細かいことでも共有された知識・スキルがチームの財産や蓄積になります。 あながた教えることで、チームがどんどん円滑に、ゴールに進めるようになります。 • Java Do スタッフへ 原則経験者と同じ振る舞いですが、タイピストの暴走(モブの合議や指示のない操作)や モブの暴走(一人の意見で質疑や合議無しに進んでしまう)を防いでください。 ゴールに到達したら率先して喜んでください。チームの良い雰囲気が作れます。 345671807)ÛÜÝ>ßP 31
  9. #javado File > ProjectStructure の Project や Modules で、 Language

    Level を 16 (Preview) - Sealed Types にしてください。 •àáP*†k56v¦ÊB-âJã 33