タグ

ブックマーク / dqn.sakusakutto.jp (4)

  • reverse proxyをHTTP/HTTPS両対応のサイトに導入するときの落とし穴 · DQNEO日記

    発生にいたるメカニズム サーバ構成 フロントのリバースクプロキシにNginx、バックエンドのアプリケーションサーバにApacheを使用していました。 (ただ、これは何のソフトウェアを使っているかとかは関係なく、どの組み合わせでも起こりうると思います。) フロントでNginxが80番と443番の両方のポートをListenして、バックエンドでApacheが8080番をListenします。 わりとよくある構成ではないかと思います。 ブラウザ -> (http) -> Nginx(80) -> (http) -> Apache(8080) ブラウザ -> (https) -> Nginx(443) -> (http) -> Apache(8080) Nginxは、クライアントから静的コンテンツを要求された場合は即レスポンスし、動的コンテンツ(.phpなど)を要求された場合は背後のApacheにリク

    ghostbass
    ghostbass 2017/10/24
    スキームを書かない、という選択肢はどうだろう。 http://example.com > //example.com
  • BerkshelfとChefのインストールに苦労した話 - DQNEO起業日記

    例えばberkshelfひとつ入れるのに、膨大な知識がいる。 もしあなたが単にPHPサーバを作りたいだけだったとしても、berkshelfをちゃんとしたモダンなやり方でいれるには膨大な知識がいる。 例えばruby, rbenv, ruby-build, gem, bundlerなどだ。 まあ、rbenvとruby-buildで最新のrubyを入れること自体はそんなに難しくない。Ruby言語の知識も必要ない。 運よくgem install berkshelfが一発で成功したら、別に問題はない。おめでとう。 そういう人はここから下は読む必要はないです。 ところがである。 ひとたびgem installが失敗したら、そこからは茨の道である。 インフラの問題 gem installしたら "ERROR: Could not find a valid gem 'chef-solo' (>= 0) i

    BerkshelfとChefのインストールに苦労した話 - DQNEO起業日記
    ghostbass
    ghostbass 2014/07/21
    ああ、今まさにこの状態だ。やっとgem install berkshelf -v 2.0.15で成功したと思ったら berks installでこけやがる
  • CentOS6でRPMforge、Remi、EPELをyumレポジトリに追加する方法 · DQNEO日記

    なお、記事はx86_64(64bit)環境を前提にしています。 レポジトリファイルをダウンロード まずはレポジトリファイルをダウンロードしましょう。 実はここが鬼門で、レポジトリのURLやファイル名はころころ変わります。(404 not foundなどのエラーが出たりします) ダウンロードできない場合はあわてずにレポジトリファイルを自力で探せばすぐ見つかりますので、じっくり見てみてください。 epel wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm ※上記ファイルが存在しない場合は、下記URLからepel-releaseで始まるファイルを探してダウンロードしてください。 http://dl.fedoraproject.org/pub/epel/6/x86_64/ remi wge

    CentOS6でRPMforge、Remi、EPELをyumレポジトリに追加する方法 · DQNEO日記
  • JavaScriptで、メソッドをコールバックとして渡す方法(コールバック関数でthisをbindさせる方法) · DQNEO日記

    Home Subscribe var obj = { name : 'pikachu', say : function(){ alert('I am ' + this.name); } } setTimeout(obj.say, 1000); // => 'I am'とだけ表示される。 これは期待通りに動いてくれません。 コールバックとしてメソッドを渡した場合、それはオブジェクトと切り離された単なる関数(メソッドではない)となってしまうのです。 つまり下記と等価なのです。 setTimeout( function(){alert('I am ' + this.name);} , 1000); 関数がオブジェクトと切り離されているため、このthisはグローバルオブジェクト(windowオブジェクト)を指してしまっており、'I am'とだけ表示されます。 ではどうすればよいでしょうか? bin

    ghostbass
    ghostbass 2012/05/14
    function delegate (fnc,ctx){ return function(){ return fnc.apply(ctx,arguments); } }みたいなのを作る。YUIのイベントハンドラと同じ感じ、MS AJAXのFunction.createDelegateと同じ感じになると思う。ダメかな
  • 1