▲全国温泉ガイドへ
■検索
■Admin
■一覧
■意見/感想
▲サクッとたびんぐへ
PHP掲示板の新機能(指定した番号のカキコを取得する)実装にトライ。今回はコアな部分の作り込みだ。 過去ログも取得できるようにインタフェースも追加する。
ついでに周辺のコーディングの最適化を行ったがうっかりデグレードさせてしてしまい数分間サービス停止させてしまう。僕の落ち度です。
実装は無事完了。ただドライバがまだないので掲示板への反映はまだだ。
夜 南アフリカ産のシャルドネワイン(\1000)を飲む。シドニーで飲んでうまかったので先日横須賀で買ってきたもの。オーストラリア産ではないがそれなりにおいしかった。
思うところがあって日付が変わった後に旅の窓口で当日限定の格安宿泊プランを探していたら、都ホテル東京が4/13だけツイン\8000(通常\29000)で提供していた。深夜に全館停電のためらしい。食指が動いたが結局都ホテルに興味がないのでパスとあいなった。かわりにうまいものでも食いにいくことにした。
在宅にて各種webコンテンツのメンテナンスを行う。
妻がiBookのパーティション分割を試みるというのでスーパバイザーとして参画。思うようにはかどらなかったがなんとかできたようだ。
しかし空のパーティションへMacOS9を入れようとしたが、(全然繋がらない)Appleのサポートで確認したところ付属のインストーラではMacOSXの入っているボリュームにしか入れられないようで、結果的にパーティションを切る前と同じ構造になってしまった。ということで再度イニシャライズ(初期化)してパーティションを1つにしてMacOSXを再インストール。結局元の本阿弥となってしまった。 以後各種アプリケーションをインストール。X対応と明言していないアプリばかりだが、今のところ動作に問題はない。
都合により3連闘。横浜駅で偶然妻と会い、途中まで同乗。 内包判定ロジックは担当者様預かりとなった。感謝します。 てことで他の機能の高速化を推進。 ループ処理にポインタを使ったりして徐々に速度は向上しているがまだまだ及第点には至らないようだ。
昼休みに久々に新丸ビルJTBへパスネットとクオカードを買いに行ったが、パスネットの販売が中止されていた。せっかく来たのにショックである。 クオカードはあったので徒労には終わらなかったが残念である。
高速化の実装・調査をしているとCの真髄というか、可能性というものが見え始めて来た。Cの作法はメモリ管理に始まりメモリ管理に終わることのようだ。
PHP掲示板は検索機能のページングサポートを始めた。たくさんヒットすると1ページの転送量が膨大になる場合があるため。帯域保護とレスポンスの安定化を図るねらいもある。
ページングの仕様を決めて本日終了。
続けて出社日。行き掛けに横浜駅で4月5日に発売のBトレインショーティ京急1000系(\1000)がまだ売っていたので思わず買う。2両編成の限定品である。先頭車と中間車のセットなので見栄えをよくするためには2セット以上揃えるのが望ましい。まだ買えるだろうか。(帰りに品川駅で見たら潤沢にあった)
お仕事は、あるポリゴンの内面塗りつぶしを行う。しかし内包判定に苦心する。トライ&エラーで頑張るも結果は出せず。参ったな。
わが家に3人目のプリモプエルが養子入り。妻は顔が違うと主張するがわしにはわからなかった。名前はまだない。
PHP掲示板は検索機能の一部不具合を修正。mb_ereg関数を使うためにPHPのconfigure オプションに --enable-mbregexを追加して再構築した。 apachectl restartではダメで、stop & startで無事切り替え完了。
スクリプト側の関数名をereg -> mb_eregに変更して動作確認もOK。1文字でも検索できるように規制解除した。
6月のバースデー割引で八重山へ行こうと画策し、先日予約(満席のためPA)したが中日に妻に予定があることが分かり、わしだけ行くことにした。依然キャンセル待ちだがまだ猶予はあるのでそのうち搾取できるだろう。
出社日。先週の続きで共有メモリ上のTTFデータを参照して描画する。苦節数日でなんとか成功。ポインタの引き回しには問題がなく、gd1.8.4での内部データのイニシャライズ漏れ(既存バグ?)が原因のひとつだった。 しかし、描画はできたが処理速度の大幅な向上には至らず。 根本問題は別にありそうだ。例によってプロファイラ(gprof)で調べたところ、フォントキャッシュのサーチや管理が処理の35%を占めていた。 同処理を軽く解析したが速度向上の糸口は本日分からず。 視点を変えて残りの65%の部分の高速化を検討した方がよいかもしれない。
昨日着手したアニメーションGIFか否かの関数は概ねできあがったが、ドライバスクリプトを作っていざ実験してみると全て「アニメーションGIFではない」と返ってくる。デバッグモニタを入れて調べたところ、fread関数でバイナリデータを読むと文字列として扱われることが原因のようだ。 読みたい情報(databit)は8bitの構造体で実際には0xC4が入っているのだが、ゼロとなってしまう。参ったな。
PHPレベルでは無理なのだろうか。このデータが拾えないとGIFヘッダのデータサイズが分からず先へ進めないのだ。とほほ。
その後トライ&エラーの結果、fseekの使い方を間違っていたことと、freadした結果にord関数をかませば行けることがわかった。ライブラリにSIしてリサイズ時の判断材料として使うよう改修した。 しかしこれも暫定対策で、縮小してもアニメーションを維持させたい。が、これはまさにunisys特許に抵触しそうだな。
昨日改修したリサイズモジュールにてデグレード発生。 アニメーションgifをリサイズさせようとすると失敗するのだ。gdImageacreatefromGif関数でアウトになっているようだ。
GIFインタフェース仕様書代わりのwebサイトにて調査したところ、アニメーションgifではapplicationExtensionブロックが存在しているためと推測。自前でアニメーションGIFか否かのPHP関数を作って対処することにした。しかしGIFインタフェースを解析し始めたところで本日終了。
夕刻妻が犬山より帰宅。楽しかったらしくて何より。
今日の夕食:Pizza, Basil Italiano.たまにはピザということで。思うところがあってPizzaHutに初オーダ。無料ドリンク券をもらったが有効期間が1ケ月のためご縁があるかは微妙。ピザは塩味がやや効いていた。飲み物はイタリアのワイン
昨日の雨は上がり好天だ。近くの大岡川はウォーキングなどの散策コースとなっているが今日は列が途絶える気配が見られない。 最初で最後のお花見休日ではないだろうか。
しかしもっぱらweb改修に勤しむ。途中気分転換にと電車でGO!山陽新幹線編を運転。物臭なので主なブレーキはATC自動ブレーキに委ねた。案の定楽だった。一通りの形式を運転して気分転換終了。
PHP掲示板は画像付のカキコを削除しても画像だけは表示され続けるという不具合が発覚。テスト不十分のためで僕の落ち度です。ということで修正。
掲示板がらみの不具合としてはもうひとつ発覚。透過gifをリサイズさせると透過属性が無効となってしまう。 新規にリサイズモジュールを解析し、透過のあるカラーインデックスを優先的にカラーアロケートし、透過設定処理を追加して対応完了。
今日の夕食:ソウルで買ってきたインスタントラーメン(W700) 意外と麺にコシがありGood.
久々の週末在宅日。 引き続きPHP掲示板へ掲載する広告タグを取得する。今日も80種ほど行ったところで疲労のため作業終了。
妻は犬山へ行っているが今日の雨で多くのイベントが中止になった模様。
延び延びになっていたsendmailのアップデートを(8.12.8->8.12.9)行う。sendmail.orgからソース類をDLして、tar展開後、
configure
sh ./Build
sh ./Build install
した。一からインストールするならばcfファイル(環境設定)も作らないといけないのだが、今回はバグ対応のみなのでcfファイル(sendmail.cf)はバージョン番号だけviで直した。再起動しテストメールを送受信して無事終了。
出社日。桜は今日あたりが見頃か。開花後花冷えが続いているせいか今年は花の持ちがよろしい。
先日に続きfreetypeの解析と実験。改修したモジュールが生きないのは別のパスにある同名のモジュールを優先的に参照しているのが原因とわかった。パスを切り替えて新モジュールを参照させたが文字が描画されなくなった。メモリ管理の問題だろうか。 freetype内部では実はmmap関数にてファイル全体をメモリへコピーしてポインタを持ち回っているので、そのポインタに共有メモリのフォントデータの先頭アドレスをかぶせればよさそうだがうまくいかない。 目が疲れてきたのと時間切れのため本日終了。
妻は今日から犬山祭りへプリモプエルを連れて遠征。
PHP掲示板はHTMLの品質を上げ、昨日のチェックサイトで「よくできました」の91点を獲得。ついでに有名どころのW3Cベリファイにてチェックしてもらったところ、無事合格と言われた。合格すると発行されるW3C認証バナーをページ右下に張り付けておく。貼ったところでどうなる訳でもない(合格しなくてもバナーはあちこちに落ちているので意味薄い)が、掲示板システムの品質を誇示できるかもしれない。
昨日判明したAirH"PHONEのUSER_AGENTの追加対応を行う。とりあえず端末チェック関数の配列に追加しておく。暫定でi-modeと同等の扱いとする。絵文字などを除けばこれだけでよさげだ。実機はないが、UA詐称IEを使ってテストする予定。
今日の夕食:吉野家の並盛。今だと\250なので安く上がった。飲み物はお茶。
valuecommerce社の広告スペース管理を行う。単調な作業だがサーバのレスポンスがよくなくて半数にも満たない70ケ所ほど行ったところで時間切れ。
PHP掲示板の表示機能に不具合が発覚。削除済みカキコを表示しない設定のとき、レスを削除すると以降のレスが表示されず、レイアウトが乱れてしまう。 調査したところ、先日携帯向けの不具合修正に伴うデグレードであることが判明。 判定条件を追加してfixとした。
思うところがあって掲示板スクリプトが出力するHTML文をW3Cチェッカにかけてみた。結果はやはり、「がんばりましょう」の32点。その場で分かる改善点を直し、「ふつうです」の62点まで向上させて本日終了。目標は90点以上。
福岡のYANO氏(仮名)からAirH_PHONEを購入したとのレラあり。CHTMLが見られるのと、定額料金プランが使えるのが魅力だ。User_Agentが気になっていたので我サーバへ足跡を残していただいた。意外にもMozzila/3.0(DDIPOCKET)というものだった。各種スクリプトを改修しなくては! YANO氏に感謝します。わしも買おうかしら(笑)
- Snap Shot Diary (Not For Sale) -