2017年7月29日、福岡の株式会社ヌーラボにて、Scala福岡コミュニティ主催の「Scala福岡2017」が開催されました。
日本各地で活躍されている9名のScalaエンジニアが福岡に集まり、Scalaによる機械学習や、最新のScalaの事例等について講演を行いました。会場はヌーラボ福岡本社内にある3Fセミナールームが実践トラック、7Fカフェスペースが初学者向けトラックと分かれて開催されました。本稿では、3Fセミナールームで行われた実践トラックのセッションを中心に、イベントの模様をレポートします。
Spark+Mahoutによるレコメンドエンジン開発 ―森 正和(株式会社TechJIN)
森 正和氏(@piacere_ex)は、主にマーケティングのツールとしてScalaを使用されています。セッションでは大量のデータを分散環境で並列実行するApache Sparkと、機械学習アルゴリズムのライブラリのApache Mahout(マハウト)を使用してレコメンドエンジンを開発する話をされました。実例で紹介されたSparkのコードはScalaを使用したことでコード量が少なく可読性が高いコードになっていました。
Direct Manipulationとプログラミング環境をScalaで書いた話 ―花田 恒一(株式会社グルーヴノーツ)
花田 恒一氏(@nobkz)は、福岡のファブラボでアフタースクール(学童保育)を運営するTECK PARKの教育現場で、子どもたちがキーボードを操作する障壁が高いことに注目し、「Direct Manipulation」と呼ばれる処理の対象を直接操作するGUIのスタイルに興味を持つようになり、ジェスチャー操作をScalaで実装した話をされました。ジェスチャー操作をScalaの高階関数を活かしながら、flatMapやfor式を組み合せて流暢にパーサコンビネータのように実装していくコードがエレガントでした。
安全なPlay Frameworkのバージョンアップの仕方 ― 粕谷 大輔(株式会社はてな)
粕谷 大輔氏(@daiksy)は、自社で開発するサーバ監視サービスのMackerelにWebアプリケーションフレームワークのPlay Frameworkを使用しています。過去にPlay Frameworkの大型バージョンアップを2度経験し、失敗と成功から学んだことを発表されました。フレームワークのバージョンアップで発生する様々な問題と奮闘する現場の声に、会場から多くの共感の声が聞こえました。
Scala製機械学習サーバ「Apache PredictionIO」 ―竹添 直樹(株式会社ビズリーチ)
竹添 直樹氏(@takezoen)は、機械学習のアプリケーションを開発する現場で起こる問題として、環境構築に時間がかかること、開発言語が属人化することや、そもそも学習データがクラウドサービスで利用できない保護レベルの案件がある、などを指摘しました。機械学習のエンジニアがこれらのデータ分析以外の問題を抱えてしまうことを、オンプレミス環境で機械学習のテンプレートを使用した解決が可能なScala製機械学習サーバ「Apache PredictionIO」を、紹介されました。
後半はPredictionIOのコミッタの立場から、Scalaが専門外の機械学習エンジニアが書いたScalaのコードを読むことで気づいたScalaのアンチパターンについて発表されました。紹介されたScalaのアンチパターンのコードは、一見では良さそうに見えますが問題となるケースを説明されるとハッとさせられる知見が凝縮されたコードばかりで、会場の開発者の関心が一気に高まる様子が印象的でした。
Scalaにまつわる誤解を解く ―水島 宏太(株式会社ドワンゴ)
水島 宏太氏(@kmizu)は、Japan Scala Association代表理事を務め、Scalaに関連する情報技術を広く振興しています。セッションでは、企業や個人がScalaを採用する不安として「Scalaのコンパイルは遅い?」、「Scalaは難しい?」や「ScalaはJavaより遅い?」などを挙げ、誰もが気になっていたScalaに関するこれらの疑問に回答されました。Scalaの採用を検討する際の今後の重要な指針となる資料だと感じました。
発表資料はこちらです。
初学者向けトラックのセッション
ここからは7Fカフェスペースで行われたセッションです。発表資料を掲載します。
Play FrameworkとScalaを使った開発を学べるハンズオン ―内田 優一(株式会社ヌーラボ)
発表資料はこちらです。
Akkaちゃんと遊ぼう! Akka Streams で作るリアルタイムサーバ ―和田 祐介(クラスメソッド株式会社)
Backlogが一体いつからScalaを遣っていないと錯覚していた? ~JavaからScalaへの移行~ ―谷本 陽介、松本 裕二(株式会社ヌーラボ)
懇親会、ライトニングトーク(LT)
セッション終了後は懇親会とLT大会が7Fカフェスペースにて行われました。スポンサーの株式会社ベガコーポレーション様の宮末氏(@foxtrackjp)、株式会社クラスメソッド様兼個人スポンサーの田中孝明氏(@kongmingtrap)を筆頭にLTが開催されました。
また、株式会社はてな様、株式会社ビズリーチ様や株式会社ヌーラボなど多くの企業からノベルティをご提供いただき、ノベルティを獲得するための大抽選会を開催、会場は大いに盛り上がりました。
第2回目のイベントとなったScala福岡の様子は、Twitterのハッシュタグ「#scalafukuoka」が付いたツイートがイベント当日にTwitterのトレンド入りしたとおり、参加者にも活気がありました。今年のセッションは機械学習のツールとしてもScalaの存在感が高まっている点が印象的でした。またLTにはScalaMatsuriやScala関西の主催者も登壇され、日本のScalaコミュニティの交流の場としても成長できたのではないかとの想いを強くしました。