YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-24 (水)


[一語一絵/IT系]

原因はPCREの設定 / 2010-06-22 (火)

[External]rNotePHP5対応。先日のトライでpreg_matchがカギを握っているところまで追い詰めたのだが、しつこくググったところ[External]preg系関数 100Kを越える大きさの文字列を処理できないという話に辿り着いた。

[External]PHP 5.2.0で追加された設定だそうだが、pregが[External]PCREに繋がるとは思わなかったなぁ。

早速/etc/php5/apache2/php.iniを修正してPCREの上限を256KBに拡張したところ、[External]rNoteの再構築できるようになった。

でも、こないだ弄った[[:space:]]を元通りに戻して

function get_XMLTag($tag,&$str){
  if(preg_match("/<$tag.*?>[[:space:]]*(.*)[[:space:]]*<\/$tag>/s",$str,$buf)) {
        return $buf[1];
    }
    return '';
}
試したみたところ194KBの記事だけNGだった。もしかして、と思って上限を512KBまで上げたら改善されたので、\sより[[:space:]]の方が無駄にメモリを喰うという事のようだ。

あじさい(IMG_0107.JPG)
6/21 15:10 筥崎宮、あじさい苑にて

というわけで、/etc/php5/apache2/php.ini

[Pcre]
;PCRE library backtracking limit.
;pcre.backtrack_limit=100000
pcre.backtrack_limit=512000

;PCRE library recursion limit.
;Please note that if you set this value to a high number you may consume all
;the available process stack and eventually crash PHP (due to reaching the
;stack size limit imposed by the Operating System).
;pcre.recursion_limit=100000
pcre.recursion_limit=512000
と修正する事で、最終決着。

/etc/php5/apache2/php.iniを修正した後は、

$ sudo /etc/init.d/apache2 restart
するのも忘れずに。

【参照】
●rNote http://rinn.e-site.jp/rnote/
●__construct - Yahoo!ブログ http://blogs.yahoo.co.jp/wwzzwwzz1012
preg系関数 100Kを越える大きさの文字列を処理できない 2009年8月31日
●したうけプログラマのメモ http://www.dondari.com/
PHP5.2からのpcreオプション
●PHP: Hypertext Preprocessor http://www.php.net/
PCRE >> 実行時設定
●phpspot http://phpspot.net/
正規表現 (Perl 互換) >> 実行時設定
●Perl Compatible Regular Expressions http://www.pcre.org/


[一語一絵/IT系]

GT5発売決定 / 2010-06-21 (月)

GT5 Comming soon
[External]グランツーリスモ・ドットコムより

Project GT5 始動の第1弾、「グランツーリスモ 5 プロローグ体験版」からもうすぐ3年。[External]『グランツーリスモ5』の発売が2010年11月に決定したそうだ。

やっとかよ。

1000台中、200台がプレミアムカーと呼ばれる「高精度に再現された車種」で、内装や底面(裏面)の再現までも精巧に行なわれており、[External]GAME Watchの記事によると、GT500競技車両の内装は床に這うハーネスやワンオフ・コンソールパネルのケーブルまでが再現されているそうだ。

2Dのままでいいんだけど、その他OSの絡みでシステムソフトウェアをアップデートしなくてもプレイできるのかなぁ。

【参照】
●グランツーリスモ・ドットコム http://www.gran-turismo.com/jp/
『グランツーリスモ5』2010年11月に発売決定 2010年6月16日
●GIGAZINE http://gigazine.net/
長き時を経てようやく「グランツーリスモ5」の発売日が正式決定、3Dにも対応 2010年6月16日
●GAME Watch http://game.watch.impress.co.jp/
グランツーリスモ5、ついに破壊表現と横転表現の導入へ。立体視にも対応し、レンダリングエンジンも進化! 2010年6月18日


[一語一絵]

バイク駐輪事情 / 2010-06-20 (日)

今日、郵便受けに"完全セキュリティー"を謳う屋内型バイク駐輪場、[External]輪舎(りんや)のパンフレットが入ってた。

駐輪場@BiVi福岡
[External]BiVi福岡の駐輪場

さっそく[External]Webサイトをチェックしてみたところ、電子鍵で24時間いつでも入出庫可能な12,600円¥21,000/月となる「月極駐輪」の他、入出庫制限など条件付きながら¥8,400~と割安になる「短期or特別保管」、1泊2日¥1,545~の「バイクホテル」と既存他社に比べて選択肢は多い。

施設そのものは元印刷工場建屋を再利用したものという事に加え、セコムによる24H警備・火災・盗難保険にも加入しており確かにセキュリティー面では自宅保管より充実していると言えるだろう。やはり一番ネックとなりそうなのは、福岡市東区松島付近という地理的な条件かな。現地に12台分の駐車場があるそうなのでクルマで行ってバイクに乗り換えるのもOKだが、ウチから100m程のところにJR九州のバイク用ガレージ(10,500円/月)がある事を考えると、なかなか厳しいところだなぁ。

しかしながら、多少なりとも内部で整備したりしようとすれば広い設備の方が使いやすい事は間違いない。電源もあるし、洗車道具や高圧洗浄機まで使わせてもらえるサービスもありがたい。確かに、どうせ1万円以上出すなら狭苦しいコンテナより湿気対策まで行き届いた施設の方がいいかもしれん。

元々がクルマよりも高価で不便なバイクを好んで乗る人種なので、バイクの為ならば月に1~2回の不便くらい甘んじるのもありだろう。そういえば、オレも一時期CB400SF甘木に疎開させてた事を考えると、他人事じゃないなぁ。

そういうニーズを汲んでか、最近は博多駅南の[External]BIKE GARAGE MOTO-PITや、今宿の[External]プロヘッドモーターファクトリー、月隈周辺の[External]バイクガレージ福岡など、あちこちに出来ているみたいだ。

【参照】
●輪舎(りんや) http://office310.co.jp/
●輪舎日記 http://office310.co.jp/blog/
●プロヘッドモーターファクトリー http://www.pmf-garage.com/
●バイクガレージ福岡 http://bikesouko.com/
●BIKE GARAGE MOTO-PIT http://blog.goo.ne.jp/moto-pit
●バイクガレージ福岡九州【アトミック】 http://www.geocities.jp/laider_shello/


[一語一絵]

トルコライス / 2010-06-19 (土)

こないだ本場グリーンバンブーで食べたばかりで恐縮ですが。

トルコライス@ほっともっと
トルコライス

5月下旬から期間限定で始まった[External]ほっともっとのトルコライス450円も食べてみた。

2007年のまんぷくトルコライス以来の復活だが、何よりも容器の大きさからも想像付くように、ナポリタンが減量された事で"まんぷく"の冠が外れた模様。

結果として、数字的にも1126kcalから913kcalにカロリーが減ってるのは、いろいろと気になるお年頃のYANOさんからするとwelcomeだ。

内容的には「トンカツ」が「とりカツ」に変わってるが、個人的には問題無し。ウインナーも嬉しいが、どちらかと言えばスクランブルエッグに載るよりはナポリタンに混ざっていてほしかったかな。

menu熱量
(kcal)
蛋白質
(g)
脂質
(g)
炭水化物
(g)
食塩相当量
(g)
カリウム
(mg)
リン
(mg)
まんぷくトルコライス(2007)112638.636.1161.15.6809442
トルコライス(2010)91328.435.5119.45.4709375

【参照】
●ほっともっと http://www.hottomotto.com/
こどもにもおとなにも食べてほしい トルコライス 2010年5月24日
●トルコライス マニアックス http://turkishrice-maniax.ks-depots.com/
【ほっかほっか亭】まんぷくトルコライス(490円) 2007年9月3日
【ほっともっと】トルコライス(450円) 2010年5月30日


[一語一絵/IT系]

原因はpreg_matchか? / 2010-06-19 (土)

[External]rNotePHP5対応。先日のトライでは、[External]Google マップの航跡ログを含んでいるエントリの一部が失敗しているような傾向を感じたので、[External]のスクリプト展開部分を調べてみる事にしよう。

と思ってたのだが、今日いろいろと手を変え品を変え試してみたところ、

function get_XMLTag($tag,&$str){
  if(preg_match("/<$tag.*?>[[:space:]]*(.*)[[:space:]]*<\/$tag>/s",$str,$buf)) {
        return $buf[1];
    }
    return '';
}
で、preg_matchに渡す$strのエントリが大きくなるとDateTitle要素の切り出しに失敗している事が判明。

[External]Google マップの航跡ログが入ると必然的にエントリ全体が大きくなる傾向はあるものの、航跡ログそのものや[External]のスクリプトには関係無く、48KBあたりの大きさを境にうまくいかなくなる模様。

再び試行錯誤してみたところ、

function get_XMLTag($tag,&$str){
/*  if(preg_match("/<$tag.*?>[[:space:]]*(.*)[[:space:]]*<\/$tag>/s",$str,$buf)) { */
    if(preg_match("/<$tag.*?>\s*(.*)\s*<\/$tag>/s",$str,$buf)) {
        return $buf[1];
    }
    return '';
}
と"[[:space:]]"を"\s"に置き換える事で回避できた

…かと思ったのだが、結局は110KBあたりを越えるとやっぱりダメだった。まぁ、そんなに大きなログを持った記事は2エントリしか無いので個別にログを間引けば済むのだが、微妙に残念。

いずれにしろ、32bits環境のPHP4で問題無かった処理が64bits環境のPHP5でダメだというのは釈然としないこと甚だしい。nx9030ではソースからbuildしてた事もあって、バッファサイズなどの設定が微妙に違ってるのかなぁ…

【6/22追記】PCREの設定で全面解決。

【参照】
●rNote http://rinn.e-site.jp/rnote/
●PHP: Hypertext Preprocessor http://www.php.net/