「Perl」に関する日記

GBBS

旧掲示板…動かなくなってたんでPHPへの移行を試みていたのですが…もともとShift_JISだったのに加えてPerlの全力で活用&複雑なレイアウトのやつだったので難航しています。
そもそも役割は新掲示板に引き継いで旧掲示板は動いているころからすでに閲覧専用だったので、これはもう、レイアウトを全面的に捨てて過去ログをシンプルに表示するだけでいいかなとか思い始めています。
どう考えても主要じゃないシステムに時間がかかりすぎている。

ドラゴンクエスト10とリンク集

ドラゴンクエスト10(ミフミン)

眠るネリム
デスマスターの職業クエスト、全5話中4話まで。
なんというか…叙述トリックでしたなあ。
物語の真相がわかって、いよいよすっきりと決着をつける、という段階です。

他の写真は以下から。ボス戦もあるよ。
写真置き場「2022/08/09」 | ミフミンのDQ10メモ

リンク集

ずいぶんご無沙汰ですが、うちのサイトのリンク集、古いバージョンのPerlで作られたCGIで、いろいろと今の運用と合わないので、PHPで書き直し中です。
ついでに、昔のデザインのままだったのも、現在のデザインに合わせようと思っています。
ただ、データ形式だけは、昔のままを維持するつもりです。

現在のPerlCGIはランダムバナーリンク集として配布していますが、リニューアル後はTGWSに特化して作るので、配布しないつもりでいます。

縦横スクロール

LineConstructor、選択した場所が変わったときスクロールが付いてきていなくて不便だったので追随するようにしてみました。
今のところマウスのボタンを押したまま画面外までカーソルを持っていってスクロールさせる方法が中途半端にしかできていないのでSetCapture/ReleaseCapture系のAPIを用いて画面外でも正しく位置を検知できるようにするのが当面の課題、って、すぐできますが。
ByteEditでもそのうち同じ機能をつけるつもりです。
それと、必要なのは閉じるときの保存確認ですね。
ついつい保存を忘れて閉じちゃいます。
そうそう。横スクロールもつけないと。

ミディビ受信プログラムの正規表現の件、バッチリOKみたいです。
\x00のような記法でバイナリデータ全部問題なく正規表現に使えそうです。
テキストを抜き出すのも比較的簡単にできそうですよ。

MIDIチェック

ふにゃさん、ステージ内に埋め込まれた画像を読み込む処理の改良に成功しました。
やはりこの前考えたとおり、GlobalAllocで確保したメモリアドレスと違う位置を渡していたのが原因だったようです。
mapを使って識別子とデータを関連付け、データクリア時にはそれぞれを別々にメモリ解放します。
要するに今回はこの関連付けるデータを一つ一つGlobalAllocで確保したというわけです。
また、確認はしていませんしその必要もないと思うのですが、以前のものだとデータの長さ(というよりデータの要素数)にほぼ比例した検索時間が必要でしたが、新しいほうだとその対数オーダーでの増加になるので大きなステージでは読み込みが速くなるはずなのです。
もしかしたらメモリの解放忘れがあるかも。でも多分無いかと。うん。自分を信じよう。スペル間違い以外に不具合は無かったんだし。

ミディビのMIDI受信プログラムを少し改良しました。
データを簡単に検査することでMIDIかどうかを判別し、MIDIデータでなければ保存しないのです。
MIDIには必ず存在するデータというものがあるのです。
それが存在するかどうかさえ調べればおかしなデータが送られてきたときにエラーを出すことができるというものです。
ミディビは一応完成したら配布するつもりなので悪意のあるデータを排除するというのも必要になってくるわけです。
そういえばPerlの正規表現ってバイナリデータに対してはどう動くんだろう?
PHPについてはどうやら一行のデータを前提にしているらしいのですが。
ん?でも掲示板とかで複数行のデータを渡したときもちゃんと動いてる?どーなってんだろー。
しかしもしバイナリデータでも正規表現が使えるなら強いですよ。
なにせ正規表現だけで曲名も作者もコメントも抜き出せるのです。
JavaのおかげでMIDIのバイナリデータを直接扱うことはありませんでしたがやはりいずれにせよMIDIファイルの知識は必要だったようです。
それでも一応MIDIメッセージの段階まではMIDIに踏み込むことができたのでできる自信はあります。
正規表現の挙動しだいですが…。

つくりぷびびえす

プログラミングのところを更新しました。
CGIでよく使われるPerlについてです。
外字やWindows以外の文字を除けば多分あれで全部です。

また、サンプルとソースをプログラミングのサンプルのページに移動しました。
内容がプログラミングなのにダウンロードページにあるのはどうかと思ったためです。
ついでにサンプル置き場も改装しました。
それと、ダウンロードできるファイルには一部私の本名を書いていたものがありましたので、それらについては修正しておきました。

今後はしばらく新掲示板の作成をしていると思います。

やばっ、レポートやってない!

「FNチェンジャー」を公開しました。
小さいソフトなので例によって更新履歴には書きません。
ドラッグ&ドロップによってファイル名を変更します。

Perlでまたわけのわからんもんを作っていました。
100分の1の確率で表示を微妙に変えるだけのプログラムです。

それでも平均点の2.7倍なんて…!

Perlがある程度使えそうな気がしたので、調子に乗ってG氏の掲示板を私にも使えるようにしようとしたんですが、さすがにだめでした。
こうなれば、不本意ながらも、使わせてくれるよう頼むか…?

「NeoMupl」、集中して作るとか言っときながら全然進みませんね…
秀丸フリー制度を使いたいので早く何か役に立つフリーソフトを作りたいんですが。

登校時、駅の自動改札機を通ろうとしたら、間違えて食堂のプリペイドカードを入れてしまいました。
入れた瞬間に気が付いたので出口にぶつかるという事態は免れられましたが、その瞬間までずっとそれが定期券だと信じ込んでいたことに驚きます。

「情報リテラシー」で、先生がいつまでたっても来ず、1時間半が無駄になりました。
私はそれ以外でも一日に平気で3時間ぐらい無駄にするのであんまり文句は言えませんが…

電気回路の試験が返ってきました。
案の定直流回路以外は全滅…(T-T
あとは単位を間違えやすい問題で単位を使い分けられていたことに2点つけられていただけ…
根本的に勘違いをしていたのが原因でした。
しかし、今回のことで大分理解が進んだような気がするので、本試験では同じミスは繰り返しません!

密かにあるページを大幅に軽くしました。

Perlの練習中

PerlのCGIを改造していました。
ここはCGI禁止なのに何故……?
深いことは気にしないでください。
Perlのことも、わかったとはいえないものの、感覚はつかんだ感じです。
1から作ることは無理にしてもある程度は改造できるようになりましたし。
でも今はレンタルサーバーにアップロードしてからテストしているのでサーバーに負担をかけてしまっているのが難点です。

「NeoMupl」をほんのわずかだけ変えました。
ほぼ何も変わっていないのでアップしていません。