<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>メモリークラフト</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/" />
    <link rel="self" type="application/atom+xml" href="http://www.memorycraft.jp/atom.xml" />
    <id>tag:www.memorycraft.jp,2008-01-28://1</id>
    <updated>2010-04-27T07:11:58Z</updated>
    <subtitle>memorycraft.jp</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.1</generator>

<entry>
    <title>log4jのphp版、log4phpをつかってみた</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2010/04/log4jphplog4php.html" />
    <id>tag:www.memorycraft.jp,2010://1.116</id>

    <published>2010-04-27T06:34:05Z</published>
    <updated>2010-04-27T07:11:58Z</updated>

    <summary>Apache の Loggingプロジェクトにlog4phpというのがあるので使...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[Apache の Loggingプロジェクトに<a href="http://logging.apache.org/log4php/index.html">log4php</a>というのがあるので使ってみました。

ディレクトリ構成は以下のとおり
[code]
htdocs
│ log4php
│　├ log4phpのファイル群
│　└ log4php.properties
└ index.php
[/code]

log4php.propertiesをこのように定義

[code]
log4php.rootLogger=DEBUG
log4php.logger.my_logger=DEBUG,my_file
log4php.appender.my_file = LoggerAppenderDailyFile
log4php.appender.my_file.layout = LoggerLayoutPattern
log4php.appender.my_file.layout.ConversionPattern="%d [%p] %c: %m (at %F line %L)%n"
log4php.appender.my_file.datePattern = Ymd
log4php.appender.my_file.file = my_daily_%s.log

log4php.logger.api=DEBUG,other_file
log4php.appender.other_file = LoggerAppenderDailyFile
log4php.appender.other_file.layout = LoggerLayoutPattern
log4php.appender.other_file.layout.ConversionPattern="%d [%p] %c: %m (at %F line %L)%n"
log4php.appender.other_file.datePattern = Ymd
log4php.appender.other_file.file = other_daily_%s.log
[/code]

※実は以下のようにappenderのあとにloggerを定義していて、これだと片方しか出力されず、しばらくはまってしまいました。
[code]
log4php.appender.my_file = LoggerAppenderDailyFile
log4php.appender..
....
log4php.appender.other_file = LoggerAppenderDailyFile
log4php.appender..
....
log4php.logger.my_logger=DEBUG,my_file
log4php.logger.other_logger=DEBUG,other_file
[/code]

loggerの後にそのappenderを定義するのが正解のようです。
[code]
log4php.logger.my_logger=DEBUG,my_file
log4php.appender.my_file = LoggerAppenderDailyFile
log4php.appender.....
.....
log4php.logger.other_logger=DEBUG,other_file
log4php.appender.other_file = LoggerAppenderDailyFile
log4php.appender.....
.....
[/code]

index.php はこんな感じ

[code]
require_once('log4php/Logger.php');
Logger::configure('log4php/log4php.properties');

class MyClass{
	private $logger;
	function __construct(){
		if(!$this->logger){
			$this->logger =Logger::getLogger('my_logger');
		}
	}
	function doSomething(){
	  $this->logger->debug('私のsomething');
	}
}

class OtherClass{
	private $logger;
	function __construct(){
		if(!$this->logger){
			$this->logger =Logger::getLogger('other_logger');
		}
	}
    function doSomething(){
	  $this->logger->debug('だれかのsomething');
	}
}

$my = new MyClass();
$other =new OtherClass();
$my->doSomething();
$other->doSomething();
[/code]

出力結果は以下のとおり

my_daily_20100426.log
[code]
2010-04-26 23:25:05,320 [DEBUG] user: 私のsomething (at /Users/memorycraft/Development/workspace/logtest/htdocs/index.php line 12)
[/code]

other_daily_20100426.log
[code]
2010-04-26 23:25:05,320 [DEBUG] other: だれかのsomething (at /Users/memorycraft/Development/workspace/logtest/htdocs/index.php line 24)
[/code]

log4jと同様、いろいろなappenderがあるので、これでかなり柔軟なログ出力ができるぞ

]]>
        
    </content>
</entry>

<entry>
    <title>iFrameを使ったクロスドメイン通信</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2010/03/iframe.html" />
    <id>tag:www.memorycraft.jp,2010://1.115</id>

    <published>2010-03-25T12:24:35Z</published>
    <updated>2010-03-25T12:55:28Z</updated>

    <summary>HTMLでJSを使用したクロスドメインのやりとりにはいくつか方法がありますが、 ...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="coding" label="coding" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="crossdomain" label="crossdomain" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[HTMLでJSを使用したクロスドメインのやりとりにはいくつか方法がありますが、
サーバーサイドを介さない方法として、iFrame内iFrameの方法を紹介します。
通常、別ドメインのiFrameには親ページからアクセスできませんが、
iFrame内に親ページと同じドメインのiFrameを配置することにより別ドメインの子から親ページへパラメータを渡すことができます。

構成は以下の通り

親のページ(http://www.memorycraft.jp/parent.html)
[code]
<html>
<head>
<title>parent</title>
<script type="text/javascript">
<!--
function change(param){
	document.getElementById("note").innerHTML = param;
	frames[0].frames[0].location.href = 'dummy.gif';
}
//-->
</script>
</head>
<body>
<div>test <span id="note"></span></div>
<iframe id="ifr" src="http://www.example.com/child.html" style="border" width="100" height="100" scrolling="no">
</iframe>
</body>
</html>
[/code]

子のiFrame内のページ(http://www.example.com/child.html)
[code]
<html>
<head>
<title>child</title>
</head>
<body>
<a href="javascript:document.getElementById('iifr').setAttribute('src','http://www.memorycraft.jp/grandchild.html#hoge');">A</a>
<a href="javascript:document.getElementById('iifr').setAttribute('src','http://www.memorycraft.jp/grandchild.html#moge');">B</a>
<iframe id="iifr" name="iifr" src="dummy.gif"></iframe>
</body>
</html>
[/code]

孫のiFrame内のページ(http://www.memorycraft.jp/grandchild.html)
[code]
<html>
<head>
<title>inner</title>
<script language="javascript">
<!--
window.onload = function check(){
	if(location.hash != null && location.hash != '' && location.hash != undefined){
		window.top.change(location.hash);
	}
}
//-->
</script>
</head>
<body>
dummy
</body>
</html>
[/code]

処理の流れ
<ol>
	<li>孫のiFrameのソースURLには予めダミー用のURLをセットしておく</li>
	<li>子のiFrame内のリンク押下に応じて、孫のiFrameのソースURLを指定する。その際、親に渡したいパラメータをアンカーリンク（＃以降）として指定する。</li>
	<li>孫のページがロードされたら、onloadにより、自分のlocation.hashをパラメータとして、window.topの関数の引数として渡す。孫から親は同一ドメインなので関数呼び出しができる。</li>
	<li>親は呼び出された関数内でパラメータを受け取り、任意の処理を行う。</li>
</ol>

以上で子のiFrameから親ページにパラメータを渡すことができます。
ただし、この方法は孫ページの遷移時にIEだとクリック音がなるので注意です。

]]>
        
    </content>
</entry>

<entry>
    <title>MAMPの文字化け問題</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2010/03/mamp.html" />
    <id>tag:www.memorycraft.jp,2010://1.114</id>

    <published>2010-03-24T12:07:29Z</published>
    <updated>2010-03-24T13:37:24Z</updated>

    <summary>さらっと再開 最近ではWEBもDBもUTF8の場合がほとんどですが、 MAMPの...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mysqlmac" label="mysql mac" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[さらっと再開

最近ではWEBもDBもUTF8の場合がほとんどですが、
MAMPのMySQLはデフォルト文字コード定義が素なので、my.cnfに追記する必要ありです。

<em>/Applications/MAMP/Library/share/mysql/my-*****.cnf</em>
をコピーして
<em>/Applications/MAMP/db/mysql/my.cnf</em>
に移動、リネームする

そのファイルに以下の設定を追加

[code]
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake

[mysql]
default-character-set=utf8
[/code]

これで、サーバー側の文字コードをUTF8として
クライアント側の文字コードをサーバー側の文字コードに強制的に合わせるようになります。

]]>
        
    </content>
</entry>

<entry>
    <title>Google Analytics のカスタムレポートが便利</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/07/google-analytics.html" />
    <id>tag:www.memorycraft.jp,2009://1.113</id>

    <published>2009-07-06T16:10:06Z</published>
    <updated>2009-07-06T16:26:28Z</updated>

    <summary>ですね。全然しらなかったのですが。 OS,ブラウザ,FlashPlayerのそれ...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="google" label="google" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[ですね。全然しらなかったのですが。
OS,ブラウザ,FlashPlayerのそれぞれのバージョンにの組み合わせを知りたいときにとても重宝しました。

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000060.JPG" rel="lightbox[analytics]"><img alt="WS000060.JPG" src="http://www.memorycraft.jp/assets_c/2009/07/WS000060-thumb-300x137.jpg" width="300" height="137" class="mt-image-none" style="" /></a></span>

左メニューの中央あたりに「カスタムレポート」という項目を選択して、新規作成をすると編集画面が表示されます。

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000059.JPG" rel="lightbox[analytics]"><img alt="WS000059.JPG" src="http://www.memorycraft.jp/upload_images/WS000059-thumb-300x291.jpg" width="300" height="291" class="mt-image-none" style="" /></a></span>

左側のメニューの「指標」からレポートの横軸、「ディメンション」から縦軸の項目をドラッグして自由に選べます。


<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000061.JPG" rel="lightbox[analytics]"><img alt="WS000061.JPG" src="http://www.memorycraft.jp/upload_images/WS000061-thumb-300x273.jpg" width="300" height="273" class="mt-image-none" style="" /></a></span>

最後に「レポートを保存」すると、設定した形式でレポートが表示されます。

これで、
ディメンションを
<ul><li>OS > ブラウザ > Flash</li><li>Flash > ブラウザ > OS</li><li>Flash > OS > ブラウザ</li></ul>
などのパターンでレポートを作成して多角的に普及率を確認できたりします。
また、これにコンバージョンなどを絡めるとエラーの検知にも役立ちそうです。

]]>
        
    </content>
</entry>

<entry>
    <title>仮想アプライアンスのススメ</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/07/post-8.html" />
    <id>tag:www.memorycraft.jp,2009://1.112</id>

    <published>2009-06-30T16:55:03Z</published>
    <updated>2009-06-30T18:38:46Z</updated>

    <summary>開発をしていると、アプリケーションの配備や管理のためにいくつかサーバーが必要にな...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="redmine" label="redmine" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="virtual" label="virtual" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[開発をしていると、アプリケーションの配備や管理のためにいくつかサーバーが必要になることが多く、そのほとんどは開発が終わるとしばらく放置されて忘れたころに別のプロジェクトで必要になります。そのときは新しいプロジェクトの仕様にあった環境づくりをするので、再インストールやクリーンアップやバージョンの競合なんかに煩わされる羽目になります。そこで便利のが仮想マシン(Virtual Machine)。さらにいうと、仮想アプライアンス(Virtual Appliance)です。

巷で多い仮想マシンはVMware,VirtualBox,Xenなどですが、これらはすべてハードウェア(PC)のように振舞うソフトウェアです。これにいろいろなOS、サーバーソフトウェアをはじめとするアプリケーションを入れた状態でパッケージしたものを仮想アプライアンスといいます。ダウンロードして起動したらすぐにつかえるサーバーが手に入るわけです。
以下は仮想アプライアンスをつかってみた感想です。

<strong>bagvapp</strong>
<a href="http://bagside.com/bagvapp/" target="_blank">http://bagside.com/bagvapp/</a>
<ul><li>対応仮想マシンはVMWareのみ</li><li>バージョン違いを含めると100種類弱のOS</li><li>プリインストールアプリが低層レベル(kernel-devel, cpp, gcc, VMwareTools Adobe flash pluginなど)</li><li>無償</li></ul>

<strong>Virtual Appliances</strong>
<a href="http://virtualappliances.net/" target="_blank">http://virtualappliances.net/</a>
<ul><li>対応仮想マシンが多い(VMware VMDK, VMWare OVF, Parallels, QEMU/KVM, Virtual Iron, Microsoft Virtual PCなど)</li><li>OSはUbuntuのみ？</li><li>LAMP, LAPP, TomcatなどのWebサーバー用のセットが用意されている</li><li>専用webalizer,phpMyAdminなどのWebコンソール付き</li><li>無償</li></ul>

<strong>JumpBox</strong>
<a href="http://www.jumpbox.com/go/virtualization" target="_blank">http://www.jumpbox.com/go/virtualization</a>
<ul><li>OSはUbuntuのみ？</li><li>対応仮想マシンが多い(VMWare, Parallels, VirtualBox, Microsoft Hyper-V, Virtual Iron, Xen, <em>Amazon EC2</em>など)</li><li>アプリケーションセットも豊富 (LAMP, LAPP, RubyonRails, PmWIki, WordPress, Bugzilla, phpBB,MovableType, Trac, Redmine, Nagios, SugerCRM, OpenLDAP, Liferay)</li><li>一部無償(っていうかいい感じのものは大体有償)</li></ul>

それぞれに長短所ありますが、アプリケーションセットアップという意味では圧倒的にJumpBox。ただRedmineなど多くのアプライアンスは起動数制限のある年間契約による有償プランなので、料金以上にセットアップに手間がかかるかどうか、同時にいくつ起動するかというあたりが検討ポイントです。
あくまで無償をえらぶなら、bagvappやVirtualAppliancesなどのアプライアンスをベースに自分でセットアップしたものを初期VMとしてストックしておくというのが現実的かもしれません。


]]>
        
    </content>
</entry>

<entry>
    <title>Page Speed vs YSlow = Google vs Yahoo</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/06/page-speed-vs-yslow-google-vs.html" />
    <id>tag:www.memorycraft.jp,2009://1.111</id>

    <published>2009-06-09T17:38:37Z</published>
    <updated>2009-06-09T18:41:57Z</updated>

    <summary>GoogleからWebページのパフォーマンスを調査するFireBugプラグイン ...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="firefox" label="firefox" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="google" label="google" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yahoo" label="yahoo" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[GoogleからWebページのパフォーマンスを調査するFireBugプラグイン <a href="http://code.google.com/speed/page-speed/index.html" target="_blank">Page Speed</a>が公開されました。これはちょうどYahooのFireBugプラグインの<a href="https://addons.mozilla.org/ja/firefox/addon/5369" target="_blank">YSlow</a>とほぼ同様の機能を提供しています。検査項目とその詳細な説明は<a href="http://code.google.com/intl/ja/speed/page-speed/docs/using.html" target="_blank">こちらのページ</a>に記載されています。参考としてGoogleとYahooの各検索結果ページを簡単に比較してみました。

<strong>Google</strong>

<em>Page Speed</em>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000053.JPG" rel="lightbox[pagespeed]"><img alt="WS000053.JPG" src="http://www.memorycraft.jp/upload_images/WS000053-thumb-300x455.jpg" width="300" height="455" class="mt-image-none" style="" /></a></span>

<em>YSlow</em>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000057.JPG" rel="lightbox[pagespeed]"><img alt="WS000057.JPG" src="http://www.memorycraft.jp/upload_images/WS000057-thumb-300x461.jpg" width="300" height="461" class="mt-image-none" style="" /></a></span>

Googleの検索結果ページのパフォーマンス計測の比較。
Page Speedでは、１件だけ警告。CSSの定義で未使用項目が42%あるという結果がでた。これはブラウザによって使用していないものがあるということかな？それ以外はクリア。
YSlowでは１件だけCDNでBランク。たとえばAkamaiのようなコンテンツキャッシュサーバーのようなものを使うべしというもの。それ以外はA。


<strong>Yahoo</strong>

<em>Page Speed</em>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000055.JPG" rel="lightbox[pagespeed]"><img alt="WS000055.JPG" src="http://www.memorycraft.jp/upload_images/WS000055-thumb-300x461.jpg" width="300" height="461" class="mt-image-none" style="" /></a></span>

<em>YSlow</em>
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000056.JPG" rel="lightbox[pagespeed]"><img alt="WS000056.JPG" src="http://www.memorycraft.jp/upload_images/WS000056-thumb-300x464.jpg" width="300" height="464" class="mt-image-none" style="" /></a></span>

Yahooの検索結果ページのパフォーマンス計測の比較。
Page Speedでは、DNSルックアップの拡散,プロキシキャッシュ,未使用CSS,適正なCSSセレクタの４つが警告。それ以外はクリア。
YSlowではCDN,GZIP,CSS expressionの３つでBランク。それ以外はA。


こうみると、YSlow、Page Speed では問題とする項目とその検査基準が微妙に違いますが、どちらが優れているというよりは、どちらも大規模サイトのサイト構築指針になっているので、２つのツールでページ全体の評価が大きく食い違うことはあまりなさそうです。

両方とも基準にしてもよいですが、どちらか片方だけを基準にしてもう片方を参考にする程度でもいいかもしれません。]]>
        
    </content>
</entry>

<entry>
    <title>Mylyn + Redmine でタスク駆動開発</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/06/mylyn-redmine.html" />
    <id>tag:www.memorycraft.jp,2009://1.110</id>

    <published>2009-06-05T12:27:32Z</published>
    <updated>2009-06-06T17:28:46Z</updated>

    <summary>Redmineはつかっていたのだけど、コミットフックをもっとスマートにしたくてM...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="eclipse" label="eclipse" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mylyn" label="mylyn" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="redmine" label="redmine" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[Redmineはつかっていたのだけど、コミットフックをもっとスマートにしたくてMylynを使ってみることにしました。

ということでインストールと設定のメモです。


<strong>Eclipse 3.4 インストール(pleiades/J)</strong>
<a href="http://mergedoc.sourceforge.jp/index.html#/pleiades.html">http://mergedoc.sourceforge.jp/index.html#/pleiades.html</a>

<strong>Mylyn インストール(ソフトウェアアップデート)</strong>
<a href="http://download.eclipse.org/tools/mylyn/update/e3.4">http://download.eclipse.org/tools/mylyn/update/e3.4</a>

<strong>WebTemplate インストール(ソフトウェアアップデート)</strong>
<a href="http://download.eclipse.org/tools/mylyn/update/incubator">http://download.eclipse.org/tools/mylyn/update/incubator</a>

<strong>Subversiveインストール(ソフトウェアアップデート)</strong>
<a href="http://download.eclipse.org/technology/subversive/0.7/update-site/">http://download.eclipse.org/technology/subversive/0.7/update-site/</a>

<strong>Subversive for Mylyn のインストール(ソフトウェアアップデート)</strong>
<a href="http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/">http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/</a>
<ul><li>Subversive SVN Team Provider Plugin（Incubation）</li><li>Subversive Integration for Mylyn Project（Optional）（Incubation）</li><li>Subversive SVN Connectors</li></ul>
をインストール。依存するものがあればそれも。


<strong>タスクリポジトリ追加</strong>

タスクリポジトリビューを表示してビュー上で右クリック＞タスクリポジトリの追加
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000026.JPG" rel="lightbox[mylyn]"><img alt="WebTemplate" src="http://www.memorycraft.jp/upload_images/WS000026-thumb-300x264.jpg" width="300" height="264" class="mt-image-none" style="" /></a></span>
タスクリポジトリータイプからWebTemplateを選択。次へ。

Webリポジトリ設定ダイアログで以下を入力
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000027.JPG" rel="lightbox[mylyn]"><img alt="WS000027.JPG" src="http://www.memorycraft.jp/upload_images/WS000027-thumb-300x576.jpg" width="300" height="576" class="mt-image-none" style="" /></a></span>

<em>【基本情報】</em>
<blockquote><em>サーバー: </em>http://www.hoge.com/redmine/ (レッドマインインスタンスのベースURL)
<em>ラベル:</em>${project}
<em>ユーザー：</em>Redmineの自分のID
<em>パスワード：</em>Redmineの自分のパスワード</blockquote>

<em>【追加設定】</em>
<blockquote><em>パラメータ：</em>project
<em>値：</em>RedmineのプロジェクトID</blockquote>

<em>【拡張構成】</em>
<blockquote><em>タスクURL:</em>${serverUrl}/issues/show/
<em>新規タスクURL: </em> ${serverUrl}/projects/${project}/issues/new
<em>クエリリクエストURL: </em>${serverUrl}/projects/${project}/issues [GET]
　　　　　　　　　　　自分に関連するチケットのみ表示したい場合は
　　　　　　　　　　　${serverUrl}/projects/${project}/issues?set_filter=1&assigned_to_id=me
<em>クエリパターン:</em> &lt;td class="subject"&gt;.*?&lt;a href="/redmine/issues/show/(\d+)"&gt;(.+?)&lt;/a&gt;&lt;/td&gt;
<em>ログインリクエストURL: </em>${serverUrl}/login?username=${userId}&password=${password} [POST]
<em>Task Editor Settings:	</em>プレーンテキストかTextile</blockquote>

<em>【HTTP認証】</em>
必要に応じて


<strong>タスククエリーの追加</strong>

タスクリストで右クリック＞新規＞クエリー
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000029.JPG" rel="lightbox[mylyn]"><img alt="WS000029.JPG" src="http://www.memorycraft.jp/upload_images/WS000029-thumb-300x282.jpg" width="300" height="282" class="mt-image-none" style="" /></a></span>
追加したタスクリポジトリを選択＞次へ


クエリのタイトルをつける(プロジェクト名が分かりやすい)
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000031.JPG" rel="lightbox[mylyn]"><img alt="WS000031.JPG" src="http://www.memorycraft.jp/upload_images/WS000031-thumb-300x247.jpg" width="300" height="247" class="mt-image-none" style="" /></a></span>
すでにチケットがいくつか登録してあれば「拡張構成」のプレビューや開くで取り込めているか確認できる
>完了

タスクリストにチケットがタスクとして表示される
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000032.JPG" rel="lightbox[mylyn]"><img alt="WS000032.JPG" src="http://www.memorycraft.jp/upload_images/WS000032-thumb-300x257.jpg" width="300" height="257" class="mt-image-none" style="" /></a></span>


<strong>タスクの追加</strong>
タスクリストで右クリック＞新規＞タスク
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/W2S000033.JPG" rel="lightbox[mylyn]"><img alt="W2S000033.JPG" src="http://www.memorycraft.jp/upload_images/W2S000033-thumb-300x282.jpg" width="300" height="282" class="mt-image-none" style="" /></a></span>
追加したタスククエリーを選択＞次へ

「ブラウザを開きます。」という旨のダイアログが出るので「完了」
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/W2S000034.JPG" rel="lightbox[mylyn]"><img alt="W2S000034.JPG" src="http://www.memorycraft.jp/assets_c/2009/06/W2S000034-thumb-300x282.jpg" width="300" height="282" class="mt-image-none" style="" /></a></span>


EclipseのWebブラウザにRedmineが表示されるので、そこでチケット登録
　(必要であればログインする)
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000035.JPG" rel="lightbox[mylyn]"><img alt="WS000035.JPG" src="http://www.memorycraft.jp/upload_images/WS000035-thumb-300x282.jpg" width="300" height="282" class="mt-image-none" style="" /></a></span>


タスクリストを更新すると追加されているのが分かる。
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/W2S000038.JPG" rel="lightbox[mylyn]"><img alt="W2S000038.JPG" src="http://www.memorycraft.jp/upload_images/W2S000038-thumb-300x174.jpg" width="300" height="174" class="mt-image-none" style="" /></a></span>


<strong>Redmineでコミットフックの設定</strong>
Redmine上で＞管理＞設定＞リポジトリの「コミットメッセージ内でチケットの参照/修正」で参照用と修正用のキーワードを設定。
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000038.JPG" rel="lightbox[mylyn]"><img alt="WS000038.JPG" src="http://www.memorycraft.jp/upload_images/WS000038-thumb-300x157.jpg" width="300" height="157" class="mt-image-none" style="" /></a></span>
ここでは参照用にはrefs、修正用にはfixを設定
修正時に変更されるステータスとして「実装終了 100%」とした。


<strong>コミットコメントのテンプレートをつくる</strong>
ウィンドウ＞設定＞タスク＞チーム　のコミットコメントのテンプレートを設定
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000047.JPG" rel="lightbox[mylyn]"><img alt="WS000047.JPG" src="http://www.memorycraft.jp/upload_images/WS000047-thumb-300x335.jpg" width="300" height="335" class="mt-image-none" style="" /></a></span>
ここでは以下のように設定した。
(refs #${task.id}) ${task.description} 
${task.url}

<strong>タスクに取り掛かる</strong>
タスクリストでこれから取り掛かるタスクで右クリック＞アクティブにする
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000048.JPG" rel="lightbox[mylyn]"><img alt="WS000048.JPG" src="http://www.memorycraft.jp/upload_images/WS000048-thumb-300x192.jpg" width="300" height="192" class="mt-image-none" style="" /></a></span>
アイコンがついて、選択したタスクが現在活動中であることが示される

<strong>作業のコミット</strong>
コミットコメントに上で設定したテンプレートに変数が流し込まれた状態でデフォルト表示される
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000040.JPG" rel="lightbox[mylyn]"><img alt="WS000040.JPG" src="http://www.memorycraft.jp/upload_images/WS000040-thumb-300x277.jpg" width="300" height="277" class="mt-image-none" style="" /></a></span>
これに情報などを追記してコミット

コミットコメントのテンプレートの冒頭にrefsとあるのでチケットにリビジョンが紐付けされる
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/W2S000045.JPG" rel="lightbox[mylyn]"><img alt="W2S000045.JPG" src="http://www.memorycraft.jp/upload_images/W2S000045-thumb-300x176.jpg" width="300" height="176" class="mt-image-none" style="" /></a></span>

refsをfixに書き換えると、チケットとリビジョンの紐付けに加え、チケットのステータスが自動的に変更される
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000046.JPG" rel="lightbox[mylyn]"><img alt="WS000046.JPG" src="http://www.memorycraft.jp/upload_images/WS000046-thumb-300x125.jpg" width="300" height="125" class="mt-image-none" style="" /></a></span>


これにより、EclipseとブラウザのRedmineを行き来する必要がなくなり、Eclipseでの作業に集中できます。ただ、まだインキュベーション段階ということもあり、ブラウザを経由する作業などが必要な部分もありますが、RedmineのAPIを経由できるようになってくれば、よりEclipseで作業が完結できるようになるかと思います。


]]>
        
    </content>
</entry>

<entry>
    <title>Web開発でよく使うFireFoxのプラグイン</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/06/webfirefox.html" />
    <id>tag:www.memorycraft.jp,2009://1.109</id>

    <published>2009-06-03T10:53:03Z</published>
    <updated>2009-06-03T12:22:39Z</updated>

    <summary>ごぶさたしております。 いそがしさにかこつけてブログを書いていたことを忘れかけて...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="つぶやく" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="firefox" label="firefox" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[ごぶさたしております。
いそがしさにかこつけてブログを書いていたことを忘れかけてましたー。
もうちっと更新がんばりたいと思いますが、それまでのお茶濁しとして、よく使っているFireFoxのプラグインでもさらしてみたいと思います。定番ものばっかりですが、、、

<strong>All-in-One Sidebar</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/1027">https://addons.mozilla.org/ja/firefox/addon/1027</a>
いわずとしれた定番。

<strong>ColorZilla</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/271">https://addons.mozilla.org/ja/firefox/addon/271</a>
コンテンツの色をスポイトで調べます。
意外と便利。

<strong>Delicious Bookmarks</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/3615">https://addons.mozilla.org/ja/firefox/addon/3615</a>
ブックマークはDeliciousを使用しています。

<strong>FireBug</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/1843">https://addons.mozilla.org/ja/firefox/addon/1843</a>
定番のデバッグツール。
[プラグイン]
・<em>CodeBurner for Firebug</em>
　<a href="https://addons.mozilla.org/ja/firefox/addon/10273">https://addons.mozilla.org/ja/firefox/addon/10273</a>
　　指定したHTML要素、属性などのブラウザ対応状況などのリファレンス。
・<em>Firecookie</em>
　<a href="https://addons.mozilla.org/ja/firefox/addon/6683">https://addons.mozilla.org/ja/firefox/addon/6683</a>
　　Cookie監視。
・<em>YSlow</em>
　<a href="https://addons.mozilla.org/nl/firefox/addon/5369?lang=ja">https://addons.mozilla.org/nl/firefox/addon/5369?lang=ja</a>
　　パフォーマンス要素の調査とランク付け。

<strong>FireFox DNS Flusher</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/7408">https://addons.mozilla.org/ja/firefox/addon/7408</a>
hostsの変更をリフレッシュ。

<strong>FireFTP</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/684">https://addons.mozilla.org/ja/firefox/addon/684</a>
FTPクライアント。

<strong>Google Toolbar for Firefox</strong>
<a href="http://www.google.com/tools/firefox/toolbar/FT3/intl/ja">http://www.google.com/tools/firefox/toolbar/FT3/intl/ja</a>
単語ごとのページ内検索とマーカー、Gmailステータスしか使わないけど。

<strong>GooglePreview</strong>
<a href="https://addons.mozilla.org/en-US/firefox/addon/189">https://addons.mozilla.org/en-US/firefox/addon/189</a>
Googleの検索結果にサムネイルを表示。

<strong>Greasemonkey</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/748">https://addons.mozilla.org/ja/firefox/addon/748</a>
コンテンツの表示をスクリプトでカスタマイズ。
[スクリプト]
・<em>AutoPagerize</em>
　<a href="http://userscripts.org/scripts/show/8551">http://userscripts.org/scripts/show/8551</a>
　自動でページネーション。
・<em>First Lookup Alc</em>
　<a href="http://userscripts.org/scripts/show/12024">http://userscripts.org/scripts/show/12024</a>
　選択した単語をALC検索。
・<em>Twitter Friend Name Helper</em>
　<a href="http://userscripts.org/scripts/show/8518">http://userscripts.org/scripts/show/8518</a>
　Twitterで@を打つとフレンドをサジェスト。

<strong>HTML Validator</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/249">https://addons.mozilla.org/ja/firefox/addon/249</a>
コンテンツのHTML仕様対応を調べる。

<strong>IE Tab</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/1419">https://addons.mozilla.org/ja/firefox/addon/1419</a>
IEのエンジンでレンダリング。

<strong>Link Evaluator</strong>
<a href="https://addons.mozilla.org/hu/firefox/addon/4094?lang=ja">https://addons.mozilla.org/hu/firefox/addon/4094?lang=ja</a>
リンクチェッカー。

<strong>MeasureIt</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/539">https://addons.mozilla.org/ja/firefox/addon/539</a>
定規でコンテンツ上の任意矩形を計測。

<strong>Screengrab</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/1146">https://addons.mozilla.org/ja/firefox/addon/1146</a>
キャプチャ。

<strong>Selenium IDE</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/2079">https://addons.mozilla.org/ja/firefox/addon/2079</a>
ユーザー操作を記録、再生、検証。

<strong>Smart Bookmarks Bar</strong>
<a href="https://addons.mozilla.org/ja/firefox/addon/4072">https://addons.mozilla.org/ja/firefox/addon/4072</a>
ブックマークバーのテキストを非表示に。

]]>
        
    </content>
</entry>

<entry>
    <title>ローカルApacheが起動しないのはSkypeのせいかも</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/03/apacheskype.html" />
    <id>tag:www.memorycraft.jp,2009://1.108</id>

    <published>2009-03-13T22:45:08Z</published>
    <updated>2009-03-14T01:49:56Z</updated>

    <summary> ApacheをローカルのWindowsで起動しようとして、エラーになったので調...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="apache" label="apache" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[<p>
ApacheをローカルのWindowsで起動しようとして、エラーになったので調べてみた。

[code]
C:\Documents and Settings\memorycraft>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       2152
[/code]

PID：2152ってだれ？

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/taskmanskype00-thumb-450x33.jpg" rel="lightbox[apacheskype]"><img alt="taskmanskype00.JPGのサムネール画像" src="http://www.memorycraft.jp/assets_c/2009/03/taskmanskype00-thumb-450x33-thumb-400x29.jpg" width="400" height="29" class="mt-image-none" style="" /></a></span>

いた。Skypeだ。設定を見てみると。。。
<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000045.JPG" rel="lightbox[apacheskype]"><img alt="WS000045.JPG" src="http://www.memorycraft.jp/upload_images/WS000045-thumb-400x365.jpg" width="400" height="365" class="mt-image-none" style="" /></a></span>

80番ポートを使用するにチェックが入っていました。。
このチェックを外したら、無事動きました。
うーん、こわいこわい。

</p>]]>
        
    </content>
</entry>

<entry>
    <title>MayaaでStrutsタグのXHTML問題</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/03/mayaastrutsxhtml.html" />
    <id>tag:www.memorycraft.jp,2009://1.107</id>

    <published>2009-03-12T15:22:44Z</published>
    <updated>2009-03-12T15:39:10Z</updated>

    <summary> mayaaで、フォーム部品などをコントロールする際に html:checkbo...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mayaa" label="mayaa" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="seasar" label="seasar" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[<p>
mayaaで、フォーム部品などをコントロールする際に html:checkbox などのStrtusタグを使用するのですが、

テンプレートがXHTMLで、
[code]
<input type="checkbox" m:id="check1" name="check1" checked="checked"/>
[/code]

mayaaファイルが
[code]
<html:checkbox m:id="check1" property="check1"/>
[/code]

のようになっていても、以下のように閉じタグ無しで出力されてしまいます。
[code]
<input type="checkbox" name="check1" value="on">
[/code]

うーん、と思って、中の人に質問したところ一発で解決しました。
default.mayaaで、以下のようにするとよいそうです。
[code]
<html:html m:xpath="html" xhtml="true" />
[/code]

もしくは、
[code]
<m:beforeRender><![CDATA[
   page.setAttribute(Packages.org.apache.struts.Globals.XHTML_KEY, "true");
]]&gt;</m:beforeRender>
[/code]

そもそもStrutsタグのxhtml="true"を html:htmlに設定するものだと知らずに、
一生懸命、&lt;html:checkbox xhtml="true" /&gt; とかやっていたのでした。。。

<a href="http://d.hatena.ne.jp/ko-suga/" target="_blank">suga</a>さんありがとうございました。
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Mayaaで波ダッシュ問題</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/03/mayaa.html" />
    <id>tag:www.memorycraft.jp,2009://1.106</id>

    <published>2009-03-09T18:24:16Z</published>
    <updated>2009-03-09T18:35:12Z</updated>

    <summary> 出力するHTMLのContent-TypeがShift_JISの場合、Java...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mayaa" label="mayaa" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="seasar" label="seasar" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[<p>
出力するHTMLのContent-TypeがShift_JISの場合、JavaやDBによっては～が化けたりすることがあります。Mayaaでそれを回避したときのメモを残します。

①テンプレートのContent-TypeをWindows-31Jに変更、実際のテキストエンコーディングもWindows-31Jにする。
[code]
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31J" />
[/code]

②WEB-INF/classes/META-INF/org.seasar.mayaa.provider.ServiceProviderに次の設定をする
[code]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE provider
    PUBLIC "-//The Seasar Foundation//DTD Mayaa Provider 1.0//EN"
    "http://mayaa.seasar.org/dtd/mayaa-provider_1_0.dtd">
<provider>
    <engine>
        <parameter name="convertCharset" value="true"/>
    </engine>
</provider>
[/code]

以上ですんなり、いけました。
convertCharsetがtrueだと、レスポンスヘッダとHTMLのContent-TypeがShift_JISのまま、
Windows-31Jでエンコーディングしてくれます。

</p>]]>
        
    </content>
</entry>

<entry>
    <title>Mac から Windows へのリモートデスクトップ接続 2</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/02/mac-windows-2.html" />
    <id>tag:www.memorycraft.jp,2009://1.105</id>

    <published>2009-02-12T23:52:16Z</published>
    <updated>2009-02-13T00:22:43Z</updated>

    <summary>以前の記事で、CoRDを使ったMacからWindowsへのリモートデスクトップ接...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="mac" label="mac" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="remote" label="remote" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[<a href="http://www.memorycraft.jp/2008/07/macwindowsvpn.html">以前の記事</a>で、CoRDを使ったMacからWindowsへのリモートデスクトップ接続を書きましたが、しばらく使ってみるとMac＞Windowsへのキーバインドがいろいろ問題ありでした。Mac＋Windows用のキーボードを使っていたのですが一番ひどいのは"_"(アンダースコア)や"\"(円記号),"|"(パイプ)が打てませんでした。

リモートでプログラムをするときはかなり致命的でした。直後にMSからMac＞Winの製品の新しいバージョンが出ていて気になったので、遅ればせながら使ってみました。

<em>【Remote Desktop Connection Client for Mac 2】</em>
<a href="http://www.microsoft.com/japan/mactopia/products/remote-desktop/default.mspx" target="_blank">http://www.microsoft.com/japan/mactopia/products/remote-desktop/default.mspx</a>

<span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://www.memorycraft.jp/upload_images/WS000005.JPG" rel="lightbox[macwinrdt4mac]"><img alt="WS000005.JPG" src="http://www.memorycraft.jp/upload_images/WS000005-thumb-400x354.jpg" width="400" height="354" class="mt-image-none" style="" /></a></span>

最初っからこれにしておけばよかった。。。

キーバインドはWindowsキーボードがそのまま使えるし、Macキーボードからはショートカットのカスタマイズも可能。サウンドもリモート環境だけで鳴らせたり、YouTubeも遅延やスキップはするけどある程度は見れる。

<strong>なによりローカルMacのドライブをリモートのWindowsにマウントできる！</strong>
個人的にはDropBoxやLiveDriveの必要があまりなくなってしまったかも知れない。
パフォーマンスも全体的にCoRDよりいいです。

またしばらく使ってみていろいろ試したいと思います。]]>
        
    </content>
</entry>

<entry>
    <title>Java6のJapaneseImperialCalendar で和暦から西暦へ変換</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/02/java6japaneseimperialcalendar.html" />
    <id>tag:www.memorycraft.jp,2009://1.104</id>

    <published>2009-02-08T05:29:43Z</published>
    <updated>2009-02-08T05:43:29Z</updated>

    <summary> 昔のシステムのＤＢだと、年月日がカラムごとにNUMBERで入っていたり、年が和...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="java" label="java" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[<p>
昔のシステムのＤＢだと、年月日がカラムごとにNUMBERで入っていたり、年が和暦で入っていたりすることがあります。
そんなときにJava6の和暦カレンダー(JapaneseImperialCalendar)が便利です。

[code]
//元号コード、
int imperialCd = 4;
//和暦年
int year = 19;
//月
int month = 5;
//日
int day = 2;


//ロケールを和暦に設定
Locale.setDefault(new java.util.Locale("ja", "JP", "JP"));
 //カレンダーを作成
Calendar cal = Calendar.getInstance();
//元号コードを設定(明治:1,大正:2,昭和:3,平成:4)
cal.set(Calendar.ERA, imperialCd);
//年月日を設定
cal.set(year, month-1, day);
//西暦、和暦でそれぞれ表示
DateFormat format = new SimpleDateFormat("GGGGyy年 MM dd日");
DateFormat format2 = new SimpleDateFormat("yyyy/MM/dd", Locale.JAPAN);
System.out.println(format.format(cal.getTime()));
System.out.println(format2.format(cal.getTime()));
[/code]

結果
[code]
平成19年 5月 2日
2007/05/02
[/code]

</p>
]]>
        
    </content>
</entry>

<entry>
    <title>秀丸でcamelize,decamelize</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/02/camelizedecamelize.html" />
    <id>tag:www.memorycraft.jp,2009://1.103</id>

    <published>2009-02-03T12:28:28Z</published>
    <updated>2009-02-03T12:36:29Z</updated>

    <summary>ＤＢとかドキュメントまわりのちょっとした作業でcamelizeしたいとき、いちい...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="documentation" label="documentation" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        <![CDATA[ＤＢとかドキュメントまわりのちょっとした作業でcamelizeしたいとき、いちいちIDEとか使うの面倒なことがあって、秀丸マクロで探してたら作ってる人がいたので、メモ

【秀丸マクロ書いてみた。ラクダ文字<->アンダーバー区切り】
<a href="http://pokosho.com/b/archives/118" target="_blank">http://pokosho.com/b/archives/118</a>

重宝しています。]]>
        
    </content>
</entry>

<entry>
    <title>SAStrutsで複数のurlPattern</title>
    <link rel="alternate" type="text/html" href="http://www.memorycraft.jp/2009/02/sastrutsurlpattern.html" />
    <id>tag:www.memorycraft.jp,2009://1.102</id>

    <published>2009-02-02T23:52:26Z</published>
    <updated>2009-02-03T00:04:58Z</updated>

    <summary> 普通に{hoge}/{moge}だと、 URL的に問題がでる場合がある。 以下...</summary>
    <author>
        <name>memorycraft</name>
        
    </author>
    
        <category term="しらべる" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="sastruts" label="sastruts" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="seasar" label="seasar" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.memorycraft.jp/">
        
普通に{hoge}/{moge}だと、
URL的に問題がでる場合がある。

以下、田中さん(仮)から教わった方法。

[code]
public String hoge;
public String moge;

@Execute(validator = false, urlPattern=&quot;{hoge}/{moge}&quot;)
public String testHogeMoge(){
	return hoge();
}

@Execute(validator = false, urlPattern=&quot;{hoge}&quot;)
public String testHoge(){
	return &quot;hoge.html&quot;;
}
[/code]

覚えておきたいので、メモ。

        
    </content>
</entry>

</feed>
