明けましておめでとうございます / [buy][book][programming]オブジェクト指向入門 アスキー出版局

明けましておめでとうございます

去年、一昨年はインプットの年でしたが、今年はアウトプットの年にしたいと思います。

それから、今年はゴルフ始めます。4日にアイアンセットを購入して初めて打ちっぱなしに行ってきました。今日も朝から打ちっぱなし。早くコースデビューしたいので来週からはスクールに通います。(`・ω・´)シャキーン

オブジェクト指向入門 アスキー出版局

オブジェクト指向入門 (ASCII SOFTWARE SCIENCE Programming Paradigm)(Bertrand Meyer/酒匂 寛/酒匂 順子)

「入門」と銘打ってはいるけど、易しい内容ではないと思う。ただただしさんが絶賛していたので即購入してしまった。

オブジェクト指向入門 第2版 原則・コンセプト(バートランド・メイヤー)[Review] - ただのにっき (2007-01-11)

購入したのは先日発売された第2版ではなく第1版。理由は、第2版が2分冊になった上値段が高くなったから…ではなく、ボリュームが増えてて読みきる自身がなかったから。

最終更新時刻: 2008年11月10日

今週の総括

後で詳細を書く予定(書いたものに「済」マーク)

  • PHP5.2.0とそれ以前のPCRE関数で挙動が違う(済)
  • プール。火曜に750m、木曜に800m。
  • Oracle 9i for linuxのインストールに失敗
  • ソフトウェア開発の契約書等に関する調査(済)
  • コマンドラインでACLを編集
  • Office 2007をインストール
  • Windows XP SP2適用済みイメージを作成
最終更新時刻: 2008年11月13日

[wish] Ciscoのスイッチを設定 / [programming][PHP]PHP5.2.0とそれ以前で、PCRE関数の結果が違うことがある / ソフトウェア開発における契約、権利等に関する調査

Ciscoのスイッチを設定

初めてスイッチというものを触った。

使ったのはCisco Catalyst 2950。箱から出してコンソールで繋いでIPアドレス等を設定。VLANを追加してウマー。

印象としては「ネットワーク専用のコマンドしかないLinux BOX」((-実際載ってるOSはLinuxではなくIOS-))。bashっぽいし。

部屋に一台欲しいな。Cisco Catalyst 2950は大きく(1Uサイズ)てファンがうるさいから、ファンレスでコンパクトな2940あたりが良い。

PHP5.2.0とそれ以前で、PCRE関数の結果が違うことがある

$html = file_get_contents('hoge.html');
preg_match("/<title>(.*)<\/title>/is", $html, $m);
echo $m[1];

この結果がPHP5.2.0だと空文字になってしまうことがある。PHP5.2.0より前の環境だと正しく<title>〜</title>の間が出力される。

特に、hoge.htmlのサイズが大きい場合に発生しやすい。手元の環境だと130kB程度のhtmlで発生。

理由は5.2.0から追加されたこの設定オプション。(PHP: 正規表現関数(Perl 互換) - Manual)

  • pcre.backtrack_limit integer

PCRE のバックトラック処理の制限値です。

  • pcre.recursion_limit integer

PCRE の再帰処理の制限値です。この値を大きくすると、 使用可能なプロセススタックを使い切ってしまい、 (OS のスタックサイズの制限値に達して) PHP をクラッシュさせてしまうことに注意しましょう。

特に例のスクリプトだとpcre.backtrack_limitの制限に引っかかりやすい。

まぁ、例の正規表現の場合、元々効率が悪い。

おそらく最長マッチしようとしてこの制限を越えてしまうので、最短マッチにするとベター。

$html = file_get_contents('hoge.html');
preg_match("/<title>(.*?)<\/title>/is", $html, $m);
echo $m[1];

状況によっては制限値を上げてしまうのもあり。

また、エラー処理を行うためにpreg_last_error()が用意されている。

$html = file_get_contents('hoge.html');
preg_match("/<title>(.*?)<\/title>/is", $html, $m);
if(preg_last_error() !== PREG_NO_ERROR){
    echo "error!";
}
echo $m[1];

ソフトウェア開発における契約、権利等に関する調査

ソフトウェア開発の契約に関する調査メモ。特に発注側としての立場で。

JISAソフトウェア開発委託モデル契約(平成14年5月版)

テンプレートにも使えるモデル契約書。

“あいまい契約”排除に向け、経産省がモデル契約書を公開:ITpro

より、「情報システムの信頼性向上のための取引慣行・契約に関する研究会」中間のまとめの公表について 報道発表(METI/経済産業省)

開発したシステムの著作権、ソースコードの提供有無なんかは世間一般的にどうなの?ということで「会計検査院 − 活動基盤 − 広報 − 記者発表資料」も参考になる。

(エ) 開発・改良したソフトウェアの権利帰属の状況

(ソフトウェアの著作権の帰属)

 ソフトウェアの開発・改良に伴い生じる著作権の権利帰属の取扱いについて、契約書等に著作権に関する定めがないものは20.4%である一方、定めを置いている場合の著作権の帰属先については、国に帰属が59.1%、業者に帰属が7.3%、国と業者の双方に帰属が12.9%となっている。著作権が国に帰属しない場合、開発されたソフトウェアについて国が独自に改良、変更を加えることができなくなるおそれがある。

(ソースコードの入手)

 ソフトウェアのソースコードが国に提出されている場合には、ソフトウェアの改良等の際に開発した業者とは別の業者に発注することも可能になり、品質の確保にもつながる。しかし、省庁共通のソフトウェアの開発・改良契約355件についてみると、契約書等においてソースコードを成果品等として提出させることとしているものの割合は35.4%となっている。

最終更新時刻: 2008年11月06日

GUIのWebDAVクライアントを公開

ダウンロード

スクリーンショット

接続ができてダウンロードができてアップロードができる程度です。

  • FFFTPみたいなインターフェースを目指してます。
    • 今のところログ画面は飾りです。偉い人には(ry
  • できること
    • アップロード
    • ダウンロード
    • 削除
    • 日本語の表示(サーバ側エンコーディングはUTF-8のみ対応)
    • http/https通信、圧縮通信
  • できないこと
    • 名前の変更
    • 移動
    • コピー
    • いっぱい
  • レジストリ/INIファイル使いません。以前接続したURLすら保存しません。(ぇ
  • 上書き確認しないので要注意。
  • 使用は自己責任でお願いします。
  • 開発環境はVisual C++ 7.1
  • 使ってるライブラリ
  • DLL部はLGPLに従いソースを同梱しています。
  • エラーはスルー
最終更新時刻: 2008年11月06日

Web APIとしてのWebDAV

ウノウラボ Unoh Labs: Web APIとしてのWebDAV

禿げしく同感なのでメモ。

WebDAVに可能性を感じたからこそクライアント作ってるわけだし:)

最終更新時刻: 2008年11月06日

[Server] 自分流httpd.confの作り方 / [Server]無料のWebDAVサービス

自分流httpd.confの作り方

自分流のApacheの設定ファイル(httpd.conf)の作り方。

元となるのはデフォルトのhttpd.conf。Apache 2.0.59の場合1038行。

まず、コメントを削除していく。後でコメントアウトして使いたいものもあるので手作業で。置換で全部消しちゃうのもあり。必須なのはServerNameくらい。

コメントを削除後の行数は300行ちょっと。

さらにここから必要のないものを削ると160行くらいになる。これがベース。ここから色々と追加していく。

無料のWebDAVサービス

http://www.freedav.com/

最終更新時刻: 2008年05月07日