タイトルは釣りです。すいませんほんと。 2015年12月0c8日に行われたAktsk Tech Meetup #1: Elixir & GraphQLで発表した際の資料です。 === Node.js+Koaで開発していたサービスを、なぜリリースせずにElixir+Phoenixに書き換…
ここ最近、Elixirという言語がWebプログラマー界隈で話題になっています。 ElixirはErlangのVM上で動くRuby風味の関数型言語で、RailsコミッタのJose Valimさんが作ったプログラミング言語です。 この言語はErlangの並行性とRubyの開発生産性を持っています。 今回はこの言語が出てきた背景と文法の特徴について書こうと思います。 Elixirが注目されている理由 ここ数年、Webアプリケーションは以下の問題を抱えています。 C10K問題 10000以上のクライアントがサーバに同時接続すると、HWの性能は足りていてもOS、ソフトウェアの問題で処理が破綻する ムーアの法則の限界 CPUチップメーカーの製造するチップのクロックレートの成長に陰り。代わりにマルチコアアーキテクチャのCPUが開発されている リアルタイムWeb サーバ、クライアントが常時接続するアプリケ
Elixir という言語 Phoenix という Elixir で書かれた Web フレームワーク Mithril という JavaScript フレームワーク で Chat アプリケーション ( の原型 ) が書けたので記録する. 「FF スタック」という名称は rebuild.fm の Fullstack Final Fantasy Framework のタイトルから借りた. クライアント側の実装は Mithril 本の 11 章に書いてある Chat アプリケーションを元にしている. Mithril 本のサンプルコード 今回作ったチャットのクライアント を見比べると ES6 に書き換えた ChatSocket を socket.io から phoenix 対応に書き換えた くらいの違いしかないことがわかるだろう. PhoenixFramework へ js ライブラリを加える Pho
# Configure your database config :kaeru_phoenix, KaeruPhoenix.Repo, adapter: Ecto.Adapters.MySQL, username: "root", password: "", database: "kaeru_phoenix_dev", size: 10 # The amount of database connections in the pool 特に悩むようなところはないと思います。前回、Phoenixアプリを作成したときに、 --database mysql オプションをつけたので、MySQL用の設定にちゃんとなっていますね。 オプションをつけ忘れていたら、PostgreSQLの設定になっていると思います。そのときは、Using MySQL を参考にして修正しましょう。 既存のRailsアプリが使っ
Elixir は ErlangのVM上で動くプログラミング言語です。 確か5年くらい前に一度Erlangを勉強したことがあるのですが、関数型言語自体にはじめて触れたということや文法がちょっと馴染みのない感じだったこともあって、途中で挫折しました。 Elixirの作者の José Valim さんはRailsのコミッタでもあるので、Elixirの文法はRubyに似ています。また、このElixirで動くwebアプリケーションフレームワークが Phoenix になります。 まずはとっかかりとして、このブログ(kaeruspoon) 自体を Phoenix で実装していこうと思います。今日のところは素のPhoenixを起動してデフォルトのページをブラウザで見られるところまで進めてみました。 1. Elixir のインストール まずは Elixir をインストールします。Macでは homebrew
blog1.mammb.com の続きで Phoenix。 Elixir 版 RoR の Phoenix Framework。現在のバージョンは V0.15.0。 公式サイト http://www.phoenixframework.org/ Github https://github.com/phoenixframework/phoenix 事前準備 必要に応じて以下を入れておく。 node と npm Phoenix はアセットのコンパイルに brunch.io を使うので、node と npm が入っていない場合は入あらかじめ入れておく。 $ brew update $ brew install node 静的なアセットを使わない場合は後ででてくる mix コマンドで --no-brunch を付ければ node と npm は不要。 Hex Erlang のパッケージ管理ツール He
Using GenStage to Notify a Phoenix Channel of Updates in Elixir I experiment with using GenStage in place of GenEvent. Learning Elixir's GenStage I start looking at the new GenStage Elixir behaviour. Using Canary for Authorization in Phoenix I describe how I use Canary with Phoenix Using Guardian and Canary with Phoenix How I use Guardian and Canary to authenticate and authorize users. Combining a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く