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

投稿日: 2007年01月22月

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>〜の間が出力される。

特に、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%となっている。

名前:宮内 はじめ

Code for Nagoya名誉代表

E2D3名古屋支部長

プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。

プロフィール

お問い合わせ