$ curl "http://maps.google.com/maps/geo?q=千代田区外神田"
{
"name": "千代田区外神田",
"Status": {
"code": 200,
"request": "geocode"
},
"Placemark": [ {
"id": "p1",
"address": "Japan, Tokyo Chiyoda外神田",
"AddressDetails": {
"Accuracy" : 4,
"Country" : {
"AdministrativeArea" : {
"AdministrativeAreaName" : "東京都",
"Locality" : {
"DependentLocality" : {
"DependentLocalityName" : "外神田"
},
"LocalityName" : "千代田区"
}
},
"CountryName" : "日本",
"CountryNameCode" : "JP"
}
},
"ExtendedData": {
"LatLonBox": {
"north": 35.7100074,
"south": 35.6918852,
"east": 139.7856097,
"west": 139.7215803
}
},
"Point": {
"coordinates": [ 139.7535951, 35.6940027, 0 ]
}
} ]
}
2011年3月14日月曜日
googleで地名から緯度経度を取得
2011年3月11日金曜日
hadoop side effect file
hadoopではファイルを正式なアウトプットの他に作ることができる。
getWorkOutputPath を使う。ディレクトリは正式なアウトプットの出力先と同じなので注意。
public static class R1 extends Reducer{ public void reduce(Text key, Iterable values, Context context) throws IOException, InterruptedException { context.write(key, values.iterator().next()); Path path = FileOutputFormat.getWorkOutputPath(context); Path fpath = new Path(path, "sidefile" + key.toString()); OutputStream os = fpath.getFileSystem(context.getConfiguration()).create(fpath); PrintWriter pw = new PrintWriter(new OutputStreamWriter(os)); pw.println("hello"); pw.flush(); pw.close(); os.close(); } }
2011年3月9日水曜日
2011年3月8日火曜日
screen
設定
デフォルトだとC-aがエスケープなのだけど、emacsとコンフリクトするのでC-zに設定し直す。下記を~/.screenrc に。escape ^z^z
デタッチ と アタッチ
C-z d でデタッチ。screen -ls で確認すると、セッションが見える。 >|| $ screen -ls There is a screen on: 6398.pts-11.xxxx (Detached) 1 Socket in /var/run/screen/S-xxxx. ||< screen -r でアタッチ。複数のセッションがある場合には先頭のpts番号(この場合は6398)を指定。仮想画面
- C-z c で仮想画面追加
- C-z w で仮想画面のリストを最下段に表示
- C-z 番号 でその番号の仮想画面に移動。
- C-z space で順番に仮想画面を移動。
- C-z n, C-z p で前後に移動。 nはspace と同じ。
コピーモード
screen ではスクロールをscreenが処理してるので端末のスクロールバーが使えない。面倒。 そのかわりコピーモードというのがあってそれで過去のログをみることができる。 C-z [ でコピーモードに入る。エスケープで抜ける。2011年2月4日金曜日
hadoop でjava のserializableを受け渡すには
何らかの方法でシリアライズするわけだが、hadoop はデフォルトではJavaのシリアライズではなく
独自のシリアライザを使うようになっている。これはJavaのシリアライズが重いため、だそうだ。
しかしもちろんシリアライザの実装を変更することができ、Javaのシリアライザを使うように
指定することもできる。それには、こうする。
Configuration conf = new Configuration();
conf.set("io.serializations",
org.apache.hadoop.io.serializer.JavaSerialization.class.getName() + "," +
org.apache.hadoop.io.serializer.WritableSerialization.class.getName());
要するにSerialization クラスをカンマで区切って、
io.serializations にセットするのだけど、JavaSerialization だけだと、Textとかが
デコードできなくなっちゃうので、デフォルトのWritableSerialization も書いておくこと。
2011年1月18日火曜日
mac os JISキーボードをUS配列で
これまで、JISキーボードをUS配列で使うために、
こちらの
JANSIマップというのを使っていた。
これは、キーマップを追加するもので、
日本語入力とUS入力の他にJANSIマップをつかって入力する形になる。
これはこれでいいのだけど、日本語入力では結局JIS配列になるし、気がついたら
USになっていたりして、発狂寸前。
ということで、別の方法を模索したところ、Emacs bind化にもつかえる
KeyRemap4MacBookで出来ることが判明
さらに、スペースとコマンドキーの間にあってウザかった「英数」キーをコマンドキーに変えたので
大変に快適に!
ありがたいことだ。
2010年11月29日月曜日
frameset と bodyタグ
いままで見えていたフレームが見えなくなったので調査。原因はChromeに変えたからだった。
どうも、フレームをbodyタグの中に書いていたのがまずかったらしい。bodyの
中だと無視されてしまうようだ。
Chromeの挙動がたぶん仕様的にはただしいんだろう。
でも、FirefoxでもSafariでも動いちゃうだけに、なんかなあ。
<BODY> <FRAMESET rows="70,100%">> ... </FRAMESET> </BODY>;これだとレンダリングされない
登録:
投稿 (Atom)