日記開始
さてどうなることやら。
現在手をつけているテーマ
- Rubyプログラミング(PostgreSQLとの連携、CGI、簡単なシステムのプロトタイピング)
- 数学の勉強(数論、波形信号処理)
- 英会話
- 数理論理学の勉強
eRuby+PostgreSQLでシステム構築
よくある構成。かなり簡単に動くレベルのものを作れる。驚いた。
でもpostgresモジュールのマニュアル(http://www.postgresql.jp/interfaces/ruby/reference-ja.html)が簡単すぎて、QUERY結果の取り出し方がよくわからんかった。
sqlstr = "SELECT ID,NAME,COMMENT FROM companion_master WHERE DELETE_DATE IS NUL L ORDER BY regist_date ASC;" res = conn.exec(sqlstr) # データの出力 id_fid = res.fieldnum("id") name_fid = res.fieldnum("name") comment_fid = res.fieldnum("comment") data_num = res.num_tuples for i in 0...res.num_tuples do print "<hr>\n" print "名前 : ", res.getvalue(i,name_fid), " " print "<a href=\"companion_del.rhtml?id=", res.getvalue(i,id_fid), "\">[削除] </a><br>\n" print "コメント : <br><p>", res.getvalue(i,comment_fid), "</p>\n" end
とりあえずこれで動いた。Arrayはどうも使いにくいし、変更に弱いような気がする。
ついでにグラフ出力にチャレンジ。
データはファイルに出力して、gnuplotを起動してみる。
# データファイル名の定義 $dfn1 = 'data1.txt' $dfn2 = 'data2.txt' $outfile = "out.png" # データの作成 df1 = File.new( $dfn1, "w" ); df2 = File.new( $dfn2, "w" ); df1 << <<DATA1 3 14 5 2 8 12 23 9 4 3 14 17 DATA1 df2 << <<DATA2 4 11 8 1 8 13 20 2 15 10 19 9 DATA2 df1.close df2.close # gnuplotを起動して、グラフをpngで保存する f = open( "|gnuplot", "w" ) begin f.print <<EOF set terminal png medium color set output "#{$outfile}" set title "テスト (2003年)" set time set xlabel "年月" set ylabel "件数" set xtics ("1月" 0,"2月" 1,"3月" 2,"4月" 3,"5月" 4,"6月" 5,"7月" 6,"8月" 7,"9月" 8,"10月" 9,"11月" 10,"12月" 11) set yrange [0:] plot "#{$dfn1}" title "一個目" with linespoints, "#{$dfn2}" title "二つ目" with linespoints quit EOF ensure f.close end
これでいいのか?
今回はgnuplotを起動するやり方でやってみたけど、GDを使った方がキレイなグラフが書けそうだ。でもRubyのGD関連モジュールって、いくつもあるのか?RAA http://raa.ruby-lang.org/ で調べるとけっこう出てくるけど...
ADSL速度出ず
引越ししたらNTT西日本から、モアにできますよ、と言ってきた。前の家では1.5Mしかダメだったけど、今度の家は状況が良いそうだ。で、モアに変更してみた。
そしたら前の家より遅いでやんの。平均で600kしか出てない。アホか。
NTTに電話してみると、「ADSLは状況によって違うんですよ〜」とか言い垂れやがる。知っとるわ。オレは改善策があるかないかを聞いとるんだ。
そしたら有料で調整作業ができます。だとか。
担当部署から連絡させます。と言うので電話は切ったが、まだ連絡なし。
さっさと連絡寄越せと言ったのに、まだ連絡なし。
電話で応対したおっさんが「素人に説明すんのはダリィのぉ」って感じ満タンだったので、かなり今むかついてます。