fluentdをインストールしてみる

fluentdはいろんなところからログを集約してどこかに吐き出すというものらしい。http://fluentd.org/doc/install.htmlこれを見ながら、fluentdをインストールしてみる。OSによらないインストールの仕方をしてみたいので、Binary Package によるインストール…

javax.net.ssl.SSLSocket を使ってHTTPSにアクセスする

java.net.URLConnection を使えば簡単なのだが、あえて javax.net.ssl.SSLSocket を使ってHTTPSにアクセスしてみるサンプル。このサンプルはScalaだがJavaでも同じようなもんだろう。 // SunのJavaであれば、$JAVA_HOME/jre/lib/security/cacerts というパス…

scalaでシェルスクリプトを書く その2

Scalaでスクリプトを書いて気軽に実行したくても、コンパイルに非常に時間がかかるので、コンパイル結果を保存しておいて、繰り返し同じスクリプトを実行するときにはコンパイル結果をJavaコマンドだけで実行できるようにした。 このファイルをパスの通った…

scalaでシェルスクリプトを書く

Scalaにオプションを渡す必要がない場合。 #!/usr/bin/env scala !# println("abc"); Scalaにクラスパスなどのオプションを渡す必要がある場合、シェルスクリプトの1行目(シェバング)にScalaの引数を渡せなかったので、しかたなく以下のように書いた。 #!/bi…

diffとpatchの使い方

複数ファイルがある可能性のある2つのディレクトリaとbがあったとして、そのdiffをする方法。 diff -urN a b > diff.diff aが編集前、bが編集後のディレクトリとして、編集内容を表すdiff.diffがとれる。拡張子をdiffにすると、Emacsでカラーで表示されるよ…

ディレクトリの中にあるたくさんのファイルの文字列を全置換する方法

いまのディレクトリにある全てのテキストファイルにあるテキスト ABC を検索してそれをすべて DEF に置換するコマンド。 find . -name "*.txt" -exec sed -i 's/ABC/DEF/g' {} \;

Ubuntu に vserver をインストールする。

いま使っている Ubuntu 10.04 に vserver をインストールしてみた。http://linux-vserver.org/Installation_on_Ubuntu ここを参考に /etc/apt/source.list に deb... deb-src... の2行を追記する。その後、 sudo apt-get update sudo apt-get install linux-…

JavaScriptの3Dライブラリ three.js を試してみる

JavaScriptで3Dが描けるライブラリ three.js を試してみた。three.js https://github.com/mrdoob/three.js/ <html> <head> <title>three.js</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> </head></html>

Scalaの限定継続のshiftだけを含む関数オブジェクトを作れるかを実験

関数オブジェクトの定義の中にshiftを入れて、関数オブジェクトを別のメソッドに渡す、そのメソッドではresetの中でその関数オブジェクトを呼び出す、ってのができるかを実験した。 import scala.util.continuations.cpsParam; import scala.util.continuati…

gitのインデックスにローカルで変更があったファイルも削除されたファイルもすべてまとめて反映する方法

追加したファイルや変更のあったファイルや削除したファイルがたくさんあるが、全部をインデックスに反映しようと思って git add . としても、削除したファイルはインデックスに反映されない。削除ファイルを個別に git rm するのはめんどいので、 git add -…

scalaの限定継続 その2

限定継続をいろいろ実験中。if文や try/catch の中に shift を置く場合、どの分岐経路を通っても、ifやtryの戻り値型に同じ cpsParam のアノテーションが付くようにしなければいけない。この例では、tryの中に shift を置いた例。try中のshiftは戻り値型が @…

初めてのscala限定継続

↓この記事を読んでやっと限定継続が理解できた。 http://d.hatena.ne.jp/shomah4a/20110113/1294934879この理解をもとに初めて書いた限定継続のコード。 import scala.util.continuations._; object Demo { def main(args: Array[String]){ // (1) val resul…

sshfsの使い方

Ubuntuにインストールするには、 $ sudo apt-get install sshfsマウントするには、 $ sshfs -p ポート番号 ユーザ名@ホスト:リモートディレクトリ マウント先ディレクトリポート番号が普通の22番なら -p オプションはいらない。アンマウントするには、 $ fus…

wgetの使い方メモ

ウェブサイトのダウンロード第3階層までリンクをたどりまるごとダウンロードする wget -r -l3 URL -l を指定しないと、デフォルトで -l5。 ウェブサイトを第5階層までリンクをたどりまるごとダウンロードする。かつローカルでサイトを閲覧できるように、パス…

Cygwin環境で scala REPL を動かすには

ぼくの環境では、 $ scalaとすると scala>まで出てくるが、その後何かを入力してEnter押しても、なにもレスポンスが返ってこなくて困っていたが、 $ scala -Xnojlineとしたら無事できるようになった。

パスワード付きのZIPの作成・解凍

パスワード付きのZIPの作成(圧縮)または解凍をコマンドで行うには -P オプションを使う。 zip -P パスワード 書庫ファイル名 圧縮対象ファイル unzip -P パスワード 書庫ファイル名ただし、コマンドラインにパスワードを与えると、履歴やpsコマンドでわかっ…

scalaにJavaのオプションを渡すには

scalac が StackOverflowError 吐くときは、 JAVA_OPTS=-Xss2M scalac ...などとする。環境変数 JAVA_OPTS でjava起動オプションを指定する。

CentOSのインストール

CentOSをネットワークインストールするときに、いつもダウンロード先を検索して探しているので、メモしておくことにする。CentOS 5.5 netinstall の場合。 web site: ftp.riken.jp directory: /Linux/centos/5.5/os/i386

個人的なメモ

はてなにブログを開設しました。ここには個人的なメモを書くことにする。技術的なメモだったり、日記だったり。