Plug について説明します。 Plug とは Elixir の HTTP サーバの実装の1つです。 内部では Erlang の信頼できる HTTP サーバ Cowboy を利用してますが、アダプターを切り替えることで他のライブラリにもできます。1 2017年12月19日現在、Cowboy 2 に対応した 1.5.0-rc.0 が出ています。 が、rc.0 なので、ちゃんとした 1.5.0 がリリースされるまでは 1.4.3 を使っておくのが無難でしょう。 Phoenix との違い Phoenix は Plug を利用して作っています。 Phoenix に渡ってくる conn は Plug.Conn なので、Phoenix を弄るには Plug の知識が必要になってきます。 また、Phoenix はプラグのインターフェースである init/1 と call/2 をうまく扱えるようにしている
並列分散処理を得意とするerlangという関数型言語に興味のある方は多いではないでしょうか? 自分は身近にerlang識者がいたため、興味を持つ事になりました。 今回は、そんなerlangの入門として 「erlang + rebar3 + cowboy」 でHTTPサーバを構築したいと思います。 erlangについて 並列分散処理に強い関数型言語。 OTP(Open Telecom Platform)フレームワークがすばらしい。 参考書の受け売りなので、ニュアンスが間違っているかもですが、大体こんな感じで書いてました。 rebar3について Erlangアプリケーションのコンパイル等一括で行ってくれる便利なツール。 また、erlangモジュール等のdependencies(依存関係)を一括管理してくれたりもしています。 rebar3より以前にrebarが存在しましたが2016年6月現在は非
Cowboy 2.0.0 has been released! This is the new stable version of Cowboy. There are no new releases planned for the 1.x version of Cowboy. The highlights from the release are: HTTP/2 support! Websocket compression! Much simpler, cleaner interface. No more weird errors just because you discard the Req object. A new low-level interface that receives all events from every set of request and response.
Elixir 勉強会 tokyo.ex#7 × 歌舞伎座.tech#13 でのLT資料
毎回同じJSONを返すAPIの作成 さて、まず実装するJSONのAPIですが、毎回同じ内容のJSONを返すAPIを作成していきます。 毎回同じ内容を返すAPIに何の意味があるのか?っという話もありますが、最初の最初として実装していきます。 cowboy 1.0の場合 defmodule ElixirCowboyExample.JsonHandler do def init({:tcp, :http}, req, opts) do {:ok, req, opts} end def handle(req, state) do {method, req} = :cowboy_req.method(req) {:ok, req} = json_example(method, req) {:ok, req, state} end # bodyに "{\"title\": \"hello cowboy
Hi, I’m Elvio. I am a software developer that enjoys building products. I’m a Staff Engineer at Shopify by day and an indie developer building storylog.app by evenings. Writings 30 days building storylog.app Mar 18, 2022 Working on a new project Feb 6, 2022 A reflection on my failed side projects Dec 19, 2021 Starting fresh Dec 14, 2021
Follow @snajper47 When I teach OTP I always show observer application. Observer is a graphical user interface capable of displaying supervision trees and providing information about processes. It is really cool to show how processes get restarted and what structure they follow. It is also suitable for using with production systems too! Erlang example for teaching purposes You can start observer by
Cowboy Small, fast, modern HTTP server. Cowboy is the ultimate server for the modern Web with support for Websocket, HTTP/2 and REST. Source Code User Guide Manual Cowlib Support library for the Web. The Web toolbox for HTTP/1.1, HTTP/2, Websocket, Multipart, Cookies, URL encoding... Source Code Manual
Webの始まりから今日までのさまざまなWeb技術を見てみることによって、次に何がくるのかの予測を得てみましょう Cowboyは、この記事を書いている時点で仕様として実現例のないHTTP/2.0以外のすべてのテクノロジーと互換性を持っています。 先史時代のWeb HTTPは最初はHTMLページを提供するためだけに作成され、HTMLページを取得するためのGETメソッドのみを持っていました。 この最初のバージョンは文書化され、HTTP/0.9と呼ばれています。 HTTP/1.0はGET、HEAD、POSTメソッドを定義し、POSTリクエストを使用してデータを送信することができました。 HTTP1.0は非常に簡単な方法で実装されたものです TCP接続が最初にサーバと確立されます。 次に要求が送信されます。 そしてサーバは応答を送り返し、接続を終えます。 こういえば十分ですが、HTTP1.0はあまり
ElixirにてWebアプリケーションを開発しようとするとCowboyにたどり着くことになります。 そこでCowboyのユーザガイドを翻訳することによって、これからCowboyを使用される方がつまづくことないようにと思い、翻訳を行いたいと思います。 翻訳許可をくださり、また掲載許可もくださった Nine Nines社とLoic Hoguin様ありがとうございました。 翻訳ですが素人翻訳ですので間違いが多々あるかもしれません。 解説が間違っていた場合には、コメントか@hayabusa333にご連絡くださると嬉しいです。 翻訳元のドキュメントは以下となります。 Cowboy User Guide Cowboy ユーザガイド Cowboyユーザガイドは現代のWeb技術とWebアプリケーションを記述するためにCowboyを最大限に活用するための地図です。 Cowboy紹介 はじめに 現代のWeb
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く