トップ 一覧 検索 ヘルプ RSS ログイン

日記/2010-9

2010-9-10

<< 前の日記  次の日記 >>

[日記,コンピュータ]Moodleのインストール

今日は、8時頃に食事を済ませて帰ってきて、即風呂に入り、腰を据えてこのサーバにMoodleのインストールを試みていた。

いまこのサイトは、ABLENETのレンタルサーバで動いているのだけど、それなりに自由度がある。業者のページでxoops対応、とうたっているので、同じようなPHP + MySQLのMoodleも動くだろうとやってみた。

実際、インストール作業そのものはスムーズ。phpMyAdminを使うのははじめてだった[1]のだけど、導入ガイドもあって特につまることはなかった。ただ、phpMyAdminのログインIDとパスワードが“どれ”(管理パネルのそれなのか、DBのそれなのか、rootとかadminなのか)なのかわからず、ずいぶんとハマってしまった。

その後は、いったん本家版のMoodleをインストールしたのだけど、そういえばより日本語で使いやすい(はずの)三重大版Moodleがあったのだった、と最新のSubversion版をダウンロードして、(本家版のデータ、DBを消したうえで)再度インストールした。ファイル数がえらく多くて、転送にずいぶん時間がかかったけど、特にトラブルなく[2]インストールすることができた。

なんで急にMoodleか、というと、まぁいろいろ仕事に関わるというか、もっといい仕事ができるようにおべんきょーというか、そういった理由。先日「Moodleによる eラーニングシステムの構築と運用」という本を買ったので、いろいろいじっていきたいところ。

  • [1]実際には、DBは管理パネルから作れるし、Moodleはテーブルを勝手に作ってくれるので、使う必要はなかったようだ。
  • [2]いくつかの機能は、サーバにPHPモジュールが入っていないため有効にならなかったが、必須のものは全部OKだった。

コメントをどうぞ

計算:6×6= お名前: コメント:

日記一覧へ

2010-9-11

<< 前の日記  次の日記 >>

[日記]ラゾーナにMAXがいた

川崎ラゾーナに行ったら、MAXがミニライブをしていた。ライブが終わって歩いていたら、前説をしたらしいキャンキャンもいた。



ちなみに写真と動画は、先週買った富士フイルムFinePix AX200で撮ったもの。

これまで使っていた(今でも使ってるけど)FinePix S8100fdは大きいので、はじめから写真を撮るぞ、と思って出かける時にはいいけど、普段持ち歩くわけにはいかない。カバンの中に入れておいて、今日みたいに偶然MAXがいた時(MAXに限った話じゃないが)などに使えるカメラとして買った。会議の時とかにもホワイトボードを撮っておくと便利だし。写真はともかく、動画はS8100fd(640x480)よりも、ハイビジョン(1920x1080)で画質もキレイに撮れているように見える。

コメントをどうぞ

計算:1×8= お名前: コメント:

日記一覧へ

2010-9-25

<< 前の日記  次の日記 >>

[日記,コンピュータ]PerlでGoogle Sitesのユーザごとの更新頻度を集計する

仕事で(半分以上遊びだけど)、グループで更新しているGoogle Sitesを、誰がどのくらい更新しているか、という頻度を集計する必要があった。

Google Sitesの更新通知は、サイトの設定でメールで受け取れるので、そのメールをファイルとして保存して、それをPerlで解析して集計することにした。メールの保存は、Thunderbirdなど適当なメーラで対象となるメールを選択し、「保存」などのメニューで.eml形式で書き出すだけ。

で、保存したファイルを適当なディレクトリに集め、以下のスクリプトを実行する。

#!/usr/bin/perl

use strict;
use warnings;
use POSIX qw(strftime);
use File::Basename;
use MIME::Parser;

my $parser = new MIME::Parser;
$parser->output_to_core(1);
#$parser->output_dir('./output');

my @orgmaillist = glob "*.eml";

my $counter = 1;
foreach my $orgmail (@orgmaillist) {
    my $number_file = sprintf("%04d.eml",$counter);
    open (ORGIN, "<:encoding(iso-2022-jp)", "$orgmail");
    open (ORGOUT, ">:encoding(utf8)","$number_file");
    while (<ORGIN>) {
	print ORGOUT $_;
    }
    close(ORGIN);
    close(ORGOUT);
    unlink($orgmail);
    $counter++;
}

my @maillist = glob "*.eml";
my %ranking;

foreach my $mail ( @maillist ) {
    open(IN,$mail);
    my $message = do {local $/; <IN>};
    close(IN);
    my $entity = $parser->parse_data($message);

    my $body_entity = ($entity->is_multipart) ? $entity->parts(0) : $entity;
    my $body = $body_entity->bodyhandle;

    my @body_text = $body->as_lines;
    my $who = $body_text[0];

    $who =~ s/さんが.*$//g;
    $who =~ s/\s//g;
    $ranking{$who}++;
}

my $today = strftime "%Y%m%d",localtime;
my $outfile = "result_$today.csv";

### 書き込み前にunlink
if (-e $outfile) {
    unlink ($outfile);
}

foreach my $freq (sort {$ranking{$b} <=> $ranking{$a}} keys %ranking){
    open(OUT,">>$outfile");
    print OUT "$freq,$ranking{$freq}\n";
#    print "$freq\t$ranking{$freq}\n";
    close(OUT);
}

MIME::Parserモジュールはメールを解析して、ヘッダとか本文とか添付ファイルとか、指定した要素だけを取り出すことができるので、ここでは本文だけを取り出している。

my $message = do {local $/; <IN>};

という部分は、正直何をしているのかよくわからないが、ファイル(メール)の内容を1行ずつでなく、まとめて変数に読み込むための処理。

で、Google Sitesの更新通知は、必ず1行目が「○○さんが投稿 ×× を更新しました。変更内容は下記のとおりです。」となっているので、1行目だけを読み込み、「さんが」以下を削除して、ユーザ名だけを取り出している。

そして、rankingというハッシュにユーザ名を代入し、ソートと重複の削除をおこない、頻度を出力している。このへんはひとくちPerlプログラミングをほぼ丸写し。なんでこれで頻度の数字が出てくるのか、ちゃんと理解してないけど、ひとつ下の行と比較していったあとの、最後の行のキーに対応する値を出力しているのだろうか。

……あぁ、同じキーにどんどん値が上書き(++でカウントアップ)されているだけか。

どうもこのスクリプトで処理していて、同じ人が別のデータとして集計されていたので、よくよくメールを見てみたら、Google Sitesでは、テキストの更新では「○○さんが」という文面になっているのに対し、画像の追加・削除などをおこなうと「○○ さんが」と1文字ぶんのスペースが入ってメールが来るようだ。このせいで、同じ人なのに、テキストを編集した場合と画像を操作した場合とで、違う人としてカウントされていた。なので、スペースがあったらそれを削除するよう、

$who =~ s/\s//g;

という処理を追加した。

コメントをどうぞ

計算:6×6= お名前: コメント:

日記一覧へ

2010-9-26

<< 前の日記  次の日記 >>

[競馬]メルボルン二世こと栗原正光氏死去

もと日刊競馬新聞社の記者で、「メルボルン二世」のハンドルネームで地方競馬に関するたくさんの貴重な資料、思い出を紹介してくださっていた、栗原正光氏が亡くなったそうだ。

栗山求ブログ: 栗原正光さん死去によれば、23日、日本テレビ盃がおこなわれた船橋競馬場内で倒れ、25日夜亡くなったそうだ。

実は、今年の3月18日に書いた、90年代の地方競馬情報誌「ハロン」は、栗原さんからいただいたものだった。

単なるブログのいちファンで、結局お会いすることは叶わなかったけども、最近は競馬場で写真を撮られた様子を掲載していたので、お元気なのかな、と思っていたので、突然の訃報にただ驚いている。

その、3月18日の日記でも書いているけども、僕は

競馬は歴史の積み重ねだ。当時の人々(そこまで古くはないか)がレースの「記憶」を刻み込んだ「記録」を
せっかくいただく機会を得たのだから、しっかりと受け継いでいきたいと思う。

と思っている。栗原さんは長い競馬ファンとしての記憶を、ブログやメルマガを通じて、記録として残してくれた。僕らは栗原さんが見た風景を見ることは決してできないけど、その記録を伝えていくことができる。過去の名馬がいなければ、過去の名勝負がファンを熱くさせていなければ、今の競馬は存在しない。その歴史を知れば、競馬はもっと深く、楽しくなる。だから、「見たこともない癖に」と若い(僕も若いほうだけど)人に罵られようとも、競馬ファンは自分たちの時代の記憶、記録だけでなく、先輩たちの記憶、記録を伝えていかなければならないんだと思う。

加えて言えば、栗原さんも何度か指摘しているけど、昔の地方競馬の記録・資料は、全国協会にも残っていないほど、散逸が進んでいる。いまこう言うべき時なのかはわからないけど、栗原さんが所有されていた、全国協会にも残っていないような貴重な資料を、どうか失うことなく、未来に伝えていけるよう、全国協会として動いてもらえればと思う。

とにかく、実際にお会いしてお礼を言って、競馬の話を聞きたかった。慎んで御冥福をお祈りいたします。

コメントをどうぞ

計算:3×3= お名前: コメント:
最終更新時間:2010年09月26日 21時03分42秒

日記一覧へ