EC2のWindowsインスタンスの起動時にElastic IPアドレスを設定する

EC2で起動中のインスタンスに割り当てられるパブリックIPアドレスは、起動するたびに異なります。IPアドレスを固定するためにはElastic IPアドレスという機能で固定のパブリックIPアドレスを取得し、インスタンスにそのIPアドレスを設定します。また、IPアド…

GroovyでXML-RPCを使う

以前、GroovyでXMLRPC経由でConfluenceのAPIにアクセスする方法について、以下のエントリを書きました。その際はXMLRPCのライブラリ追加方法には触れませんでしたが、GROOVY_HOMEのlibにjarを放り込んでいました。今回、Grapeという依存ライブラリ管理ツール…

EC2のWindowsインスタンスを使う

数年前から社内のサーバはVMware ESXiに集約するようにして、台数が減ってだいぶ楽になったとはいえ、物理サーバのお守りは極力やりたくないのが正直なところです。ということで、今回の震災を契機に社内業務で使っているWindowsサーバもEC2に移行できないか…

EC2 API Toolsのインストール

EC2をコマンドラインで管理するためのEC2 API Toolsのインストール手順のメモです。 事前準備 AWSのサイトでX.509 証明書を取得しておきます。 cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem Windows Javaについては…

Maven2プロジェクトのビルドが失敗する

いつの間にかMaven2プロジェクトのビルドが、以下のエラーで失敗するようになっていました。Jenkins ver. 1.400にて。 ERROR: A Maven installation needs to be available for this project to be built. Either your server has no Maven installations de…

S3Sync.rbでS3にファイルをバックアップする

震災の影響で突発的な停電の可能性もありAmazon S3へのバックアップ環境を構築しました。S3にローカルファイルをアップロードするプログラムはいくつかありますが、オープンソースのもの中心にいくつか試してみた限りは以下がよさそうです。 S3Sync.rb s3fs …

最近読んだ本(Javaルールブック, 小さいおうち)

Javaルールブック Javaルールブック ?読みやすく効率的なコードの原則作者: 大谷晋平,米林正明,片山暁雄,横田健彦,電通国際情報サービス出版社/メーカー: 技術評論社発売日: 2011/02/15メディア: 単行本(ソフトカバー)購入: 4人 クリック: 159回この商品を…

震災の日のこと

すでに東北関東大震災から十日以上が経ちました。幸い私はほとんど被害はうけていないのですが、忘れないうちに震災の日のことをメモしておこうと思います。 地震発生当時、私は都内のオフィスビルの2階にある勤務先にいました。低層階だったためか、揺れて…

最近読んだ本(大規模サービス技術入門, Java: The Good Parts)

大規模サービス技術入門 [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)作者: 伊藤直也,田中慎司出版社/メーカー: 技術評論社発売日: 2010/07/07メディア: 単行本(ソフトカバー)購…

JavaからWindowsのレジストリにアクセスするライブラリ

JavaからWindowsのレジストリにアクセスするライブラリについて調査したのでまとめておきます。いくつかのライブラリがありますが、基本的にはJNI経由でWin32 APIを呼び出しています。 Roxes Win32 for Java (Orangevolt Ant Tasksの一部) JRegistry SWT(Ecl…

Build Number Maven Pluginを使う

Build Number Maven Pluginを使うと、pom.xmlでプロパティとしてSCMのリビジョン番号${buildNumber}を使用できるようになります。 前提 内部的にsvnコマンドを実行するのでsubversionのバイナリがインストールされている必要があります。TortoiseSVN不可です…

Androidマーケットのオライリーのebookを読んでみる

Apps by O'Reilly Media - Android Market Androidマーケットにはオライリーのebook(英語版)が登録されていて、しかもかなりのタイトル数がそろっています。しかも、多くのタイトルが$5です。試しに『97 Things Prog. Should Know』を読んでみました。こうい…

NSISでx64対応のインストーラを作成する

NSIS(Nullsoft Scriptable Install System)は、オープンソースのインストーラ作成環境で、独自のスクリプト言語で作成したスクリプトをコンパイルしてWindows用インストーラを作成することができます。Tomcatなどオープンソースソフトウェアのインストーラで…

MavenでWindows(x86 or x86_64)によってプロファイルを切り替える

具体的には、GUIにSWTを使っているJavaのデスクトップアプリケーションで、プラッtフォームによってSWTのjarを変更したいというシチュエーションです。SWTのjarファイルには、それぞれのプラットフォーム用のDLL(Windowsの場合)が含まれているので、x86 or x…

最近読んだ本 (Exit 売却, プロになるためのWeb技術入門, 日本経済「余命3年」,神々の山嶺)

Exit 売却 EXIT 売却作者: 奈部真,勝間和代出版社/メーカー: マガジンハウス発売日: 2010/05/27メディア: 単行本 クリック: 16回この商品を含むブログ (14件) を見る 勝間和代さん原案の小説。経済小説なのでハゲタカのイメージを持って読み始めると、ノリが…

Galaxy S(SC-02B)のGPS

追加: Android 2.3.3でのGalaxy SのGPS 私のGalaxy SもGPSは正常に位置を検出できないことがあります。当初は正常に動作していたのですが、いつの間にか不調になりました。その後、ネットの情報を参考に設定変更を試してみたところ改善したように見えますが…

64bitバージョンのWindowsで32bitプログラムが作成したレジストリのリダイレクト

64bitバージョンのWindowsでは、システムフォルダにSystem32とSysWOW64があるのと同様に、(特定の)レジストリについても32bitアプリケーションからのアクセスに対しては、32bit用のキーが存在してそちらにリダイレクトされるようです。レジストリにアクセス…

Galaxy SでWifiテザリング

いままでXperiaを使用していたのですが、ポケットに入れたまま洗濯してしまい、、Galaxy S(SC-02B)の白ロムを入手して1週間くらいまえから使い始めました。GDD PhoneからXperiaに移行したときも、Xperiaの快適さや液晶のキレイさに感動したのですが、Galaxy…

HgSubversionでMercurialとSubversionを連携させる

私の会社ではSubversionを使っているので、まずHgSubversionを導入してローカルのみMecurialを試してみることにしました。HgSubversionを使うと、SubversionのリポジトリをcloneしてローカルではMercurialで管理し、ローカルでの変更をSubversionにpushする…

nslookupで名前解決できるのにpingで名前解決できない

たまにタイトルのような状況が発生して困っています。ネットワークアダプタを一度無効にしたり、"ipconfig /renew"すると解消していたので放置していたのですが、少し調査したのでメモをしておきます。環境依存なので誰にでも役立つ情報ではないかもしれませ…

Atlassian Crowdのインストール

社内の開発サーバにAtlassian Crowdをインストールしました。CrowdはJIRAやConfluenceなどと連携して認証やアクセス権限を統一的に管理したり、SSO(シングルサインオン)の機能を提供するソフトウェアです。いままではJIRAとConflueceの認証は共通にしていま…

extjsのComboBoxで選択を解除する

extjsのComboBoxで、いったんドロップダウンリストから項目を選択したあとで、未選択の状態に戻す方法がわからなかったので調べてみました。私が探した限り、、ComboBoxのconfigオプションではそういう指定はなさそうですが、以下のような回避策?がありそう…

ImageBundleがDeprecatedになっていた

GWT

2.0の時点ですでにImageBundleはDeprecatedですが、代わりにClientBundleを使うことが推奨されています。 このImageBundleは、、 public interface MyResources extends ImageBundle { public static final MyResources ICON = GWT.create(MyResources.class…

extjsからJerseyのRESTfulサービスを利用するサンプル

extjsからJAX-RS(Jersey)のRESTfulサービスを利用するサンプルをappengineにディプロイしています。extjsの方はほとんどサンプルそのままです。JsonStoreの生成時に"restful: true"という設定を追加するだけでRESTfulなサービスを利用可能で便利です。 JAX-R…

Google AppengineにJerseyをディプロイしたときのspin-up

現代はjerseyを見失った時代だ - you know something? | Use it for myself. こちらのサイトに書かれているとおりで、Google appengineにJerseyを使ったアプリケーションをディプロイすると、インスタンスの起動に結構時間がかかります。時間を短縮すること…

extjsのJsonWriterが送信するJSONのルート要素

extjsにはRESTfulなサービスを利用するための機能があり、簡単にJerseyと通信することができるのですが、examplesにあった以下のようなコードだと、 var reader = new Ext.data.JsonReader({ totalProperty: 'total', successProperty: 'success', idPropert…

Gridから複数の列をまとめて削除するとサーバに重複したリクエストが送信される

Problem with Restful grid & removing rows... 私はこの動作はちょっとおかしいと思うのですが。。 StoreのautoSaveがtrueになっている状態で、GridPanelで複数行選択して削除しようとすると、同じ行について複数回サーバにリクエストが送信されます。さら…

extjsのStoreでサーバに送信されるパラメータ名を変更する

extjsたまに使うとconfigオプションの書き方を忘れているので、積極的にメモしていこうと思います。 Storeでサーバ側でソートやページングする場合に送信されるクエリのパラメータ名はデフォルトで以下になっています。 データの開始位置: start 取得するデ…

Seleniumからextjsのコンポーネントを操作する

seleniumのテストから、extjsのコンポーネントを操作する場合に、divとかinputとかのHTMLのエレメントを直接操作(clickとかtypeとか)しても、ブラウザから手で操作したときと同じ動作にならないことがあります。例えば、GridPanelでの行の選択だと以下のよう…

JAX-RS (Jersey) でパラメータとして独自のクラスをインジェクトする (1)

@QueryParamアノテーションで、パラメータをインジェクトすることができますが(パラメータに含まれない場合はnullになる)、パラメータがあまりに多いとメソッドシグネチャが見にくくなり、値をBeanにコピーしたりするのも面倒です。このような場合には、、 @…

JerseyのJSONサポート

引き続きJerseyについて調査しています。JerseyでレスポンスとしてJavaのオブジェクトをJSONに変換する場合には、いくつか方法があります。 POJOを直接変換する JAXB経由で変換する JSONObjectを生成する Jersey 1.5 User Guide - Chapter 5. JSON Support …

JerseyとSeasar2を連携させる

前のエントリの続きです。 私はS2JDBCが使いやすいのでDIコンテナとしてSeasar2を使うことが多いです。Seasa2でRESTfulなサービスを提供する場合には、S2Axis2というプロダクトがあるようですが、将来性を考えJAX-RSを使ってみたいので、JerseyとSeasar2の連…

JAX-RS(Jersey)を使ってみる

JaveEE6に対応しているGlassfish 3.0を使う方が手っ取り早いとは思いますが、、サーブレットコンテナとしてTomcat6.0を使った環境でJAX-RSを使ってみます。 JAX-RSの実装としては、JavaによるRESTfulシステム構築では、Jersey, Apache CXF, JBoss RESTEasyな…

MavenでS2JDBC-Genを使う

S2JDBC-Genを使ってみました。S2JDBC-GenはエンティティのアノテーションからDDLを生成したり、RailsのMigrationのようにDDLを適用できたりと非常に便利です。ただ、S2JDBC-GenはAntタスクなので、Mavenプロジェクトの場合には、(Ant単体で実行しようとする…

Maven Antrun pluginを使う

S2JDBC-GenのAntタスクを実行するためにMaven Antrun Pluginを使いました。Maven Antrun plugin自体は、これまでも使っていたのですが、普段はMavenの特定のビルドフェーズでAntタスクを実行するために使っていたので、ビルドフェーズに関係なくAntタスクの…

[[MacBook Air 11インチ欲しい!]]

MacBook Air 11インチ欲しい!そろそろうちのMacBookもへたってきたので。。

Windowsのサービスとして実行しているTomcatのダンプファイルが作成される場所

実際に確認したことがなかったので試してみました。Windowsのサービスとして実行しているTomcatのJVMが落ちたとき、ダンプファイル(hs_err_pid****.log)はどこにできるのか?? → Tomcatフォルダ直下でした。通常java.exeを実行した際には、カレントディレ…

JSTLでプロパティが存在するかを取得する

ひさびさにJSPを使いました。javascriptでいうところのがundefinedかどうかを調べたいということです。例えばrequestスコープにuserというキーでオブジェクトが格納されている場合に、adminというプロパティが存在しないことがある場合には(あまりこういう…

mime-utilでファイルのMIME Typeを判別する

mime-utilというライブラリを使うと、ファイルの内容からMIME Typeを判別することができます。 MimeUtil.registerMimeDetector("eu.medsea.mimeutil.detector.MagicMimeMimeDetector"); Collection mimeTypes = MimeUtil.getMimeTypes("foo.pdf"); registerM…

GWTのloggingを使ってみる

GWT

Developer's Guide - Logging - Google Web Toolkit - Google Code GWT 2.1からクライアント側でjava.util.loggingパッケージのクラスが使えるようになってます。といっても私はあまり使ったことがないんですが。。クライアントでもこんな感じでログ出力が可…

JaspreReportsで作成したPDFファイルでセルから内容があふれてしまう場合の対応

JaspreReportsで作成したPDFファイルでセル(テキストフィールド)から、内容はあふれてしまうという現象があったので調査しました。 実際にここに貼り付けられるサンプルがないのですが、、英数字部分の改行位置がおかしくて1行分セルの高さが足りなくなっ…

GWT 2.1のActivityとPlaceのシーケンス

GWT

GWT MVP Development with Activities and PlacesのActivityとPlace周辺のシーケンスを簡単にまとめました。間違いあるかもしれませんが。 ドキュメントではMVPパターンの一部のように説明されていますが、実際のところMVPとは直接関係はなくって、Activity…

GIN (GWT INjection)を使ってみる

GWT

GIN(GWT INjection)は、GoogleのDIフレームワークであるGuiceのGWT版で、GWTのクライアントサイドで使用するためのものです。現在リリースされているバージョンはGuice2.0ベースです。 モジュールの定義方法はGuiceと同じですが、GWTゆえの制約があります。G…

GWT 2.1のMVP

GWT

GWT MVP Development with Activities and Places - Google Web Toolkit - Google Code GWT 2.1までのMVPパターンはフレームワークとしては提供されていませんでしたが(GWTPのような外部のフレームワークはありました)、2.1からはActvityとPlaceというクラス…

半年間b-mobileSIM U300を使った感想

GDD Phoneで使っていた日本通信のb-mobileSIM U300(6ヶ月使い放題)の有効期限が切れたので感想を書いておきたいと思います。b-mobileSIM U300は日本通信がドコモの回線を使用して提供する最大300kbpsのデータ通信サービス(が仕様できるSIM)です。ユーザー…

VMware ESXiが"Two filesystems with the same uuid have been deteccted"と表示されて起動しない

USBメモリからブートさせていたVMware ESXiが、ブート中にフリーズしてしまったり、動作が怪しかったりと調子が悪いので再インストールしたのですが、やはり正常にブートしなかったので、とりあえず内蔵のSATAドライブにインストールしました。しかし、再起…

GWTでDockLayoutPanelの表示が崩れる

GWT

DockLayoutPanelは、標準モード用なので、これを互換モード用のパネルに追加したりすると正常に表示されない。 DockLayoutPanel p = new DockLayoutPanel(Unit.EM); p.addNorth(new HTML("north"), 2); p.addSouth(new HTML("south"), 2); p.addEast(new HTM…

SQL Server 2008 ExpressEditionでのデータベースの"自動終了"オプション

SQL Serverにはデータベース毎に"自動終了"というオプションがあり([データベースのプロパティ] ([オプション] ページ))、自動終了を有効にしていると接続がなくなった時点で、データベースがシャットダウンされてリソースが解放されます。再度、接続がある…

ラジオボタンの状態保存

以前、ext.jsでcookieを使ってラジオボタンの選択状態を保存する機能を試してみたのですが正常に動作しないケースがありました。具体的には、フォームの他のボタンの選択などによって、ラジオボタンの表示切替やボタン個数が動的に変更されるようにしていた…

Kindleで英和辞書を使う

特に難しいことはなく、英辞郎●MOBI/Kindle(\1470)を購入して、USB接続でKindleにコピーするだけです。 Menuから"Change primary Dictionary"を選択すると、 一覧に英辞郎が表示されるので、これを選択します。 あとは、読書中にカーソルを持って行くと、上…