JJUG CCC 2016 Springに参加してきました #jjug_ccc #ccc_m61

発表のキッカケ

ちょうど日々の業務でGradleのタスク機能を利用して、共有ディレクトリにあるExcelのデータとDBの値とチェックしたり、 前回の作業との差分を抽出して入力ミスがないかチェックしたり、といった小さい業務タスクを自動化していたので、 50分は無理でも新しく出来た20分枠ならイケるんではないかと思い、 Groovy枠として選ばれたら本気でやるかといった感じで応募しました。

なので、十徳ナイフとしてのGradle / @grimrose #35に投票して頂いた皆様には、大変感謝しております。

jupyter使ってる理由

ここ最近、発表資料にはjupyterを活用しています。理由としては以下のとおりです。

  • 日常的に使っている。
  • Markdownで書ける。
    • スライドの確認がし易い。
    • リンクや画像を埋めるのが楽。
    • コードのシンタックスハイライトもされる。
  • Docker imageにしてしまえば、docker rundocker-compose upですぐに使える。
  • takluyver/bash_kernelを入れれば、jupyer-notebookからbashが使える。
  • GitHubへpublishすれば、nbviewerで閲覧できる。

標準のPythonやSpark向けのイメージを使えば、REPL代わりに使えるし、実行結果も保存出来たり等重宝してます。

発表の主旨

今回の発表で一番伝えたかったのは、「ツールは達成したい目的によって変えましょう」ということです。 「日常業務を楽にしたい。」であれば、自分の本来やらなければならないメインの仕事に割り当てる時間を増やすというのが目的なので、 今回は自分が使えて、すぐに解決出来る「Gradle」を採用したまでです。

もちろん、Excelを使うヒトとの協調が必要であれば、Excel VBAも利用します。

Gradleで解決したタスクもゆくゆくはシステム化を目指すのであれば、それに依存するのではなく捨てられるようにしておくのが望ましいと思います。

そのままシステム化しようとすると、手段が目的となってしまい、本来解決しなければならなかった課題にたどり着くことが出来ず、 自分だけしかメンテナンス出来ない負債が残るだけです。

サンプルの解説

Gradleのタスク機能を使ったサンプルプロジェクトは、こちらです。

grimrose/JJUG-CCC-2016-Spring

あるプロジェクトを一つのworkspace配下において行くような場合を想定してます。

そのプロジェクトを構成しているそれぞれの個別プロジェクトを、Gradleのマルチプロジェクト機能を利用して、Gradleの依存を含めること無く操作できるようにするのが目的です。

特にフロントエンドは、完全に趣味とトライアルに走ってみました。 個人的に気になっているMithrilTypescript, power-assert-js, webpackの組み合わせに挑戦してみました。

その他のプロジェクトも、jarを動かしたり、JRubyを使ってRubyのプロダクトを動かしたり等、Gradle WrapperとJDKが入っているだけのマシンでここまでやれたり、 プロダクトを統括するタスクランナーとしてのGradleというのを示すことが出来たのではないかと思います。

参加したセッション

今回参加したセッションは、以下のとおりです。

セッション数が増えたのと20分枠のおかげで、体がいくつあっても足りないという感じでしたが、 休憩のタイミングと間隔にゆとりがあったおかげでそこまで大変では無かったと思いました。

反省点

今回、自分が予想していたよりも多くの人に来ていただいた為、終盤の立ち見で体調が優れなかったり、部屋に入れなかった方がいたのは申し訳なかったと思ってます。 出来る限り、サンプルプロジェクトやtwitter等でサポート出来ればと思っています。

また、始まる前にセッションの軽い説明などをする際に他のセッションに誘導したりして、 自分の後のセッションを担当されていた松村翔子 / しょこの事を考えていなかったのは、誠に申し訳ありませんでした。

さらに、時間配分を間違えて発表の後半も駆け足になってしまった上にオーバーしてしまって、スタッフの人にもご迷惑をお掛けしてしまいました。

上記のような反省が残るJJUG CCCでした。

おわりに

ライブレポートで有名ななかやまさんが来ていただいたみたいで、twitterにレポートを上げてくださいました。ありがとうございました。 次回お会いする機会が有ったら直接お礼をお伝え出来ればと思っています。

懇親会では、twitterなどでお世話になっていた方々にご挨拶出来てとても楽しかったです。

次回の秋は、2017年にリリースされるであろうJava9を見据えていろいろ動いているであろうプロダクトの話や、様々なJVM言語の話が聞けることを期待してます。

JJUGのスタッフの皆様、スポンサーの皆様、講演者の皆様、参加者の皆様、ありがとうございました。