気まま日記(kimamanikki)

気の向くままに、のんびり更新しますヽ(´∀`)ノ

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
10


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

エンコード

JavaのデフォルトエンコーディングはUnicode(UTF-16)。
Stringクラス
Characterクラス(char形)

C#もデフォルトエンコーディングはUnicode(UTF-16)。
stringクラス
char

両者ともStringクラスやcharクラスはUnicode体系で表現される。

ってかさ、文字コードなんてUnicode以外滅びればいいのにとか思ってしまった。

サロゲート文字も日本語もアラビア語も、全世界で一般的に使用される文字はUnicodeで表現出来る。

その範囲外の文字ってのは、"一般的には使用されない文字"なわけで、そんなのまず一般のエンドユーザーは使用しないし、ブラウザとか表示もまずしない。

というか、日本語とかのマッピングも正直面倒臭い。

Shift-JISとか、EUC-JPとか、ぶっちゃけいらないと思う今日この頃。

スポンサーサイト

JavaでXML

JavaでXMLを使う方法です。(JDK5以上)

■XMLファイル→Java
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse("XMLFile.xml");

■String文字列→Java
String xmlStr = "<?xml version=\"1.0\" encoding=\"utf-8\"?><root>...";
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setNamespaceAware(true);
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse(new ByteArrayInputStream(xmlStr.getBytes("UTF-8")));

■XPath
// XPath式を作成しコンパイル
XPathFactory xpathFactory = XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();
XPathExpression expr = xpath.compile("//node/node/@attribute/text()");

// Documentに対してXPath実行
Object result = expr.evaluate(doc, XPathConstants.NODESET);
// 値の取り出し
NodeList nodes = (NodeList) result;
for (Node node : nodes) {
    System.out.println(node.getNodeValue()); 
}

※参考ソース
http://www.ibm.com/developerworks/jp/xml/library/x-javaxpathapi.html

log4netの設定方法

Javaでよく使われるlog4jの.NETバージョンであるlog4netについて。

以前log4jとlog4phpは使ったことがあったので、同じような感覚で使えるかな~と思ったら意外と初期設定がめんどくさい。

1.ライブラリダウンロード
Apacheのlog4netのページからソースコードとdllが含まれたzipがダウンロード可能。
上記サイトから > Get log4net > Download でダウンロードページに行けます。
ちなみにライセンスは「Apache License, version 2.0

2.プロジェクトへの追加
ソリューションエクスプローラのメニューから[参照の追加]を選択し、1.で取得した log4net.dll を追加する。
このとき[参照の追加]が見つからなければ、ソリューションエクスプローラのツールバーから[すべてのファイルを表示]ボタンをクリックしておくと、プロジェクト内に「参照設定」という項目が表示されるのでそこから追加でも可。
というか、後でこの辺の設定ファイルを触るので、基本的に[すべてのファイルを表示]にしておいた方がいいです。
ちなみに、追加する log4net.dll は .NET Framework のバージョンで違うけど、下位互換は出来るみたいなので使用するバージョンが .NET Framework 3.0 でも /2.0/log4net.dll で代用可能。

 

古い JDK5 とか J2SDK1.4 とか欲しいとき

現在のJavaの開発環境であるJDKのバージョンは6ですが、皆さん最新のJDK6を使ってますか?

僕はJDK5を使ってます。

だって・・・JDK6のバージョン1.6.0_14 ~ 15だと、Eclipseでデバッグする際にブレークポイントが無視されるというバグが潜んでいるからです。
厳密にはEclipseがとかではなく、JavaVMのGCに問題があったみたいで、最新のバージョンでは修正されています。
アップデートリリースノート:1.6.0_15 / 1.6.0_16
Bug ID:6862295
※リリースノート1.6.0_15によると、デバッグの実行パラメータに -XX:+UseParallelGC を設定してやれば動くみたいですね。

以前そういった経験をしまして、それ以来JDK6よりもJDKの5を使うようにしています。

でも今のSunのサイトに行っても最新のJDK6がダウンロード出来るだけで、過去のものはダウンロードできません。
(一部のJDK5はダウンロード出来るようです→コチラ

でも、「現場の環境がまだ J2SDK1.4 だ~!」とか、「JDK5のあのバージョンが欲しいのに!」とか、そういった方もいらっしゃるかと思います。

そういった方は・・・

 

submitボタンのデフォルト設定を回避する

htmlのformタグ内で記述するsubmitボタンだけど、これはブラウザの仕様として、「一番最初に書かれたsubmitボタン」がデフォルトボタンとなるようになっている。

デフォルトボタンとは、Enterキー押下時にクリック動作を代替出来るボタンのこと。
htmlの場合、(タブキーで他のボタンに移動した場合を除いて)formタグで囲まれた部品上でEnterキーを押した場合、(textareaを除く)submitボタンが押されたことになる。

 


カウンター
セルフィ

 
Twitter



 
 
クラッチ作品集
 
 
プロフィール

クラッチ

気まま日記バナー

・クラッチ
このブログの管理人

 
 
管理人へメール
メールフォームを開く
 
 
ブロとも申請フォーム
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。