無題
TGWSAdminの最新情報抽出機能の挙動がちょっと前からおかしいです。
新着情報が同着一位だと、データ上先にあるほうを最新情報として扱うのですが、このとき同着内で順番が入れ替わると別の情報が新たに記載されたと誤認してしまうのです。
商品情報などでは同日発売がまれではないので対策が必要そうです。
実際今問題が起こっているのは商品情報ですし。
それから、アンパンマンDB3データ移行ツールの読み仮名変換プログラムは出来上がりました。
該当データが700件以上もありました。
アンパンマンDBの、主に開発に関する日記。
TGWSAdminの最新情報抽出機能の挙動がちょっと前からおかしいです。
新着情報が同着一位だと、データ上先にあるほうを最新情報として扱うのですが、このとき同着内で順番が入れ替わると別の情報が新たに記載されたと誤認してしまうのです。
商品情報などでは同日発売がまれではないので対策が必要そうです。
実際今問題が起こっているのは商品情報ですし。
それから、アンパンマンDB3データ移行ツールの読み仮名変換プログラムは出来上がりました。
該当データが700件以上もありました。
アンパンマンDB3データ移行ツールのための、読み仮名作成テーブル作成中です。
数が意外と多くて大変だったのですが、もう少しで終わりそうです。
あと、移行ツール自体も進捗を表示できるように改良しました。
アンパンマンDB3へのデータ移行ツールのための、読み仮名作成プログラムを作っています。
このあたりは前後の文脈で読みが変わったりするので、自動化のためのデータはほぼ手作業で用意せねばなりません。
結構面倒です…。
カービィとかポケモンとかは残りの部分をゆっくりペースでぼちぼちやっていきながら、今後はゲーム以外のところをちょっと力入れていこうと思います。
そんなわけで、アンパンマンDB3のデータ登録プログラム構築中。
データベース構造が大きく変化したので面倒ですが、根本的にはアンパンマンDB2でやっていたことと変わりないので、さっさと作ってしまいたいところです。
これがないとデータ表示もできないし。
ここの所暫くの間アクセスログを取れなかったのですが、サーバー管理者に問い合わせてまた取れるようになりました。
アンパンマンDBの最近のTOP10はアクセスログに依存しているので困っていました。
アンパンマンDB3のコラムと商品DBのデータベース構造定義を仮に作っておきました。
まだしっかり作りこんだわけではありませんが、細かいところは表示画面を実装しながらにしましょう。
アンパンマンDB3(バージョン3と書くと長いので略します)を作っていました。
今回は、データベース構成の省略時初期値を作っていました。
こうやってすべてのデータがあることを保障しておくと後々いろんなものが書きやすくなるのです。
アンパンマン商品DBについて、外部サイトとの連携があるから他のデータベースと同じような実装は難しいとかつて書きました。
しかし、よく考えてみると、連携が必要なのは商品説明文と画像程度のもの。
だとすれば、アンパンマンDB自体に外部サイト連携機能を付け、商品DBでのみその機能を呼び出せばよいのではないかと思いました。
アンパンマンコラム共々、他のデータベースと同じシステムを使った運用が可能そうです。
また、商品は他の項目と違って名前が長くなりがちだったり、毎回必要な注釈があったりと、運用の効率性の面から商品DBに実装したい機能もあります。
とりあえずこれらの機能は片っ端から実装していって、商品DBでは機能ON、それ以外では機能OFFという運用にしていったらよさそうだと思っています。
アキヤメの[アンパンマンキャラをポケモン風に]が動いていないという報告を受けました。
ローカルではばっちり動いているので、ローカルと公開用の違いを意識しつつ原因を究明したいと思います。
データベースの自動インストールを実装しました。
インストール処理が実行されると0.15秒かかります。
1回や2回では気付かないような一瞬ですが、これを毎回やっていると、慢性的にワンテンポ遅れるのが体感的にもわかるので、この0.15秒も削るようにしています。
といっても、データベース定義ファイルの変化を検出するためのファイルを別途用意しておいて、それを使って変化が検出された場合のみインストール処理を実行するというだけの簡単なものです。
変化の検出にかかる時間は0.00005秒。
これはさすがに毎回でも気付くようなものではありません。
なので、インストールを管理画面専用にせず、ユーザーによるものも含め、すべてのリクエストで自動インストールを試みても問題はなさそうです。
管理画面専用にすると、定義ファイルが変更されてから管理人がそれを反映するまでの間にアクセスがあるとエラーが発生しますが、毎回自動インストールしていれば、ほんの一瞬の遅延と引き換えにエラーの出る瞬間が発生しない運用が可能となります。
アンパンマンDBバージョン3開発中。
データベースの自動インストール周りです。
ここんところCREATE TABLEが反映されなくて困っていたのですが、この処理をトランザクション内で行おうとしていたのが原因でした。
また、インストールには数秒とはいえ時間がかかり、その一方で休止時間ゼロでの運用もしたいので、設定をリアルタイムに反映させつつその作業には極力時間をかけないようにする方法も考えています。
データベース定義ファイルの変更検出用の小さなファイルを作って、変更が検出された場合のみ自動インストールを行います。
データベース定義が変更されることは、運用開始後には少なくなるはずなので、ほとんどのケースでは体感できるほどの速度低下はありません。
また、インストール作業が入った場合にも、数秒なので、体感的には回線の調子が悪かったのとそう変わりないはずです。
もちろん、なるべくインストールは自分で行って、訪問者には数秒も待たせないようにしたいと考えてはいますが。
現行のアンパンマンDBの「今月の仲間」のページをこっそりパワーアップしました。
年月を選べるようになったのと、十周年単位での強調表示です。
メロンパンナちゃんが来年9月で20周年というのもわかるようになったのです。
将来的には、さらに拡張してアンパンマン年表のようなものにしたいと思っています。
ブラウザ版ふわふわふにゃ、iPhoneでの動作確認も取れたので、動作環境のところにiPhoneも追加しました。
少なくとも最新版のiPhoneならばちゃんと遊べると思います。
先日の今月の仲間と未記入キャラのページを改良しました。
未記入キャラのページについては、記入しなくてもいいキャラを表示しないようにしただけです。
今月の仲間は、レイアウトを調整したのと、URLで指定すれば年月を指定して表示することができるようになりました。
さらに拡張して仲間だけでなくイベントの予定や放送の記録なども入れてアンパンマン年表的なものにしてみるのもいいかもしれません。
昨日に続けて、今度は未記入キャラを列挙するページを作ってみました。
処理の高速化と開発スピードのため、すべてカタカナにして処理しています。
これがキャラDB充実の助けとなるはず…!
アンパンマンDBのメモページに「今月の仲間」を作りました。
トップの○○周年の月間バージョンです。
ちょっと変えればいろんな月の仲間も作れます。
それいけ!アンパンマンアニメ化23周年ですね。
だからというわけじゃないですが、トップページの○○周年のキャラクターの表記を改善しました。
今まではキャラクターがたくさんいても一人一行使っていましたが、初期エピソードや劇場版だと一度にたくさん出てくるので紹介が長くなりがちでした。
今回からは同期のキャラクターは一行にまとめてすっきりした表記にしています。
アンパンマンDBの商品情報の扱いについて考えています。
商品情報も他の情報みたいにデータベースを作れば、管理は楽になるし、商品を探したい人の利便性にも繋がるとは思います。
しかし、商品データベースは各データベースや外部サービスとの連携が中心となる点で、私が書いた情報が中心となる他のデータベースとは大きく違うのです。
だからといって商品データベースを一からプログラムすると、カテゴリや検索といった、他のデータベースにもある便利な機能も一から実装しなくてはならなくなります。
違うところは違いすぎるけど、同じ部分は共通化したいのです。
アンパンマンDBバージョン3の、バージョン2(現行)とのデータ同期を作っています。
バージョン2と3ではデータ構造からして違うので、データ移行プログラムが必須になります。
アンパンマンDBバージョン3、カテゴリテーブルも自動生成できるようになりました。
これでデータを流し込むことができるようになりました。
ここからは実際のデータを使ってテストができるようになります!
AmazonAWSでアンパンマンの最新商品を出すプログラム作ってみました。
とりあえず、DVD、書籍、CD、おもちゃの4種で。
おもちゃに関しては完全に私の興味範囲外なのですが、需要がありそうなので入れておきました。
もっとも、おもちゃに関しては商品展開が早いので最新10個が全て未発売という事態に陥っていますが。
アンパンマンDBバージョン3、データベース自動構築プログラムを作っています。
今回は細かい項目の整備あたり。
AmazonAWSの認証について調査中。
一応何かライブラリを使えば簡単にできないこともなさそうなのですが、認証周りのことを一度よく理解しておいたほうがよさそうな気がしたので自分で実装してみることにしました。
アンパンマンDBの商品情報の更新の一助にしようと考えています。