チラシ裏日記上等!!新館

Webアプリケーションエンジニアの雑記帳。映画とかアニメとかの記事も書きます。

tokyo.ex #5 にいってきました

tokyo.ex #5 にいってきました。tokyo.exはElixirに関する勉強会で、今回は「プログラミングElixir」出版記念ということで比較的初心者向けの発表が多いようでした。会場はmixiで大きなイベントスペースで勉強会は開催されました。自販機もあっていい感じのところでした。

beam-lang.connpass.com

以下勉強会の感想と公開されているスライドを載せます。

Elixirとは

はじめの発表は「プログラミングElixir」の翻訳者である笹田さんと鳥井さんの発表でした。プログラミングElixirの内容の紹介というような感じの発表で本の魅力について語ってくださいました。

そもそも関数型言語ってどんなものよということや、パイプ演算子の魅力、パターンマッチなど大切なところが書かれていることを説明してくださいました。あとこの本はElixirの解説というのも大事なのですが何よりも「新しいパラダイムを教えてくれるというのも魅力」ということをおっしゃっていました。自分も読んでそう感じたんでやっぱりそうなんだなと改めて思いました。新しい考え方のプログラミングはとても楽しいと、なんだかわくわくしたのを思い出しました。

プログラミングElixir

プログラミングElixir

Hello WebApp Hello Phoenix

ドリコム@ohrdev さんのPhoenixについての解説。これも初心者向けで割とわかりやすかったです。

おもしろかったのがWebアプリケーションってどういう作りで動いているのっていうことを改めて解説してくれたことで、普段意識しないことを改めて勉強し直せました(意識しろよって話でもありますが)。ElixirでのWebアプリケーション開発でデファクトとなっているWebサーバ「Cowboy」やWebサーバとWebアプリ間のインタフェースの実装の「Plug」、DBとやりとりをする「Ecto」といった開発する上で必要なツールの名前を知れたのも良かったです。

Phoenixでおもしろいと思ったのがビューの描画でViewとTemplateという描画に必要なものが別れていて、VIewはRailsでいうところのヘルパーに近いとのことだった。何となくイメージしやすいです。それとTemplateがコンパイルされると関数になって、その関数がデータを受け取ってビューを出力するというが関数型ならではといった感じがしておもしろかったです。

不足しているものは日本語の情報とライブラリとのことなので、今ライブラリを書けばヒーローになれそうでわくわくしました。

Phoenix Channels

@astap さんの発表で、PhoenixでWebsocketを使う時便利なライブラリを紹介してくださいました。

PhoenixでWebsocketをやりたければこれを使うと良いというのが書かれていて、実際にプロダクションで使っている例も紹介してくださいました。やはりチャットや通知に使えるのだなぁと思いました。それ以外ではどういう使い方が出来るのか知りたいところです。

Elixir logger

@tuvistavie さんのElixirのloggerについての発表でした。Elixirのloggerは強力で標準のライブラリで十分使えるということでした。

Elixir logger

マクロでいろいろ書けるということなので、かなり柔軟にいろいろ出来そうな感じでした。

INTRODUCTION PLUG

@junsumida さんの Plug についての発表でした。

はじめのPhoenixについての発表でも軽く触れられていたPlugについての発表で、基本的にPhoenixのコントローラ周りはPlugで出来ているとのことでした。Plugがいかに大事かがわかりました。

セッショントーク

セッショントークでは事前に募集していた質問に答えていました。まとめると以下のような感じでした。

Q:実際にプロダクションで使えるの? A:つかっている。APIサーバーなどで活用できる。

Q:不得意なケースは? A:数値計算等はErlangVMが遅いので不得意

Q:Erlangの学習は必要? A:トラブルに遭ったときに必要なのはErlangの知識なので勉強したほうがいい

Q:エコシステムの成熟度は A:Rubygolangに比べるとまだまだ。今ライブラリを作ればヒーローになれる。

Q:生産性についてどうか?Railsと比べると? A:Phoenixじゃないといけないシーンなのかどうかは考えた方が良い。ただ後々のことを考えるとPhoenixのほうが良くなるかも知れない。

Q:言語の移行についてはどうか A;型がないので入門しやすい。関数型だががっつり関数型というわけではなくOTPやプロセスの使い方がわかればOK

Q:マクロについて A:マクロは本にも書いてあるようによっぽどのことがない限り使わないほうがいい。ライブラリを作ったりするなら別。

まとめ

ほとんど初心者状態で行ったのですがそれほどさっぱりわからないという状態にはならなかったので楽しくセッションを聞くことが出来ました。とはいえ書いて覚えないことには懇親会等で会話できないので、次の開催までにはなんとか書けるようになりたいところです。

最後に翻訳者の笹田さんや鳥井さんが本にサインしてくれたのがうれしかったです。

f:id:Tomato-360:20160901022032p:plain