2005-12-07 [長年日記]

_ 今日の acl(2)

インラインメソッドじゃなく、コールバックオブジェクトに変更。

class ACL
  @@forbidden = Proc.new{raise WEBrick::HTTPStatus::Forbidden}

  def self.allows(*allowed_ips)
    list = allowed_ips.flatten.map do |ip|
      IPAddr.new(ip)
    end
    acl = self.new
    acl.instance_variable_set(:@list, list)
    acl
  end

  def call(req, res)
    client_ip = IPAddr.new(req.peeraddr[3])
    @list.find(@@forbidden) do |ip|
      ip.includes?(client_ip)
    end
    nil
  end
end

deny するやつは書けなくてもいいのか?

Tags: ruby

_ vim

社内でやってる勉強会シリーズ。今回は vim。

HML
スクロールせずに画面の上中下にカーソル移動。:set scrolloffset=5 とかも。[追記] scrolloff らしいです。
g[jk]
折り返されてる長い一行の見かけの行を移動できる
5[Oo]
とかで行を挿入すると、Esc してからカーソル移動するまで行挿入が遅延評価?
{,}
ブロック(完全な空白行区切り)単位で移動
f?
?に移動。続けて ; とか、戻るなら , とか。よくわからん。行内だけ?
c3/search[ENTER]replace
などなど

~/.vimrc に set incsearch を追加。マクロとかまでは行けず。

本日のツッコミ(全1件) [ツッコミを入れる]
_ sawada (2012-05-03 04:04)

とても参考になりました!ありがとうございます。 <br>あっ、、'scrolloffset'は'scrolloff'かと思われます!


«前の日記(2005-12-06) 最新 次の日記(2005-12-09)»