モダンなSIをやりたいなら今すぐGxPに行くべき

さて、突然ですが2012年3月末をもちまして丸々4年間お世話になったグロースエクスパートナーズ株式会社(GxP)を退職します。

転職するにあたり色々な会社を見ていくうちにいままで見えていなかったGxPという会社が見えてきて結構いい会社だよなあ、と改めて感じたので思い出がてら簡単にご紹介します。結論から言うと

今風にSIやりたいならGxP一択しかないよ!

ということです。

続きを読む

ソーシャル転職 vs エージェント転職

昨年末あたりから自身のキャリアについて考えなおし転職を意識するようになり、ソーシャル転職よろしく、知り合いのいる会社に遊びに行ったり、勉強会で情報交換したり、近しい方々に相談してたりしたのですが、エージェントによる客観的な評価や、ソーシャル転職だと見えてこない業界もあるだろうとの考えから転職エージェントに相談に行ってみました。

続きを読む

AWS Elastic Beanstalkでめちゃくちゃ簡単に継続的デリバリーを実践する方法

みなさんAWS Elastic Beanstalk使ってますか。サーバーのセットアップをすることなくサクっとWebアプリケーションをデプロイして試せるのはとてつもなく便利ですよね。とは言えAWS Management Consoleからデプロイしようものなら@digitalsoul0124に

「えーっ、手動デプロイが許されるのは小学生までだよねー(笑)」

とディスられること間違いなしです。

継続的デリバリーを行うのであればCIサーバーからボタン1つでデプロイしたいですよね。今回はその方法をご紹介します。

続きを読む

継続的デリバリーのためのJNDI

最近流行りの継続的デリバリー(Continuous Delivery)のプラクティスの1つに

バイナリは一度だけビルドする

というものがあります。

テストがちゃんと通ったバイナリをそのまま本番環境にリリースしましょうね、というプラクティスです。たぶん。 このプラクティスを実践しようとすると、Mavenで環境ごとのプロファイル切り替えてビルドするのはNGということになります。よくあるのがデータベースへの接続情報ですね。今まではこのように書いていました。

<profile>
	<id>development</id>
	<activation>
		<activeByDefault>true</activeByDefault>
	</activation>

	<properties>
		<javax.persistence.jdbc.driver>org.h2.Driver</javax.persistence.jdbc.driver>
		<javax.persistence.jdbc.url>jdbc:h2:mem:development</javax.persistence.jdbc.url>
		<javax.persistence.jdbc.user />
		<javax.persistence.jdbc.password />
	</properties>
</profile>
<profile>
	<id>production</id>
	<properties>
		<!-- productionではテストをスキップする -->
		<maven.test.skip>true</maven.test.skip>

		<javax.persistence.jdbc.driver>com.mysql.jdbc.Driver</javax.persistence.jdbc.driver>
		<javax.persistence.jdbc.url>jdbc:mysql://localhost/production</javax.persistence.jdbc.url>
		<javax.persistence.jdbc.user />
		<javax.persistence.jdbc.password />
	</properties>
</profile>

リリース用プロファイル(production)はmaven.test.skipをtrueにして本番のデータベースでテストを動かさないようにしています。 これらの情報をバイナリの外に出すにはどうしたらよいでしょうか?前置きが長くなりましたが、今回はJavaでお馴染みのJNDIを使って解決する方法をご紹介します。
続きを読む

意外と知らない?Mavenで安全にパスワードを保存する方法

さて、前回エントリでは様々なリポジトリにアクセスするのですが、その度にユーザー名とパスワードを入力するのは面倒ですよね。入力間違えてビルド失敗とか目も当てられない・・・!

settings.xmlに直接ユーザー名とパスワードを保存する方法もあるのですが、リポジトリの設定などをsettings.xmlで共有する可能性も考えると直接記述するのはセキュリティ的に心配です。

そこで今回はあまり知られていない?Mavenで安全にパスワードを保存しておく方法を紹介します。

続きを読む

APTで楽しく遊ぶ3つの方法

@t_yano が2011年のAdvent Calendarで書いていたAPT(Annotation Processing Tool)の話題に触発され、最近よくAPTで遊んでおります。

APTとは簡単に言うとアノテーション付きのコードを元に、自動的にコードを生成してくれる仕組みのことです。JPAのMetamodelやSeasarのDomaでDAOの生成に使われていたりします。

でもAPT使ったプロジェクトってデバッグがすげー面倒なんですよ。そのままだとEclipseはコード生成してくれないし、生成されたコードのテストもよくわからんし。

なので、今回はEclipseでAPTをラクラクに遊ぶ方法をご紹介します。

続きを読む

ブログ始めました

過去に何度も三日坊主が続いていたブログをまたもや始めてみました。どうぞどうぞよろしくお願いします。

技術的なネタも溜まってきて「ブログとかにまとまれば役に立つ人もいるかなあ」と思うところありの再開です。主にはテクニカルな小ネタからGitHubにpushしたものの解説などを書いていければと思っております。