タグ

ブックマーク / r7kamura.github.io (4)

  • Golang Reverse Proxy - r7km/s

    単一ホスト用のリバースプロキシを実装する net/http/httputilで、HTTP用のReverse Proxyを実装するためのライブラリが提供されている。 下記のコードで、http://127.0.0.1:3000 から http://127.0.0.1:9292 にHTTPリクエストを委譲するReverse Proxyが動作する。 httputil.NewSingleHostReverseProxyはhttputil.ReverseProxyのインスタンスを返す。 このインスタンスはhttp.Server互換の (.ServeHTTPメソッドに呼応できる) オブジェクトであるため、 http.Serverを利用してHTTPサーバを動作させられる。 // main.go package main import( "net/http" "net/http/httputil" "net

  • Private PaaS Beach - r7kamura per second

    デプロイこそが全て。 Dokku https://github.com/progrium/dokku/ Dokkuを使えばmini-Herokuのような環境を簡単に構築出来る。 Dokkuを利用して構築したホストに対してgit pushでコードをデプロイすると、 HerokuBuildpacksの仕組みを利用して環境が構築され、 Dockerのコンテナ上でアプリが起動し、nginxの設定が更新される。 Dokkuのホスト上でnginxがHTTPリクエストを待ち受けており、 サブドメインを元に適切なコンテナにリクエストを渡すという仕組みになっている。 Digital Ocean https://www.digitalocean.com/ Dokkuを試しに使ってみるにはDigital Oceanを利用するのが便利。 最初からDokkuがインストールされた状態のイメージが用意されているこ

    Private PaaS Beach - r7kamura per second
  • faraday-lazyable - r7kamura blog

    faraday-lazyableという、 HTTPリクエストを遅延評価させるためのライブラリを作った。 遅延評価はある種の複雑性を持ち込むが、ビジネスの要求に合わせて正しく使っていきたい。 遅延評価 HTTPリクエストにおける遅延評価とは何か。 遅延評価というのは、評価しなければならない値が存在するとき、 実際の計算を値が必要になるまで行わないことをいう。 HTTPリクエストを遅延評価するというのは、つまりHTTPクライアントはすぐにレスポンスオブジェクトを返すが、 レスポンスオブジェクトに対してメソッドが呼ばれたときに初めてHTTP通信を発生させるということを意味している。 Faraday Faradayとは何か。 faraday-lazyableは、FaradayというRuby製のHTTPクライアントのプラグインとして実現されている。 FaradayはRackのようにプラグイン(=この

    faraday-lazyable - r7kamura blog
  • Asciinema - r7kamura blog

    Asciinemaの使い方、使われ方、使い勝手について。 使い方 Asciinemaという、端末上の操作を録画するツールとそのホスティングサービスがある。 「Record and share your terminal sessions, the right way」とのこと。 ざっくり言うとTerminal版Gifzoみたいなもので、こういう感じで利用できる。 # install sudo easy_install pip sudo pip install asciinema # usage - 新しいsessionが立ち上がり、exitするまで記録される asciinema rec 使われ方 例えば、AsciinemaはDockerのTutorialで使われている(またDockerか)。 Dockerは自分にとって新しい概念を導入するものだったので、 入力と出力の様子を見ながら外側から

  • 1