2014/12/31(水)アイテムデータベース更新

アイテムデータベース更新

データベース間の連携に関連して、アイテムデータベースを何度か更新しました。データベース連携の方針についてはちょっと悩んだのですが、アイテムデータベースに連携機能を集中させる方針にしました。最終的にアイテムデータベースで以下のことができるようになっています。

  • 装備品データベースの登録データもアイテム一覧に表示
  • モンスターデータベースのドロップアイテムを参照し、入手方法として表示
  • 製法データベースを参照し、入手方法・用途として表示
    • 「No.」クリックで製法データの詳細を表示

これらの機能は基本的にブラウザ側で実装している*1ため、ブラウザ側の処理がどうしても重くなってしまい、特にページを開いたときの読み込み時間は長めになっています。ただ、読み込み完了後の操作感については従来とほとんど同じなので、実用上はそれほど問題ないと思います。

*1 : ブラウザでデータベースを4つ読み込んで処理しています。サーバー側は連携に関して本当に何もしないという実装。

2014/12/20(土)モンスターデータベース更新

モンスターデータベース更新

久しぶりに、モンスターデータベースを更新しました。

データベースシリーズは、

  1. モンスターデータベース
  2. 装備品データベース
  3. アイテムデータベース
  4. 製法データベース

の順に、以前のソースコードを流用しながら作っていたのですが、新しい方にいろいろ修正・改善をしていく内に、一番古いモンスターデータベースも直したくなったので、今回いろいろモンスターデータベースにフィードバックしました。

普通に使う分には機能面で特に変わったところはないのですが、以下のような変更がされています。

  • デザインを他のデータベースに合わせた
  • データの受け渡しをgzip圧縮したJSON形式に変更した*1
    • 閲覧だけならサーバー側プログラムは動作しない
    • ブラウザキャッシュも効くようになったはず
  • JavaScriptライブラリは他のデータベースと共通のファイルを参照(ブラウザキャッシュが参照されやすくなる)
  • データベース処理で、バリデートなどのデータ項目依存の処理を分離*2
  • Unicodeで普通は使わない文字をはじくようにした
  • 管理用の機能をいくつか追加

圧縮とキャッシュのおかげでロードは早くなったように感じるはず・・・。

*1 : 以前は、圧縮していないJavaScript。また、データ構造もオブジェクトから配列に変更しています。配列にするとkeyが不要な分若干データ量が減少。

*2 : 項目数がかなり多い装備品データベースで必要になった措置

2014/12/10(水)装備品データベース更新

装備品データベース更新

装備品データベースを更新しました。

  • 登録項目に「ふりがな」追加(ただし、一覧には表示されません)
  • 種族による絞り込み追加
  • アイテムデータベースのデータの内、装備品に相当するデータをマージ

アイテムデータベース(gamedb)に登録されていたデータの内、

  • すでに装備品データベースに登録済みのデータは2846件(色違い装備などはまとめて1件)
  • 新規装備データは92件

と、アイテムデータベースだけに登録されていた装備品はかなり少なかったです。つまり、かなりしっかりと二重管理されていたようです・・・。

新規装備データは装備品としての性能は不明のため、備考欄に「性能不明」と記載しておきました。