最近、ElixirのPhoenixを使う機会が増えて来ました。そんなPhoenixですが内部的にErlangのHTTPサーバであるCowboyが使われています。内部的に使われてるので一度、Cowboyを使ってみたいと思い、Erlangで簡単なサンプルを実装してみましたのでその時のメモを書いていきます。 さらっとCowboyの特徴 モダンなHTTPサーバになります。モダンと言ってるだけあってHTTP/2とWebSocketを対応しているようです。遅延とメモリ消費量が少なくコード量自体も少ないHTTPサーバになります。なので簡単なAPIサーバを実装するときにPhoenixでは重過ぎる場合とかに使えるかなぁと思います。 実行した環境 Erlang/OTP 21 rebar3 3.6.1 Cowboy 2.4.0 実装 環境準備 Erlangとrebar3 まずは環境から。そもそものErlangの
CowboyでCookieの使い方を学んだので備忘録的に残しておきます。 はじめに ErlangやCowboyの環境構築や設定は以下の記事にまとめてるので気になる人はやってみてください。 CowboyでHello Worldのサンプルを動かしてみる ハンドラーの準備 まずはCowboyで呼び出すハンドラーの準備をします。パスに応じてハンドラーを呼び分けたりしますが今回は全てのリクエストは一つのハンドラーが受けるようにします。 start(_StartType, _StartArgs) -> Dispatch = cowboy_router:compile([ {'_', [ {'_', toppage_handler, []} ]} ]), {ok, _} = cowboy:start_clear(http, [{port, 8010}], #{ env => #{dispatch =>
$ mix phx.server =SUPERVISOR REPORT==== 21-Aug-2018::09:37:27.995612 === supervisor: {local,'Elixir.Logger.Supervisor'} errorContext: start_error reason: noproc offender: [{pid,undefined}, {id,'Elixir.Logger.ErrorHandler'}, {mfargs, {'Elixir.Logger.Watcher',start_link, [{error_logger,'Elixir.Logger.ErrorHandler', {true,false,500}}]}}, {restart_type,permanent}, {shutdown,5000}, {child_type,worker}]
Elixir(エリクサー)って何? Elixirは並行処理の機能や関数型といった特徴を持つ、Erlangの仮想マシン (BEAM) 上で動作するコンピュータプログラミング言語 by Wiki ググれば色々と詳しく出てくるので、ザックリとメリットを述べると 関数型言語のメリットを享受できる一方でスクリプト言語のようなシンプルな言語仕様 「膨大なデータやアクセスの高速処理」と「高い開発効率」を両立できる Railsの開発者が作ったWebフレームワークPhoenix(フェニックス)が優秀 ハードウェアの性能に比例した高速化が実現できる! Discordなどの大規模サービスでも実際に使われているとか! もうちょっと専門的に知りたい人はこちらとかオススメ Elixir for Rubyists | カヤックエンジニアブログ なんで興味を持ったか 1. これから台頭しそう 2020年以降SI案件が激減
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く