「JJUG CCC 2016 Fall(#jjug_ccc)」に参加してきました

jjug

日本Javaユーザグループ(JJUG)のイベント「JJUG CCC 2016 Fall」に参加してきました。

また、当日の資料は下記にまとめてあるようです。
https://github.com/jjug-ccc/slides-articles-2016fall

参加セッション

PHP系の勉強会は結構参加してましたがJavaは初参加です。
当日は前職でお世話になった先輩に声をかけていただき、在籍時の若手のメンバーと一緒に興味あるセッションをまわりました。

新人研修や本では教えてくれない Java!〜フレームワークの仕組みと実務必須ツールを学ぼう / 多田 真敏さん

今の会社は新卒採用をしていないので新人研修を行うことはないですが、
将来的に若手を育てることになった場合を考えて参加してみました。

当日発表された資料は下記にて公開されています。

途中から参加したため途中からのメモになります。

・DIのメリットとして、インターフェースで定義することで単体テストをやりやすくする。
・フレークワークやDIコンテナ、ORマッパーはリフレクションをフル活用している
・ロギングツールも教えてあげよう(LogBackツールの話)

ログについては、確かに新人研修のときにログについては何も習わなかったなぁと。
前職でも実業務に入ってからもログ設計とかいまいちだった印象。
どのような時にどのレベルでどのような内容のログを出力するのかが明確でなかった気がします。

今はスクラッチ開発が多いので開発時にはメンバー間でログ設計を行うことを心がけています。
ログレベルやログの出力箇所、出力内容のフォーマット統一化など。

これをしっかりやるとやらないでは保守フェーズに入った時の調査の工数が大きく変わってくるので大事。

こういったマインドも新人研修では教える必要があると思いました。

SIerもはじめる わたしたちのDevOps しょぼちむ / 阿佐 志保 さん

SIerだけどDevOpsに興味がある!
ということで参加することにしました。

当日発表された資料は下記にて公開されています。

しょぼちむさんパート

参加したはずなのにメモがない。。。

どちらも自身の取り組みからDevOpsに対する考え方や実践方法についてのお話だったかと思います。

聞きながら自分の環境に当てはめると、
実現できればリリース時の工数削減につながって現場としてはハッピーになるのにと思う反面、
自社でDevOpsを実現するのは結構ハードル高そうだな~
と思いながら聞いてました。

(セッション時のPPAPは見れませんでしたが懇親会LTで再演があってよかったです)

日本でも出来る!最先端のDevOpsを導入する方法 / 牛尾 剛さん(MICROSOFT CORPORATION)

こちらの前のセッションと同様に、
SIerだけどDevOpsに興味がある!
ということで参加することにしました。

一緒に参加した先輩と同席しました。
事前情報として牛尾さんはとても面白い人だと聞いていましたが、
まさか冒頭で「DevOps!」のコール&レスポンスが来るとは思いませんでした。

とはいえセッションの内容はロジカルでかつお話しも聞きやすくとても満足できました。
(スライドの内容もとても見やすかったのでそういった部分でもとても参考になりました。)

メモは多めになります。

・DevOpsとは、人/プロセス/プロダクトの集合体で継続的にエンドユーザーに価値を提供すること
・マイクロサービスはDevOpsがしっかりしていないとイケてない

・DevOpsの実現
 ⇒ リードタイムの短縮
 ⇒ 本番環境/ユーザーからのフィードバック
  ⇒ 本番環境は聖域ではなくフィードバックの場所である
  ⇒ リーンスタートアップの考え
  ⇒ 継続的な学びと実践の場所

・コミットしてから2時間以内にデプロイできるか?という問いかけ

・USのチームは、
 ⇒ エンジニア、Ops、ビジネス企画でサービスチームを作る
  ⇒ チーム内に権限を与えてそこで考えて解決する
   ⇒ 顧客と直接のコラボレーション
    ⇒ 上司にお伺いが不要なのでスピードがはやい

・では日本でDevOpsを導入するには?
 ⇒ DevOpsのプレゼンテーション&デモ
  ⇒ 日本人はデモが好き
 ⇒ Value stream marketing
  ⇒ リードタイムに関連するプロセスの可視化と課題の共有
   ⇒ フローで可視化する
  ⇒ でもルールは変えられないよね
   ⇒ お偉いさんは結局リードタイムが減ったほうがいい
    ⇒ 意外と承認が降りることがある

・文化とギャップのインストール
 ⇒ 日本はアジャイルの導入難易度が高い
 ⇒ DevOpsはアジャイルの上に成り立つ(発祥は西洋:US)
  ⇒ それを日本の文化の上に載せるとギャップが生まれる
   ⇒ そのギャップを埋めるためには西洋文化をインストールする

・日本はUSと比べて生産性が低い?
 ⇒ なぜだ!
  ⇒ 物量が違う
   ⇒ USで1で済むことを日本では10倍かかる
    ⇒ 同じぐらいのValueを生み出すのに無駄が多い
    ⇒ 重要ではないことに時間をかけている
  ⇒ より少ない時間で最大限のValueを生み出すことを考える
   ⇒ 何を捨てるべきかを考える
    ⇒ すなわち、重要なこと以外やらない
・日本人は準備に時間をかける
 ⇒ 彼らは特に準備せずにその場でやってみて価値を出す

自分の仕事に当てはめると、
短い要件定義/設計期間でも価値があるシステムの提案ができるように、
「物事の重要なことにフォーカスを当ててそこに全力で取り組む。」
という部分を意識したいと思いました。

Javaによる理想のデザインパターン / らしぇる(藤崎 友美)さん

デザインパターンはたくさんありますが、
Javaによる理想のデザインパターン
ということだったので興味があり参加しました。

内容としては超初級編ということで後半はほとんど流して聞いていましたが、
隣に座った2年目のGirlは一生懸命メモを取っていたので今後につなげて欲しいと思いました。

個人的なメモとして、
・デザインパターンで重要なことは、やりたいことを明確にすることである。
 ⇒ 「目的」を定めて「現状」を把握し、それを解決するための「手段」を用いて「結果」を確認する。
 ⇒ そのための手段としてデザインパターンを多く知っていることが大事。

・引き出しを多く持っていることでシステム構築の際の設計や実装時に自然とパターンに当てはめることができるのが理想的。

あとはクラス図の見方とかSingleton/Iteratorパターンの写経説明だったので割愛します。

どうしようJUnit 5 / irofさん

ユニットテスト大事ですね。
PHP案件ではPHPUnitを利用した品質向上施策を行っていますが、
Java案件でももちろんJUnitを利用した自動テスト環境は必須と思います。
自分が使っていたころのバージョンはJUnit4なのでどのように変わっていくか興味があり参加しました。

当日発表された資料は下記にて公開されています。

後述の理由でメモ少な目です。

・4との互換性
 ⇒ ない
  ⇒ 別のフレームワーク
   ⇒ なので4と共存ができる

自分の仕事で考えると、
既存のコードは4のまま、新規に追加される機能は5で書きつつ、
マイグレーションの段階で一気に5に以降するような形になるのかなと思いました。
(とはいえ工数の関係で既存は既存のまま残り続けるというケースが多そうですが。)

後半は急激な睡魔に襲われたため途中退出。。。
(受付のソファーでぐったりしてしまいました)

Javaエンジニアのキャリアを考えるパネルディスカッション

自分のキャリアパスを考えるうえで何か得るものがないかと思い参加しました。

パネルディスカッション形式なのでメモがうまく取れませんでしたが、
著名なエンジニアの方のキャリアパスに関する考え方が聞けるいい機会でした。

懇親会 / LT

懇親会も参加しました。
冒頭で触れた先輩であるRyoichi Obara (id:ryoichi0102)さんとご一緒させていただきました。

コップがなんと!
コップのDuke

LTもたくさんの方が時にQBK?ありと、途切れることがなくあっという間に時間が過ぎていきました。
とても楽しかったです。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る