FreeBSD 6.0,Apache2.2,Subversion のめも
以下をためしたつもり。
- ファイルシステムベースの DAV のインストール
- Subversion ベースのDAV のインストール
- 日本語ファイル名が扱えるように (mod_encoding)
- Apache2.0, 2.2 で試行
- mod_encoding 以外は apache2.0 と同じ.
設定
''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 }