FreeBSD 6.0,Apache2.2,Subversion のめも

以下をためしたつもり。

  • ファイルシステムベースの DAV のインストール
  • Subversion ベースのDAV のインストール
  • 日本語ファイル名が扱えるように (mod_encoding)
  • Apache2.0, 2.2 で試行
    • mod_encoding 以外は apache2.0 と同じ.

インストール

ファイルシステムベースのDAV はapache2 以降ならデフォルトで入っている。

% portinstall /usr/ports/www/mod_dav

設定

''http.conf'' の ''LoadModule'' ''dav_module'', ''dav_fs_module'' がコメントアウトされたら外す。

''http.conf'' に以下を追加

Alias /webdav "/home/www/webdav"
<Directory "/home/www/webdav">
    DAV on
    DAVMinTimeout 1800
    Options Indexes
    IndexOptions FancyIndexing
    AuthType Basic
    AuthName "Please Input ID and Password"
    AuthUserfile "/usr/local/webdav.passwd"

    Require valid-user

    Order allow,deny
    Allow from all
</Directory>
DAVLockDB /usr/local/var/apache2/DAVLock

必要なファイル/ディレクトリを作成

% mkdir /home/www/webdav
% mkdir /usr/local/var/apache2
% chown www:www /home/www/webdav
% chown www:www /usr/local/var/apache2

% htpasswd -c /usr/local/webdav.passwd webdav
password: ********
続きを読む

今月の日曜日は何回か

  • 人のを見て直す.
  • 月の最終日は Date.new(y, m, -1) で取れるのか.
  • 1 で足したり引いたりきもちわる
    • (last.day - last.wday + 6) / 7
    • (last.day - last.wday) > 28 ? 5 : 4
  • シェルスクリプトおもろいなぁ.
require 'date'

now = Date.today
y = now.year
m = now.month

last = Date.new(y, m, -1)

puts (last.day - last.wday + 6) / 7

今月「日曜日」が何回あるのか数える

Ruby

  • 月の最終日を調べて,最終日曜日を調べて 7 で割る
  • 1 で足したり引いたりきもちわる
  • (31..28) ってできないのか. reverse した.
require 'date'

now = Date.today
y = now.year
m = now.month
last_jd = (28..31).map {|d| Date.valid_date?(y,m,d)}.reverse.detect{|d| d}
last = Date.jd(last_jd)

puts (last.day - last.wday - 1) / 7 + 1

Haskell

  • がんばって書いた.なんとかコンパイルできた.
  • head filter っぽいのないのかな
import Time
nDays n = TimeDiff { tdYear  = 0,
                    tdMonth = 0,
                    tdDay   = n,
                    tdHour  = 0,
                    tdMin   = 0,
                    tdSec   = 0,
                    tdPicosec = 0
                    }

isSameMonth c0 c1 = (f c0) == (f c1)
    where f = ctMonth.toUTCTime

lastDay c = head $ filter (isSameMonth c) $ [(nDays (d - day)) `addToClockTime` c| d <- [31,30..28]]
        where day = ctDay.toUTCTime c

lastSunday c = head $ filter isSunday $ [(nDays (-w)) `addToClockTime` (lastDay c) | w <- [0..6]]
    where isSunday c' = (ctWDay.toUTCTime) c' == Sunday

countSunday c = (d - 1) `div` 7 + 1
    where d = ctDay.toUTCTime $ lastSunday c

main = do {
           c <-  getClockTime;
           print $ countSunday c
           }

XX プログラマのレベル YY

楽しいのでまとめた.他にもあるのかな

http://d.hatena.ne.jp/naoya/20050809/1123563794
http://d.hatena.ne.jp/himazublog/20050905/1125934028

http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme%3aScheme%a5%d7%a5%ed%a5%b0%a5%e9%a5%de%a4%ce%a5%ec%a5%d9%a5%eb10

http://www.kahua.org/lldn2005/haskell/

http://www.jmuk.org/d/?path=2005/09/07#d07t02