18時間寝。布団の中って幸せー。
急にHTMLの構造チェックができないだろかと考え始めました。タグとタグの属性、それ以外、で切り出せれば構造チェックができるような気がしますが、やってみないとわからない。
火曜日課。海老原先生の授業は休講だったため、加藤先生の授業だけでした。今日は面接をやるというので園芸名簿の印刷があったのですが、運営委員会に出席していたので出られず。名簿作成のお手伝いをした皆様お疲れさまです。
農業公園ポティロンの森(江戸崎市)に行きました。やたら広い駐車場でしかもスカスカでした。スピンターンできそー。夏は1000円、冬は500円で高いと思いきや1500円払うと年間フリーパスという、妙な料金設定でした。しかし今日はイベント期間だったため、入園料はタダ。
各アトラクション(なのか?)ごとに一々金を払わねばならないシステムなので、損した気分になります。園内アナウンスしていたドッグレースも有料だったため見ずじまい。とはいえ全く乗らないのもなんだし、ゴーカートだけ乗りました。アクセル全快でクラッシュしてみれば楽しかったでしょうが、後半でカップルに追いついてしまい、イマイチでした。
遊具の側にロバの力で動くメリーゴーラウンドがありました。ロバかぁ、クリーンなエネルギーだけど…ムチでバシバシやられるロバがかわいそうで、遊具らしくない寂しい雰囲気を醸し出していました。奥にラクダや馬が居ましたが、やる気ナッシングでした。
ホールのようなところで行っていたBayFMの公開録音をパン食いながら見ていました。ステージ上に平川地一丁目が居たので、ズームを最大に活かしつつ撮影。一応映ったけど、ちっさすぎ。
園芸ボックスの片付けの後、小磯、高橋(城)氏と山田さんとで、今日のクリスマス会用のプレゼントを買いに西武へ。男性陣は揃って一瞬で買い終わりました。山田さんだけじゃないですが、女性の買い物はなぜ長いのか。誰か研究してくれ。
その後、志村邸でクリスマス会というかチキンと手巻き寿司を食らう会です。日本はキリスト教でも神道でもない人が、クリスマスと正月の両方を祝いますね。単にお祭り大好きなだけ?
志村邸はマンションの入り口がオートロックで、本人も出かけていたため待ちぼうけ。インターホンにカメラがついていたり、全体的に高級感が漂う作りで、我が家とはだいぶ違う感じ。手巻き寿司のご飯は炊きすぎたかと思いましたが、意外といいペースで消費されて良かった良かった。
ひょんなことから話題になった女性の好みですが、好みは人それぞれ。思う道を行けばいいさ、みちたろー君。
たかが標準入力から1行読み込む処理、されどハマりました。
固定バッファは溢れるたりして厄介なので、デリミタまでをstringクラスに代入してくれる関数を使おうと思いました。C++にはstd::getlineという、まさにその動きをする関数があるのですが、なぜかEnterを二回押さないと動かないという変な関数で使えません。仕方なく自作することに。
単純にistream::get(char *, int, int)でバッファ長かデリミタまで取ってstringに連結し、デリミタはistream::ignore(1)で消し去ればかんたーん、などと思ったのですよ。しかしgetの動きがイカレてて、何も入力せずにEnterを押すとエラーになります。すると後のistream::peek()が全部EOFを返しますが、ファイル末端というわけではないのでistream::eof()は偽を返し、無限ループに陥ります。な、なんだってー!?
結局istream::get(char *, int, int)にあたる部分もistream::get()を使って自作しなければならず、1行取ってくるだけのプログラムがかなり肥大化しました。これじゃ何のためのC++だかわかりませんよ。お願いだから開発系くらいちゃんと作ってくれよ、M$さん頼むよー(´Д`;)
作ったコードはこんな感じです。あまり洗練されたコードではありませんが、読みやすさ優先主義ってことで許して。
//理想(g++ だとこちらで動く、ていうかそれが当然)
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string str;
while (!cin.eof()){
//1行取得
std::getline(cin, str, '\n');
//1行出力
cout << "out: " << str << endl;
}
return 0;
}
//現実(こちらも当然だがg++ で動く)
#include <iostream>
#include <string>
using namespace std;
istream &getBlock(istream &s_in, char *pbuf, int size, char delim);
istream &getLine(istream &s_in, string &str_buf, char delim);
int main(int argc, char *argv[])
{
string str;
while (!cin.eof()){
//1行取得
getLine(cin, str, '\n');
//1行出力
cout << "out: " << str << endl;
}
return 0;
}
//終端、区切り文字またはバッファサイズ - 1まで入力を取り出す
istream &getBlock(istream &s_in, char *pbuf, int size, char delim)
{
int ch, pt;
for (pt = 0; !s_in.eof(); pt++) {
ch = s_in.get();
//区切り文字検出
if (ch == delim || pt >= size - 1) {
s_in.putback((char)ch);
break;
}
pbuf[pt] = (char)ch;
}
//nul文字付加
pbuf[pt] = '\0';
return s_in;
}
//改行までstringクラス変数に入力を取り出す
istream &getLine(istream &s_in, string &str_buf, char delim)
{
char buf[BUFSIZE];
//バッファ初期化
str_buf = "";
while (!s_in.eof()) {
//バッファの限界か、区切り文字まで読み込む
getBlock(s_in, (char *)buf, sizeof(buf), delim);
//連結
str_buf += buf;
//区切り文字にて読み込みが止まった場合
if (s_in.peek() == delim) {
s_in.ignore(1);
break;
}
}
return s_in;
}
光ケーブルの件で大家に連絡をしたところ、全然わかってなくて意味不明なことを言いまくってくるし、美観がどうのこうの言ってるので駄目そうな雰囲気。とりあえず工事会社に説得してもらう予定ですが、おそらく駄目でしょう。光よさようなら〜。
昼休みに高級言語ソフトウェアアーキテクチャ研究室(板野研)に行きました。新城先生の説明では世界OSやカーネルうんぬんを説明していました。世界OSか、便利で堅牢そうだけど重そう…。佐藤先生は何が専門かよくわからないですが、途中で「データベース専門でして…」と言ってたので、きっとそうなんでしょう。
放課後にオペレーティングシステム・システムソフトウェア研究室(加藤研)に行きました。第一志望に限りなく近そうですが、時間が無くて面談まで残れませんでした。また後日行ってみようかな。
以前誰かに言われたのですが、ミドルウェアやアーキテクチャって斜陽分野なんですかね?
アパートに変なハガキがきました。再度のご案内とあって内容はおおむね、記念品の案内状を送ったが連絡が取れない、下記サービスセンターまで至急連絡をください、でした。ていうか案内状もらった覚え無いデス。直でポストに入れたかと思いましたが、紫外線で確認したら一応郵便局を通しているようです。
ぱっと見、ハガキに自分の名前が書いてあってビビりましたが、落ち着いて考えると住所がわかるなら名前は楽勝ですね。安アパートの郵便箱は開け放題ですから、光熱費の請求書からいくらでも調べられます。
そういえばハガキの隅に書いてある「シーエムアイグループ」でググったら、悪徳商法の会社らしいこと発覚。公衆電話からかけてみたくなりましたが、変なやつが押し掛けて来ても嫌なので、やめておきました。
研究室見学第二弾、インタラクティブアーキテクチャ研究室(山口研)です。幅広く研究していて、基本的になんでもできそうな研究室で、比較的新しくできた研究室とのことです。突拍子も無い分野にすると指導ができません、もちろん支援はできる限りしますが…と言っていました。まあ、そりゃそうだ。
山口先生はハード寄りでFPGAで色々やるみたいです。前田先生はソフト寄りでJavaのリアルタイムGCを作るとか、言語処理系を見直したいような話をしていました。研究室にデザインパターンの本があって、そういえば持ってないので欲しいなーと思った。今度買いに行こうかな。
これからしばらくは研究室巡りで私が面白そうと思ったものを書いていきます。その他や詳細は研究室を訪ねてください。
研究室見学第一弾は非数値処理アルゴリズム研究室(西原、福井研)です。仮想都市シミュレーションはシムシティーと呼んだら怒られそうですが、見た目はそんな感じでした。何年も前の都市のデータから、現在の都市の姿を再現するのが目標らしいです。それができたらすごいね、未来予測ができてしまいます。
コンピュータ上でマネキンを作るのも面白そうでした。ゆくゆくはモーションキャプチャーを使わずに人の動きを再現したいそうです。これもできたらすごいですね。ごく自然な表現まで到達したら映画で使えるよなあ、平均的な動きじゃなくてパラメータを変化させて俳優に仕立てたりできるんじゃないかな。個人的にはいつか実現すると思いますが、壮大な夢物語でしょうか?
徹夜明けで暇だったので、ラグナロクオンラインをやってました。
このゲーム特有の現象として異常にラグ(遅延)が大きく、気づいたら死んでることが良くある。オンラインゲームは会員が集まって、投資分を十分取り返したら後は放置が多いみたいですが、それにしても他と比べてガンホー社の管理はあんまりだという話を聞きます。こんなことしてると信頼を失って、その後の新作ゲームに影響するんじゃないか?
あ、間違えた。既に信頼なんて無いんだった。ラグナロクが終わる時、ガンホーも終わるだろう。南無南無。
園芸での作業後、高橋(城)邸で飲み会がありました。みんなで彼の家にある面白いものを見ているうちに夜がふけて朝になるという、あまり飲み会らしくない流れが多いですね。
今回も結局だらだらしているうちに朝になったので、松屋へ朝飯を食いに向かいました。食事中、このまま寝るのは勿体無い、誰かを呼んで飲み会を続行しよう、と結城さんが何人かに声をかけてみたのですがダメだったので解散してしまいました。
研究室配属説明会がありました。情報学類の8割は大学院に進学しているそうです。学類長のあいさつで、工学系は院を前提とした配分で授業をやってるし学部卒だとしんどいよね、みたいな事を暗に言っていました。工学系にとって大学は院への階段なの?と思いつつも、専門化しすぎてて4年間じゃろくに習得できないんだろうとも思った。
将来に関わる大事な選択なんで、これから一ヶ月じっくり見て回ることにします。
また何かゲームを作ろうと、プログラミングを再開しました。今までの失敗から(自分が)一気に開発すると、構造が頭に残り速く開発できる分細かい部分は雑になりがちでした。今回は新しいアプローチとして「一気に作らない」を目標にしようと思います。
開発の時間が空けば空くほど忘れてしまい、再開したとき思い出す時間が必要となります。手間はかかりますが、そこは個人の趣味。急ぐ必要もないし、時間が経ってから見てもわかる書き方を学ぶにはちょうど良いでしょう。
以上、他人には関係ないことですが、公共の場に宣言することで途中で投げ出す可能性も多少は減るかもしれない…なんて効果も狙ってみました。
またまたACCSnet絶不調です。モデムは一見正常なのにレスポンスが半端なく遅く、しまいにはwww.accs.or.jpへのpingすら帰ってこなくなる始末。良かれと思ってルータ再起動をしたものの、DHCPサーバからの応答が返ってこないためネット完全不通、と裏目に出ました。
ACCSnetは速度、自由度があって良いと思いますが、我が家では全然ダメ。ACCSnetを使ってる友達は正常に通信できても、ウチだけ落ちていることもしばしば。こんな有様でサーバーサービスを提供とは…文句の一つも言いたくなるんじゃないでしょうか。そりゃ私でもCATV網が不安定なくらいは知ってるけども、家の環境はあまりにも不安定でいらつくのですよ。光よ、早よ来いや〜。
< | 2003 | > | ||||
<< | < | 12 | > | >> | ||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
- | 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 | - | - | - |
合計:
本日: