2008-12 << 2009-01 >> 2009-02

2009-01-30 (金)

やっと入寮の案内が来た.これで来年住む場所が決まりました.微妙に秋葉から遠いな….

Windows 7ってバージョンは6.1なのか…

2009-01-29 (木)

S玉先生にレポートを送っておく.これでOKかな?

*CGIの自分の名前

CGIでURL上での自分の名前を知りたいときは,環境変数のSCRIPT_NAMEを参照しますが,.htaccess等でmod_rewriteを使ってたりすると,SCRIPT_NAMEにもともとのファイル名が入ってしまっていて宜しくない.

大抵の環境では,REQUEST_URIがセットされるので,この文字列から,PATH_INFOとQUERY_STRINGを引いたものが,CGIの名前になるはず.mod_rewrite対策ならば,REDIRECT_URLかSCRIPT_URLをセットするみたいなので,これを使うのも良いか.

2009-01-28 (水)

プログラム書いたり.

2009-01-27 (火)

ゼミに出るため研究室へ.でもゼミの時間を間違えました….

修論はまだ急がなくても大丈夫そうな雰囲気?

最近いじっているもの:データベース,ネットワーク,Perl,Flash,ActionScript…

2009-01-25 (日)

やらないといけないことがあると,それ以外の作業がはかどりますね(笑)

一昨日こっそり公開したdb.hを少しは使えるように.commit,rollbackを追加したので,一応トランザクションできるようになった.

データへのアクセス方法がまだ微妙だなぁ.今の「>>」と「,」を使ったアクセスは,「,」の優先順位が低すぎで微妙に使い勝手が悪い.

2009-01-24 (土)

*修士学位論文

なんだか,修論をそろそろ書き始めないといけない気がした.一週間くらいでなんとかしないと.

とりあえず,「修論」フォルダを作って「修論.txt」を書く.今のところテキストで5kb.

夕方は研究室へ.

*関数のオーバーロードとchar

charはunsigned char,signed charのどちらとも区別して扱われるんですね….符号の有無はコンパイラ依存なのでそうするのが妥当かもしれませんが,unsigned charとsigned charとcharの関数のうちひとつを実装し忘れたりすると,intの関数が呼ばれたりして危険です.

さらに,構造体とかも渡すので統一して参照渡しをしてたのですが,constな参照渡しって値渡しになることがあるんですね….charな変数でconst int &な関数を呼ぶことが出来ると思ってなかったので,気づくのに時間がかかりました.

参照渡しのつもりだったのに,試しに変数のアドレスを見たら別物になっているし….アドレスの値で変数の同一性を判定するようなコードはconstな参照渡しでは書けないということかな?(良く考えたら,一時オブジェクトが作られているだけだ…)

2009-01-23 (金)

来週が最後の授業料の引き落としみたいなので,口座の残高を確認.とりあえず今度は大丈夫そう.

授業料を払わないと,休学も退学もできないようなのですが,そのまま払わないと除籍になるらしいです.除籍と退学の違いを調べてみましたが,除籍は大学にいたという記録自体が無くなるようですね.まぁ,どちらでも良いような気がしますが….

*FreeBSDでODBC

FreeBSDでODBC経由でデータベースにアクセスしたいのだけど,ライブラリのインストールで悩み中.unixODBCとiODBCってどっちが良いんだろう….

とりあえず,databases/unixODBC,databases/mysql-connector-odbcをインストール.

mysql5.1のmysql-connector-odbcがうまくインストールできなので,mysql5.0にダウングレード.

db.h

2009-01-22 (木)

TryEnterCriticalSectionってのがあるのか…と思ったけどWin9xで使えないのか.

ODBCとか使ってみる.

2009-01-21 (水)

研究室.サークル.ラーメン.

*ActionScriptのSocket

普通にソケットが使えるんですね.ネトゲとか色々作れそうです.

ただ,すぐにサーバに接続できるわけではなくて,接続されるサーバ側のポリシーファイルで接続を許可してやる必要があるみたいです.

最近のFlashPlayerの場合,サーバの843番ポートで待ち受けて「<policy-file-request/>」というリクエストに対して「<cross-domain-policy><allow-access-from domain="*" to-ports="*"/></cross-domain-policy>」というような応答をすれば良いようです.

843番に接続できない場合は,実際に通信に使うポートに対して上記のリクエストが投げられるので,やっぱり同じように応答すると,一度コネクションが切断された後に,本当の接続が来ます.

気をつけないといけないのは「\0」がデリミタだということです.これに嵌りました.バッファを文字列として管理している場合は気をつけないとです.

とりあえず,C++でチャットサーバ書いてみたりする.

ついでに,普段使っているsocket.hを公開.…最近はSafiiのsocketstream.hをメインに使ってる気がしますが(汗)

2009-01-20 (火)

研究室.

ゼミをサボってマイコンの授業の発表を見に行く.もちろん先生に怒られる.

2009-01-19 (月)

ActionScriptで遊ぶ.

普段使っているビルド用のバッチファイルが意図した動作をしていないのき気づいた.あれ?IFの中ではERRORLEVELが更新されないのか.

2009-01-18 (日)

今日も寒い.夕方は雨….

*ActionScript

久しぶりにActionScriptで遊んでみる.MTASCとかも使ったことがあるのですが,今回はActionScript3.0を使いたいので,AdobeのサイトからFlex SDKをダウンロードしてくる.コンパイラはJavaで出来てるか….

2009-01-17 (土)

自転車を大学に置きっぱなしだったのだけど,センター試験のせいで入れない….

しかも部屋が寒い.コップの水に氷が…って,何年か前にも同じこと書きましたね.あと,水道の蛇口からつららがぶら下がってるんですが….この部屋はまずいです.普通に布団をかぶって寝てても寒くて起きるので….

センター試験のせいで暖を取るために研究室に行くこともかなわず,毛布を被って震えながらプログラム書いたりしてました.

2009-01-16 (金)

2009-01-15 (木)

新横浜で会議….このプロジェクトの会議に参加するのはこれで最後.

2009-01-14 (水)

午後は研究室へ.久しぶりにサークル.夕食はターバンカレー.

*[Perl] $(ドル記号)と戦う

Perlの変数の頭の $ が邪魔だと思ったことはあると思います.

sub x:lvalue{$x};

x=10;
printf("x=%d\n",x);

あまりきれいじゃないなぁ.

sub var{
    my ($n)=@_; *$n=sub :lvalue{${$n}};
}

var b;
b()='hello\n';
print b();

「var 変数名」で宣言できるようにと思ったけど,プロトタイプ宣言が無いので「()」を省略できない….

sub var{
    my ($n)=@_; *$n=sub :lvalue{${$n}};
}

var b;
sub b:lvalue;
b='hello\n';
print b;

無理矢理プロトタイプを書いてみる.冗長すぎ…最初のが良いな.

2009-01-13 (火)

雪です.

CIMG0008.jpg

奨学金の書類を出してきたり.

午後はゼミ.発表.また,研究以外の話の方が長い….

2009-01-12 (月)

明日はゼミで発表か...

研究の中間発表は話せることがあまり無いので,別の話題に時間を使おう.前回は,パフォーマンスとプログラミング言語の話だった気がするので,今回はセキュリティにしようか.この研究室ではセキュリティと言っても,仕様書の記述しか出てこないので,思いっきり実装側の話をしてみよう….

*kukiki.cgi

日記の更新時刻を保存するように.見た目は変わってませんが,Atomには時刻まで出力しています.

2009-01-11 (日)

CAIやったり,少しだけプログラム書いたり.

*Perl

Perl5.8の解説とかを見ていて,実は知らないことも多いと再確認.ちゃんと全て分かった上で書いている人ってそんなにいないんじゃないかと思う.

*CAI

そろそろ,単位についてもまじめに考えないといけないなぁ….ということで,試しにS玉先生のCAIに手をつけてみる.

線形代数は面倒くさいので,途中からOctaveに頼る.ニューラルネットとか良く分からないので,問題文から意味を想像しつつ解いていたのだけど,テキストを見たら,ほぼ問題の答えと言えるものが書いてあって損した気分だ….もちろん,テキストは読むべきものなのだけど.

…さらに,線形代数の問題がどこかで見たパターンだと思ったら学部時代になんとなく途中まで解いた奴だった.学部の学籍番号で進捗を見たら出てきたので,言えば続きからで良かったのかも.

2009-01-10 (土)

雪降ってます.

研究室.

Perlで配列やハッシュを生成するサブルーチンを作るとき,戻り値のコピーが起きるのが嫌なので,引数でリファレンスを渡すことにしてるけど,どうにかならないのかなぁ….暗黙的なリファレンス返しが出来る宣言方法って無かったっけか.

Googleのfavicon…今度はまた変わりすぎじゃないですか.ブラウザのタブに見慣れないサイトがあるな…と思ったらGoogleでした.

2009-01-09 (金)

今日が金曜日だということを完全に忘れていて,K谷先生との約束をすっぽかしてしまった.電話もかかってこなかったので,昨日の日記を見て気づきました….

2009-01-08 (木)

レポートを書いて提出.

微妙に色々と忙しい.

明日はK谷先生のとこ行かないと….

*[Perl] CGI.pmのパフォーマンス

試しに,kukiki.cgiでCGI.pmを使うようにする…って,処理時間が2倍以上になったんですが.

「use CGI;$q=new CGI;」だけで0.1秒くらいかかります.そもそも,現状のkukikiで普通のページを生成するのに0.1秒もかからないんですが….

使うのはファイルをアップロードするモジュールだけにしておこう….CGI::Liteも試してみるかな.

2009-01-07 (水)

研究室へ.

ゼミが無いわりに人が多いな.卒論シーズンか.というか,私も何か書かないといけないという噂があるんですが気のせい?

レポートを書きはじめる.あと2ページ.

2009-01-06 (火)

ゼミ.

pkg_addからパッケージをインストールするとき,依存関係のあるパッケージをダウンロードするのが面倒なときは,PACKAGESITEにFTPのURLを入れておけば,-rオプションを使ったときに,参照してくれます.

setenv PACKAGESITE ftp://ftp3.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/All/
pkg_add -r portupgrade-2.4.6,2.tbz

ってなかんじで,portupgradeをインストール.

2009-01-05 (月)

そろそろHAL研のが終わりか….やる気がでない.記念品は欲しいなぁ.

久しぶりに午前中から研究室に行ってみる.もちろん誰もいない.

FreeBSDのpkg_addはPKG_PATHだとURLが指定できないので,PACKAGESITE環境変数で.なんか,良く忘れるので.portupgrade使えばいいんだけど.

2009-01-04 (日)

部屋,寒すぎ.

2009-01-03 (土)

寒い.

少し何かしては,布団の中に戻って,気づいたら寝てしまう…というのを夕方まで繰り返してました.

2009-01-02 (金)

長野に帰ります.

長野は雪か….

2009-01-01 (木)

あけおめ.

たぶん,明日あたりに長野に戻ります.