TIM Labs

troterによるエントリー一覧

みなさん仕事でPhantomJS使っていますか?僕は使っていません。でもそろそろ使ってみたいので、仕事でよく使うCentOSにPhantomJSをインストールする方法を調べてみました。

環境

今回はVirtualBoxes - Free VirtualBox® Imagesで公開されているCentOS-6.2のイメージを利用します。

PhantomJSをインストールする前に、あらかじめ次のコマンドでライブラリを更新と開発ツールのインストールを行います。依存関係などが面倒なので、開発ツールは全部インストールします。

sudo yum upgrade
sudo yum groupinstall 'Development tools' 'Additional Development'

問題

Mercurial 独特の概念として、マルチプルヘッドというものがあります。

@  2:d9ae2b51cade | head b
|  default
|
| o  1:8141de67f6ee | head a
|/   default
|
o  0:6af850d9f57f | initial commit
   default
図1. defaultブランチがマルチプルヘッド(先端(HEAD)が複数存在している状態)

マルチプルヘッドは hg merge でマージして一つのヘッドに統合してからpushするのがマナーですが、push -fで強制的にpushすることができてしまいます。

[troter:~/tmp/multiple-head]
% hg push
pushing to /home/troter/tmp/central
searching for changes
abort: push creates new remote head 8141de67f6ee!
(did you forget to merge? use push -f to force)
[troter:~/tmp/multiple-head]
% hg push -f
pushing to /home/troter/tmp/central
searching for changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files (+1 heads)
[troter:~/tmp/multiple-head]
%

何とか禁止することはできないでしょうか。。。

「Java SE 7 ってなんじゃらほい?」ということで、社内の勉強会で発表しました。

込み入ったことは省いて普通のプログラマがまず触るところ(文法とIO)を説明しています。
まだJava SE 7の正式リリース前ですが、Java SE 8が待ち遠しいですね!

mercurialでは一度おこなったコミットは基本的には取り消せません。ブランチを作成するためにもコミットが必要なため、gitのようにカジュアルにブランチのリネームを行う事ができません。ここではそんな中でも何とかブランチをリネームするための3つの方法を紹介したいと思います。

SAStrutsで複雑なレイアウトのHTMLを組み立てるときtiles:insert、tiles:putを利用していました。しかし次の問題点からtiles:putの利用を取りやめてしまいました。

  1. tiles:putにはaddが存在しない。
  2. tiles:putでキャプチャした文字列は、2段目以降のテンプレートで参照できない。

そこでこれらの問題を解決するために、Railsのcontent_forに似せたカスタムタグライブラリtags-captureを作りました。

mavenとclosure-compilerの統合方法はclosure-compilerのイシュートラッカーのIssue 37: Maven integrationで紹介されています。 ただ、ここで紹介されている方法は、リポジトリにコミットされているclosure-compilerのjarを呼び出す方法です。 なるべくjarをコミットしてたくないので、mavenの依存関係としてダウンロードされたjarを利用する方法について調べてみました。

テストしたい機能がデプロイされているかどうか確認するためにアプリのリビジョン番号を埋め込というのはよくある話です。

mavenでこの機能を実現するプラグインが存在しないか確認したのですが、とくに存在しなかったようなので、弊社のプロジェクトでは次の様な設定をpom.xmlに設定してリビジョン番号を取得しています。

EclipseでTomcatを使った開発をしている時に、プロジェクト参照で困ったことはありませんか? EclipseTipsというすばらしいサイトに、Eclipseでプロジェクト参照した場合の問題点と解決方法が示されています。

かいつまんで問題点を説明するとTomcatはEclipseのプロジェクト参照を考慮することは無いのでTomcatからプロジェクト参照したプロジェクトの成果物が見えるように調整する必要があるという物です。

ここでは備忘録としてmavenを使ってこの問題を解決したプロジェクトファイルを生成する方法を紹介します。

ランチャー使ってますか?

僕は最近はコマンドライン型のLaunchyに乗り換えました。以前はボタン型ランチャーのnrLaunchでした。 ボタン型からコマンドライン型のランチャーに乗り換えて思うのが、コマンドライン型ではURLを指定してイシュートラッカーのページを開いたり、引数を渡した状態でプログラムを起動するのが面倒だと言うことです。

ボタン型の場合は引数指定は比較的簡単に設定できます。でも設定をエディタで編集できないし、バージョン管理できないです。 コマンドライン型でも、バッチファイルなどを一個一個用意してあげれば何とかなるんですけど、コピペばかりで管理が大変です。

というわけで、そういう面倒さを何とかするためにスクリプトを書くのでした。

コード置き場

  • https://github.com/troter/launcher-helper

Emacsでも同じ事ができます。

このアーカイブについて

このページには、troterが最近書いたブログ記事が含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。