タグ

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

  • HttpServletRequest#getRemoteAddr()とIPv6 その4 - Kazzz's diary

    ローカルホスト上でIE7からTomcatにリクエストを投げるとIPv6で解決されたアドレスが使われるため、該当のメソッドで"::1"というアドレスが戻ることが判明したのは前回書いた通りだ。 IPv6が使われているコールスタック new Inet6Address() [ネイティブ・メソッド ] PlainSocketImpl.socketAccept(SocketImpl) SocksSocketImpl(PlainSocketImpl).accept(SocketImpl) ServerSocket.implAccept(Socket) ServerSocket.accept() JavaIPv6対応に関してだが、JSDK1.4の時点ですでに問題が発生することを認識しており、IPv4とIPv6それぞれのスタックの優先度を切り替えるシステムプロパティを用意している。 IPv6 関連のシステ

    HttpServletRequest#getRemoteAddr()とIPv6 その4 - Kazzz's diary
  • 同期&待機 - Kazzz's diary

    先日書いたエントリで、Androidのユーザインタフェースはシングルスレッドモデルを使用しており、UIスレッド以外のスレッドでウイジェット(GUI)を操作することは禁止されていることと、その回避策を書いた。 Instrumentationによるユニットテストでは直接ビューを触ってはいけない この例では単にUIスレッドと同期させておしまいにしたのだが、更に困ったことが発生する。 マルチスレッドで処理を書いたことのあるプログラマであれば、既に気がついていると思うのだが、この場合、 UIスレッド上での処理はHandler、ひいてはLooper上でディスパッチされてから処理されるため、処理を依頼した側(この例ではInstrumentationスレッド)からは終了を知ることができない。 つまりユニットテスト中で activity.runOnUiThread(new Runnable(){ @Over

    同期&待機 - Kazzz's diary
  • Rails 2.2.2でページネーション - Kazzz's diary

    既出だが、Rails1.xでは標準だったページネーション機能が2.0以降は省かれているため、Railsのプラグインとして別途導入する必要がある。 Home - mislav-will_paginate - GitHub Rails 1.2相当のpaginateはclassic_paginateだが、今更古いバージョンを使うこともないので、最初からこれを使う。 導入 Downloads for mislav's will_paginate - GitHubから、最新版(今回はv2.3.7)をダウンロード 巷ではwill_paginateはGitHubに移行したのと同時にgem形式での配布に変わったはずなんだが、ダウンロードしたアーカイブはどう見てもgem形式ではない。 Wiki(Installation - will_paginate - GitHub)を見てみると通常は下記のようにGitH

  • 1