Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

27章分の23章

今日は、『プログラミングGauche』の

  • 22章 データベース
  • 23章 日付と時間

を読みました。

22章

コマンドライン版のスケジュールデータベースを、

  1. ファイルに直接read/writeで記録する方法
  2. dbmモジュールを使った方法
  3. RDBMSを使った方法

という風に順を追ってステップアップして行くので、少しずつ無理なく理解することができました。この「少しずつ無理なく」というのは、本章だけに言えることではなく、他の章でも言えることだと思います。このことが私のような初心者でも本書を読みやすいと感じさせるのではと思います。

以下、本書のサンプルをUbuntuで試すときの注意点を書いておきます。
「22.4 dbmモジュールを使ったデータベース」を実行するときは、以下を実行します。

mmasa@ubuntu:~$ sudo aptitude install gauche-gdbm

「22.9 DBI/DBDインターフェース」でMySQL対応ドライバをインストールする必要がありますが、以下のパッケージが入っていれば、Gauche-dbd-mysqlをインストールすることができました。

mmasa@ubuntu:~$ aptitude search mysql | grep "^i"
i A libdbd-mysql-perl - A Perl5 database interface to the MySQL da
i libmysqlclient15-dev - MySQL database development files
i A libmysqlclient15off - MySQL database client library
i mysql-client-5.0 - MySQL database client binaries
i A mysql-common - MySQL database common files
i mysql-server - MySQL database server (meta package depend
i A mysql-server-5.0 - MySQL database server binaries

23章

本章でやることが、25章でも関係しそうなので、p378の以下を実行したときに、整数で表示されないことがちょっと気になります。

gosh> (iota (days-of-month (current-date)) 1)
(1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0 12.0 13.0 14.0 15.0 16.0 17.0 18.0 19.0 20.0 21.0 22.0 23.0 24.0 25.0 26.0 27.0 28.0 29.0 30.0 31.0)
gosh> (map (cut x->integer <>) (iota (days-of-month (current-date)) 1))
(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) ; やっと最近cutに慣れてきました…。

実行環境は以下です。

mmasa@ubuntu:~$ uname -a
Linux ubuntu 2.6.24-19-generic #1 SMP Fri Jul 11 23:41:49 UTC 2008 i686 GNU/Linux
mmasa@ubuntu:~$ gosh -V
Gauche scheme interpreter, version 0.8.12 [utf-8,pthreads]