日記(929)

<前 次>

新しいヘッドホン

今日新しいヘッドホンを買ってきました。
これまでに3つ壊れたので今回は丈夫そうなのを選びました。
特に頭にかぶせる部分のプラスチック部品が割れてしまいやすかったので材質重視で、力のかかる部分にあまりプラスチックが使われていないものにしました。

TGBBSの新規スレッド作成処理ができました。
ただし、表示処理がまだできていないためアップはしていません。
表示処理自体はGBBSとほぼ同じにしようと思っています。

Bomber丸Worldのテスト用プログラムをデモ版としてWikiにいくつかアップしました。
できたできたといっていながら、どこまでできたのか周りの人にはわかりにくいので、他の人のマシンで動くかどうかのテストもかねて、みんなに一部分でも見てもらうことにしたのです。
これでおそらくプログラム担当は私一人になるんでしょうね。
あと、このソフトは複数人での開発にしたいため、何らかの形でネットワークでつなげてファイルを常に最新に保つ方法を考えています。

掲示板がずっと書きこめなかったことについて

掲示板にも書きましたが、今運用しているほうの掲示板で、2月17日に書き込みロックがかかって元に戻らない状態になっていたことに気付かず、本日まで書き込みができない状態になっていました。
この問題はロックファイルに異常があったときの修復処理を忘れていたためで、そのあたりも含めて今後はファイル破損関係の事故に気をつけて作っていこうと思っています。

TGBBSは投稿処理を作っているところです。
基本的にGBBSと同じシステムなので旧掲示板のソースを見ながら作っています。

スレッド作成作成中

今日トイレに行ったらいきなり顔に蜘蛛が降ってきました。
それはそうと、TGBBSの新規スレッド作成処理を作っています。
プロフィールへの反映は本家プロフィールの処理からコピーしてきたので、次は記事内容本体を作る事になります。
本当はパスワード処理なども入れたいのですが、方法についてまだ決まっていない部分があるので後で拡張するようにしようと考えています。

見つかりません。病室は存在しないか、場所を間違えています。

スクリプトのことについてですが、よく考えたらこのスクリプトは任意の位置で一時停止できなければ役に立たないので、途中で止めることが困難なツリー構造から実行する形式は見直す必要があるかもしれません。
そうなればツリーのノード本位な今の設計も根本的に見直す必要があり、今度は大幅な変更が来るかもしれません。

で、今日はスクリプト自体は特に触らなかったので、TGBBSの開発を始めてみました。
ファイル形式などはまだ決まっていませんが、ユーザーから受け取るべきデータはほぼ決まりきっているので、投稿フォームから先に作り始めています。
しかし…フォームの位置がランダムに入れ替わるというのは少し面倒かもしれませんね…。
迷惑書き込み対策になるかどうかも未知数だし…。

Bomber丸Worldの施設の一つとして、病院というものを考えてみました。
元々4と死を結び付けない文化なので、3階と5階の間には4階があって病室になっています。
ただ、死とは関係なく、少しおかしい病室になっています。

逆に定期更新ペースになりそう

そんなわけでプログラムを書き換えつつプログラミングのページも書いたりしています。
ちょっと順番が前後しちゃったため2ページを並行して書くことになりました。
共用体を使うとなれば中に入るデータの大きさが気になるところですが、このあたりはどうしましょうかね…。

値型と参照型

ああもう!
値のことは後で考えるとかいってたけど、よく考えたらノード一つ一つには何らかの形で値が含まれるわけだから、ちょっとの手直しならともかく、これから根本的に内容を見直す予定なので、値のことは先に考えておいたほうがよさそうです。
どんな風に根本的に見直すつもりなのかというと、現在はなんとなく基底クラスのポインタをノードに保持させておいて、そのポインタの指している実体は派生クラスという形を取っていたのですが、そうすると値のコピーという点で不都合なことが多いので、最初から全部の型に対応した構造体一つで値を表そうかと考えています。
で、これをそのまま実装すると使用メモリが増えてしまうので、ここらで共用体という今まで私が使ったことのない構造を使ってみようかと思っています。
ただ、共用体といえども大きなクラスを含んだりすると結果的に同じようなことになってしまうので、その点は値型と参照型という形で、まあ、なんというか、値を示す構造体に値の実体を入れるのと実体へのポインタを入れるので分けて、大きなデータの場合はまた別のところで管理して、その管理されているデータへのポインタを値として持っておこうと考えています。
そんなわけで、スキャナの書き換えは中途です。

スキャナ書き換え中

てなわけでスキャナの書き換えを始めました。
ノードはいろんなところで使いそうだしそれはそれで独立した内容を持っているので別ファイルに分けて、トークンの内容は完全にノードに含んでしまえるのでトークンのクラスは削除しました。
まだスキャナ自体の書き換えはできていないのでエラーが出ていますが。

<前 次>