zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|
2012|04|05|06|09|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2007年07月02日(Mon)

[nadoka] FreenodeのNickServとか対応

mla botクローンを作っていて思い出したので、「irc.freenode.netで使われているNick認証がやってきません。」とかいうことになっていたのを1ヶ月ぐらい前に直していたのを、特に問題がなさそうなのでコミットした。


2007年07月03日(Tue)

[ruby] Re: Time.parse で対応していない形式をパースしたいときのワークアラウンド

そういうときはstrptimeかと思ったら、1.8にはTime.strptimeはなかった。(DateTime.strptimeDate.strptimeはある。)


2007年07月11日(Wed)

[web] wikiやblogとrobots

[hyperestraier-users-ja] Patched for Node Sever & Crawlerの6を見て、wikiやblogの編集や差分などへのリンクは「rel="nofollow"」を付けると良いのではないかと思った。


2007年07月12日(Thu)

[web] はてなスター

とりあえず付けてみたテスト。

[web] はてなスターって何?

よくわからないけど、はてなブックマーク - ぼくはまちちゃん!(Hatena) - はてな足あとちょうのように足あと機能のようにも使える仕様らしい。

そういう仕様を意図しているかどうかは謎。

と思っていたらはてなスター日記 - はてなアイデアにお寄せいただいたアイデアについての最後に意図していないっぽいことが書いてあった。

本日のツッコミ(全1件) [ツッコミを入れる]

くろはた [とりあえずクリックしてみたら、いっぱいスターがついちゃいました。大丈夫なんでしょうか。]


2007年07月13日(Fri)

[svk] svk win32でファイル名が文字化け

いつの間にかsvkの2.0系がリリースされていてwin32用も http://svkwin32.googlepages.com/ にパッケージがあったので、入れてみて使ってみようとしたら日本語のファイル名がcp932にならずにutf-8のまま作成されているっぽい文字化けをしていた。

がんばって調べてみたら、Encodeモジュールが最低限しか入ってなくて、resolve_alias('cp932')cp932が返ってこなかったり、無理矢理それを使っているところでcp932を返すようにしても、結局utf-8との変換できなくてダメだった。


2007年07月17日(Tue)

[regexp] 正規表現の文字クラスの中と外の違い

\b って単語境界だったりバックスペースだったりするのか。を見て思ったけど、「\b」だけわざわざ文字クラスの中と外で違うと書いてあることが多いけど、他のゼロ幅アサーション(「^」とか「$」とか)とかも意味が変わるし、「.」とか「-」とかも意味が変わる。
本日のツッコミ(全1件) [ツッコミを入れる]

siokoshou [なるほど〜、確かにそうですね。エスケープ文字のうち、コンテキストによって意味が変わるのが\bだけってのが気になったの..]


2007年07月18日(Wed)

[regexp] perldelta - perl v5.9.5 更新情報の正規表現

「(*THEN)」とかをみて「(?〜)」、「(*〜)」と来て他に(括弧の直後に使えないメタ文字で)残っているのは何だろうと思ってしまった。

すぐに思いつくのは量指定子の「+」を使って「(+〜)」。「({〜})」もあるかなあ。


2007年07月19日(Thu)

[ruby] www.ruby-lang.orgのrwiki

/ja/man/と/ja/install.cgiと/en/install.cgiの3つが動いていて/en/install.cgiは内容が古いままで放置されてるし、spamも増えてきていたので、停止してダウンロードページへのリダイレクトをするだけのcgiにしてしまった。


2007年07月25日(Wed)

[apache] apache2.2の設定ではまる日々

[debian-users:49056]とかLimitExcept OPTIONSとか。

[apache] apache2.2とmod_userdir

[debian-users:49056]の話。

mod_userdirのソースまで見て代わってるのはデフォルトが"public_html"からNULLになっただけっぽいというところまでたどり着いていたのに、コンテキスト: サーバ設定ファイル, バーチャルホストというのを、サーバグローバルの設定を引き継いだ上でバーチャルホストの設定が追加されると誤解していたのが敗因。

UserDirをまったく設定していないバーチャルホストではサーバ全体の設定を引き継ぐけど、1つでもUserDirを書いているとUserDir public_htmlを設定していないデフォルトの状態に戻ってしまっていたということだった。

ソースをみて気づいたけど、enabledとenableはまったく同じ(disabledとdisableも)で、(enabledとdisabledだけ使っていても)エラーメッセージではenableと出てくるようになっていた。

[apache] mod_dav_svnとLimitExcept OPTIONSとAuthzSVNAccessFile

結論からいうとAuthzSVNAccessFileとLimitExceptは混ぜてはいけない。認可はAuthzSVNAccessFileだけに任せる方が良い。

どうはまったかというと、AuthzSVNAccessFileで「* =」と「kazu = rw」という感じで認証済みのユーザだけ読み書きできて、認証していないと読むことも出来ないという設定にしていた。その上でapache側で「<LimitExcept OPTIONS>require valid-user</LimitExcept>」(実際には改行あり)という設定をしていたら、svn ciの最初のOPTIONSの応答が「403 Forbidden」になってしまって那覇んだという話。

どういうことかというと、最初は認証が必要かどうかわからないから、認証用の情報無しでOPTIONSのリクエストをするが、AuthzSVNAccessFileで「* =」になっているので認可されない。apacheはLimitExceptでrequire valid-userの対象外になっているので認証を要求しない。結果、認証できないので「401 Unauthorized」にならずに「403 Forbidden」になっていた、ということだと思う。「Satisfy Any」とかあるから厳密には違うところがあるかもしれないけど、大まかにはこういうことだったのではないかと思う。

最終的にはこんな感じの設定にした。

    <Location "/svn">:
        DAV svn
        SVNParentPath /srv/svn
        SVNListParentPath on
        SVNIndexXSLT "/svnindex.xsl"
 
        AuthType Digest
        AuthName "Subversion Repository"
        AuthUserFile "/etc/apache2/auth/dav_svn.digest"
        require valid-user
 
        AuthzSVNAccessFile /etc/apache2/auth/dav_svn.authz
        Satisfy Any
    </Location>

dav_svn.authzはこんな感じ。

[groups]
all = foo, bar, hoge, fuga
webmasters = foo, bar
 
[hoge-web:/]
* =
@webmasters = rw
 
[test:/]
* =
@all = rw

2007年07月28日(Sat)

[web] 本番環境とテスト環境

最後の方の「うっかりテスト環境のファイルをそのまま本番に持っていくとおかしな事に」という部分について。

ここでは広告バナーのIFRAME部分を「if /xrea/ =~ ENV['SERVER_NAME']」で条件分岐して埋め込むようにしています。こういう設定ファイル以外からの情報が使えるのならその情報を使って分岐した方がうっかりミスが防げて良さそうに思いました。


copyright © 2001-2013 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73