Monthly Archives: 3月 2009

2009-03-10

sas5

リサイズ対応。全画面化周辺のクラス群が複雑すぎて死ねる。思わずvisioでクラス図を書いてしまった。複雑さの原因は、pimpl、誰が全画面化をするのかという問題、画面の抽象化と実装の切り替え、入力系の分離。たぶん色々やり過ぎなんだと思う。でもそのあたりの全体的な設計は変えずに、細かい部分の追加と修正で対応。

2009-03-08

(昔の)小学生向けcanvas要素入門

「(昔の)小学生向けcanvas要素入門」というのを書いてみた。昔子供の頃にBASICで育った今おっさんたちに捧げる。これで昔BASICを触ったことのあるおっさんなら、現代でも同等のことくらいは出来るようになるはずである。

現代の小学生はどうやってプログラムの世界へ入っていくのだろう、という疑問のこれがその答えだ!……と言いたいところであるが、現代の小学生は先にお絵かきソフトに触れると思うので、こんなのが出来ても全く嬉しくないだろう。

2009-03-07

JavaScriptインタラクティブコンソール

普段そんなにJavaScriptに触れる機会が持てないでいるのだけど、前々から色々遊んでみたいとは思っていた。

それを阻むのは何かと考えると、いちいちテキストファイルを作らなきゃいけないことなんじゃないかと思ったので、ファイルを作らなくても良い環境を用意した。

JavaScriptコンソール。別フレームでevalするだけ。Firefox、Operaでは動いたけど、IEでは動かなかった。top.フレーム名.evalが使えないみたい。IEで別フレームで評価するにはどうしたらいいんだろ。まあ、IEで使わないからいいけど。

さて、試しのコード。

document.open();
document.write("<html><body>");

var i;
for(i = 0; i < 10; ++i){
  document.write("hello<br>");
}

document.write("</body></html>");
document.close();

これをソース欄に貼り付けて、実行すると、helloが10回出力される。

canvas要素もテスト。

var cv = document.createElement("canvas");
cv.setAttribute("width", "640");
cv.setAttribute("height", "480");
cv.style.cssText = "border: solid;";
document.body.appendChild(cv);

var ctx = cv.getContext("2d");

ctx.beginPath();
ctx.moveTo(320,240);
var i;
for(i = 0; i <= 360*3; i+=10){
  var rad = Math.PI*i/180.0;
  var x = 320+Math.cos(rad) * i*0.2;
  var y = 240+Math.sin(rad) * i*0.2;
  ctx.lineTo(x, y);
}
ctx.stroke();

ちょっとしたグラフをプログラムでちゃちゃっと書くのには便利かもしれない。

2009-03-01

片付け

休みのたびに少しずつ部屋の片付けをしているおかげで、ようやく目に見える範囲の物が減ってきた。普段目にしない場所にある不要品を処分したおかげである。しかし、まだまだ「ゴミの発生量<ゴミの処分量」となるようにコントロールする必要がある。そのために、要不要の判別を行った上ですぐにゴミ出しできるよう分別してまとめておかなければならない。まあ、少しずつ、定期的に、長期的に。

2009-03-01

自炊強化月間

今月は自炊強化月間とすることに決めました。現在の自炊率は約2%程度ですが、これを30%程度まで引き上げたいと考えています。これによって、食費を従来の20%分カット、そして心身の健康状態にどのような影響があるかを調査するつもりです。