Sponsored Link
トップ 追記  RDF

メモの日々

2000|11|12|
2001|01|02|03|04|05|06|07|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|

2009年11月19日(木) [長年日記]

[life] 健康診断を受けた

前回受けたのはもう3年も前なのか。いかんいかん。

受付に行くと健診待ちの人が他にもいて一安心。初めての病院なのでまず書類に名前など書いてカードを作ってもらった。

最初の検査は身長と体重。続けて血圧。この後しばらく待つ。

追加料金を払えば胸部X線と便の検査も受けられるがどうするかと聞かれたので、必要ないと言ったら意外そうな顔をされた。普通皆受けるみたい。それならと胸部X線は受けることにした。300円。

というわけで胸部X線の検査。Tシャツは着たままでよい。次は尿を取る。前回は苦労したが今日は大丈夫だった。

次は採血。右腕から血を抜いた後、左手で傷口にガーゼを当て押さえるように言われ、その後手を離してと言われたので離したら、ガーゼを持ったまま離してしまい、血がダラダラ流れてしまった。ガーゼは右腕に残したままにするのが正しい。

次は心電図。この後またしばらく待つ。最後に医師による問診。目を診られ、聴診器を当てられ、胴回りを測られておしまい。問診短っ。胴回りは79cmだって。太った。

これでおしまい。300円払って病院を出る。結果の受け取り方を確認し忘れた。郵送されてくるのかなあ。


2009年11月17日(火) [長年日記]

[java] ソースにエンコーディングが不正な文字が含まれている際のjavacの挙動

コメント内にエンコーディングが不正な文字が含まれているソースファイルをコンパイルする必要があった。

Antを使うと

警告:この文字は、エンコーディング UTF-8 にマップできません。

という警告はでるがコンパイルできた。が、NetBeans 6.7.1でコンパイルすると

この文字は、エンコーディング UTF-8 にマップできません。

というエラー(警告じゃない)になりコンパイルできなかった。なんでや。

-sourceオプションの有無で動作が変わる

javacに渡されているオプションを比較したところ、「-source」オプションの有無によりjavacの挙動が変わることが分かった。次のようになる。

G:\home\kenichi\work\java>javac -version
javac 1.6.0_17

G:\home\kenichi\work\java>javac -encoding UTF-8 -source 1.6 B.java
B.java:1: この文字は、エンコーディング UTF-8 にマップできません。
//aaaaa?bbbbbb
       ^
エラー 1 個

G:\home\kenichi\work\java>javac -encoding UTF-8 -source 1.5 B.java
B.java:1: 警告:この文字は、エンコーディング UTF-8 にマップできません。
//aaaaa?bbbbbb
       ^
警告 1 個

G:\home\kenichi\work\java>javac -encoding UTF-8 B.java
B.java:1: 警告:この文字は、エンコーディング UTF-8 にマップできません。
//aaaaa?bbbbbb
       ^
警告 1 個

まとめると、

  • 「-source 1.6」を指定:エラー
  • 「-source 1.5」を指定:警告
  • 「-source」の指定なし:警告

ということ。NetBeansではプロジェクトのプロパティで「ソース/バイナリ形式」を「JDK 5」にすることで「-source 1.5」が付くようになるので、これで一応問題を回避できる。

Java 6でエンコーディングエラー時の仕様が変わっていた

javacの標準オプションの説明の -source の所に、

-source release
   受け付けるソースコードのバージョンを指定します。release には次の値
   を指定できます。

   1.3
       このコンパイラでは、JDK 1.3 以降に導入されたアサーション、総称、
       または他の言語機能をサポートしません。
   1.4
       JDK 1.4 で導入された、アサーションを含むコードを受け付けます。
   1.5
       JDK 5 で導入された総称および他の言語機能を含んだコードを受け付
       けます。
   5
       1.5 と同義です。
   1.6
       これがデフォルト値です。Java SE 6 では言語に対する変更は導入さ
       れませんでしたが、ソースファイル内のエンコーディングエラーが、
       以前のような「警告」ではなく、「エラー」として報告されるように
       なりました。
   6
       1.6 と同義です。

とあった。「1.6」の所の説明に注目。1.6でjavacの動作が変わっているのだ。

「これがデフォルト値です。」という言葉を信じれば、-sourceを指定しなかった場合と-source 1.6を指定した場合の動作は同じになるのが正しいはずだが、先に示した通りこのときの動作は違っている。javacのバグかなあ。

[vim] Vimでファイルを16進数ダンプ表示する

:%!xxd

を実行することで、開いているファイルを16進数ダンプ表示することができるのでメモ。ファイル全体をVimに付属の xxd コマンドで変換している。

この状態で編集もできるみたいだけれど試してないのでメモしない。

あと、文字の上で

ga

を実行することでその文字の文字コードが表示されることもメモ。

ヘルプのバイナリファイルの項に説明がある。Vim上で見るには「:help xxd」したときに表示されるユーザマニュアルへのリンクを辿ればよい。


2009年11月16日(月) [長年日記]

[life] 図書館へ

返却日をだいぶ過ぎてしまったので、仕事を早めに切り上げて図書館へ行った。閉館1時間前くらいに着いたが、またもガラガラだった。

  • 空の中 (有川浩)
  • 週刊アスキー 2009.8.11 「激薄10万円ノートPC 5機種」
  • 週刊サッカーダイジェスト 2009.9.22 「J2010移籍マーケット大予想」

を借りた。この図書館は引っ越す前の所よりも本が少ないということが分かってきた。


2009年11月09日(月) [長年日記]

[java] NetBeansが使用するJDKのパスを変更する

JDKをバージョンアップして古いJDKをアンインストールすると、NetBeansの起動時に

Cannot locate java installation in specified jdkhome:

C:\Program Files\java\jdk1.6.0_16

Do you want to try to use default version?

というようなダイアログが毎回出てくるようになる。これが出ないようにNetBeansへJDKの正しいパスを教える方法をメモ。

NetBeans 6.7.1をインストールしたフォルダにあるetcフォルダ内に「netbeans.conf」というテキストファイルがある。このファイル内で「netbeans_jdkhome」にJDKのパスを設定しているので、そこを正しいパスに修正すればよい。

netbeans_jdkhome を指定しなくてもNetBeansは起動するので、指定しない方がいいのかも。


2009年11月06日(金) [長年日記]

  • 半年ぶりくらいにスーツを着た。
  • 相変わらず仕様が曖昧な仕事。それを見込んで進めていかないと。
  • ふーん。なんか寂しいな。

トップ