You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
2. Agenda 自己紹介 |> 趣旨 |> Phoenixとは? |> webアプリとは? |> webアプリの構造 |> Phoenixの構造 |> Why 軽量 |> Why 高速 |> Why 安定 |> 周辺ツール/情報 |> 不足しているもの |> まとめ 3. 自己紹介 • おーはら@ohrdev – 基盤技術部@ドリコム • 仕事/技術スタック – 広告サービスのお世話 – 全社基盤システムのお世話 – Elixir/Erlang/Ruby/Lisp/etc… • Elixirアプリ: 本番稼動:2、開発/検証: 1 – Elixirアプリ: 運用1年半/v:1.0.0 -> 1.3.1(elixir) – Phoenixアプリ: 運用1年/v:1.0.0 -> 1.2.0(phoenix) 4. 趣旨 • ターゲット – (Elixir is 何? な方) – Webア
defmodule MyApp.Server do use Maru.Server, otp_app: :my_app end defmodule Router.User do use MyApp.Server namespace :user do route_param :id do get do json(conn, %{user: params[:id]}) end desc "description" params do requires :age, type: Integer, values: 18..65 requires :gender, type: Atom, values: [:male, :female], default: :female group :name, type: Map do requires :first_name requires :last_nam
以前 Qiita に Elixir初心者がVimで開発環境を整えてみた という記事を書き、その流れで vivi.vim という Vim プラグインを作りました。 Elixir 開発環境構築をサポートする Vim プラグインです。 それから残念ながら Elixir 初心者を脱せてはいないのですが、vivi.vim の ver 0.1.0 にて Elixir の補完機能が実装できたので、Elixir 視点での実装における苦労話などまとめてみます。 どんなことができるようになったか このようにモジュール内の関数が補完できるようになり、ついでにドキュメントも参照できるようにてあります。 簡単な原理の説明 Vim Advent Calendar ではないのであくまで簡単な説明ですが、要は裏で iex -S mix を起動して、repl と通信して補完候補やドキュメントを取得しています。 なお Vim
最近はAPIファーストと言われる言葉が聞かれるようになっています。スマートフォンアプリが隆盛になり、それに合わせてまずWeb APIを優先して開発していこうという考え方です。 しかしWeb APIがすぐに開発できるわけでもありません。そこで使ってみたいのが仮の値を返してくれるサーバです。今回はその一つ、StubOnWebを紹介します。 StubOnWebの使い方 StubOnWebのデモサイトです。 レスポンスに関する設計を行います。遅延する秒数も設定できます。 そしてアクセスすると設計した通りの値が返ってきます。 StubOnWebはURLが自動生成になるので決め打ちでクライアントを作るのを防げるかも知れません。自然と使っているWeb API一覧もできます。ローカルで立てればオフラインでも使えるのでサーバへ負荷を考えずに済みますし、テストもしやすくなるでしょう。 StubOnWebはEl
スコア計算式をもとに計算してみると以下のようなスコアとなります(eror, exception, violationsはないので減点は無し) # Elixir/Phoenix irb(main):001:0> base_score = 239 + 93 * 0.1 => 248.3 # Go irb(main):002:0> base_score = 98 + 39 * 0.1 => 101.9 同じクエリを再現したうえで、だいたい2.5倍くらいの性能差?でしょうか。 が、完全に模倣できているか自信はないのであくまで参考程度ということで… 以下にベンチマーカーの出力内容も貼っておきます。 elixir/phoenix版の結果 { "valid" : true, "requests" : 333, "elapsed" : 76093, "done" : "[{Isucon5InitExecu
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
連絡先リストの役割を果たすJSON APIをビルドしてみましょう。ElixirとPhoenixを使って書きます。 Phoenix はElixirベースのフレームワークで、記述の高速化と、低遅延のWebアプリケーションをできる限り楽しく作成する目的で作られています。ElixirやPhoenixのインストール手順についてはここでは触れません。まず初めに Phoenixのガイド を読んでください。 なぜElixirとPhoenixなのか Erlangは、ポンコツの板金にくるまれたフェラーリのようなものです。ものすごいパワーを持っていますが、見た目が悪いと感じる人が多いのです。WhatsAppはこれを使って膨大な数の接続を処理していますが、見慣れないシンタックスとツールの不足のせいで多くの人が苦労しています。 Elixir はそこを改善したものです。Erlang上に構築されていますが、美しくかつ楽
[翻訳] Elixirのプロセスアーキテクチャ または私は如何にして心配するのを止めてクラッシュを愛するようになったか にもあるように Elixir においては例外処理は、それを頑張ってなんとかしようとするのではなく、軽量プロセスのコンテキストでむしろすすんでクラッシュさせてしまえ、というのが良い作法である。 クイズ番組で ○ か × か答えを選んで壁に突っ込んだ先に、正解ならクッションが、不正解なら泥水があるという企画があるが、それに喩えるなら 泥水だろうが何だろうが躊躇せずダイブしろ! というのが Elixir 流 (俺調べ) である。 もとい、クラッシュさせてどうするのかというと Supevisor を使って、別プロセスから該当プロセスを監視しておいて、クラッシュしてもアプリケーション全体としては間違いなく動いている状態を保証するのが正しい。 カッとなってちょっとそのための例を書いて
All slide content and descriptions are owned by their creators.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く