日記(710)

<前 次>

無題

タイトルジェネレータ直しました。
特殊パターンでしか出ない症状だったのでなかなか見つけられませんでしたが、逆に言って特殊パターンでは必ず発生するバグでした。
タイトルジェネレータは基本的に「AとB」というパターンを生成するようにできていて、名前を指定して生成すると、このAとBどちらかに指定した名前が入るようになります。
通常は多少の変則パターンでもAとB両方を使うので、バグが発現することはありません。
しかし、Aしか使わない特殊パターンというのがあって、そのときはAがパターンそのものになります。
その場合、指定した名前はBにしか入らないにもかかわらず、Bを使わずにタイトルを作るため、指定した名前が出ないという現象が起こるのです。
特殊パターンでは、Bを使わない代わりに置換パターンを使っているので、置換パターンのところにBを入れる処理を入れるようにしました。

無題

AmazonのProduct Advertising APIを調べているけどいまだによくわかりません。
署名が必要だとかなんだとか。
とにかくまずサンプルが動かないです。

無題

アンパンマンDBのタイトルジェネレータで名前を指定して生成するとたまに指定した名前が出ないバグがあるようです。
特殊なパターンのときにしか出ないようなので調べるのが大変そうですが、なんとか調べてみます。

無題

group_concatをあっさり実装したので、プログラミングコーナーにあっさりと書いておきました。
昨日書いたコードに対して、バージョンチェックを入れています。

AmazonのProduct Advertising APIに登録してみたけど、いまいちよくわからんです。
XMLで何か作ってリクエストすれば何か返ってくるらしいですが、それ以前のところでわからなくなっています。

無題

以前言っていたgroup_concatの件、あっさり実装できました。
ローカルサーバーと公開用サーバーでSQLiteのバージョンが違っていますがそのあたりも含めてさらっと書けました。
コンマ以外で区切れませんが、自分用なので気にしないことにしましょう。
参考までに、ソースです。

$step_func = create_function('&$context, $rownumber, $string', 'if (isset($string)) { if (isset($context)) $context .= \',\'; $context .= $string; } return $context;');
$finalize_func = create_function('&$context, $rownumber', 'return $context;');
$this->db->sqliteCreateAggregate('group_concat', $step_func, $finalize_func);

無題

ちょっとSQLiteの練習もかねて参加型コンテンツのアクション通知をSQLiteのデータベースにも吐き出すようにしてみました。
まあ、そこから読み出す画面はSQLiteManagerしかないので今のところまだ実用性は0ですが。

無題

TGWS共通のデータベース処理を作成中。
アンパンマンDBバージョン3ではエラーが起きたら自動的にデータベース構造を修正するので、データベース構造を調べたりテーブル構造をいじるプログラムを作っていました。

<前 次>