mike-neckのブログ

Java or Groovy or Swift or Golang

JJUG CCC 2018 (Winterでなく)Fall に参加してきた

表記の通り、 JJUG CCC 2018 (もう 12 月だけど) Fall に参加してきた

www.java-users.jp

で、恒例のそのメモ

f:id:mike_neck:20181019112748p:plain


Pivotal認定講師によるSpring Framework 5.1ハンズオン!

日本で唯一の Pivotal 認定講師カサレアルの 多田さん とカサレアルのスタッフによる Spring Framework 5.1 のハンズオン。 (【2018/12/17 9:08 追記】後ほど教えてもらった話によると、正確には多田さんは Spring Cloud と Cloud Foundry の唯一の認定講師で、 Spring の認定講師には 土岐さんもいらっしゃるとのこと)

教材がかなり作り込まれており、ひょっとしたら、カサレアルで行っている研修内容に近いのではないかと思えるくらいクオリティの高いハンズオンでした(カサレアルのページによると、 『はじめての Spring Mvc によるシステム開発』 というコースで 10 万円だそうで、このセッションに参加するだけで5万円くらいはとってもよさそうなくらいのクオリティ)。

また、多田さんは日本で唯一の Pivotal 認定講師ですが、その一方で、「アブストラクアノテーションコンフィグディスパッチャーサーブレットイニシャライザー」を早口で舌を噛まずに言える日本人唯一の人なので、それを聞くためにも参加して損はしないハンズオンでした。

参加した意図は Spring にここ最近触れていないので、感覚を取り戻しておきたかったからです。ほとんど変わっていないことは確認できる一方、 @RepositoryCrudRepository につけなくてもよくなっていたりで、より簡略できるようになっていることが確認できました。

あとどうでも良い話ですが、前日に準備してくださいと言われていたので、準備した際に、宗教的な理由により maven で構築されたプロジェクトを gradle に移行して本セッションに臨みました。


思考停止しないアーキテクチャー設計

無職を辞めて最近会社を作った 川島さん のセッション。昼休みから戻った時点で部屋が6〜7割埋まってしまうほどの大人気セッションでした。

雑にまとめた内容

  • 非機能要件からアーキテクチャーを決定していく
  • ただし機能要件からもアーキテクチャー要求が発生することがある
  • どんなに丁寧にやってもアーキテクチャー設計の考慮漏れを防ぐのは難しい
  • 企画した後に前提が変わることもあり、技術的負債のメモ/金額換算をしておいて、リスク等を低減する

なお、冒頭に会社設立のゲーム化したもののデモプレイが流れました。 URL を取り忘れたので、誰かあとで教えてください。

(【2018/12/17 9:08 追記】起業クエスト はこちら → 起業クエスト tada_suzu さん ありがとうございます)


複雑なドメインに泥臭く立ち向かう

Koji Sudoさんによる 複雑な業務をどのようにモデル化して、実装に落とし込むかの理論的な話と実際の取り組み例を紹介するセッションでした。すごく話し上手で、聞いているだけで自分があたかもデキる人に感じてしまう魅惑なセッションでもあります。

以下雑なまとめ

  • アプリケーションの最も実現したい部分をまず作ってから、複合的なパターンを構築していく
    • 複雑なものを最初からすべて実現するように作ると、複雑で読解困難なものができてしまう
  • 複雑な業務をモデル化するために
    • 業務について書かれている書籍やガイドなどをもとに勉強する
    • 業務を実際に体験する(ロールプレイングする)
  • モデルを抽出するのは、複雑なものを簡単にするためではなく、複雑なものを人間が理解できるようにするため
  • 複数人で開発する場合、分野により個々の力量差があるため、モブプログラミングを採用するなどして複数のプログラムにレベルの差が現れないようにする
  • データと情報を区別する
    • データ : クラスを構成する値など
    • 情報 : データから導き出される値など

次の時間は眠気で休んでいました

しかし、久保田さんのセッションと思しきツイートがいくつか見られました。自分の勤務先でも現在 Java8 から Java 11 への移行を計画していますが、一度フレームワーク/ライブラリー等の移行のための動作確認等を行っておいたほうがよいかと思いました。


コードをど真ん中にそえた設計アプローチ

いろふさん のセッション。上級者向けとあり、世の中の Java 上級エンジニアが大挙して集まるセッションでした。内容はコードとドキュメントと設計をどのようにして楽におこなうかという話。

以下雑なまとめ

  • ドキュメントは基本的にメンテされないので、動くコードから生成する
  • ロジックよりは型に意図を込めていく
  • ドキュメントとするためにコードが歪むのは本末転倒

また、 JIG というライブラリーを作っていて、こちらからドキュメントを生成するような仕組みを作っているとのことです。

github.com


アンカンファレンス「OSSとコミュニティの運営など」

本当は 「GCを発生させないJVMとコーディングスタイル」 を見ようと思っていたのですが、長蛇の列を見て諦めました。で、とりあえず入ったのがこのセッション。

  • OSS のフリーライド等
    • US の企業で OSS を無償(ノーサポート)で使っていてそのトラブルに見舞われて解決できない場合などは、その企業は株主にかなり責め立てられるそうです(当然、株は売られるので株価が下がる)。したがって、 OSS を使う場合にお金を払うのは企業の姿として至極当然のようです(Red Hat はこのあたりをビジネスにしている)。
  • Meetup のドタキャン
    • 日本だけの問題でもないとのこと
    • わりと企業が Meetup のスポンサーになるそうで、懇親会をしてから本編をやるなどの工夫があるようです

懇親会

本来は懇親会に参加の予定はなかったのですが、 Java チャンピオンの せろさん の機転により参加できました。


今回振り返ってみてですが、あまり先進的なトピックのセッションではなく、開発プロセスの話を多く聞いたように思います。開発プロセスの話に面白そうなのが多かったというのが理由です。