01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2007-08-31 Fri
■ ssh-agent 用の関数
function PS-ssh-agent { param([switch]$k) if($k) { $con = ssh-agent -k; $reg = new-object System.Text.RegularExpressions.Regex("echo (.*)"); echo $reg.Match($con).Groups[1].value; Remove-Item env:SSH_AUTH_SOCK Remove-Item env:SSH_AGENT_PID return; }else{ $con = ssh-agent -c; $reg = new-object System.Text.RegularExpressions.Regex("SSH_AGENT_PID (\d+)"); New-Item env:SSH_AGENT_PID -value $reg.Match($con).Groups[1].value | Out-Null; $reg = new-object System.Text.RegularExpressions.Regex("SSH_AUTH_SOCK (/tmp/ssh-\w+/agent\.\d+)") New-Item env:SSH_AUTH_SOCK -value $reg.Match($con).Groups[1].value | Out-Null; $reg = new-object System.Text.RegularExpressions.Regex("echo (.*)"); echo $reg.Match($con).Groups[1].value; return; } }
eval したときと同じように環境変数を設定する。
-k でプロセスの削除
2007-08-30 Thu
■ Windows 版の Subversion を入れている環境で、svn+ssh スキームで接続する。
現象
Windows 版の Subversion で svn+ssh スキームで接続できない。
環境
Windows 版 Subversion
Cygwin 版 OpenSSH
原因
svn+ssh スキームでの接続では、SSH 接続後、svnserve を起動している。
この時、 Cygwin 版が導入されていないと、windows 版が起動してしまう。
bash で Windows 版はメッセージが文字化けを起こす。
解決方法
Cygwin 版の svnserve を起動できるようにする。
メモ
ログインシェルを cmd.exe に変更する方法はどうだろう?
こうすると Windows 版でもよさそうな気がする。
Windows 版の OpenSSH を入れるのもよさそうだ。
2007-08-29 Wed
■ Restart-Service
#本当はGet-service | ? {$_.Name -eq 'W3SVC'} | % $_.Restart() みたいにしたいけど、リスタートがない+Stop() & Start()ではどうも非同期に要求が完了しちゃうので、だめぽということで。
Restart-Service が使えそう。
Restart-Service 'W3SVC'
これも「非同期に要求が完了しちゃう」のかな?
2007-08-27 Mon
■ VNC over SSH
SSH 上で VNC を使うには、ポート転送をするといい。
TeraTerm を使う方法があるが「ソケットの初期化失敗」
の意味のメッセージが出てポート転送ができない。
そこで OpenSSH の ssh でポート転送を行う。
ssh -L 5901:example.com:5901 foobar@example.com
2007-08-26 Sun
2007-08-25 Sat
■ Bookmark
windows でサービスを動作させる際の設定
サービスおよびサービス アカウントのセキュリティ計画ガイド
3.2 アクセス権の設定
2007-08-24 Fri
■ PowerShell でフィボナッチ2 [PowerShell]
function fib{param($x) if($global:m.$x -isnot [int]){ if($x -le 1){ $global:m += @{$x = 1} }else{ $global:m += @{$x = (fib ($x - 1)) + (fib ($x - 2))} } } return $global:m.$x }
メモ化してみた。
ハッシュ $m を作成してから、実行する。
$m = @{} fib 40 165580141
fib 47 以上だとエラーが出る。
2007-08-23 Thu
■ PowerShell でフィボナッチ [PowerShell]
function fib { param([int]$x) if($x -le 1) { return 1 }else{ return (fib ($x - 1)) + (fib ($x - 2)) } }
fib 30 を呼び出したら戻ってこない…35分かかった。
■ PowerShellが楽しい。 [PowerShell]
PowerShell をインストールしました。
かなり楽しい。
GUI より CUI の方がコンピュータを操っている感じが強い。
PowerShell をインストールした時点では、スクリプトが動作しない。
set-executionpolicy remotesigned
このコマンドを入れるとスクリプトを動かせる。
プロファイルを作成していないと、
エイリアスや関数と変数が保存されない。
new-item -path $profile -itemtype file -force
このコマンドでプロファイルが作成される。
function で定義する関数が今までのバッチファイルのようなもの。
2007-08-22 Wed
2007-08-20 Mon
■ ICU のビルド失敗の原因
ICU を入れようと思って icu4c-3_6-src.zip をダウンロードしてきた。
readme を見ながら VS2005 でビルドしました。
未解決の外部参照が大量に出ました。
プロジェクトのプロパティを見たら「追加の依存ファイル」に一つも入ってない。
allinone.sln が間違ってるような?
make でやるとうまくビルド出来そう。
icu4c-3_8_d01-src.zip をダウンロードしてきて比較しました。
同じく「追加の依存ファイル」に一つも入ってない。
コマンドラインを見るとライブラリの指定が追加されている。
やっぱり icu4c-3_6-src.zip には追加するべきライブラリの指定が入ってなかった。
プロジェクトの依存関係も不完全だった。
i18n のビルドの前に common をビルドしなければならない
common のビルドで作成されたライブラリをリンクしなければならない。
2007-08-18 Sat
■ chalow 更新したものだけ出力
chalow は更新したエントリーのみを出力することができない。
指定日までを出力するか、全部出力する仕様になっている。
chalow の出力ファイルを subversion で管理すると内容が変更されたものだけ出力することができる。
次の方法で実現できた。
実行時間で内容が変化しないように chalow を修正する。
cl.conf のテンプレート内の最終更新時間を削除
chalow の RDF <dc:date> を削除
出力データのリポジトリ作成する。
出力データをインポートする。
2種類のフォルダにチェックアウト
chalow を実行し、出力データをコミット
別フォルダで update する。
後は、 update コマンドで更新されたファイルのみを、
サーバへアップロードすればいい。
RDF <dc:date> を削除するとまずいか?
cl.conf 内の最終更新日は subversion のキーワード置換を使うといいかも。
■ subversion をリモートアクセスできるようにしてみる
http でアクセスできるように apache を設定する。
mod_dav_svn.so を apache の modules ディレクトリにコピーする
LoadModule dav_module modules/mod_dav.so コメントをはずす
LoadModule dav_svn_module modules/mod_dav_svn.so を
LoadModule dav_module modules/mod_dav.so より後ろに追加
単一のリポジトリを使う場合
<Location /svn/repos> DAV svn SVNPath /absolute/path/to/repository </Location>
複数のリポジトリを使う場合
<Location /svn/repos> DAV svn SVNListParentPath on SVNParentPath /absolute/path/to/repository </Location>
/absolute/path/to/repository の下に複数のリポジトリを作成する
このままだと読み書きが自由に行われるので、
apache の認証を設定する。
DB のバージョンの違いで問題が発生するかもしれない。
libdb をコピーするように書いてあるドキュメントがある。
公式のインストールのドキュメントは mod_dav.so を静的に組み込む方法で書いてある。
参考
TortoiseSVN
daily dayflower
Subversionのインストールと設定(Apache編)
Subversion メモ
2007-08-17 Fri
■ subversion を入れてみる
subversion インストールするログ
現在の最新バージョンは 1.4.4
公式サイトからダウンロードしてくる。…どれを?
svn-1.4.4-setup.exe でインストールしてみる。
apache.exe の場所を聞かれる。
apache が 2.2 だからか
apache 2.2 用のバイナリに -setup.exe がない。
手動ですか?
zip からインストール
svn-win32-1.4.4.zipをダウンロード
svn フォルダに解凍
環境変数
解凍先の bin フォルダにパスを通す。
APR_ICONV_PATH に解凍先のiconv フォルダを指定。
参考
公式サイト
インストール方法
解説書の日本語訳
ソースコード管理システムSubversionを使ってみました
Subversionの基礎練習
2007-08-16 Thu
■ W3C Markup Validator で Bad hostname
W3C Markup Validator でサイトをチェックしたら Bad hostname が出た。
バーチャルホスト上の別サイトは問題がなかった。
何が原因だろうか?
ログに接続の形跡がないので、
W3C Markup Validator が名前解決できないのが原因だろう。
DNS が原因か?
W3C CSS Validator は正しく動作する。
Another HTML-lint も正しく動作する。
DNS が原因でないようだ。
W3C Markup Validator のバージョンアップが関係している?
なぜか直った。
2007-08-15 Wed
■ みんなのGOLF5
練習コースにいろいろな物が置いてある。
バケツやドラム缶。
無風状態。
キャラ ジャスミン スタンダード
バケツの中に入れるには sw で 65% 位で打つ。
ドラム缶の中に入れる sw で 55%
カップめんの中に入れる sw バックスピン 9%
2007-08-08 Wed
■ タフブックを買いました
オークションで CF-28 を買った。
OSのインストール。
USB から起動しない。
起動ディスクを作る。
Windows XP のインストール用起動ディスクを入手する方法を参照
これで作ったディスクが起動しない…ディスクが壊れていた。
回復コンソールからUSB CD-ROM ドライブ内のメディアが見れた。
インストールを開始することができた。3時間経過した。
2007-08-06 Mon
2007-08-03 Fri
■ XHTML の MIME [Apache]
XHTML の MIME は application/xhtml+xml
XHTML の 拡張子 は .xhtml で登録されている。
Content-Type は application/xhtml+xml でレスポンスがある。
IE は XHTML の MIME を認識しないので表示できない。
IE に HTML の MIME で送信すると表示できる。
mod_rewrite で書き換える方法が見つかる。
mod_rewrite を使う場合
<FilesMatch "\.xhtml\.?"> Options FollowSymLinks RewriteEngine On RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml RewriteRule .* - "[T=text/html]" </FilesMatch>
mod_rewrite だと期待した動作をする。
mod_rewrite を使わない設定だと、
<FilesMatch "\.xhtml$"> SetEnvIf Accept "application/xhtml\+xml" ACCEPT_XHTML Header set Content-Type text/html env=!ACCEPT_XHTML </FilesMatch>
で出来そうだが Content-Type がセットできない。
Content-Type をセットした後に上書きされている気がする。