からだのブログ

五体満足に生まれてきたことに感謝してブログの名前を「からだ」にしました。

からだのブログ header image 1

build Scalate

6月 20th, 2010 · programming

wget http://github.com/scalate/scalate/tarball/master
wget http://logback.qos.ch/dist/logback-0.9.18.tar.gz
wget 'http://sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fjunit%2Fjunit%2F4.7%2Fjunit-4.7.jar'
wget http://www.scala-tools.org/repo-snapshots/org/scalatest/scalatest/1.2-for-scala-2.8.0.RC3-SNAPSHOT/scalatest-1.2-for-scala-2.8.0.RC3-SNAPSHOT.jarwget 'http://sourceforge.jp/frs/g_redir.php?m=jaist&f=%2Fmarkdownj%2Fmarkdownj%2F0.3.0%2Fmarkdownj-1.0.2b4-0.3.0.jar'

mvn install:install-file -Dfile=logback-core-0.9.18.jar -DgroupId=ch.qos.logback -DartifactId=logback-core -Dversion=0.9.18 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=logback-classic-0.9.18.jar -DgroupId=ch.qos.logback -DartifactId=logback-classic -Dversion=0.9.18 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=junit-4.7.jar -DgroupId=junit -DartifactId=junit -Dversion=4.7 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=scalatest-1.2-for-scala-2.8.0.RC3-SNAPSHOT.jar -DgroupId=org.scalatest -DartifactId=scalatest -Dversion=1.2-for-scala-2.8.0.RC3-SNAPSHOT -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
mvn install:install-file -Dfile=markdownj-1.0.2b4-0.3.0.jar -DgroupId=org.markdownj -DartifactId=markdownj -Dversion=0.3.0-1.0.2b4 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true

cd scalate-scalate-*
mvn -Dtest=false install -Pdownload

→ No CommentsTags:

野党

5月 31st, 2010 · thinking

やっぱり google(“野党”, “普通の女の子”) って考えてるやついるんだな。

→ No CommentsTags:

上海スクエア

5月 30th, 2010 · life

中華の出前「上海スクエア」で注文してみた。

うん、そんなに高くないし、たまにならいいな。

→ 2 CommentsTags:

Python をちょっぴりよくするアイディア

5月 29th, 2010 · programming

Python はインデンテーションが肝心だ。行頭のタブがなくなるとコードが壊れる。

ところで、Web の BBS には、行頭のインデンテーションを全部取り除いてしまうものがある。 こういう BBS は Python のコードを載せるのに非常に都合が悪い。

全角スペースで逃げるという手もあるけど、そのままコピペできないので面倒。というか、コードに全角スペースはできる限り入れない方がいい。ろくでもない結果を産むことが目に見えている。

BBS の実装でなんとかするという手もあるけど、 Python 側でこう対応すればいいんじゃね、というのを考えてみた。

def factorial(x):
___ if x == 0:
_______ return 1
___ else:
_______ return x * factorial(x - 1)

みたいな感じで。n 個のタブを、行頭から連続する「3 + 4 * (n – 1)」個のアンダースコア、1個のスペースと可換にする。

→ No CommentsTags:

Gravatar

5月 24th, 2010 · blogging

Gravatar ってのを導入してみた。 http://ja.gravatar.com/

ここでアバター(画像)とメールアドレスのペアを登録しておくと「グローバルにレコグナイズ」されるので、Gravatar に対応しているサービスにメールアドレスを入れるとそれに対応した画像が出るって仕組みらしい。それが WordPress に入ってるので on にしてみた。

たぶん、ここの WordPress にログインしても画像は設定できる、、、はずです。自分のでは何故か変更するインタフェースが出てこない。よくわからんが。

→ 5 CommentsTags:

Project Euler + Scala #8

5月 24th, 2010 · projectEuler, Scala

今更だろうが Project Euler っていう数学の問題が大量に集められたサイトがある。

それを Scala で解くのがすごく楽しい。例えばこんな問題。

#8 「Find the greatest product of five consecutive digits in the 1000-digit number. (1000桁の数字の中から連続する 5 桁の数字を選び出し、その各桁(5)の積を考える。このとき最大のものを求めよ。)」

// Scala 2.8 or higher required
val str1000digits = "731671765313306249192251196744265747..." // 省略
str1000digits.sliding(5).map(v => v.map(_.asDigit).product).max

こんだけ。普段 Java とか使ってる人は、コードで書いたらどうなるか考えてみてほしい。(Ruby とかならもっと短いかもしれない)

俺がわざわざこの問題を取り上げたのは、Scala でエレガントに書けるってことがまずある。そして何より問題文(英文)を逆から読んでいくと、ほとんどコードそのままになるところが気に入ったから。ってか、日本語の場合はそのままだ。こういうのはとても素敵だ。

→ No CommentsTags:

口蹄疫

5月 23rd, 2010 · thinking

生産者「赤松大臣は現場に来て、牛が殺されるところを見てみろ」

赤松の対応はひどすぎるし、生産者の怒りもご尤もなんだけど、口蹄疫になろうがならまいがどの道殺されるんだから、その言い草は変だと思うんだよね。

→ 3 CommentsTags:

トンネル内にたまにあるドア

5月 23rd, 2010 · funny

面白かったのでコピペ。

道路のトンネル内にたまにあるドアは、実は喫茶店をやってて引退した看護婦さんはみんなあそこで働いてる…

嘘つきやがって姉貴、友達にまで信じてたじゃねーか!!wwww

→ No CommentsTags:

レベル感

5月 23rd, 2010 · thinking

レベル感、レベル感って聞くたびにうさんくさいなーって感じる。

うさんくさい言葉のチョイスってあるよね。

→ No CommentsTags:

VirtualBox network settings

5月 18th, 2010 · softwares, tek

VirtualBox みたいな仮想マシンソリューションは毎回ネットワーク設定ではまるので、今回うまく行ってる設定をメモ。

俺の要件は以下の通り。

  1. ホストは Windows Vista
  2. ゲストは Ubuntu/Linux 10.4
  3. ゲストからインターネットに接続できること
  4. インターネットからゲストには接続できないこと
  5. ホストからゲストに接続できること

3. は結構重要だ。ゲストでサーバ立ち上げたときにホストからアクセスしたいので。で、これらを満たす方法。

  1. VirtualBox の仮想 NIC を少なくとも 2 枚にする。それぞれアダプタ 1 、アダプタ 2 とする。
  2. アダプタ 1 を NAT、アダプタ 2 をホストオンリーアダプタにする。
  3. ホストのネットワーク接続で、「ローカルエリア接続」と「VirtualBox Host-Only Network」をブリッジにする。
  4. ゲストを起動する。
  5. sudo vim /etc/network/interfaces して追記。
    auto eth0
    iface eth0 inet dhcp

    auto eth1
    iface eth1 inet dhcp

  6. sudo ifup eth0 & sudo ifup eth1

→ No CommentsTags: