2017年4月の日記

<2017年05月 2017年03月>

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

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

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

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

アンパンマンDB

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

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

アンパンマンDB

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

アンパンマンDB

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

ドラゴンクエスト10とBitbucket

ドラゴンクエスト10。
バージョン3.5中期です。
ストーリーは全然進んでいませんが、とりあえずアップデートとは何の関係もないドレスアップを。
ろーるぶらっくろーる

Bitbucket。
APIで課題のリストを取得できないか調査中。
BASIC認証で通りそうではありますが…。

プログラミングコーナー

シンタックスハイライトについて検討中。
今まではSHJSを使っていたけど、古くて更新も途絶えたライブラリなので、代替になるものを。

サーバーサイドで色付けしてしまうGeSHiがひとつ。
クライアント側に負担をかけないというのが長所。
ただ、直接style指定していて、事実上色のパターンを選べないというのが欠点。

もう一つが、JavaScriptでハイライトするhighlight.js
割と評判がよくて、今でも更新が続いているライブラリです。
言語は自動判定が可能(というよりそれがメイン)で、カスタムパッケージとして、必要な言語だけをインストールすることも可能。
スタイルも各種用意されています。

うん、特別な事情がない限りは今後はhighlight.jsがいいかな。

カービィハンターズZ

ラストバトル前まで来ました。
もっと進んでいる人のクリア状況を見る限り、このラストバトルは本当のラストバトルじゃない模様…。

ゲーム記

作業対象のファイル数は半分になったのですが、それでもやっぱり大変すぎです!
しかし、これ以上の自動化はさすがに無理がありそうです。
少しずつリニューアルして少しずつ公開できる仕組みにしていたら苦労せずに済んだのですが…。

ゲーム記

リニューアル作業の一部自動化。
古いページと新しいページを統合して整理するのですが、毎回2ページずつ編集するのが大変だったので、統合までは自動化です。

日記とプロフィール

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

WordPressとTGWS_Wiki

いろいろ試していたら、WordPressの.htaccessが関係ないところにまで効いてしまっていました。
一部のページに影響があったかもしれません。
WordPressのページは、まだ一般公開はしていないものの、見られて困るようなものは置いていないので、セキュリティ的なリスクはないはず。

TGWS_Wikiの改良。
表組に対応。テーブルはヘッダ行を付けたり好きな属性をつけられたりします。
以前検討したMarkdownを使う必要はひとまずなくなりました。

ヘッダ行をつけられるよ
縦結合横結合
スタイルセル単位のヘッダ

プログラミングコーナー

プログラミングコーナーこそWordPressとかのCMSで実装したらいいんじゃないか?と考えています。
理由は主に3つ。

  • ページごとの個別のロジックや凝った構造があるわけでもないからCMS任せでも大丈夫
  • カテゴリなどの、似た記事を探す機能が豊富
  • コードのシンタックスハイライトをJavaScriptに頼らず自動化できる!

過去のコンテンツを移行するかどうかはさておいて、検討の価値はあるんじゃないかなと思います。

Repeat Task

もうちょっと使いやすく改良。
evalを使って手っ取り早く実装した都合で、evalの制約を色々受けてたんですね。
でもやりたいことって基本シンプルだから、より簡便な記述で済むように、お決まりの部分は自動補完するようにしました。

ます…なんとかに少し興味。
せっかくオープンソースの分散型で誰でもサーバーを立てられるんだから、自宅サーバーで、それが無理でもVPSとかで自分だけのサーバーを立ててみたいですね。

Repeat Taskとアンパンマン

一般ユーザーには使えませんが、Repeat Task更新。
昼食の予定を夜に表示しても仕方ないのです。
10日にしかできないことを9日に表示しても仕方ないのです。
今できるタスクを管理するんだから、今できないことは非表示にする、そういう機能を作りました。

アンパンマン映画前売り券確保。
前売り特典のリュックも一応もらいました。

ゲーム記

作業は進めたけど、ページ数が多い…!
1割も終わってない!

TGWSAdmin

直りました。
これを機に送信プログラムそのものをモダンなやり方で作り替えようと思ったのですが、内部処理で同じことをやっていたらしく、作り変えても結果は同じでした。
そこで、送信データをぶつ切りにして、エラーが起こらないように送信用に変換したら、うまくいきました。
結局送信プログラムそのものは古い方式のままです。
気が向いたら、このエラーの原因と対処をプログラミングコーナーにでも書いてみようかと思います。

みんなで!カービィハンターズZとTGWSAdmin

みんなで!カービィハンターズZ、始めました。
ロボボプラネットのミニゲームを独立させたやつですね。
基本無料のアイテム課金なのでとりあえず無料で始めてみました。

TGWSAdmin。
ランキングうまく反映されない…。
どうにも送信データを作るときにデータが長すぎたとのこと。
100KBにも満たないデータなのにだらしない!

CocosSharpとMarkdownとWordPressとアクセス統計とMifuminator

CocosSharpとか使えるかなーとか思ったり。
サンプルがビルドできないけど。
funyakのフロントエンド開発には何を使うかいまだに決まってないんですよね。
一応WPFでそれっぽいものは作っているけれど。

各コンテンツで使っているマークアップ言語についても検討中。
アンパンマンDBははてな記法に似せて作ったTGWS_Wiki構文を使っているけど、手早く自作したものだから、機能不足なんですよね。
Markdownが最近ははやっているらしいけど、あまり私の理想には合わないような…。
段落を自動で入れてくれて、テーブルを簡単に作れて、柔軟なリンク指定ができて、普通の文章でマークアップが誤爆しにくく、カスタマイズ性が高い、というのが欲しいんですよね。
やっぱりTGWS_Wikiを改良するかな…。

WordPressのアカウントを管理者アカウントと投稿用アカウントに分割。
管理者アカウントは表に見せたくないものでね…。
いざWordPressを設置してみると、他のサイトで間に合うことが多くてなかなか最初の記事作成に着手できないですね…。

恐らく私以外誰も見ていないであろうアクセス統計のページを微修正。
ランク外に出たものは統計の対象外になってしまうために、再びランクインしたときに、ランクアップしてきたのか、全く新規の項目なのか区別がつきませんでした。
ランク外に出て見えなくなってしまった項目も、内部的には記録するようにして、正確なランク変動がわかるようになりました。

Anpanatorの実装のMifuminator、Packagistに公開しました。
mifumi323/mifuminator - Packagist
使い方とか全然書いてないし、requireしただけでは何も動かないので、まだ一般には使い物にはならないとか思いますが、Packagistの練習も兼ねて。

Xamarin

マルチプラットフォーム開発のXamarinお試し中。
思ったよりは難しくなさそう。
でもiOSの開発にはiPhoneとMacが必要…。
テストの為だけに2機追加はつらいかな。

ゼルダの伝説 ブレス オブ ザ ワイルド

やっとゲーム記にページ作りました。
語るより遊びたいし、いまだに遊びきれないし、いざ書こうとしても言葉にならないのでありますよ。
たぶん、今後も適当に随時更新すると思います。

アンパンマンDBと六甲山

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

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

応答速度計測とWordPressとAnpanator

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

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

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

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

ドラゴンクエストX素材データベース

ドラゴンクエストX素材データベース、跡地も完全に消しました。
既にすべてのコンテンツがミフミンのDQ10メモに移行済みで、アクセスもロボット以外によるものはなかったので。

あと、SSLのテスト用に作っていたサブドメインも消しました。
こっちはそもそも何のコンテンツもなかったのでもっと早くに消すべきでした。

そんでもって、古いサイトの抹消とは別の話になりますが、一部のページで応答速度の計測を始めました。
PHPが呼び出されてから送信コンテンツの完成までの時間を計測し、時間がかかっていたらログに残すようにしました。
ログ記録自体に時間がかかってしまっていたら意味がないですが、そんなことはなかった&時間のかかっているページでだけそれをやることにしたので、時間計測にかかる時間を気にする場面はないかと思います。

Creators Update

Windows 10のアップデート。
んん、でも設定がいくつか吹っ飛んだような…。
それに追加されると言われていたアプリも見当たらないし…。
あと、IMEの切り替えが見た目に分かりやすくなっていました。露骨すぎるぐらいに。

履歴

一部のページにて、フッター部分にそのページの更新履歴を表示するようにしました。
今のところ、ゲーム記とプログラミングコーナーの最近更新したページだけです。
履歴表示の共通機能を作ったので、今後はどんどんいろんなページに履歴表示していくつもりです。

配列

プログラミングコーナーの配列のページを更新。
最近よく使われているJavaScriptを追加したのと、VB.NETにも形だけは下限指定の配列表記があったのでそれも追加。

Anpanator

エイプリルフールに何か楽しいことをするわけでもなく。
Anpanatorそろそろ正式版にしたいんで、最後の調整をしていました。

<2017年05月 2017年03月>