「アンパンマンDB」に関する日記(51)

アンパンマンDBの、主に開発に関する日記。

<前 次>

アンパンマンDB

色々考えはするけど、全部実装するわけじゃないです。
今回実装しようと思っているのが、2017/04/27に書いたカテゴリの一致度改め重要度。
一致度が必要ないようにカテゴリの定義というものを導入したのですが、カテゴリの範囲が明確になっても一致度は別に必要なくなりませんでした。
例えば、アニメDBの「まずい」カテゴリは、誰かがまずいものを食べたら当てはまるのですが、それだと料理下手なグラタンちゃんが料理の特訓をするのも、しゅんぎくさんがばいきんまんへの攻撃としてすき焼きに唐辛子混ぜるのも、同じ「まずい」カテゴリに入ってしまうわけです。
前者は明らかに物語上重要で、後者はそうではありません。
このように、定義上間違いなく当てはまるけれど、重要度に差があるものを差があるように実現するのが重要度という概念なのです。

アンパンマンDB

情報提供の扱いについて考えています。
すごくたまっているので、使うか捨てるかしなきゃいけないんだけど、真偽の調査や、掲載にふさわしいかの検討に、一つ一つ時間がかかるんですよね。
本当に完全に問題外なのは初期チェックの時点で捨て去るのですが、それ以外にも見当外れなのはたくさんあって、それが邪魔になっているのです。
また、コメントで情報提供をする都合上、提供する側にとっても、情報提供は煩わしい作業となります。
そこで、コメント欄とは別に、情報提供のための記入しやすく確認しやすいフォームを設置することを考えています。

それいけ!アンパンマン ブルブルの宝探し大冒険!と忍びの国

それいけ!アンパンマン ブルブルの宝探し大冒険!

見てきました。例によって感想などはアンパンマンDBで。

忍びの国

これも映画です。「嫁さん以外、怖いもん無し」とか「織田軍1万vsオレ1人?」みたいなコピーが踊っていて、観に行かずにはいられませんでした。
前者は恐ろしいほどに真実で、同時に奥さんへの愛の表れでもあると感じました。
後者は、ちょっと盛り過ぎですな。主人公の無門さんは1人では1万人も相手にしてないし、第一、無門さんも人を率いて戦いに行っているのであります。
全体的に見れば、死生観の狂った乱世において一際狂った伊賀における人情ドラマ…ってところかな。欲におぼれた価値観を現代人に重ね合わせる場面もありました。
アクション面は、派手な忍術はさほど多くなくて、地道かつ確実な体術が中心でした。ただ、その体術の時点でもうすごい。

アンパンマンDB

カテゴリ再編検討中。
ごった煮状態になっているキャラクターの性質や特徴などを、カテゴリーの種類ごとに分けて独立項目のように表示するというのを考えています。

アンパンマンDB

内部的な更新です。
これから機能拡張するためには、まずは要らない機能を削ってスリム化しなければいけないのです。
ということで、大きさなどの、設定にブレや範囲がある者を対象として設置する予定だったrange項目の機能をまず削除しました。これはそもそも実装していませんでした。
また、ボタンを量産するための、button項目機能も、未実装のまま放置されていたので、削除しました。こちらは、必要になることがあるかと思うので、折をみて本格実装したいと思います。ただ、本格的にやろうとすると、データベースアクセスが増えて重くなるので、その対策ができてから、ということになるかと思います。
一覧表示のときに最新コメントを表示する機能も別に要らないかなと思ったんですが、こちらは一応機能しているので、残しておくことにします。

ゲーム記とアンパンマンDB

ゲーム記

ドラクエ10のページを更新しました。
冒険日誌アーカイブへのリンクです。各キャラクターの項目に入れているので、見に行きたいときはそちらからどうぞ。

アンパンマンDB

タイトルジェネレータの管理画面を改良しました。
以前は追加しかできなかったのですが、編集もできるようになりました。予定では検索もできるようにするつもりでしたが、そっちはCtrl+Fで済ますことにしました。

コメント時に一部の人の前に現れる、クイズ認証を改良しました。
以前は問題数が一つしかありませんでしたが、数が増えました。ずっと前に言っていた、クイズ機能の真の目的です。みんなが楽しく遊んでいるクイズから、正解率の高いものを選んで、ちゃんとわかっている人ならわかるはずという問いを出して、コメントを書くに値する「人」かどうか、判断します。
ただ、クイズそのものの改良はまだまだ必要だと感じますね。問題数もまだまだ少ないし、もしかしたら、本来なら正解になるパターンでも間違いと判定されてしまう場合があるかもしれません。そのためには、まず回答を分析する必要があるのではないかと思います。となれば、今後必要なのは、回答履歴機能、ということになるかな…。

アンパンマンDBと日記

アンパンマンDB

テンプレート機能実装。
Wiki記法の使える場所で、テンプレートタグを書くことで、あらかじめ設定した文面が展開されます。そして、展開されたテンプレートにも、Wiki記法が適用されます。
定型文だけど名詞の部分だけは変わるみたいなのはまだ対応していないので、ここらが今後の課題となります。

管理メモのURLを、memo-数字という形式から、memo-英数字という形式に変更しました。
まだ新形式のURLを使っている管理メモはありませんが、今後は管理メモもわかりやすくなっていきます。今あるやつは、もろもろの都合で、数字表記のままです。
あと、もう意味の無くなった管理メモはきれいさっぱり消しました。こうやって消えた抜け番が気にならなくなるのも新形式のいいところですね。

日記

日記内に小見出しを付けるとめちゃくちゃ主張の強い見出しが出てきていたので、ちょっと主張を弱めました。
ページ自体の見出しがh1で、日記の一記事の見出しがh2で、日記内の小見出しがh3という形になりました。
見出し自体のスタイルももう少しわかりやすくしたいところですね…。

アンパンマンDB

カテゴリの定義…というか、ルールを記入する仕組みを作りました。数がそろってきたら一般にも公開して、カテゴリ検索する人や情報提供する人にも参考にしてもらえればと思います。
テンプレートで同じような文面を量産するシステムはまだ作っていません。一部の単語を差し替えた文章を作れるようにするのが理想ですね。

ドラクエ10とアンパンマンDB

ドラクエ10

昨日からの流れで、また今更ながら、モンスターシール始めました。シールを集めても特に何もないそうなので、あまり必死に追いかけるつもりはありませんが、まあ、時間が合えば会いに行こうかなと。

アンパンマンDB

あんまりいろいろシステムを追加すると、作るのも使うのも大変になってしまうので、カテゴリの定義については、単に文字列として登録できるようにしようと思います。
そうすると、同じような文面がたくさん必要になるわけですが、「同じような文面をたくさん作ること」にこそ新システムを作ればいいのではないかと考えました。
これなら、使わないなら使わないでいいし、カテゴリ以外への応用も可能なのです。

Windows Insider Programとドラクエ10と日記とアンパンマンDB

Windows Insider Program

ちょっと興味があったので、登録してみました。普段使っているパソコンをInsider Program用に使うわけにもいかないので、モバイルの動作検証用のスマホに入れています。でも、言うほど新機能を試したいわけでもないから、入れるだけ入れて終わる気もします。

ドラクエ10

今更ながら、冒険ゼミナール行きました。クイズ形式でドラクエ10の基本を学ぶというコンテンツですね。ずっとドラクエ10をやっている人には、正直、学ぶことなんて何もないコンテンツですが、報酬がなかなか豪華だとか、間違いの選択肢がいちいち面白いとかで、やってよかったとは思います。

それと、ゲーム記のドラクエ10のページに、冒険日誌アーカイブへのリンクを入れることにしました。連日ドラクエ10のページの更新になるのもはばかられたので、実際に公開するのは後日になります。

日記

カテゴリがたくさんあるのに提案が太字だけじゃ目立たなかったので、強い提案の赤に加えて、普通の提案も青で色付けするようにしました。

細分化されたカテゴリを古い日記につけていく作業も随時進めています。あんまり機械的に古い順にやっていくと、そんなに古くないページのカテゴリがごっそり抜けてしまうので、他のページからリンクされている日記とか、ランダムに選んだ日記とか、ちょっと特殊な事情のあるカテゴリに入る日記とかも、並行してカテゴリ付けしていっています。とにかく作業量が膨大なので、徐々に無理なく進められるようにしています。

アンパンマンDB

カテゴリの提案に日記と同等の修正を加えました。

あと、先月言っていたカテゴリの定義のことですが、カテゴリ自体を似たカテゴリ同士にカテゴライズして、カテゴリのカテゴリごとに定義を設けようかなと思っています。
例えば、「パン」と「米」は別々のカテゴリですが、食べ物の一種であるという点では同じで、カテゴリの定義も似たようなものになるはずなのです。
そうすると、作業量的にもあまり負担にならずにカテゴリをはっきりさせることができるかと思っています。

アンパンマンDB

Ajaxによるカテゴリ提案実装。
キャラクターもエピソードもみんなみんな個性豊かで、意外な取り合わせが多かったりするので、今まで一緒になる傾向が強かったからと言って今回も一緒になるとは限らないというのが多くて、多少参考にはなるけど間違いもだいぶ多いといった印象でした。
これでは自動で動かすとうるさくなりすぎます。なので、手動サジェストだけにしました。
また、提案の材料にするカテゴリが多いと、提案されるカテゴリも多くなってしまうので、関連性が一定以上高いだけでなく、数が増えたら上から一定個数までで提案を打ち切るようにしました。

アンパンマンDB

アンパンマンDBにもカテゴリ提案機能設置中。
ちょっとPHP的に組み込みづらい仕組みになっていたので、最初からAjaxで実装する方針です。
とりあえず最初は、ボタンを押したらデータを引っ張ってくるという仕組みで。

日記

昨日言っていた案の実装。太字が提案内容です。

まずまず悪くないんじゃないでしょうか。
Nginxは「PCソフト」だし、VPSを契約しようと思ったのは「TGWSAdmin」をクラウドで管理するため。VPSでは、具体的に何かをした報告より、何かをしたい「プログラミング」の「アイディア」があって日記に書いていたわけで、TGWSの「更新」に使いたいと思っていたのでした。
見当違いなのは「funyak」ぐらいのものですが、これは許容範囲です。うちの日記は、関係ない話題も並列して書くので、関係ないカテゴリが一緒に出てくるというのも大なり小なりあるわけですな。

統計にかかる時間はおおよそ1秒以内で、それを使うのは10ミリ秒前後。平たくいって、一瞬です。
待てど暮らせど終わらないのに途中経過を見たら頓珍漢だった前回とは大きな違いです。
この速度なら、編集中にリアルタイムで提案内容を更新するなんて芸当もできそうです。

しかも、テーブル名と列名を差し替えるだけでアンパンマンDBにも適用可能で、実際に既に統計データは作っています。
アンパンマンDBはアンパンマンDBで、カテゴリの親子関係にするには不適切だけど、密接に関わりがあるカテゴリというのがあるので、もしかしたら日記以上に効果を発揮するかもしれません。

ドラゴンクエスト10とカービィハンターズZとアンパンマンDB

シラナミ様
ドラゴンクエスト10。
2種類同時開催の季節イベント、ちゃちゃっと済ませてきました。
最近ドラクエ10のプレイ頻度、時間、意欲いずれも下がっていて、面倒なイベントだったらきついなーと思っていたのですが、大丈夫でした。
アマリリスのイベントは、1キャラで5つあるうちの簡単なノルマ3つだけこなしたらイベント専用アイテムはそろって、残りの2キャラはノルマ1つだけでいいという内容でした。
妖精の国のイベントは、ノルマすらなく、もらうものだけもらったら終わりでした。

カービィレベル50
カービィハンターズZ。
レベル50達成。
そして、ラストバトルにも挑めるようになりました。
クリアすると、案の定、真のラストバトルが…。
りんご足りない!

アンパンマンDB。
そもそもロジックすらないというページを、さらに簡単に作れるようにしました。
ロジックは組まないけどCMS的な機能にはあまり頼らないという、少し変則的なパターンですね。
文章を書きたいだけなら大抵はコラムで間に合ってしまうので、今のところこの仕組みを活かしたページは作っていません。

アンパンマンDB

ページを表示するための処理を1ファイルに書く←わかる
ページのデザインを1ファイルに書く←わかる
ページへのリンクを張る←わかる
ページの処理を呼び出すための処理を書く←は?

というわけで、アンパンマンDBのページごとの処理の振り分けのプログラムを、いちいち手書きしなくて済むように、自動化しました。
管理メモも一応このあたりの自動化はしていたのですが、名前が示す通り、あれはあくまでも管理メモなので、メモ以上の作りではなかったんですね。
で、早速この仕組みを使って、管理メモにあったDVDレンタル見込みのページを独立した新規ページとして作り直しました。
他にも独自な処理が必要なページにはこの仕組みをどんどん使っていきたいですね。

アンパンマンDB

もうひとつのカテゴリ案。
一致度は設けず、一致するか否かが明確になるよう定義と領域を設定する。
データ修正だけなので、プログラムの修正が必要なくなる。
とにかく、プログラムが複雑になり過ぎないように、データが膨大になり過ぎないように気を付ける必要がある。

アンパンマンDB

アンパンマンDBのカテゴリに一致度という概念を取り入れようかと以前から考えていたが、一致度未記入をどうするか、データ量が膨れ上がらないようにするにはどうするかが課題だった。
カテゴリの一致度とは別に、可変長の記入進捗データを用意し、完全に記入完了したものは短い表現のデータに置き換える。一致度データなし、かつ、記入完了扱いされているカテゴリは、不一致とみなす。これでいいのではないか。
あと、管理メモに置いてある、ギミック付きのページを管理メモから独立させたい。なるべく楽に量産できるような仕組みで。

日記とプロフィール

TGWS_Wikiがうまくできたので、日記とプロフィールに適用してみました。
日記はもともとTGWS_Wikiを使うようになっていたのですが、プロフィールは今回やっと適用したので、これからは記入が楽になりそうです。
日記は日記で、スタイルシートがちょっと相性悪かったので、少し調整を加えました。
アンパンマンDBも似たような仕組みを使っていますが、影響を受ける記事数が非常に多いので、ちょっと様子見です。
動作が確認出来たら適用します。
コードのシンタックスハイライトにも対応させたらプログラミングコーナーのWordPress化も必要なくなるかな…?
いや、カテゴリのこともあるし、それはさすがにないか。

アンパンマンDBと六甲山

アンパンマンDBのカテゴリに関する構想。
カテゴリに、合致度の概念を導入し、良く合致する、少し合致する、全く合致しないなどの、段階を設ける。
「全く合致しない」も記録することで、「合致する」でないのが未考慮ゆえか本当に合致しないかを見分けられる。

六甲山。
Twitterに書いたのをまとめなおすのも面倒だったので、モーメントで済ませておきます。
⚡️ 「六甲山」

応答速度計測とWordPressとAnpanator

応答速度の計測にバグがあって、問題のあるページのURLが記録されていませんでした。
遅かったのが私一人しか使わない画面だけだったのでよかった。
手っ取り早く直しておきました。

んで、時間計測をアンパンマンDBにも仕込み中。
時間計測機能自体は実はかなり前から搭載済みで、ユーザーも設定で出すことができるのですが、それとは別に毎回やるやつです。

WordPress導入。
いろんなコンテンツやるうえで、どこのコーナーにも当てはまらないようなのって結構あるんです。
そういうコンテンツって、日記でちびちび書いていたり、はてなダイアリーに書いたりしていたのですが、内容を考えると、日付を重んじる日記は不適格かなって思うんです。
また、日付を重んじないとはいっても、書こうと思ったタイミングでさっと書ける軽快さも欲しいと思ったのです。
既存のコーナーのやり方は、基本的にはインターネット黎明期と変わらない、HTMLソースを書いてアップロードという流れで、軽快さには欠けます。
プログラミングコーナーみたいに、ある程度まとまった内容でないと話にならないようなものならともかく、こんなこと思ったよ、ここ行ったよ、みたいなのは、勢いのあるうちに書いてなんぼだと思うのです。
長々しくなったけど、要するに、日記じゃないコンテンツをさっさと書きたいからCMS導入することにしたということなのです。
内容についてはもう少し検討が必要になりそうなので、WordPressのページを公開するのはもう少し先になるかと思います。

で、今日はAnpanatorを正式版として公開。
プログラムの修正がほぼなくなってきたとか、ベータ版でいつまでも引っ張る意味もないと考えたので。
正式版にするにあたって、テキストと、ユーザーインターフェースあたりを少し修正しました。
ルールも微妙に変わっていますが、今まで大丈夫だったことが即NGになるようなことはないので、気が向いたときにでも見ていただければと思います。

<前 次>