Python Link Checker

Pythonで実装されたリンクチェッカ webcheck: website checker はなかなかいい。

他にも、LinkCheckerというのがあるので、インストールしてみた。Pythonのバージョンが古いためなのか、必要なライブラリがなくて駄目なのか、よくわからないのですが、とりあえず、これでは動かなかったです。うーむ。

curDir=`pwd`
cd /usr/local/src/
wget http://www.python.org/ftp/python/2.5.1/Python-2.5.1.tgz
wget http://ftp.python.jp/pub/JapaneseCodecs/JapaneseCodecs-1.4.11.tar.gz
tar xzf LinkChecker-5.0.2.tar.gz
tar xzf JapaneseCodecs-1.4.11.tar.gz 
tar xzf Python-2.5.1.tgz 
cd Python-2.5.1
./configure –prefix=/usr/local/python-2.5.1
mv Modules/Setup Modules/Setup.bak
sed "s/#zlib zlibmodule.c /zlib zlibmodule.c /g" Modules/Setup.bak > Modules/Setup
make
make install
cd ../LinkChecker-5.0.2
/usr/local/python-2.5.1/bin/python setup.py install
cd ../JapaneseCodecs-1.4.11
/usr/local/python-2.5.1/bin/python setup.py install
cd $curDir

携帯電話向けサービス

いまどきの中学生、高校生は携帯電話を普通に所有しているのですが、思っているほど気軽に使っているわけでもないようです。今後、携帯電話向けのサービスはいろいろと出てくるだろう、といわれていて、各社しのぎを削っているのですが、キーワードのひとつに、「出会い」とか「親交」とかがあると思っています。ビジネス的には、たぶん、「新しい出会いを演出する」というモデルをベースにしたサービスよりは、「親交を深める」というモデルをベースにしたサービスの方が固定的で長く利用されるはずなので、後者向けの何か新しいサービスを考えてみたいところです。

Cloud

クラウドについてディスカッション。いろいろな視点があって面白いのですが、やはり整理するのは大変です。UNIX Magazine の最新号にいい記事があるということを聞いたので、さっそく購入をしてみました。いつ読めるのかはわかりませんが。

クラウドは単なる用語で対象とする範囲が広すぎるため、便利に使われている感じがあります。ビジネス的にはハードウェアの仮想化というのはわかりやすいので、その視点での説明も多いようですが、もちろん本質はそれだけにとどまるわけではないので、「ハードウェア仮想化だけでクラウドといっているんだ」と間違って認識をすると損をしそうです。情報産業分野の業界が将来、どういった方向へいくのかはわかりませんが、自分の認識としては、どこに注目をしているのか、どんなことができるようになりそうなのか、ということを把握して、今後の技術ピックアップで間違いがないようにしたいと考えているところです。

NTEmacs

VistaでEmacsを使いたいと思っていろいろ調べましたが、結局NTEmacsにしました。Meadowはアップデートがされていないようですし、xEmacs、Emacsは日本語がうまく表示できませんでしたので。

FrontPage – NTEmacs JP Project

カテゴリー: Win

TSVからSQL文を生成するスクリプト

UPDATEのSQL文などを、TSVから生成するスクリプトとかあると、重宝します。ということで、作りました。最近、シェルスクリプトに頼ることが多くなってきました。それだけ時間が足りないということなのか、単にEclipseを起動するのが面倒になったのか、作ったプログラムの管理をするのが嫌になったのか、いろいろと思いあたる節はありますが、まぁ、どうでもいいことです。Macですぐに試せるから、というのは環境的には大きな変化かもしれません。

!/bin/sh
fileName=$1
id0=$2

function createUpdateSql
{
  id=$1
  v=0
  if [ $# = 2 ]; then
    v=$2
  fi
  echo "UPDATE user SET c1 = $v WHERE id = $id and id0 = $id0;" >> a.sql
}

sed "s/,/    /g" $fileName > $fileName.tsv
echo "" > a.sql
while read _line ; do
  createUpdateSql $_line
done < $fileName.tsv

使い方は、下記のような感じ。fileNameにはCSVファイル名をいれる。id0はSQL文で必要なのでいれてある。複雑なCSVには対応していないし、汎用性はないけど、こういうのをテンプレートとしてもっているとそれなりに使える。

$ ./a.sh fileName id0

ちなみに、echoコマンドがMacとLinuxでは動作が違うような気がします。「-n」オプションがLinuxでないと効かない。

それから、直接mysqlやpsqlコマンドをうつという方法もあるが、個人的にはいったんSQL文のファイルに落として問題がなさそうだということを確認してから、DBへ適用するのがいいと考えています。コンパイラなどでも中間表現を使うのだが、途中経過がわかるようにしておいた方が、何かうまく動作しなかったときに、追跡しやすいからです。

花見

東京へ行って花見をしてきました。結構きれいでした。