JJUG CCC 2016 FALLに参加してきた #jjug_ccc

半年ごとの恒例イベントJJUG CCCの、2016年秋の会「JJUG CCC 2016 FALL」に参加してきた。
以下、自分用のメモとして参加したセッションの感想をまとめる。
f:id:nave_kazu:20161205174624p:plain

Be a great engineer!~ フォローすべきトレンド、スルーすべきトレンドをどう見抜くのか

speakerdeck.com
谷本 心(日本Javaユーザーグループ)さんの発表。
Twitterハッシュタグ#ccc_a1

浮き沈みや当たり外れの多いこのIT業界での効率的な成長の仕方が話の本質にあると思った。
技術を表面的なテクニックで捉えるのではなく、メタで捉えて「要するに何なのか」を理解することが重要とのこと。

「破壊的イノベーションと持続的イノベーション」の話で、「前に失敗したよね、これ」はたまに自分も使うから注意が必要で、再注目される理由を知ったうえで判断するのは重要だと思った。
そうだ。昔Palmイノベーションを感じて追っかけたけど廃れて、数年後にiPhoneが出たのを思い出した。Palmは失敗したけどiPhoneは大成功しているしね。つまりそういうことか。

技術カンファレンスでイノベーションの情報を手に入れるのは同意で、自分もそれが得たくて技術カンファレンスに出席している。
情報の入り口を広げるためにも英語を習得するのは個人的に必要なことだなと思う。

あとガートナー社が注目のテクノロジトレンドを発表しているらしい。
これのことかな?
ガートナーの2017年テクノロジトレンドにAIやブロックチェーン - ZDNet Japan
じっくり読んでみよう。

日本でも出来る!最先端のDevOpsを導入する方法

牛尾 剛(Microsoft Corporation)さんの発表。
Twitterハッシュタグ#ccc_c3 #ccc_cd3

「筋肉は世の中の99%の問題を解決する」とか言ったり、オープニングの「DevOps!」の合唱とか、のっけからパワフルな牛尾さん。

日本と西洋の生産性の違いについて話をしていて、カンファレンスの参加レポートをアメリカは何枚かの写真とURL貼ってメール送るだけで約2時間で完了するが、日本はプレゼン資料作ってプレゼンして・・・と約3日かかると。
なぜこのような話をしたかというと、DevOpsは西洋文化の上で成り立っているので日本文化の上でやるにはいろいろと無理が出てくるとのこと。
日本でDevOpsやるなら日本文化とDevOpsの間に西洋文化のフィルタを挟むのが良いとか。
あとDevOpsはアジャイルであることが前提。

無駄をあぶりだすのに使用するのがvalue stream mapで、ここから削れる箇所を見つけるそうな。
value stream mapはこういうもの。
情報システム用語辞典:バリューストリーム・マップ(ばりゅーすとりーむ・まっぷ) - ITmedia エンタープライズ

話の中で「エッセンシャル思考」という引用があって、それはこの本のことかな。
エッセンシャル思考 最少の時間で成果を最大にする

DevOpsスタートキットを公開しているそうなので、見てみようと思う。
DevOps スタータキットの公開 - メソッド屋のブログ

牛尾さんは「オブジェクト脳のつくり方」の著者なのか。
この本は熟読した覚えがある。

発表の最後にブログを公開していて、それがこちら。
「知らないこと」を恐れないマインドセットが技術導入を加速する - メソッド屋のブログ

GitBucketを支えるJava技術とグローバルで使われるOSSの作り方

www.slideshare.net
竹添 直樹さんの発表。
Twitterハッシュタグ#ccc_c4 #ccc_cd4

GitBucketは自分の仕事場でも使っている。
竹添さんのGitBucketの開発を通したOSS活動とはどういうことなのか?ということを知りたく聞きに行った。
まずはGitBucketの紹介。さすが竹添さん、Scala推し。

個人的にGitの技術的なところに興味があったので、GitBucketの技術スタックが見れて良かった。
GitRepositoryにアクセスするのにJGitを使っているのか、なるほど。

さまざまな拡張ポイントを作って、それをプラグインが利用するというやり方は、rebuild.fmでJenkinsのKawguchiさんが言ってたやつだ。
Rebuild: 161: Angry Jenkins Angers Me (kohsuke)
みんながやりたいことをすべて取り込めないし、他人が書いた(イケてない)コードを取り込むこともしたくないから、そういうのはプラグインで好きにやってくれという。

OSS活動で重要なのは

  • ユーザ
  • 開発者
  • コミュニティ
  • エコシステム

の4つとスライドでは書いてあったが、最も重要なのは英語。
GitBucketのUI、ドキュメント、ブログ、GitHub上でのやりとりすべてを英語でするようにしていて、それがユーザを広げるし開発者・コミュニティ・エコシステムの発展に寄与している。

やっぱ英語だよね・・・。

JavaFX アプリケーションを素敵に着飾ってみる

speakerdeck.com
トースト小僧さんの発表。
Twitterハッシュタグ#ccc_l5

JavaFXアプリの見た目を変える方法について話してくれた。
見た目はCSSで変えられて、標準のCSSテーマがあってそれを拡張・更新して見た目を変えて行く。

標準のCSSテーマは前までCaspinaと呼ばれるテーマだったが、JavaFX 8からはModenaと呼ばれるものに変わった。
ModenaのCSSは3,000行を超えるので読むのはしんどい・・・。ということで、CSSを作るツールをトースト小僧は作ったそうな。

他、テーマを変更するためのライブラリが世の中にはあるそうで、

  • JFoenix
  • RichTextFX

などが紹介された。

RichTextFXはすてきだな。
TextPaneに行番号表示やシンタックスハイライトを与えてくれるライブラリとのこと。

JavaFXはあまり注目されない技術だけど、クライアントアプリを作るのに世話になっているから、こうして盛り上げるのは良いことだと思う。
このスライドツール自体JavaFXで作られていて、なるほどドッグフードしている感があふれて好感が持てる。

受験勉強経験も留学経験もない日本人がJavaOneで英語で講演できるようになるまで

山本 裕介さんの発表。
Twitterハッシュタグ#ccc_l6

実は山本さんは帰国子女なので「そういうオチかい!」となりそうになったが、幼い時に海外生活をしていたということでノーカンだそうな。
「世界をまたにかけて仕事をする父親に憧れて」、日本の企業から外資系の会社に転職し、英語から逃れられない環境に自分を追い込んだそうで、その結果が今の姿なのだなと実感した。
「英語学習に王道はない」とのことなので、自分も愚直に出来る範囲で勉強しようと思う。

Selenideを試行錯誤しながら実践するブラウザ自動テスト

Selenideを試行錯誤しながら実践するブラウザ自動テスト
うらがみさんの発表。
Twitterハッシュタグ#ccc_c6 #ccc_cd6

SelenideはSelenium WebDriverを使いやすくラップしたフレームワークで、ブラウザテストが自動で出来るものとのこと。

序盤はSelenium WebDriverとSelenideの比較をしてくれたが、自分はSelenium WebDriverすら知らなかったので比較もさることながらテストをしている様子からして衝撃的。
比較はSelenideのGitHub Wikiにも載っているそうなので、そちらも参照。
Selenide vs Selenium ・ codeborne/selenide Wiki

Selenideを使えば各種ブラウザで所定のURLにアクセスし、フォーム送信し、結果のスクリーンショットを撮る。などのテストが容易に行える。
これは非常に便利。

うらがみさんがデモを見せてくれたが、デモも気になるがMacの壁紙の女子力の高さと「Vimを使ってくれてありがとう」も気になって仕方がなかった。

早速まずは試してみようと思う。
このセッションはテクニカルな面での今日イチの収穫だった。
あとうらがみさんがvim派だというのも収穫。

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

Jun Ohtaniさん、山本 裕介さん、Yoshiori SHOJIさん、hishidamaさんの発表。
Twitterハッシュタグ#ccc_c7 #ccc_cd7

結局は自分の道は自分で切り開くしかないのだけれど、四者四様の経歴と考え方が聞けて良かった。
よしおりさんの「周りで一番ヘタクソになるために転職」したというのは、なかなか真似できない。

「アウトプット大事」「英語大事」すごく響いた。

なのでこれからSelenideを試してアウトプットする・・・。