日記(959)

<前 次>

美文の愛した数式

ふにゃさんの攻略ページを更新しまくりました。
13~16面のページを用意し、うち15面を完成させました。
後残りは3つだけです。

スクリプトの続きを昨日の勢いがあるうちに書いてます。
インタープリタを作る前にまだ一つやり残したことがありましたよ。
字句解析の方法をまだ論じていなかったではないですか。
それが終わったらそれらの実装方法を書いて、そこではじめて「簡単な数式のインタープリタ」が作れるわけです。
最近は少し更新ペースを速めているのですがそれでも一回に一箇所の更新では先が思いやられます。
ActiveBasicでゲームを作る企画のときみたいに一回に数箇所一気に更新してしまうぐらいの勢いが無いと少しつらいかもしれません。
一応年内に完結させるつもりではいますので。

体育の次の日

うん、今日が体育の日だと思ってましたが昨日だったんですね。
昨日朝気付きました。

プログラミングコーナーは無事更新できました。
今度こそはインタープリタを作れそうです。
今日書いたあの方法をプログラムとして書くことさえできれば…。
まあ、たぶん来週の更新分を書き始めればそのうち思いつくでしょう。
一応今も漠然と方法が浮かんではいるのですが、それと具体的なコードとは大きな隔たりがありますからね。

パソコン掃除

今日はパソコン周りの掃除とパソコンの配置換えをしました。
パソコン周りは普段掃除が行き届かないため凄まじい量の埃でした。
特に本体の見えない部分にあった吸気口にあった埃が酷く、熱暴走で落ちたことがあるのもこのせいかと思いました。
そしてパソコンの配置換えです。
最近周辺機器の位置関係がすごく悪くメンテナンスしにくいと感じていたのでこの機械に配置換えを、じゃなくて、本当は逆に配置換えをしようと思ったらあまりに汚くて掃除をし始めただけだったんですが。
そして配置換えの結果、本体やキーボードなどの位置関係を見直すことで埃がたまりにくく清潔に、配線を背面から側面に移動してメンテナンス性向上、配線の関係上使えなかった引き出しを有効活用しスペースの無駄を削減、かなり使いやすくなったはずです。
そしてついでにパソコン本体も分解して中を見てみました。
内部は外から見るほどは埃まみれではなく、やはり排熱問題は埃による吸気口の機能低下が原因だったようでした。

で、今はプログラミングコーナーのスクリプトのページを書いてます。
どうにも簡単なインタープリタを作るのにすらまだ早く、もう少し基礎固めが必要だったようです。
木構造を作るのに意外と難儀してます。
でも何とかできそうな見通しは立ってきたので明日あたりにでも更新しておきたいところです。

そしてリンクは神になる

ゼルダの伝説ーふしぎの木の実のところを更新しました。
ふしぎの木の実に限定した話ではなかったのですが、これが中心となっている話だったのでふしぎの木の実の場所に収まりました。
衝撃の事実、ハイラルを沈めたのは○○○だった…!

サイト全体のスタイルシートを改良しました。
改良箇所は一箇所、thです。
特別な例外を除いて自動改行が入らないようにしました。
なぜかというとテーブルの列が多くなると一つ一つの列が狭くなってしまって滅茶苦茶縦長のページになってしまうので列の最低幅確保のために使うのです。
もちろん横幅の広いthは自動改行するような設定に戻して幅の広がりすぎを防ぎます。

これをやった理由というのが、ふにゃさんのバージョン比較ページの書き方です。
NeoMuplのバージョン比較ページも同じようにしようと思っていて、そうするとNeoMuplは更新回数がかなり多くなりますから、画面より広いテーブルになりやすいのです。
それで上記の設定変更を行ったのです。
そして、そうすると右側が切れてしまって最新バージョンの機能がわかりにくくなってしまうので、新しいバージョンを右側にするのではなく逆に左から新しい順にすることにしたのです。

爆ボンのきょくのページを分離しました。
それに伴ってずっと作り続けていたブルーリゾートのMIDIも公開です。
とはいえまだハープの打ち込みが最後まで済んでいないのですが。

機能停止とファイル解析と確認画面

今日メモちらしが原因不明の動作停止をしました。
元々暴走が怖かったため動いてるか動いてないかわからないぐらいの低速で動かしていたのでずいぶん長いこと気付きませんでした。
とりあえずソフトを再起動したら直ったのですが、止まる条件はプログラムの終了以外になかったはずだったので少し気持ち悪いです。

のんびりナマライザのログ読み込み部分の中枢が出来上がりました。
先月27日に言っていたところのファイル解析です。
まず、速度は多少遅くなるのですが、エラー処理を正しく行い、可読性の高いコードになるように、そしてもちろん正しいデータに対しては最低限正しく動くようにしました。
読み込みの都合や実際に解析するときの必要性などから一部のデータを使わないことにしたり場所を色々移動したりもしました。

掲示板の迷惑書き込み対策、もっと単純でなおかつ当たり前の方法がありました。
投稿内容反映の前に、投稿内容確認画面を入れて1ステップ多くするのです。
これにより一般のお客様には利便性が上がり、迷惑書き込みをする人には面倒になるのです。
一般のお客様から見れば、投稿結果のイメージが投稿前に確認できるし、やろうと思えばその場で修正もできるし、不適切な表現があれば警告が出るし(出せるようにしたい)、チャットのようにガンガン書き込みまくるということもないので便利さだけが大きく上がるのです。
そして迷惑書き込みをする人にとっては、一手間多くかかる(つまり2倍面倒になる)、機械での投稿がしにくくなる、ということで書き込みにくくなるのです。

Following

NeoMuplの最新版をアップしました。
今回の改善点は演奏準備中の表示をすることにしたことです。
機能追加というほどのことでもありませんが、今演奏しようとしている曲とタイトルバーに表示されている曲が一致しないという気持ち悪さは避けられます。
ただ、同時に色々未実装な物も乗せてアップしてしまったので使い勝手はむしろ全体として悪くなっているかもしれません。

Bomber丸WorldのライブラリのページのCBWTextDIB32とshared_resourceのページができました。
あまり説明らしい説明にはなっていないのですが。
あと、キャラの行動アルゴリズムのFollowとGotoの改良を考えています。
経路を考えるのが、経路を考える必要ができた瞬間1Fだけであり、たくさんのキャラクターが同時に動こうとしたとき処理落ちが起こる可能性が高いのです。
また、負担軽減のため探索深さを少なめに設定していたせいで探索範囲が狭くなり、遠くから追いかけるということができなくなっていました。
これは、探索する側が最短経路を探すから遅いのであって、追跡される側のほうが最短経路を求める手がかりを残しながら歩いていればよかったのです。
そして、手がかりは、一度に全部用意するのではなく小出しにしていくことで処理の負担を和らげます。

投稿フォームのこと

掲示板にの一般の利用者に迷惑のかかりにくい迷惑書き込み対策については、一つの案として、レベル別の書き込みフォーム&投稿内容制限の変化を考えています。
まず書き込みフォーム。
元々用途に応じて様々な形態の書き込みフォームを使うことを考えているので、普通の投稿にも様々な投稿フォームがあってもあまり問題にならないのです。
非常に大まかに分けると、簡易コメントフォームと通常書き込みフォーム。
簡易コメントフォームはテキストだけのシンプルな画面構成で誰でも書き込むことができますが、載せられる情報は少なく、ちょっとしたことで投稿内容審査に引っかかり、封印されます。
通常書き込みフォームは、クッキーと画像を使って、利用者別の投稿画面が自動的に割り当てられます。
画像には適切な代替テキストを用意せず、目で見ないと何が書いてあるかわからないようにし、入力フォーム自体の形や配置も毎回変化します。
これでロボットによる書き込みフォームの判別は難しくなります。
しかし、各入力欄のname属性がわかりやすい名前であると意味がないので、一見意味のない文字の羅列をname属性に使い、投稿された時点でCGI側で、じゃなくてPHP側で元の名前に読み替えます。
そして、元の名前と意味不明な名前の対応も、一定時間で変化します。
すると変化する時間をまたいでの投稿がまずいことになりますが、そのあたりの時間差は考慮して、正しい対応を取れるようにします。

<前 次>