「アンパンマンDB(システム)」に関する日記(9)

<前 次>

星のカービィWiiDXとアンパンマンDB

星のカービィ Wii デラックス


どうせ目指さないとか言ってたけど、結局100%達成しました。
そしたらマホロアランドエクストラミッションが追加されたんですが、今度の今度こそ難しすぎるので、少なくとも今は、コンプ目指す気はないです。
まあ、4つコントローラを繋げばイカサマできそうなミッションもいくつかありそうだけど。
一応、エクストラミッション追加時にいきなりクリア扱いになったものが7つあったので、107/120になっています。

他の写真は以下から。各サブゲームの成績もあるよ。
星のカービィ Wii デラックスの写真(1)

アンパンマンDB(システム)

Googleになぜかスラッシュが重複したURLがインデックスされてたらしいので、canonicalのURLを本来のスラッシュが続かない形式になるように修正しました。
先日相対URLから絶対URLを作る仕組みをしっかりしたライブラリに差し替えたのですが、実はライブラリの本来の用途と微妙にずれた使い方をしていて、私の想定したのとは違う動作が発生していました。
canonicalは本来相対URLから作るのではなく最初から絶対URLを生成するべきなので、ライブラリではなく自前で作るようにしました。

ドラゴンクエスト10とアンパンマンDBとアンパンマン日替わり紹介bot

ドラゴンクエスト10(ァォィョッュ)

  • クエスト「トモガラのお願い」をクリアした!
  • クエスト「お菓子よりも甘いモノ」をクリアした!
  • クエスト「至高の名水を求めて」をクリアした!

偽レンダーシアのクエストをいくつか消化。
クリアしてないのもいくつか進めたり、新たに受注したり。

アンパンマンDB(システム)

商品画像のキャッシュの件、キャッシュを直接表示するのをやめて、毎回PHPにアクセスする方式に戻しました。
元画像がうまく取れないときはキャッシュ期限切れでもキャッシュを表示したい、ということは、期限切れのキャッシュを削除しちゃいけない、だけど、PHPにアクセスせずに期限切れを判定することもできない、ということです。
アクセスと関係ないタイミングで一斉にチェックする方式も可能なのですが、そうすると今度は必要ないときにまでキャッシュ更新が働いてしまうので、結局毎回が良かったのでした。

アンパンマン日替わり紹介bot

朝6時の本日の情報のときに、自動でリツイートも行う機能を作りました。
公式が毎週やるようになった今週の放送情報をリツイートするためです。
テストなしにいきなりリリースしたので動くかどうかは知りません。

アンパンマンDB(システム)

レンタル商品画像のキャッシュ削除がうまくできていなくて、キャッシュ更新ができなくなっていました。
この影響で、日替わり紹介botのお知らせ画像も最初に取得した「NO IMAGE」になっていました。
とりあえず、販売商品画像のキャッシュと同じく1日1回削除にして、キャッシュ更新ができるようにしました。
そうすると今度は、キャッシュがあることを前提に動いている日替わり紹介botが画像を出せない可能性が出てくるので、そのあたりは後日修正予定です。

Twitter API

いまだに詳細がわからんけど、とりあえず、ユーザー機能はOAuth以外全部が死んでも動作するようにしました。
アンパンマンDBの最新っぽい情報群は、Twitterのアンパンマン最新情報botとの連携が失敗しても継続するようにしました。
他の、Twitter APIが全面的に動かないとどうにもならないものは、止まってから考えます。

アンパンマンDB(システム)

画像表示もなるべくPHPを介さずキャッシュを直接表示するようにしました。
キャッシュがあればサーバー側でキャッシュの方を出力、なければPHPに処理を渡し、PHPで出力&キャッシュ生成を行っています。
後、必要に応じてキャッシュ削除も。

アンパンマンDB(システム)

HTMLキャッシュ機能、一点だけ問題があったので修正しました。
後は期待通りにPHPのエラーが減るかどうかですね…。
ついでにCPU負荷も減ればいいなと思っていますが、今のところはむしろ増えています。

アンパンマンDB(システム)

多分しっかり直せたので、リリースしました。
トップページが個別記事に置き換わるバグとか、設定ガン無視で固定ページになるとか、トップページ絡みが散々だったんですよね。
一応開発環境で全ページクロールして確認はしたのですが、何もしなくても表示が更新される0時と9時を中心に、本番環境でも様子見です。

アンパンマンDB

アンパンマンDB(記事更新)

「でんでん一座とゆきんこゆきちゃん」の作品情報を追加
「ポッポちゃんといとまきおばさん」の作品情報を追加
来週の放送情報。
こゆきちゃんもたまには出てほしい。

アンパンマンDB(システム)

HTMLキャッシュ機能、アンパンマンDBの方にも実装中。
しかしこっちは、設定で切り替わったり、人によって違うものを出したり、時限式で切り替わったり、ユーザーが作るコンテンツもあったりで、結構キャッシュの扱いが大変だったりするのです。

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

WellKnownUriParser

NuGet Gallery | MifuminLib.WellKnownUriParser 0.1.0-beta01
tw.images.search.yahoo.comとservice.smt.docomo.ne.jpの検索クエリを取得できるようになりました。
alphaからbetaになっていますが、これは正式公開準備が進んだとかではなく、alpha10にしたら文字列比較の問題で最新版とみなされなくなったので、アルファベットの部分を進めました。
ついでに数字部分を2桁にして、10以上に増えても問題がないようにしました。
多分他の誰かから要望が来ない限りは、alphaとかbetaが取れた正式版になることはありません。

アンパンマンDB(システム)

あまり動的に変わらないページを静的HTMLファイルとして保持して軽量化&PHPエラー回避ができないか、いろいろ試してます。
.htaccessのRewiteRuleでHTMLファイルとPHPファイルの出し分けはできると判ったのですが、うまくやらないとPHPと同じ場所に無数のHTMLファイルが散らかって管理しづらくなってしまうので、そのあたりをうまくできないか考えています。

ゲーム記

ゼルダとスマブラまでタグ記入完了…いや、五十音順で離れてるものはまだだけど。
1タイトルずつGitでコミットしていくのをやめて後からまとめてコミットするようにしたらずいぶん楽になりました。
プログラム的に変化のある編集じゃないですからね。

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

アンパンマンDB(記事更新)

キャラ「かにおじさん」を更新
なんか唐突に充実させたくなったので、大幅に加筆しました。

アンパンマンDB(システム)

上記の編集中に、新編集画面には編集コメント機能(「○○の項目を更新しました。」の文面を変えられる機能)を付け忘れていたことに気付いたので、付けました。
今回はこの機能なしでデフォルト文言のまま更新しましたが、次回からは必要に応じて変えていこうと思いまあす。

ゲーム記

タグ機能が機能としてはひとまず出来上がったので、データを記入していました。
記事数が多いので全然終わってないんですけどね。
184ページ中56ページ…1/3にまだ足りないぐらいです。
お正月中に終わらせようと思ったけど、厳しいかな?

アンパンマンDB

アンパンマンDB(記事更新)

「ちびっこサンタのニコニコクリスマス」の作品情報を追加
キャラ「ニコラちゃん」を追加
クリスマスエピソードと新登場キャラです。
今回は既存のキャラを中心にするんじゃなくて新キャラ出すんですね。

アンパンマンDB(システム)

カテゴリ項目の注釈機能実装完了。
調子に乗ってさらに*1みたいな形の注釈機能も追加しようとしたんですが、記入フォームがややこしくなってしまったため、そっちは中止しました。

アンパンマンDB(システム)

7日に言っていたカテゴリ項目の注釈機能実装中。
自動で順序が入れ替わったり、親カテゴリが自動挿入されたり自動挿入を手動で消したり、管理画面も入出力ともに対応が必要だったり複雑なので、一項目追加するだけにしては手間取っています。

アンパンマンDB(システム)


読み自動生成のためのデータ登録画面と、読み生成を試せる画面を作っていました。
記入済みの記事データから候補を出してくれる機能付きです。
記事のデータ記入の効率化のための仕組みですが、ある程度読みを作れるようになったら、読み生成画面の方は一般公開しようと思っています。

アンパンマンDB(システム)

カテゴリ項目に注釈的なものをつける機能を実装しようかとか思っていたのですが、その前に一括編集画面に重大なバグが発見されたので対応中…。

一応、注釈的なものって言うのは、例えば「チーズ」カテゴリでも、名犬チーズとチーズフォンデュさんでは全く違う意味で当てはまっているので、そういうのに説明を付けられるように、という意図です。
最近ろくに更新できていないのですが、これがあれば「○○に当てはまると言い切っていいのか?」という迷いがだいぶ消せるので、更新頻度を上げられると期待しています。

アンパンマンDB

更新履歴管理が動かなくなっていたので修正していました。
PHPに型宣言がなかったころからアンパンマンDBがあって、その頃はドキュメントコメントで型を書いていたのですが、実は管理画面ではこれを守っていなかったんですね。
で、PHPのバージョンを上げて、型宣言が正式にできるようになったので、コメント通りの型を指定したら、というわけです。
こういうの、自動テストをちゃんと書いていれば見つかる類のものですし、実際、修正の際には自動テストを書きました。

今、TGWS全体で、テストが必要なコードのうち、実際にテストできているのは54%。
残りの46%は、何かが起こっても自分で見に行くまでは何もわからないのです。
やはり、カバレッジ(コード網羅率)を上げていかねば。

アンパンマンDB

アンパンマンDB(記事更新)

「クリームパンダとジャガじいさん」の作品情報を更新
「コキンちゃんとシュガーランド」の作品情報を更新
来週の放送情報。
再放送ですな。

アンパンマンDB(システム)

アンパンマンDBの検索方式として、細かいパラメータを指定できるストリクトクエリというのがあるのですが、言うほど表現力高くなくて、特にペアリスト項目の条件を細かく指定するのがつらいんですよね。
入れ子や配列の表現ができないというのが大きくて、同一行内で同時に条件を満たす場合みたいなのが表現できなかったのです。
そこで、その両方を表現できる、JSON形式のクエリを新たに作るのがいいんじゃないかなとか思いつきました。
確実に今までより大幅に長く複雑な表現になるので、やるとしても、普段表示されるルーズクエリや現行の細かい条件のストリクトクエリは残したまま、JSONクエリを追加することになるかと思いますが。

アンパンマンDB(システム)


リスト・ペアリスト項目の入力補完ができるようになりました。
前の行までの入力からのマルコフ連鎖をベースにした予測と、現在の行の前方一致検索の組み合わせで、入力の続きを提案します。
検索にはワイルドカード文字も使えるので、決まりきった順序であれば、前の行からの予測だけでも大部分を半自動で書けることがあります。

ひとまず、これで旧画面で使えていた機能は一通り出揃いました。
後は実際に使っていきながらさらに使い勝手を良くしていくだけですね。

リンク集とアンパンマンDB

リンク集

リンク集更新
ここ最近使い始めたサービスを入れておきました。

アンパンマンDB(システム)


分類項目の選択肢から記入機能を作成。
ゲーム記のために作った機能を流用していますが、アンパンマンDB用にちょっと修正しています。
サジェスト機能を付けるには、もうちょっとアレンジが必要になります。

<前 次>