みんなで!カービィハンターズZとTGWSAdmin
みんなで!カービィハンターズZ、始めました。
ロボボプラネットのミニゲームを独立させたやつですね。
基本無料のアイテム課金なのでとりあえず無料で始めてみました。
TGWSAdmin。
ランキングうまく反映されない…。
どうにも送信データを作るときにデータが長すぎたとのこと。
100KBにも満たないデータなのにだらしない!
ここTGWSの管理のために作ったツール。当然ながら非公開だよ。
みんなで!カービィハンターズZ、始めました。
ロボボプラネットのミニゲームを独立させたやつですね。
基本無料のアイテム課金なのでとりあえず無料で始めてみました。
TGWSAdmin。
ランキングうまく反映されない…。
どうにも送信データを作るときにデータが長すぎたとのこと。
100KBにも満たないデータなのにだらしない!
CocosSharpとか使えるかなーとか思ったり。
サンプルがビルドできないけど。
funyakのフロントエンド開発には何を使うかいまだに決まってないんですよね。
一応WPFでそれっぽいものは作っているけれど。
各コンテンツで使っているマークアップ言語についても検討中。
アンパンマンDBははてな記法に似せて作ったTGWS_Wiki構文を使っているけど、手早く自作したものだから、機能不足なんですよね。
Markdownが最近ははやっているらしいけど、あまり私の理想には合わないような…。
段落を自動で入れてくれて、テーブルを簡単に作れて、柔軟なリンク指定ができて、普通の文章でマークアップが誤爆しにくく、カスタマイズ性が高い、というのが欲しいんですよね。
やっぱりTGWS_Wikiを改良するかな…。
WordPressのアカウントを管理者アカウントと投稿用アカウントに分割。
管理者アカウントは表に見せたくないものでね…。
いざWordPressを設置してみると、他のサイトで間に合うことが多くてなかなか最初の記事作成に着手できないですね…。
恐らく私以外誰も見ていないであろうアクセス統計のページを微修正。
ランク外に出たものは統計の対象外になってしまうために、再びランクインしたときに、ランクアップしてきたのか、全く新規の項目なのか区別がつきませんでした。
ランク外に出て見えなくなってしまった項目も、内部的には記録するようにして、正確なランク変動がわかるようになりました。
Anpanatorの実装のMifuminator、Packagistに公開しました。
mifumi323/mifuminator - Packagist
使い方とか全然書いてないし、requireしただけでは何も動かないので、まだ一般には使い物にはならないとか思いますが、Packagistの練習も兼ねて。
TGWSAdmin。
Twitter系のタスクに画像添付機能を付けました。
従来使っていたライブラリではできなかったので、別のライブラリを入れました。
ドラゴンクエスト10のプレイヤーイベントを検索および通知するサイト。
メールの文字コードをUTF-8にしました。
メーラーで文字化けしないように無難にJISとかいっても、そのJISでそもそも表現したい文字を表せないんだから、送る前からすでに文字化けしてるってんです。
文字コードにすら対応しない無難じゃないメーラーはもう切り捨てて、UTF-8のまま送ることにしました。
伝送路の都合は個人レベルではどうしようもないので無難なBase64を使っていますが、Base64のほうは情報の損失はないので文字化けも起こりません。
更新情報を自動で流すようにしました。
忍者ツールズだから、しばらく放っておくと広告がでかくなって邪魔なのです。
WebのHTTPS化が進んでいるのにhttpsからのアクセスが全然ないと思ったら、リファラでHTTP以外を解析対象から全部はじいていました。
もちろん普通にアクセスすることには何の支障もありませんが。
とりあえず、HTTPSも解析対象に加えました。
あと、新たに判明した検索エンジンの追加も。
検索サイト追加しました。
ただ、これ以上追加しても、微妙かな、という気がしてきました。
マイナーなところからの流入は大勢に影響を及ぼさないし、数が多くてきりがないし、だからと言って検索サイトかどうかを自動判定しようとすると、検索機能のある検索中心でないサイトが問題になるし…。
今後は、たまにリファラを調べてみて、多かった新規検索サイトを入れていくようにしようかなと思います。
検索クエリ解析をだいぶ大きく変更しました。
まず、ほとんどの検索クエリの文字コードがUTF-8になっていたので、文字コードの判定を入れずにUTF-8に決め打ちするようにしました。
そして、ほとんどはパラメータ名が変わっているだけだったので、処理を共通化して、ドメインごとに参照するパラメータを変化させるようにしました。
おかげで、今まで無視してきていたマイナーな検索サイトにも多く対応できました。
ついでに、自動テストの仕組みを入れました。
TGWSに飛んできた検索クエリを基にテストを組んだのでアンパンマンまみれなテストになりましたが。
検索クエリ解析が検索妨害にならないか心配です。
自分で使っているアクセス解析のプログラムをライブラリとして切り出してみました。
特定のプログラム用のを無理やり切り出しただけだからあまりしっかりとしたものではないですが、自作プログラム間で融通できるようにと考えて。
一応、GitHubにもおいています。
あと、Repeat Taskにインターバル系タスクを実装。
こっちも自分用のプログラムですが、期限を定めずたまにやるような、そして一度やったらしばらくはやらなくていいタスクを作れます。
ニュースチェック系にテスト機能を入れました。
そして、データの修正機能も付けました。
で、アンパンマン公式ポータルサイトの更新情報がこれでやっと配信できるようになりました。
AnpanatorとアンパンマンDBの連携を作りました。
AnpanatorからはアンパンマンDBに飛べるように、アンパンマンDBでは、Anpanatorの回答の一部を見られるように、できましたよ。
TGWSAdminとアンパンマン日替わり紹介bot。
HSTSの関係で行った修正の関係で、TGWSAdminからログインできなくなっていました。
そのせいでアンパンマン日替わり紹介botが一部機能停止。
新ログインに対応させて、また動くようにしました。
まあ、アンパンマン日替わり紹介botは将来的には完全にTGWSAdminから独立させる予定ですけどね。
NeoMupl。
Ogg Vorbisを再生したくて、あと、DirectShowを使っているとしばらくしたら落ちるのを解消したくて、NAudioとNVorbisを使ってみました。
負荷がかかるとぶつぶつ音が切れるのと、連続再生しようとしたら前の音楽が重なることがあるという点が今のところは問題かな。
前者は再生しながらNeoMupl本体を操作したら起きるので、あまり操作しなければ一応何とかなりそうです。
後者はかなり致命的ですね。
後者を優先的に直していくか、あるいはNAudio自体を捨てるか…。
TGWSAdmin。
旧サイトのアクセス解析を、ログ取得も含めて完全自動化しました。
もう古いサイトなので手間をかけてもいられないのですが、だからこそ、手動でログを収集する手間は省きたかったんですね。
管理画面に入ってメールを送らせてそのメールを受信するというやたら回りくどいやり方だったのですが、何とかプログラムで全部書けました。
ここんとこTGWSAdminが不安定で、というより動作させてるパソコンが不安定で、目的の時間に動かないことが多かったので、動作トリガーを変更することにしました。
ツイート用のプログラム本体はWebサーバー上にあって、TGWSAdminはスケジュールに従ってそれをつつくだけなので、Webサーバー上にスケジューラを作るわけです。
Twitter関連のタスクがうまく動かないことがあったので修正しました。
もののついでに、Twitterに限らず、いろんなタスクの編集をしやすくする改修に手を付け始めました。
これまでは、タスクの編集にはPropertyGridコントロールを使っていました。
PropertyGridコントロールは、フォームに張り付けてオブジェクトを渡すだけで、オブジェクトの編集画面ができてしまうという、神懸ったコントロールです。
すなわち、編集画面を作るのに、編集画面の設計が一切必要ないということ。
これはこれで非常に楽でいいのですが、裏を返せば、ほぼ設計はできないということ。
直接入力ではつらい複雑な設定の記入には、別途ちゃんとしたUI付きの編集画面を用意したいわけです。
とはいっても、PropertyGridで足りないケースのほとんどは、さほど凝ったUIは必要がないものになるでしょう。
また、凝った画面を用意するにしても、凝った画面に入るためのインターフェースが必要なわけです。
ということで、PropertyGridで足りないような場合のために、拡張メニューを作れるように改修しました。
PropertyGridで出しにくいちょっとした選択肢を出すくらいなら、メニューだけでどうにかなるでしょう。
複雑な画面が必要なら、その画面を呼び出すメニューを作ればよいのです。
とりあえず、今日のところは、拡張メニューだけで足りる、Twitterのアカウント選択機能を作りました。
アンパンマンDBの最新っぽい情報群用のタスクはかなり複雑なことをやっていて、トライアンドエラーをしながら設定できるように、しっかりした画面を作りたいところですね。
このサイトでは、普通のアクセスログやエラーログのほかに、ユーザーの行動やプログラムの実行といった独自のログも記録しています。
ですが、独自のログは本当にただ記録しているだけで、SQLから直接データを見るしか閲覧方法がありませんでした。
それじゃ面倒ということで、ログ閲覧用画面を作りました。
一応、管理用のログなので一般の方は見ることはできません。
サーバーが変わったことでログの書式も微妙に変わったので、修正していました。
以前のサーバーだとURLエンコードされて入っていた部分が、デコードされて入っているんですよね。
あと、検索エンジンごとの処理が今の時代に追いついていなかったので、ある程度追随しておきました。
移転先への対応準備中。
アクセスログ収集が完全自動化できそうなので挑戦しています。
これができたらいよいよ移転を実行できそうです。
動作が停止していました。
タスクが一定時間動かなくなっていたら自動的に中止する機能が必要かなぁ。
ドラクエ10のアップデートで公式サイトの仕様が一部変わるので、使えなくなる機能をはずしておきました。
明日はいよいよバージョン2.4ですな。
アクセス解析おかしいの直しました。
なぜ悪かったのはわからずじまいでしたが、エラーが起きる前提条件から潰しました。
今度はアクセス解析機能がおかしくなっていました。
おかしい場所はわかるけど、なぜおかしいかさっぱりわからない。