タグ

ブックマーク / kazzz.hatenablog.com (13)

  • Helios(Eclipse 3.6.1) + ADT 8.x以降でコンテンツアシストが異常に遅い(Bug 329288) - Kazzz's diary

    最近になってからだと思うのだが、Eclipseでコーディングしているとコンテンツアシストの候補表示に異常に時間がかかる。 最初は他の諸々でメモリ消費してっからなぁとか、Androidのエミュレータはリソースバカいだからなぁとか、自分に言い聞かせて我慢していたのだが、いい加減我慢できなくなって調べてみたらEclipse(JDT)の既知のバグだった。 Code Assist still Slow - Android Developers | Google グループ Bug 329288 - Fetching parameter names literally hangs on a class with a lot of methods 上のリンクからダウンロードできるプラグイン(org.eclipse.jdt.core_3.6.1.v_A68_R36x.jar)を上書きすることで、症状は劇的

    Helios(Eclipse 3.6.1) + ADT 8.x以降でコンテンツアシストが異常に遅い(Bug 329288) - Kazzz's diary
  • モーダルダイアログが欲しい (その2) - Kazzz's diary

    いろいろと考えたが、モーダルダイアログと近似した振る舞いのダイアログとするのはよいが、Androidの場合UIスレッドを止めるのは御法度なので、来の意味のモーダルは実現できない。なのでAsyncTask等を使用して他のスレッドを使用している場合を想定し、そのスレッドの処理をブロックするスレッドモーダル(造語)を実現することにする。 実現するには以下の仕組みが必要だ。 1. ダイアログが閉じたことを関知する仕組み 2. ダイアログが閉じるまで処理スレッドをブロックする仕組み 1.に関しては、DialogクラスはOnDismissListenerという、ダイアログが閉じられた際に割り込むためのリスナがあるので、これで監視できる。2.に関しては、OnDismissListener#onDismissが発生した時点をダイアログ表示の完了として、それまでを待ち合せる処理が書ければ良い。ただし、気を

    モーダルダイアログが欲しい (その2) - Kazzz's diary
  • Instrumentationによるユニットテストでは直接ビューを触ってはいけない - Kazzz's diary

    ActivityInstrumentationTestCase2クラスなどを使用してActivityをテストする際に、うっかりテスト中で Button button = (Button)activity.findViewById(R.id.Button01); button.performClick(); などと書いてしまうと android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. at android.view.ViewRoot.checkThread(ViewRoot.java:2683) at android.view.ViewRoot.playSoundEffect(ViewRoo

    Instrumentationによるユニットテストでは直接ビューを触ってはいけない - Kazzz's diary
  • Yogesh Jagota氏恐るべし - Kazzz's diary

    Excel Xml Library 3.35 released - Yogesh Jagota's Personal BlogYogesh Jagota's Personal Blog codeproject A Very Easy to Use Excel XML Import-Export Library. まだソースコードを見始めた所だが、恐らくはXMLSSフォーマットを利用した実装だろう。(XMLSS.NETがベースか?) XMLSSを外部から取り込むことは無論のこと、作成したExcelのオブジェクトからXMLSSにエクスポートもできる。XMLへのパースにDOMではなくXMLReader/XMLWriterを使用していることから、実行時の性能も含めて非常に期待できそう。 実際に使ってみないと解らないが、codeprojectの記事のFeaturesを読んだ段階でもう宣言してしまおう

    Yogesh Jagota氏恐るべし - Kazzz's diary
  • プラットホームMBeanサーバと独自MXBean - Kazzz's diary

    Java6より、インタフェースとアノテーションによってMXBeanは非常に簡単に作れるようになった。 例えば私が実際に作っている「コードベース及びソケットのリスンポートを返すMXBean」は、以下のようにインタフェースにMXBeanアノテーションを付加することで定義される。 @MXBean public interface ICodeBaseAgent { String getCodeBase(); int getListenPort(); } 実際にこのMXBeanを公開するには、このインタフェースを実装するJavabeansクラスを用意して、MBeanサーバに登録するだけでよい。(実際にはRMIローカルレジストリが起動されている必要があるが、割愛) //MBeanサーバの起動又は取得 //server = MBeanServerFactory.createMBeanServer();

    プラットホームMBeanサーバと独自MXBean - Kazzz's diary
  • SIerのフレームワーク - Kazzz's diary

    最近うんざりしているのは、自ら作った(or用意した)フレームワークを案件にバーターしてくるSIerがいることだ。 SIerから仕事を請けているソフトウェアハウスの多くは、コンペで低く抑えられた発注金額や単価を生産性や熟練度でカバーするために自社又はOSSのフレームワークを採用することが多いのだが、プラットホームやミドルウェアならまだしもフレームワークまで押し付けられると、こういった目論見がパーになるのである。 SIerのフレームワークといっても、ソースを見ると大抵はOSSのフレームワークを拡張しただけの設計であり、それにオーサリングツールとEclipseプラグインを組合せた構成なので、結局は使う開発環境やツールまでロックインされており、お世辞にも快適とは言えない場合が多い。その癖エンドユーザからはちゃっかりとフレームワークのライセンスフィーを頂いていることが多く(ユーザ向けにはパッケージ扱

    SIerのフレームワーク - Kazzz's diary
    Horiuchi_H
    Horiuchi_H 2008/03/03
    こういうオレオレ フレームワークは駆逐できないものでしょうか?まだ、素のパッケージ使わせてくれれば使いやすいのに。。。
  • Apache TCPMon - Kazzz's diary

    Apache TCPMon Java環境で使う、Apache Axisに添付されていたTCPMonというHTTPスニファだが、知らないうちに単独で公開されていた。 バイナリでもダウンロードできるので、JRE環境があれば使えるという気軽さ。 Index of /dist/ws/commons/tcpmon/1_0 今まではサーバベンダが用意していたこいつの派生物を使っていたのだが、Windows VistaではAeroが縮退する問題が出るのでとっとと乗り換えよう。

    Apache TCPMon - Kazzz's diary
  • |[亜-鄢] - Kazzz's diary

    語を検索する場合に使う正規表現。Shift_JISの範囲であればまずこれで足りる。

    |[亜-鄢] - Kazzz's diary
  • 良いことばかりとは限らない - Kazzz's diary

    先日Tomcat6系は良いと書いたが、良いことばかりでは無かった。 拙作のフレームワークはLog4jをラップしたロガーからログを吐いているのだが、その内DEBUGレベルで出力したログ、Tomcatのスレッド経由で生成、実行されているクラスから出力された分がConsoleAppenderに(つまりstdout)全く出力、表示されないのである。 Tomcat5.5ではデフォルトでCommons Loggingを使用していたのが、Tomcat6ではjava.util.logging経由で出力するように変更されたのと関係していると思われるがまだ解らない。 追記: どうやら従来通りの使い方をするためにはTomcatをビルドする必要があるようだantを使って追加ビルドを行う必要があるようだ。 Apache Tomcat 6.0 - Logging in Tomcat 面倒くせー。

    良いことばかりとは限らない - Kazzz's diary
    Horiuchi_H
    Horiuchi_H 2007/03/15
    Tomcat6で、Commons Loggingを使うためには
  • バイオリン奏者と詐欺師(Fiddler)

    各所で紹介されているので今更だが、最近お気に入りなのが"Fiddler"という名の、.NETで書かれたWindowsプラットホーム(というかWinINET)専用のHTTPモニタ/デバッガだ。 Fiddler HTTP Debugging Proxy 他のよくあるHTTP-Snifferと違い、IEのプロキシ設定を頼りに動くので面倒な設定はいらないし、IEで行っているHTTP通信ほぼ全てをリアルタイムでトレースして、内容をいろいろな形式(ヘッダ、ツリー、テキスト、16進、等)でデコードしてチェックすることができる。また、GZipエンコードされた圧縮データをデコードしてみることもできるのだ。(.NET2.0ベースとなったFiddler2.0ではHTTPSで暗号化された電文にも対応するようだ) 軽快に動くしこれだけでも非常に有用なツールなのだが、Fiddlerが非凡なのはHTTPクライアントとし

    バイオリン奏者と詐欺師(Fiddler)
    Horiuchi_H
    Horiuchi_H 2007/02/04
    Fiddler(HTTP sniffer)の使い方
  • Internet Explorer Developer Toolbar - Kazzz's diary

    入海さんの日記より Internet Explorer Developer Toolbar これは凄い。似たものは他にも知っているが、これだけ強力なものは見たことがなかった。 中央のウインドウでは、書き換え可能なCSSのプロパティを動的に、一時的に変更することもできたりするのね。 ダウンロードはInternet Explorer Developer Toolbarより。

    Internet Explorer Developer Toolbar - Kazzz's diary
    Horiuchi_H
    Horiuchi_H 2006/09/08
    書き換え可能なCSSのプロパティを動的に、一時的に変更することもできたりするのね。
  • log4netの初期化のタイミング - Kazzz's diary

    static Log4netLoggerPeer() { //デフォルトではlog4net.configファイルを探す FileInfo info = new FileInfo("log4net.config"); if ( info == null || ! info.Exists ) //log4net.configファィルが無い場合はApp.configで設定を試みる info = new FileInfo(SystemInfo.EntryAssemblyLocation + ".config"); DOMConfigurator.Configure(LogManager.GetLoggerRepository(), info); } 呼び出し側のコンテキストで初期化されるのは嫌なのでこんな感じでクラスのスタティックコンストラクタで初期化するってのはどうでしょうか。 (※設定ファイル

    log4netの初期化のタイミング - Kazzz's diary
  • Log4netのFileAppenderでFile(ファイル名)を動的に変更する - Kazzz's diary

    やってみたら出来たので書いておく。 Log4netの設定ファイル(log4net.configなど)に、以下のようなアペンダ定義があったとしよう。 100KBを境にファイル"MyApp.Log"をローリングするRollingFileAppenderの設定だ。 これをテンプレートにして、アペンダの記述を変えずに、出力されるログファイルを実行アセンブリのアセンブリ名にしたい。つまりは、全てのアプリケーションで共通なアペンダ定義を使い、それでいてログのファイル名はアプリケーションごとに勝手に変わって欲しいわけだ。 このような場合はLog4netの初期化の後などに、以下のようなコードを用意すればよい。 //初期化が済んでいないとリポジトリは空のままなので注意 XmlConfigurator.Configure(LogManager.GetRepository(), 〜); Assembly ent

    Log4netのFileAppenderでFile(ファイル名)を動的に変更する - Kazzz's diary
    Horiuchi_H
    Horiuchi_H 2006/07/11
    問題は、差し替えるタイミングかな?log4jだと起動タイミングが分かりやすいんだけどなぁ。
  • 1