もしこのブログがお役に立ちましたら、次回のAmazonでのお買い物時に こちらのリンクから 購入していただけますと嬉しく思います。

2011年11月19日

Yahoo!ボックス

バックアップ用の外付けHDDを買おうかどうか悩んでいたのですが、Yahoo!ボックスというサービスがリリースされました。
価格は50GBで月額346円(=プレミアム会員費)なので非常にお得です。
DropBoxと比較すると半額以下です。

ブラウザーからもアップできますし、Windowsであれば専用の同期ソフトを使うこともできます。
同期ソフトは潜在的なバグがあるみたいで、大量のフォルダ・ファイルをアップすると挙動不審になります。
専用ソフトに関してはもう少し様子を見る必要がありそうです。

2011年11月11日

「ServersMan@VPS」初期設定

半年ほど利用している「ServersMan@VPS」。
最近OSの初期化をしたので、そのときのメモ。
  1. MyDTIにログイン後「契約中サービス」の当該プランにて「確認・変更」ボタンを押す
  2. 次の画面で「各種初期化」ボタンを押す
  3. さらに次の画面で、必要であれば「OS」「パッケージ」を選択し、「サーバーの初期化」ボタンを押す
  4. sshでログインできるようになるまでしばし待つ(大体10分ほどで初期化が完了する模様)
  5. 申し込み時に送られてきたrootパスワードにてログイン
  6. コンソールにて各種初期設定を行う(参考サイト)

2011年11月2日

中国でネット通販

先日、初めて中国のネット通販を利用しました。
使ったのはあの有名な「淘宝网(タオバオ)」。

・買った品物

何を買ったかというとオーディオテクニカのカナル型イヤホン「ATH-CK7」です。
実は何年もこのイヤホンを使っていたんですが一年くらい前に断線してしまって、日本で同じものを買おうと思ったんですが生産停止とのこと。
その後は仕方なく安物で代用していました。
ところが最近「淘宝网」に例のイヤホンが売っているのを見かけ、詳しく調べてみることに。
相場ですが正規品と思われるものは大体700元以上(約8400円)。
これではちょっとリスクが高いのでさらに検索してみると、なんと20元(約240円)のものを発見
しかもレアなブラック!
この値段なら万一偽物でもいいやと思い即購入しました。
発送は購入した翌日、到着はその翌日でした。

・本物?

肝心の中身ですが、やっぱり偽物でした。。。
あの値段なので仕方ないですね。
700元前後のは恐らく本物だと思います。
誤解ありませんように!


・レビュー

到着した商品の詳細ですが、イヤホン部分の形は以前使っていた正規品に酷似しています。
外側のチタン部分は本物っぽくて、左右を当てたときのカチっていう音に懐かしい響きが!
耳側部分は、本物はプラスチックだったと思うんですが、今回のは金属です。
肝心の音質ですが、意外にもいい感じで、正規品に似てます(笑)。
コード部分だけが全然違くて、右耳コードを首の後ろに回すタイプ。
まあ、個人的にはこのタイプほうが好きなんで、これはこれで良かったです(笑)。

・総評

「淘宝网」の大部分は個人商店っぽいです。
それもそのはず、中国の街角にはお店を個人で開いている人が相当多いですから。
彼らに聞くと、人口が多すぎて会社が雇ってくれないから自分で店を開くしかない、みたいなことを言います。
その延長で「淘宝网」にも出店してるんでしょうね。
あと「淘宝网」上のお店が信頼できるかどうかはYahoo!オークションみたいな仕組みが取り入れられています。
取引後に買い手と売り手で評価し合うシステムです。
他には購入後24時間以内に発送してもらえなければ発送を促す機能とか、それでも発送されなければ取引を中止して返金してもらう機能なんかもあります。
さらに、返金に応じてもらえなければ「淘宝网」に仲裁してもらう機能もあるようです。
なかなか徹底した安全管理を導入しています。

2011年10月8日

リフレクションとアノテーション

java.lang.reflect.Constructor、Field、Method
の親クラスの
java.lang.reflect.AccessibleObject

getAnnotation(Class annotationType)
とか
isAnnotationPresent(Class annotationType)
などというメソッドがあるわけですが、引数に独自アノテーションのクラスを指定しても期待通りの動作をしない場合があります。
そういう場合は、アノテーション定義の直前に一行加えます。
@Retention(RetentionPolicy.RUNTIME)
public @interface OwnAnnotation {
}
この
@Retention(RetentionPolicy.RUNTIME)
を指定すると、プログラム実行時にも独自アノテーションを参照できるようになるというわけです。

2011年9月21日

Velocityのmacroをキャッシュさせない

Apache Velocityのmacro(Velocimacro)をvmファイルやhtmlファイル内にインラインで定義したとします。
設定ファイルvelocity.propertiesが規定値のままだと、一度記述したmacroがキャッシュされて、開発に手間取る場合があります。
手元の環境の場合、velocity.propertiesの項目を以下のように設定することでキャッシュ問題を解消できました。
XXX.resource.loader.cache = false
velocimacro.permissions.allow.inline.to.replace.global = true
これで開発時にmacroを書き換えた場合、すぐに変更が反映されるようになると思います。

2011年9月16日

Bloggerのナビゲーションバーを非表示にする

Bloggerの最上部には普通navbarと呼ばれる領域が表示されます。
この部分、実はCSSを追加して非表示にできます。

管理画面から
テンプレート>カスタマイズ>アドバンス>CSSを追加(一番下)
をたどり、以下の文字列を追加します。
#navbar{
display: none;
}

2011年9月14日

あり得ない価格のコーヒー

仕事はいつも喫茶店でしているのですが、今日は全国展開の迪欧咖啡という高級店へ。
メニューを見ると一番安いブルーマウンテンでも一杯32元(≒390円)。
他の喫茶店だったら20元前後(≒240円)で飲めます。

でも今回は高級店だから仕方ないと思い、とりあえず注文。
少ししてからふと注文表を見ると、なんと72元(≒870円)の文字!
すぐに店員さんを呼んだら、グレードの高いブルーマウンテンだと勘違いしたみたいで大慌てで厨房へ走って行きました。
でも時既に遅し。
もう作り始めていたそうで、取り消しは効かないとのこと。
さらに悪いことに、普通は店が差額を埋め合わせてくれそうなものですが、どうもこの店ではそういう体制にはなっていないとのこと。

店側として残る手段はただ一つ。
客が最初からこのコーヒーを頼んだことにするしかありません。
最初聞いたときには唖然として、何とかならないかと粘りましたが、例の店員さんも半泣き状態。
最後には僕が折れました。

この日は何度も「差額の40元ぼっち少し多く働けば手に入るからいいや」と自分に言い聞かせました。

それにしても中国で40元と言ったら、
・ラーメン6杯分
・缶ビール10本分
・路線バス40回分
なので、この国に住んでいる身としてはやっぱり痛かったです。
あと、女の涙はすごい武器だと実感しました。(笑)

2011年9月13日

Synergyを試す

こちらのエントリーもご覧ください(2012/11/12追記)

WindowsマシンのキーボートとマウスをMacでも共有したい場合、Synergyというソフトを使います。
このソフトですが、手元に液晶モニターがなくてもノートPCが1台以上余っていればデュアルディスプレイ(のような)環境が実現できるという優れものです。
インストール方法や使い方はほかのサイトに任せるとして、はまった点を幾つか挙げます。

1.Windows XPをサーバー、Mac 10.6をクライアントとして使う場合、ともに最新版の1.4.4だと動作しない。
試行錯誤の結果、以下の構成で落ち着く。
Windows=Synergy1.4.4
Mac=QSynergy0.9.0+Synergy1.3.1

2.クライアント側のMacを認識できない場合がある。
試しに、サーバー側で設定するMacのスクリーン名称の末尾に「.local」を加えたらうまくいった。

3.Synergy起動中にEclipseなどのJavaを使うソフトが起動できない場合がある。
その場合はいったんSynergyを止めて当該ソフトを起動後、再度Synergyを起動する。

4.Let's Noteのくるくるホイールパッドのスクロール機能がMac側で効かない。
これは今のところ解決策なし。

5.MacのCommandキーとoptionキーに対応するのはWindowsの何キー?
Command=Alt
option=Windows

6.Macクライアントのコピー・アンド・ペーストのショートカットキーは?
コピー=Alt+C
貼り付け=Alt+V
ちなみにクリップボードは共有されているので、Mac側でコピーしたテキストをWindows側でも使える。
その逆もしかり。
ただし、Windows側では通常通りCtrlキーを使うので、混乱のないように。

とりあえずこんなところでしょうか?

2011年9月5日

カシオの電波腕時計の針が・・・

電波腕時計としてはお買い得なカシオの「GW-2500B-1A」を使っているのですが、最近突然、針の時刻が狂ってしまいました。
しかも左側のモード針もめちゃくちゃな位置です。
何事かと思いネットで調べると、どうも磁石の影響で針の位置がずれることがあるようです。
思い返せば、安物スピーカーの近くに時計を置いた記憶が・・・

修理に出したら高いだろうと思ったのですが、説明書にちゃんと針の基準位置合わせの方法が載っていました。
そして指示通りの方法で何とか事なきを得ました。
一安心です。

2011年8月20日

そういえば

このところ、誰かに怒られた記憶がないです。
「怒られるうちが華」とか聞いたことがありますが、もうあきらめられてるんでしょうか?

2011年8月9日

本日のビール

・Erdinger(ドイツ) 500cc瓶で20元≒250円
一言で言うと非常に美味しいです。
アルコール度数5.3%ですが、口当たりはさっぱりです。
程よい喉越しと苦味が味わえます。

2011年8月3日

Finder を終了できるようにする

Mac では command + Q というショートカットキーで実行中のプログラムを終了できます。
ただ Finder は例外で、普通はいかなる方法でも終了できず、常に起動しています。

そこで役立つのが次の方法です。
ターミナルから以下のコマンドを入力してください。
defaults write com.apple.Finder QuitMenuItem -boolean true

killall Finder
以後、Finder を起動させても command + Q で終了させられます。

元に戻すには以下のコマンドを入力します。
defaults delete com.apple.Finder QuitMenuItem

2011年8月1日

本日のビール

・Kronenbourg 1664 BLANC(フランス) 330cc瓶で17元≒220円
瓶の色が青のフルーティーバージョンです。
原材料を見ると、甘味料とオレンジの皮が添加されてるみたいです。
のど越しがさっぱりして飲みやすいです。

2011年7月24日

Mac の Thunderbird 5 でメールヘッダーをコンパクト表示

Thunderbird には CompactHeader という便利なアドオンがあって、メールヘッダーを1行で表示してくれます。
ただ、Mac 版 Thunderbird 5 にはまだ正式対応していないようです。(2011年7月24日現在)
そこで下のページからベータ版(Version 1.4.2beta1 of CompactHeader)をダウンロードして、アドオンマネージャーの「ファイルからアドオンをインストール」を選択します。
http://compactheader.mozdev.org/installation.html

2011年7月23日

MacBook Air でディスプレイを閉じてもスリープさせない

MacBook Air で例えば iTunes を使って音楽再生だけさせている場合など、ディスプレイを閉じておきたいことがあります。
ただ、Snow Leopard(10.6)ではディスプレイを閉じると否応なしにスリープ状態になります。
これを回避するため、今まで InsomniaX を使っていたのですが、難点が一つありました。
ディスプレイのバックライトが消えてくれないことです。
そこで以下のアプリに乗り換えました。

NoSleep

手元の環境では、インストール直後メニューバーに何も表示されなかったので OS の再起動を掛けました。
アイコンもいい感じです。

---

20140902追記

現在は以下のURLからダウンロードできるようです。

NoSleep

最新のOSではセキュリティーが厳格になっているようなので、危険性を承知の上インストールしてください。

2011年7月22日

五岳归来不看山,黄山归来不看岳

これまで中国の山を幾つか観光してきたわけですが、上の諺が言うように、黄山に勝る山はないような気がします。
ただ、まだ下の4つだけしか行ってないので自信がないのですが。。。

黄山 - 2009年8月
自然の雄大さを純粋に楽しめる

华山(華山) - 2010年1月
黄山をスケールダウンさせた感じ

嵩山 - 2011年6月
中岳廟、少林寺などに興味のある人向け

庐山(廬山) - 2011年7月
政治家の避暑地として有名なので、近代中国の歴史に興味のある人向け

2011年7月19日

本日のビール

・雪津啤酒(中国) 350cc缶で4.5元≒60円
中国に来て初めてお目に掛かったビールです。
福建の英博雪津啤酒有限公司という会社が作っているみたいです。
アルコール度数が3.1%以上で、中国国内では高い部類に入ります。
味もなかなかいけました。
総合評価で青島ビールよりも美味しいかも知れません。

2011年7月12日

3度目の台湾

台湾にやって来ました。
今回で3度目です。
いつも思うんですが、台湾人の雰囲気って日本人と似てるんですよね。
礼儀正しさは以前から気付いてたんですが、他には何だろうと色々考えていたら、至った結論が身長です。
身長が低い人ってちょこまか動いて可愛いじゃないですか。
逆に欧米人とか大陸の中国人は背が高くて、歩き方がモデルみたいで、どうしても高慢に見えてしまう。
身長が低いからいいという意味ではないのですが、身長によって醸し出す雰囲気が変わるのは確かだと思います。

2011年7月11日

福州长乐国际机场に休憩所が無い件

台湾に行く際に使った福建省福州市の空港ですが「国際」と銘打ってる割には設備があまり充実しておらず、空港内に休憩所はありません。
今回は夜遅く空港に着いて翌朝台湾へ出発だったので、休憩所がなければ到着ロビーのベンチで一晩過ごそうと目論んでいたのですが、午前2時ごろ従業員に追い出されました(笑)。
最後の便で空港を閉めるようです。
そこで、空港の目の前のホテルに行ってみると、安い部屋で一泊300元≒4000円。
しかもその日はグレードの高い部屋しか残っていませんでした。
日頃、パイロットや客室乗務員が使っているようで、あまり空きがないみたいです。

というわけで、お金の節約のため野宿を決行です。
空港前に大き目の広場があったので、そこで座って休みました。
虫の音や不思議な鳥の鳴き声に囲まれながらです。
でも結局、蚊が結構いたのであまり熟睡はできなかったです。
旅行の際にはテントを持ち歩くといいかもしれません(笑)。

日本でもしたことがなかった野宿ですが、外国ですることになるとは思いもよらなかったです。
良い思い出になりました。

2011年7月10日

MacBook Air は疲れやすい

最近 MacBook Air で仕事をしてるんですが、どうも腕が疲れます。
原因は何かなぁと考えたのですが、たぶん幾つかあります。(9/27に追加修正)

1.キーボードのストロークが浅すぎる

2.キーボードの面が手前に傾斜していているので、手首を置いて休める場所が相対的に低い位置になり、手首が休まらない

3.トラックパッドの副ボタンを押すのに結構力が要る

4.トラックパッドを使って2本指でスクロールする場合、人差し指と中指を使うと、短い人差し指に無理が掛かる (中指と薬指を使うといい感じ)

5.トラックパッドが大きすぎて(OSもそれを想定して設計されていて)指を動かす範囲が大きすぎる(別途フリーソフトを入れると小さい動きでもポインターを大きく移動できるらしいです)

6.メニューバーが常に画面の最上部にあるので、ポインターをそこまでもっていくのが大変

単純に慣れの問題かも知れませんが、個人的にはLet's Noteのキーボートとくるくるホイールの使いやすさは天下一品です。

2011年7月9日

Thunderbird のメッセージフィルタをバックアップする

Windows でも Mac でも Thunderbird のメッセージフィルタは msgFilterRules.dat というファイル名で保存されています。
拡張子が dat ですが、中身は単純なテキストです。
具体的な格納先はここでは割愛しますが、各 OS のファイル検索コマンドでこのファイルを探すと良いと思います。

2011年7月8日

本日のビール

・schwarzer herzog(ドイツ) 330cc瓶で10.7元≒140円
黒ビールです。
飲んだ直後には程よい苦味がありますが、後味はあまり良くありません。
苦味がずっと残る感じです。
少しだけたしなむのに適してるかもしれません。

・Beckers Extra Forte(ドイツ) 500cc缶で21元≒280円
アルコール度数8.0%のビールです。
焼酎をビール割りしたみたいな味です。
正直美味しくありません。

2011年7月7日

量詞

中国語の量詞(助数詞)は日本語と同じように豊富です。

犬と猫で、数え方が違います。
犬:一条狗
猫:一只猫

ビールの場合、瓶と缶で異なります。
瓶:一瓶啤酒
缶:一听啤酒

2011年7月6日

Eclipse 3.7 (Indigo) に Google App Engine Plugin を追加する

GAE のプラグインを Eclipse IDE for Java DevelopersEclipse Classic 3.7 にインストールしようとすると下のようなエラーが出ます。
必ず Eclipse IDE for Java EE Developers を使うようにしましょう。

ちなみに Install New Software から入力する URL は
http://dl.google.com/eclipse/plugin/3.7
です。

Cannot complete the install because one or more required items could not be found.
Software being installed: Google App Engine Java SDK 1.5.1 1.5.1.r37v201106211634 (com.google.appengine.eclipse.sdkbundle.e37.feature.feature.group 1.5.1.r37v201106211634)
Missing requirement: Google App Engine Plugin 2.3.2.r37v201106211634 (com.google.appengine.eclipse.core 2.3.2.r37v201106211634) requires 'bundle org.eclipse.wst.xml.core 0.0.0' but it could not be found
Cannot satisfy dependency:
From: Google App Engine SDK 1.5.1.r37v201106211634 (com.google.appengine.eclipse.sdkbundle 1.5.1.r37v201106211634)
To: bundle com.google.appengine.eclipse.core 0.0.0
Cannot satisfy dependency:
From: Google App Engine Java SDK 1.5.1 1.5.1.r37v201106211634 (com.google.appengine.eclipse.sdkbundle.e37.feature.feature.group 1.5.1.r37v201106211634)
To: com.google.appengine.eclipse.sdkbundle [1.5.1.r37v201106211634]

Cannot complete the install because one or more required items could not be found.
Software being installed: Google Plugin for Eclipse 3.7 2.3.2.r37v201106211634 (com.google.gdt.eclipse.suite.e37.feature.feature.group 2.3.2.r37v201106211634)
Missing requirement: Google Plugin for Eclipse 3.7 2.3.2.r37v201106211634 (com.google.gdt.eclipse.suite.e37.feature.feature.group 2.3.2.r37v201106211634) requires 'org.eclipse.wst.common.project.facet.core 0.0.0' but it could not be found

2011年7月5日

仲間外れの瓜

瓜は瓜でも食べられない瓜があります。
さてどれでしょう?

1.西瓜
2.甜瓜
3.傻瓜
4.哈密瓜

2011年7月4日

Servlet で 301 リダイレクト

サーバー移行などで URL が変更になった場合、リダイレクトには HTML の meta タグよりも .htaccess が有効だそうです。
ただ、GAE/J など .htaccess が使えない場合はどうするかというと、Servlet に 301 リダイレクトを実装すればいいわけです。

以下の例は元々の URL が
http://www.getore.info/blog/?[ページ番号を指定するクエリ]
だったのが
http://blog.getore.info/[自動生成のリンク]
に変更になった場合です。

public class RedirectServlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
// 変換規則が無い場合は一つ一つマッピングするしかない
Map<String, String> map = new HashMap<String, String>();
map.put("p=404", "2011/06/radiko_714.html");
map.put("p=19", "2009/10/umssort_12.html");

String query = "";
if (req.getQueryString() != null) {
query = req.getQueryString();
}

String file = "";
if (map.containsKey(query)) {
file = map.get(query);
}

// 該当するページが無い場合はトップページに飛ぶ
String url = "http://blog.getore.info/" + file;

resp.setStatus(301);
resp.setHeader("Location", url);
resp.setHeader("Connection", "close");
}
}

何かの変換規則がある場合は、Map を使うのではなく、正規表現などで対応した方が手っ取り早いと思います。

そして、web.xml に上のサーブレットを追加します。
<servlet>
<servlet-name>Redirect</servlet-name>
<servlet-class>info.getore.RedirectServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Redirect</servlet-name>
<url-pattern>/blog/</url-pattern>
</servlet-mapping>

2011年7月3日

最近飲んだビール

・PAULANER(ドイツ) 500cc缶で20元≒260円
期待して飲んでみたんですが、少なくとも僕の口には合わなかったです。
何とも形容しがたい味で、強いて言えば石鹸のような風味です。
キレとかコクとかとは無縁のビールです。

・mahou NEGRA(スペイン) 330cc瓶で13.5元≒180円
ごくごく普通の黒ビールではないでしょうか。
日本人の口に合うと思います。

・Kaiserdom Dark LAGER BEER(ドイツ) 500cc瓶で18元≒240円
非常にさっぱりした黒ビールです。
味は悪くないのですが、さっぱりしすぎて何か物足りないような気もします。

2011年7月2日

サーバー移行

今まで有料のレンタルサーバーでホームページとブログを運用していたのですが、更新期限が迫っていたのを期に Google の無料サービスに移行しました。(独自ドメイン料金は別途必要)
ホームページは Goole App Engine (GAE)、ブログは Blogger です。

ホームページ作成の手順は以下の通りです。
1.Google Apps を申し込む(独自ドメインが必要)
2.Google App Engine を申し込む
3.Google App Engine で設定した App ID にコンテンツをアップロードする
4.Google Apps のダッシュボードから上記 App ID をセットする
5.Google Apps のダッシュボードから独自ドメインの URL(例:www.getore.info)を追加する
6.独自ドメイン(例:www.getore.info)の A レコードを Google の指示通りに設定する

ブログの移行については、もともと使っていた WordPress が Blogger と互換性がなかったので以下の手順を踏みました。
1.WordPress の管理画面からバックアップファイルをダウンロードする
2.ダウンロードしたファイルをこのサイトで Blogger 用に変換する
3.Blogger の設定画面から変換ファイルをアップロードする
4.独自ドメインのサブドメイン(例:blog.getore.info)を設定する

ブログ移行後の既知の問題点は以下の通りです。
・移行した記事の検索ができない
・写真は別途一枚ずつ移行する必要がある
・独自ドメインの設定で、サブディレクトリは指定できない

正直な話、移行は面倒で問題も付き物ですが、サーバー費用 0 円でホームページとブログの運営ができるとはありがたい話です。

2011年6月12日

radiko 番組表

radiko っていう、ネットでラジオが聞けるサービスがありますよね。
実は、中国からも東京のサーバー経由で関東の放送が聞けるんですが、方法についてはいつか機会があれば書こうと思います。

今回書くのは番組表についてです。
radiko を使っていてちょっと不便だなーと思うのは、本家の番組表の閲覧性が悪いことです。
僕にとっては少なくとも3つほど改善してほしい点がありました。

一つは、地域によっては放送局が多いせいで、現状の7つの枠に収まりきれず、わざわざ上の矢印部分で左右にスクロールさせないといけません。
もうひとつは、番組表を開いた直後、自動的に現在時間にスクロールしてくれますが、ある放送局は数時間前に今の放送を開始していて、その番組情報を確認したい場合結局自分で上にスクロールしないといけません。
最後は、番組表の JavaScript が PC の時間を参照するので、海外在住の場合で PC のタイムゾーンを変更している場合に、おかしな時間に自動スクロールされます。

以上のような問題があってもどかしかったのですが、番組の情報が XML で公開されていることが分かったので、これを使って Web サービスを自分で作ってみました。
http://radiko-table.appspot.com/

自分の需要を満たせれば良かったので非常にシンプルです。
すべての放送局で今何が放送されているかが一目で分かるので、興味のある番組を探すのに適していると思います。
あと、本家では表示されない説明文が付きます。