Android標準ホームアプリ(Launcher2)のパッケージを変更してビルドしてみた

備忘録エントリ。 Android標準ホームアプリ(Launcher2)のパッケージを変更してビルドしてみたので手順をメモしておく。環境は、Mac OS X 10.7(Lion)、Android 3.2。 1.SDKのビルド http://d.hatena.ne.jp/learn/20120111/p1 の手順でSDKのビルドを行う。 2.…

Android 3.2 SDK をMac(OS X 10.7 Lion)でビルドする手順

備忘録エントリ。 Android 3.2のSDKをLionでビルドしたので手順をメモしておく。 基本的には、公式ドキュメントの以下の手順に従えばよい。 手順ではSnow Leopard使えとか、MacPorts使うようになっているが、その辺りは変えている。 http://source.android.c…

外部からAndroidエミュレータへTCPまたはUDPで通信する方法

備忘録エントリ。 Androidエミュレータは内部的に仮想ルータが動作することにより、ホストマシン(エミュレータが動作しているマシン)のネットワークとは別に、10.0.2.0/24のネットワークで動作している。このため、外部からエミュレータへの通信をするにはち…

64bit Windows 上で 32bit アプリケーションから 64bit アプリケーションを実行する方法

64bit版のWindowsでは、32bitアプリケーションを動作させるために、ファイルシステムリダイレクタという仕組みが使用されている。詳細は、File System Redirector - Windows applications | Microsoft Docs 等に記述されているが、簡単にいうと、以下のよう…

apacheで複数のバーチャルホストでSSLキーのパスフレーズが異なる場合のSSLPassPhraseDialogの書き方

備忘録エントリ。 apache起動時にSSL秘密鍵のパスフレーズを自動入力させるには、SSLPassPhraseDialog ディレクティブを使えばいいが、複数のSSLのバーチャルホストをたてて、かつそれぞれの秘密鍵のパスフレーズが異なる場合、SSLPassPhraseDialog はバーチ…

TomcatでHTTPメソッドを制限する設定方法

忘れがちになるので、自分用にメモ。 TomcatでHTTPメソッドを制限する設定方法は以下の通り。$CATALINA_HOME/conf/web.xml に以下の設定を入れる。には拒否したいメソッドを列挙する。下記例はすべてのURLについてGETとPOST以外を拒否する場合の設定。 <security-constraint> <web-resource-collection> <web-resource-name>hoge</web-resource-name></web-resource-collection></security-constraint>…

TomcatとOracle間のコネクションプーリングに関するトラブルシューティング

Tomcatでコネクションプーリングを使用していて、Tomcat Oracle間の接続がFINやRSTパケットによる通知なしに切られた場合、プールしている接続が実際には死んでいる状態が発生する。例えば、以下のような場合に発生する。 APサーバー DBサーバー間のFirewall…

SQL組み立て時に条件によってWHERE句が変化する場合のTips

SQLをプログラムで組み立てて実行するときで、条件によってWHERE句が変化する場合、ANDがつくかどうかでとても煩雑なコードになることがある。 以下の例のような感じだ。 StringBuilder sql = new StringBuilder(); sql.append("SELECT xxx, ... FROM xxx");…

log4j の appender がないと言われる警告を出さなくする

備忘録。 log4jを使用していて、以下のような警告が出ることがある。 log4j:WARN No appenders could be found for logger (xxx.xxx.xxx.Xxx). log4j:WARN Please initialize the log4j system properly.これはログ出力処理を行うクラスに対して、log4jの設…

続 SAStrutsをStruts形式のURLでも動くようにする

前回エントリの続き。 S2ModuleConfigを継承して、もう少しコードを整理してみる。まずはFilter 2009/10/6 追記 前回エントリの修正に合わせて修正しました。 public class MyRoutingFilter extends RoutingFilter { public static final String INCLUDE_PAT…

SAStrutsをStruts形式のURLでも動くようにする

SAStrutsではURLがきれいなURLになっている。これは今時必須の機能だと思うが、既存のシステムをStrutsからSAStrutsに置き換えるような場合は、既存のURLを変更しにくいことも多いと思う。 社内システム等閉じた範囲で使用するシステムであれば、URL変更の調…

HOT deployでのClassCastException対策その2

現時点(Seasar2.4.34まで)のHOT deployでは、HttpSessionを直接使用して、リクエストをまたいでHttpSessionに格納されたオブジェクトを取得してキャストすると、ClassCastExceptionが発生する。例.XxxAction#indexでセッションにXxxDtoを格納して、XxxAction…

システム日付を変更する方法

システムテスト等で、システム日付を任意に設定したいことはよくあると思う。でも、テストサーバーのOSの日付を変更するのは、なかなか難しいことが多い。ファイルのタイムスタンプがぐちゃぐちゃになって管理上問題になるだけでなく、アプリケーションで問…

HOT deployでのClassCastException対策

Seasar2.4.xのHOT deployでは、filterやutil、entityといったのようなSMART deploy対象外のクラスから、actionやservice、dao、dtoといったSMART deploy対象のクラスを参照すると、ClassCastExceptionが発生する。この対策を考えてみた。 ちなみに、COOL dep…

Actionの共通処理をどこに実装するか?

Struts(1.2.x以下)からSAStrutsへの置き換えをするときに、Actionの共通前処理をどこに実装するかで迷った。 ここで言う共通前処理とは、個々のActionを実行する前に共通で実行したいような処理のこと。 Strutsでは、org.apache.struts.actions.DispatchActi…

Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ

GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行…

ブレードサーバーに触れる

ブレードサーバーに初めて触れた。 HPのc3000エンクロージャとProLiant BL460cというブレードサーバー。 HPの普通のサーバーの構築は何度もやっているがブレードは初めてで、セットアップにいきなりつまった。 KVMコンソール(キーボード、ディスプレイ出力…

Oracle Master Bronze Oracle Database 10g

約6年ぶりにOracle Master試験を受験しました。 前回受験したのはOracle 8i時代のSilverでした。 それは合格しましたが、それ以降受験せずにいる間に資格制度がどんどん変わっていき、今ではSilver FellowというBronzeよりも下位の資格になってしまっていま…

きれいなURL

SAStrutsやCubbyのようにきれいなURLを実現したい。 URLとコントローラクラスとのマッピングはこんな感じ。 コントローラクラスは XxxActionという命名規約にする。 / -> IndexAction#index /member -> MemberAction#index /member/ -> MemberAction#index /…

フロントコントローラはServlet? Filter?

フロントコントローラにServlet、Filterのどちらを使用するかで悩む。 Struts時代であれば、Servletが主流(というかFilterはまだなかったかな)だったが、 今はSAStrutsにしてもStruts2にしてもCubbyにしてもFilterを使っている。 Filterを採用するのにはそ…

勉強のためフレームワークを作ってみる

最近、SeasarのSAStrutsやCubbyに心ひかれる。 まだ、実際に使用してみてはいないのだが、チュートリアルとかコードとか見てると 自分でも久々にフレームワークを書いてみたくなってきた。 以前に仕事でトランザクション、DBアクセス周りの簡単なフレームワ…

LenovoがIBMのパーソナル・コンピューター事業を買収

http://pc.watch.impress.co.jp/docs/2004/1208/ibm.htm (PC Watch)ちょっと前から話は出てましたが事実でしたか、、、 日本のThinkPadブランドは継続されるようでとりあえず、ほっ

httpsサービスチェック方法

恥ずかしながら今まで、https サービスの簡単なヘルスチェック方法を知らず、 自動監視はポート監視で代替したり、手動チェックはtelnet でポートが開いてることだけの確認で終わってたりしていました。で、SSL 通信のチェックまでしたい場合は別途プログラ…

プログラマのためのセキュリティ対策テクニック

http://www.microsoft.com/japan/msdn/net/security/securecode/ (原著:WRITING SECURE CODE)購入なかなかおもしろそうな本。 あんまし、今までこういうのなかったと思うし。 でも、時間がなくてまだ読めず。。。「WRITING SOLID CODE」も気になる。

弱性発見から対処法公開までのルールを明確化〜IPA、研究会報告で提言

http://internet.watch.impress.co.jp/cda/news/2004/04/06/2689.html (Internet Watch)昨日も書いたやつ。 とりあえず、45日とは言ってないそうな。

SSLアクセラレータ

仕事の話。 間違いやすいけど、SSLアクセラレータってのは、 あくまで単位時間に処理できるSSLセッション数が多いだけで 1SSLセッションの処理が速くなるわけではないのです。 つまり、それなりに高負荷にならないと、メリットは享受できない?

経産省、ソフトの欠陥修正に「45日ルール」

http://www.nikkei.co.jp/news/keizai/20040405AT1F0400904042004.html (NIKKEI NET)えーっと、本気ですか?

米Microsoftと米Sun、歴史的な和解により“敵"から提携関係へ

http://internet.watch.impress.co.jp/cda/news/2004/04/05/2666.html (Internet Watch)うーん、SEなんてもんをやってる身としてはどうなんだろう。 素直に喜んでいいんだろうか、、、

SQL Server 2000 Reporting Services

BI

「SQL Server 2000 Reporting Services」というものがMicrosoftから出ている。 どんなものか具体的にはわからないが、「SQL Server 2000」のライセンスがあれば、追加ライセンス不要というのは大きいと思う。 ひょっとすると、仕事で使えるのではないかとち…