2006年06月02日 [長年日記]
_ [W-ZERO3] フォーマットしちゃいました。
CF-W5を買ったので、今まで会社PCとだけActiveSyncで同期していたのを、CF-W5とも同期するようにしました。
…んが、なぜか、毎回「同期セットアップウィザード」が出るようになってしまいました。 会社PCで接続をしているときは、何度USBケーブルの抜き差しをしても問題なく同期してくれるのですが、その後CF-W5で同期しようとすると、「同期セットアップウィザード」が出てしまいます。で、その後「Pocket PCは2台のPCと同期しています。」とか言われてしまい、一度同期設定を削除しないと同期ができません。しょうがないので再設定をするとCF-W5では問題なく同期できるようになります。 じゃぁ、ってことで、改めて会社PCで接続すると今度はこっちに「同期セットアップウィザード」が出てしまい…と無限ループ状態。
前のノートPCを使っていたときは、W-ZERO3と会社PC&ノートPCの2台のPCとの接続は問題なくできていたのですがね。
リセットしても、フルリセットしても状態が改善しなかったので、 最近妙にもっさりしてきたのもあって、思い切ってW-ZERO3のフォーマットをしちゃいました。 メールとかバックアップ取らなかったけど、あきらめることにします。
…とか書いていたら、フォーマットができていたみたい。 今から環境構築することにします。
2006年06月06日 [長年日記]
_ [W-ZERO3] 新機種発表。
W-ZERO3のハイスペック版が発表されたようですね。
ここ数日、いろんなblogでリーク情報やら憶測やらが飛び交っていたようですが、蓋を開けてみると
- 本体メモリの増強
- 電子辞書機能の搭載
- メッセージング&セキュリティフィーチャーパック(MSFP)搭載
- カラーは「ガンメタリック(G)」と「パールホワイト(W)」の二種類
ということですか。
増量したメモリのワークエリアは64MBと【ちょっと】増えたみたいです(同上)
と書かれていますが、これってどうなんでしょうね。 プレスリリースの、メモリのところには、
フラッシュメモリ256MB(ユーザーエリア※ 約197MB、出荷時の空き容量 約169MB/SDRAM64MB(ワークエリア)
と、今発売中のW-ZERO3のスペックには
Flash128MB(本体システム領域含む)/SDRAM64MB(ワークエリア)
と、それぞれ書かれています。 W-ZERO3の「メモリ」で見ると、確かにプログラム実行用の合計は「43.62MB」と書かれているので、プレスリリースだけ見ると増えたのかという気にさせます。 ですが、カタログスペック上は同値なんですよね。
ですので、ワークエリアが増えたとは期待できないのではないかと。
プログラム実行用の領域が増えているなら買い替えて、今のW-ZERO3は開発用にしちゃおうかと思っていたんですが、このスペックなら買い替えはなしですかねー。
_ [W-ZERO3] Opera Mobile 8.6 for W-ZERO3が出たようです。
Opera Mobile 8.6 for W-ZERO3がダウンロード可能になったようです。
ということで、久々にOperaをインストールしてみたんですが。
OperaってAjaxなサイトも(一部)見られるんですね。 これって前からでしたっけ?
私、RSSリーダとしてFEEDBRINGERを使っているのですが、このサイトAjaxなサイトでして、W-ZERO3のPIEでもNetFront3.3でも見ることができないんですよ。 で、泣く泣くW-ZERO3からRSSのチェックをしていなかったわけですが、 ふと思い立ってFEEDBRINGERを見てみたら。 しっかり見られるじゃないですか。 他のサイトを見てみるとOperaの不具合も減ってきたようですし、しばらくこいつを常用してみます。
Ajaxなサイトが見られるなら…ってことで、Gmailにログインしてみたんですが、 Gmailってモバイル対応していたんですね。 Ajax関係ないんじゃん、きっと…orz OperaでもPIEでも普通に見ることができましたとさ。 あ、Google Calendarは対応していないブラウザってことで見ることができなかったです。
_ [W-ZERO3] 新機種のメモリ。
「ワークエリアが増えたとは期待できないのではないか」と書いてしまったすぐ後で恐縮なんですが。
伊藤浩一さんのとこで「メモリ」の写真が公開されていたんですが、新W-ZERO3ではプログラム実行用のメモリ合計が「49.82MB」になっているようですね。 現行W-ZERO3が「43.62MB」だったので、6.2MBほど使用可能領域が増えているようです。 その為か、私のW-ZERO3では一回も見たことがない、空き領域20MB overになっています。
これって、OSのリビジョンが上がっているおかげなんですかねぇ。 メモリの使用量を抑えるように修正されているのかもしれません。
とはいえ、この6.2MBの為に新機種を購入するか?と言われれば、それはさすがに無いです。 なので、OSのアップデートとかできるようになるといいなーとか思っていることにします。
_ [W-ZERO3] 新機種ではメール機能が拡張?
ウィルコムファンによると、「ウィルコムメール(標準のメール)についても修正が加えられ」ているとのことだ。
これって、ウチのソフトたちにも影響でちゃったりするのかが心配です。 とりあえず、ウィルコムファンの詳細レビュー待ちですかね。
あ、新機種手に入れた方は検証していただけるととっても嬉しいですm(_ _)m
2006年06月09日 [長年日記]
_ [W-ZERO3] 終話ボタンでOperaを終了しないようにするには。
Opera Mobile for W-ZERO3 8.6では、終話ボタンを押すと Operaが終了してしまうようになったようです。 これはこれでいいんじゃないかと個人的には思っているのですが、 今まで通り、終話ボタンでは終了しないようにしたいって人もいるようで。
終話ボタンでアプリケーションを終了する対象は 以下のレジストリに記述されているので、コレをいじれば今まで通り Operaが終了しないようになります。
[HKEY_LOCAL_MACHINE\SOFTWARE\Sharp\Task\Opera] "Close"=dword:00000000 ←ここをゼロにする
試してはいませんが、この「Task」以下にキーを追加すれば 自分の好きなソフトを終話ボタンで終了できるようになるかと思われます。
お試しあれ。
(2006/8/2 追記)
この方法、[es]だと動作しないようです。 [es]の方は、こちらのにっきにある「擬似Opera」を試してみてはいかがでしょうか。
2006年06月18日 [長年日記]
_ [Seasar] S2Dxoのバグ?
きむきむさんのところでS2Dxoが 怒涛のコミットをしているようで、正式リリース前だけどいろいろ試してみている。
で、こんなテストを書くと、なぜか失敗してしまう。
Src src = new Src(); src.setSrcSub1(new SrcSub1()); src.setId("001"); src.setName("momo"); src.getSrcSub1().setSubId("002"); src.getSrcSub1().setSubName("submomo"); Desc desc = (Desc) basicDxo.convert(src, Desc.class); assertEquals("001", desc.getId()); assertEquals("momo", desc.getName()); assertEquals("002", desc.getSubId()); assertEquals("submomo", desc.getSubName());
desc.getIdがnullになってしまうのだ。
ほとんど同じようなテストは通っているので、 おかしいなぁと思って真剣にデバッグしてみたら なんだかS2Dxoのバグ?っぽいものがあったのでクイックハックしてみた。
>svn diff Index: src/main/java/org/seasar/dxo/meta/impl/DxoMetaDataFactoryImpl.java =================================================================== --- src/main/java/org/seasar/dxo/meta/impl/DxoMetaDataFactoryImpl.java (リビジョン 31) +++ src/main/java/org/seasar/dxo/meta/impl/DxoMetaDataFactoryImpl.java (作業コピー) @@ -36,7 +36,7 @@ if (dxoMetaDataCache.containsKey(dxoClass)) { return (DxoMetaData) dxoMetaDataCache.get(dxoClass); } - AnnotationReader annotationReader = annotationReaderFactory.createDxoAnnotationReader(dxoClass); + AnnotationReader annotationReader = annotationReaderFactory.createDxoAnnotationReader(); DxoMetaData metaData = new DxoMetaDataImpl(dxoClass, annotationReader); dxoMetaDataCache.put(dxoClass, metaData); return metaData; Index: src/main/java/org/seasar/dxo/converter/impl/BeanConverter.java =================================================================== --- src/main/java/org/seasar/dxo/converter/impl/BeanConverter.java (リビジョン 31) +++ src/main/java/org/seasar/dxo/converter/impl/BeanConverter.java (作業コピー) @@ -16,6 +16,9 @@ package org.seasar.dxo.converter.impl; import java.text.DateFormat; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; import org.seasar.dxo.converter.Converter; import org.seasar.dxo.converter.ConverterFactory; @@ -99,18 +102,26 @@ protected Object getValue(String propertyName, Object source) { BeanDesc beanDesc = BeanDescFactory.getBeanDesc(source.getClass()); + List subBeanDescs = new ArrayList(); for (int i = 0; i < beanDesc.getPropertyDescSize(); i++) { PropertyDesc sourcePropertyDesc = beanDesc.getPropertyDesc(i); if (sourcePropertyDesc.hasReadMethod() == false) { continue; } if (isBasicType(sourcePropertyDesc.getPropertyType()) == false) { - return getValue(propertyName, sourcePropertyDesc.getValue(source)); + subBeanDescs.add(sourcePropertyDesc); } if (sourcePropertyDesc.getPropertyName().equalsIgnoreCase(propertyName)) { return sourcePropertyDesc.getValue(source); } } + for (Iterator it = subBeanDescs.iterator(); it.hasNext();) { + try { + PropertyDesc sourcePropertyDesc = (PropertyDesc) it.next(); + return getValue(propertyName, sourcePropertyDesc.getValue(source)); + } catch (ReadMethodNotFoundException e) { + } + } throw new ReadMethodNotFoundException(beanDesc.getBeanClass(), propertyName); } Index: src/main/resources/s2dxo.dicon =================================================================== --- src/main/resources/s2dxo.dicon (リビジョン 31) +++ src/main/resources/s2dxo.dicon (作業コピー) @@ -9,5 +9,5 @@ <component class="org.seasar.dxo.converter.impl.ConverterFactoryImpl"/> <component class="org.seasar.dxo.deployer.DxoDeployer"/> <component class="org.seasar.dxo.meta.impl.DxoMetaDataFactoryImpl"/> - <component class="org.seasar.dxo.annotation.impl.FieldAnnotationReaderFactory"/> + <component class="org.seasar.dxo.annotation.impl.AnnotationReaderFactoryImpl"/> </components>
s2dxo.diconとDxoMetaDataFactoryImpl.javaの修正はコンパイルエラーを 取っただけなので本質じゃない。 BeanConverter.getValueを少し直した。 毎回Listを生成しているあたり効率が悪そうなんだけど、 とりあえずこれで先ほどのテストケースは通った。
2006年06月27日 [長年日記]
_ [Maven] maven2で特定のクラスだけテストする。
Eclipseではテストに成功するけど、maven2だとテストに失敗してしまう。 そんな現象が起こったのでいろいろ調査していたんですが。
そんな調査のときに、テストするたびに全部のクラスのテストが走っちゃってうざったい、って問題があったのでどうにかできないか調べてみました。
maven2のサイトの中のドキュメントが探しづらくて苦労したんですが、ここによると、以下のようにするとよいとのことでした。
mvn test -Dtest=HogeTest
説明を見ると、
The Ant pattern will be used to create an include pattern formatted like **/${test}.java
ってあるので、パッケージ名の指定はしなくてよさそうです。
あ、こんなことばかりしていたんで、もともとの問題は解決していませんorz
_ tar ballの公開を中止しました。
こちらでで、公開しているソフトのうち、Subversionで管理しているソースをそのまま公開してたんですが。 こいつのtar ballのダウンロード機能が悪さをしてディスクがいっぱいになっちゃっていました。tar.gzを作るときに、tempにファイルを生成しているんですが、これを消してくれないようなのです。
cronで定期的に消そうとか、WebSVNをハックしてtempにごみが残らないようにしようとか、ちょっと考えてみたんですが。
結局、tar ballのダウンロード機能を停止しちゃいました。 ソース一式はこっちのサイトで普通にダウンロードできるし問題ないでしょう、ということで。
もし、欲しいソースがSubversion側にしかなくて、一式ダウンロードが面倒って人がいましたら(いねぇよ!)、ご一報くださいませ。
_ mikiofuku [2台の同期は気をつけてくださいね。私のところではこういう現象が起きました。ttp://d.hatena.ne.jp/..]
_ ももたろ [>mikiofukuさん > ttp://d.hatena.ne.jp/mikiofuku/20060517 うわ..]