昨日に引き続き ScalaMatusri 2017 のレポートです。
オープニング
初めての ScalaMatsuri 参加です。見られるものは全部見ようという腹積もりで、ほぼ開場時刻ジャストに会場に入りまして、オープニングから参加しました。
それで、司会者の方が海外から参加された方に向けて英語で語りかけていて「あー。やっぱ、これからの時代、英語ができないエンジニアは三等市民やなー(私は英語できない)」と危機感をつのらせました。
そう! ScalaMatsuri にはたくさんの海外からの参加者がいらっしゃいました。思ったよりずっと国際的なカンファレンスなんだなとこの時すでに感じました(その後そう思いしららされるできごとはいくつも出てきました)。
しかし、司会者さん、自己紹介忘れてる! 一体誰なんだこの人?! 2日間の日程のなかでこの方が一番聞き取りやすい話し方するのにもったいない!
1コマめ:Readable Scala
まずはがくぞ(@gakuzzzz)さんこと中村学さんの発表を聞きました。彼が開発しているPlay2-Authにたいへんお世話になっていますし、その開発者がどんな発表をするのかとても興味がありました。
Scalaのコードって読みにくいよ!って言われることがあるけど、ちょっと待てコラ(※そこまで喧嘩腰ではない)という話です。私もScalaやり初めの頃同じようなこと(Scalaって可読性低くね?みたいなこと)をTwitterでぶつくさ言っていたので、言われる立場になってのカウンターをこれで学びました。
特にimplicitについて「HowとWhatの分離」のためにあるというのは簡潔で示唆に富んだまとめだと思いました。帰ってからよく考えてみたら、つまりそれって型クラスですよね、先生。と思ったのでありました。
すいません。それは私が型クラスが好きだからそう思っただけです。がくぞさんはそこまで言っていません。
2コマめ:Scala WarriorにおけるScala.jsとタイプセーフなWeb開発
竹添 直樹(@takezoen)さんの発表です。2コマ目は水島さんの発表とどっちにするか迷っていたのですが、水島さんが体調不良(あとで知った)だったらしく、残念ながらキャンセルとなってしまったのでこちらに来ました。竹添さんは、私がSeasar Projectに熱を上げていたときから意識しておりまして、私の中では「脅威の短工期の人」というイメージです。竹添さんが「○○つくってる」っていってるのをブログやTwitterで見るたびに「そんなの一人で作ってていつになったらできるんだよwww」と私は思うのですが、私の想像を遥かに超える速度で「できました」と来るのでいつも驚かされているのです。
ちょうど私もScalaによるフロントエンドを模索していたので大変刺激的でした。私の場合、厳密にはフロントエンドというか、業務アプリのUIをScalaを絡めて作れないかってことなんですけど。
竹添さんは、この発表で現実的には、まさしくUI(プレゼンテーション層)はJavaScriptでReactなりなんなりつかって書いてScala.jsはそれとサーバとのインタフェースにするのがいいんじゃないかとおっしゃっていましたが、私的にはそれはないわーと率直に思いました。
それ用のフルスタックフレームワークが整備されているのならまだしも(もしかしたら整備する前提で話していたのかもしれませんが)、そんなことやったら多分工数爆発します。フロントエンドとバックエンドって分けただけでもかなり手間かかるのに、さらにもう一層って、辛すぎますよ。
あと、reduxでアクションタイプとか文字列で定義するのすげーダサいと私は思ってて、それに対してDiodeって素敵だなって思っているので、ぜひともScala.js界隈はJavaScriptとは違うエコシステムの中で発展していってほしいと思います。
3-1コマめ:必殺(本当に死ぬ)!ブロッキング&ハイパーコンテキストスイッチングパターン
島本 多可子(@chibochibo)さんの発表です。私の愛読書の著者の一人として名を連ねている人の発表は是非とも聞きたいと思い、これを選びました。
これはヤバイですよ。実際の経験からのアンチパターンの紹介だったのですが、はい、私ももろにこのアンチパターンやってました。今になって思えば、ボトボト落ちてた私のあのサービスってこれが原因だったのかしら……なんてのが。まぁ、個人的に遊び半分でやってたやつなので大事にも至ってないし、そのせいで真面目に検証しなかったのですが。とにかく15分コマでしたが、短いながらに大変参考になる発表でした。
3-2コマめ:広告配信システムで積み重ねてきたパフォーマンスTips
小紫 弘貴(@petitviolet)さんの発表で、初めての(失礼ながら)まったく存じ上げない方の発表で、会場の流れでこの発表を聞きました。
端的に言えば良い! 私はそのとき「リアルブログ良記事みたいな発表」とツイートしましたが、すぐに使えるテクニックがいくつも簡潔にまとまっていてまさに15分コマ発表の鏡のような内容でした。これはすぐにでも社内全員に共有できる/したい内容でした。スライドを見ただけでもわかりやすいですし。
ランチ
このカンファレンスは食事付きです。お弁当が、鳥、魚、ベジタリアン向け、ハラールと4種類あるのは国際カンファレンスとして考えられているなと感心しました。私は魚の弁当をいただきましたが、とても日本らしい弁当で、海外から参加された方も日本を感じてもらうのにも良かったと思います。
次回は1日目午後の部について書きます。