やっぱ、疎結合のほうがいいなぁ。中身が見えない、中身を知らない。インターフェイスだけ。必要なものは API に。API にしてないところは触れて欲しくないところ。

開発初期の段階で、本当に必要だと思われた部分だけが、強く結合していて、あとは疎結合だ。時期が過ぎたら、終わり。

  1. トップ
  2. life
  3. 疎結合
  1. トップ
  2. thinking
  3. 疎結合

proxy.rb, proxy-config.yaml

とかいろいろあるやつを作ってみた。なんでそのまま使わないかっていうと、いちいち設定書くのが面倒くさかった気分。

設定は殆ど読まず、スクリプト単体で殆ど動くように。デフォルトでは files ディレクトリ以下に書き換え用のファイルを置く。

リクエストが example.com/css/base.css であれば、以下のようなファイルを探して置き換える。

  1. files/example.com/css/base.css
  2. files/example.com/base.css
  3. files/base.css

ma.la さんのソースでなんで :ProxyContentHandler を使わないんだろうって少し思ったけど、たぶん向こうの鯖へのアクセス数を減らしてレスポンスをよくするためっぽい? 全部置き換えちゃうわけだし、こっちのほうがいいので、このスクリプトもそうしてる。その辺はまるパクり!

あと流行りの Pathname を使ってみた。らくちん。


さらに規約を設定にしたら、設定より規約ってハードコーディングじゃね?みたい感じをなくせそう。

実装を見直し、規約を設定にした。好きな規約を設定して設定より規約なことができます (意味不明)

実装の見直しでは、完全にサブクラスかみたいな感じにして説明するのめんどい。

  1. トップ
  2. ruby
  3. 開発用プロキシ鯖を設定より規約に
  1. トップ
  2. web
  3. 開発用プロキシ鯖を設定より規約に