Phoenix Framework

tokyo.ex #5 に参加した

beam-lang.connpass.com に参加してきた。19:00 に会社を出て 19:20 分に到着。ギリギリ。 細かいことは置いておいて、印象に残った部分を残しておく。 Phoenix について @ohrdev さんのお話。 Elixir の公開されているライブラリの数は 3000くらい。他の言…

Ueberauth: (FunctionClauseError) no function clause matching in Keyword.merge/2

問題 phoenix に ueberauth_identity を組み込もうとしたところ、コンパイル時に (FunctionClauseError) no function clause matching in Keyword.merge/2 というエラーが発生する。 環境 Elixir 1.2.6 Phoenix 1.1.4 ueberauth_identity 0.2.3 解決 config.…

HTTPリクエストからChannelへメッセージを送る

GETやPOSTなどのHTTPリクエストを受け取り、その処理の中でChannelにデータを送信したい場合、以下のように書くことでメッセージを送信できる。 HelloPhoenix.Endpoint.broadcast_from! self(), "rooms:lobby", "new_msg", %{uid: uid, body: body} http://h…

Phoenix で Poolboy を使ってコネクション(プロセス)プーリング

Poolboy を使ってコネクションプーリングができるようにする。接続先は memcached。 memcached のクライアントにはmcdを使った。 サンプルのhello_phoenixを元にした。手を加えたファイルだけ以下に貼っておく (ちなみに Phoenix は v1.0.0)。 実行してみと…

Phoenixのデプロイ

Erlang (Elixir) の機能の中で気になっているのが、ホットデプロイだ。といっても、そういう機能があるからといって気軽にデプロイできるものでもないらしいけど。 デプロイに関するスライド。 http://sile.github.io/slide/kbkz_tech_05/#/ http://www.slid…

mix phoenix.new のオプション

アプリケーション作成時のオプションに何があるか調べてみた(といっても、大して調べてないけれど)。 答えはここに。 --app アプリケーション名?よくわかってない。 --module モジュール名を指定する。phoenix.new したときのディレクトリ名とモジュール…

Phoenix のアップデート

v0.17.0 がリリースされていたので更新してみる。フレームワーク(というか、Mixでインストールしたライブラリ)をアップデートするのは今回が初めて。 % mix archive.install https://github.com/phoenixframework/phoenix/releases/download/v0.17.0/phoen…

IEx.Pryでデバッグ

ここで デバッガみたいなのはある? と書いた。調べてみたところIEx.pryが使えることがわかった。 使い方 大雑把にいうとこんな感じ IEx モジュールを require する。 ブレイクポイントコードに仕込む。 iex でサーバを起動する リクエストを出す。 ブレイク…

PhoenixのLogger

とりあえず、アプリが起動する状態になった。 Phoenix・Elixir をちょっとさわって思ったのは、コード上に型が現れてれていないとなにかと調べにくい、ということ。馴染みのある言語なら、型が現れてなくてもなんとかなっちゃうんだけど、馴染みのない言語だ…

Phoenixを始めてみた

Phoenix が気になったので、さわり始めた。 Phoenix は Elixir で書かれていて、アプリを作る場合も Elixir で書く。Phoenix もElixir も今まで使ったことがなく、初めての言語、初めてのフレームワークで、いろいろとつまづくことが多そう。その反面、面白…