2009年1月31日土曜日

JavaScriptのconfirmで"本当に削除しますか?"

スズキです。

今回も今更ながらネタです。

JavaScriptで"本当に削除しますか?"、などの
ポップアップで確認をとるやり方です。っていうか、自分メモです。

たいしたことありませんが、こんな感じです。

--------【JavaScript】--------
if(confirm("本当に削除しますか?")) {
  // OKを押したときの処理
}
--------

ポップアップの「OK」を押すと、confirmの結果がtrueになり、
「キャンセル」を押すと、falseになります。

後は、条件分岐のお話です。

そういえば、confirm、alert、をかっこいいものに置き換えてくれる、
jQueryのプラグインがあったような、なかったような…

--
http://suz-lab.blogspot.com/

今さらのAdSense

スズキです。

今日は、なぜかブログ(Blogger)をいろいろいじってしまっているので、
調子にのって、そして、よく考えたら今までやったことの無かった、
「Google AdSense」を試してみました。
http://www.google.com/adsense

設置した場所は、ヘッダーのタイムラインの直下で、
"リンク ユニット"にしています。(これなら、うざくないかな!?)

キーワードが「Seasar2」と「PHP」関係ばかりだ…

--
http://suz-lab.blogspot.com/

ようやくブログチャート

スズキです。

以前試してみて、なぜかこのブログは利用できずに断念していた
ブログチャート(http://blogchart.jp/)が、今日、
たまたま試してみたら、使えるようになってました。
http://blogchart.jp/blog?url=http://suz-lab.blogspot.com/

なので本ブログ右側の「最新、中の人フィード」を、
ブログチャートのブログパーツに置き換えてみました。
(「最新、中の人フィード」は"Google Reader"でチェックできるので…)

評価が「-8」ってどういうことだよ…
そんなに評判悪いのか、このブログは…

--
http://suz-lab.blogspot.com/

suz-example-s2-*プロジェクトをMaven2で管理

スズキです。

いろいろとノウハウもたまってきたので、自分実験用の
下記Seasar2のサンプルプロジェクトを作り直し、
またMaven2で管理する形にしてみました。

suz-example-s2-project: 以下の親プロジェクトです。
http://code.google.com/p/suz-lab/source/browse/trunk/#trunk/suz-example-s2-project

suz-example-s2-common: 以下の共通クラス用プロジェクトです。
http://code.google.com/p/suz-lab/source/browse/trunk/#trunk/suz-example-s2-common

suz-example-s2-rmi: RMIサーバ用プロジェクトです。
http://code.google.com/p/suz-lab/source/browse/trunk/#trunk/suz-example-s2-rmi

suz-example-s2-jms: (S2JMS)インバウンド・アプリケーションプロジェクト
http://code.google.com/p/suz-lab/source/browse/trunk/#trunk/suz-example-s2-jms

suz-example-s2-http: Web・アプリケーションプロジェクト
http://code.google.com/p/suz-lab/source/browse/trunk/#trunk/suz-example-s2-http

suz-example-s2-chronos: タスクスケジューラープロジェクト
http://code.google.com/p/suz-lab/source/browse/trunk/#trunk/suz-example-s2-chronos


他のプロジェクトが継承するsuz-example-s2-projectのpom.xmlは
下記のように、他プロジェクトを集約しています。
※packagingはpomでないとm2eclipseに怒られました…

--------【pom.xml】--------
<module>
  <module>../suz-example-s2-common</module>
  <module>../suz-example-s2-rmi</module>
  <module>../suz-example-s2-jms</module>
  <module>../suz-example-s2-chronos</module>
  <module>../suz-example-s2-http</module>
</modules>
--------
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-project/pom.xml

そして、他のプロジェクトのpom.xmlは、下記のように、
suz-example-s2-projectを継承するようにしています。

--------【pom.xml】--------
<parent>
  <groupId>suz.example.s2</groupId>
  <artifactId>suz-example-s2-project</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</parent>
--------
http://code.google.com/p/suz-lab/source/browse/trunk/suz-example-s2-common/pom.xml

これで、Eclipse(m2eclipse)なり、Hudsonなりで、楽々管理です。

まずは、社内でニーズがありそうな、
suz-example-s2-rmiを形にしよう。

--
http://suz-lab.blogspot.com/

2009年1月29日木曜日

FileHammerで一括ファイル削除

スズキです。

そろそろ、自分のポータブル環境も
定期的なファイル削除を行う必要が出てきたので、
FileHammerというアプリケーションを用いて実現してみました。
http://mebiusbox.crap.jp/software_file_hammer.html

削除対象は、Firefoxでダウンロードしたファイルをとにかく置く、
"S:\tmp\"と、Dropbox利用時に保存ファイルが、
他のマシンと競合したときにできる、
"conflicted"がファイル名に入ったファイルです。

この二つの条件で一括ファイル削除できるものを探していたら、
FileHammerが見つかりました。(もちろんポータブルです!)

非常に直感的なUIなので、
あえて使い方を説明する必要もないと思います。
(本家サイト見れば、わかりますし…)

で、これを定期的に実行したいわけで、
そのためにはコマンドラインからバッチっぽく起動できる必要があります。

上記は可能のようで、実現するためのコマンドラインオプションは、
ヘルプに書かれているようですが、
VISTAマシンでは、そのヘルプを見ることができませんでした…

なので、XPマシンでヘルプを表示し、コマンドラインの部分を、
下記にメモです。

【文法】

FileHammer.exe [options] config_file

【オプション】

/AutoRun: 起動と同時に検索を実行します。

/Log: ログを出力します。ログは config_file と同じフォルダに作られます。
ログファイル名は config_file の拡張子を .log にしたものになります。

/Dn: 削除を自動実行します。オプション /AutoRun と共に指定してください。
  /D0: 標準削除
  /D1: ゴミ箱へ削除
  /D2: 0x00で上書き
  /D3: 0xFFで上書き
  /D4: 乱数で上書き
  /D5: DoD 5220.22-M Short
  /D6: DoD 5220.22-M

次は、ジョブスケジューラーを見つけなきゃ。

--
http://suz-lab.blogspot.com/

フィードのURLが変更しました

スズキです。

表記の通り、今までのFeedburnerの
http://feeds.feedburner.com/suz-lab
をGoogleの
http://feedproxy.google.com/suz-lab
に変更しました。

理由はFeedburnerのアカウントが
Googleのアカウントに移行できるようになったので、
早速、移行してしまった結果です。

移行は、Adsenseのページから、

"Adsense 設定"

"フィード向け AdSense"

"FeedBurner フィードを Google アカウントに移動"

で表示される移行ツールで簡単にできます。

ということで、必要な方は、更新していただけると幸いです。

--
http://suz-lab.blogspot.com/

2009年1月28日水曜日

XML_Unserializer(Pear)の利用

スズキです。

以前少し、PearのXML_Serializerを利用したのですが、
http://suz-lab.blogspot.com/2008/11/suz-php-jquery-rssphprss.html
今回は、XML_Unserializerを使ってみました。
http://pear.php.net/package/XML_Serializer/

suz-php-jqueryプロジェクトにも標準搭載しています。
http://code.google.com/p/suz-lab/source/browse/#svn/trunk/suz-php-jquery/php/ext/XML

使い方は、こんな感じです。
"It's a Smile World"に教えてもらいました。
http://blog.2-laps.com/

--------【PHP】--------
require_once("XML/Unserializer.php");
$unserializer = new XML_Unserializer();
$unserializer->setOption('parseAttributes',TRUE);
$xml = "...";
$status = $unserializer->unserialize($xml);
$data = $unserializer->getUnserializedData();
--------

オプションとかは、まだよくわかってないので、
機会があったら、下記を参考に調べてみようと思います。
http://peardoc.xole.net/package.xml.xml-serializer.xml-unserializer.options.html

suz-php-jquery、そろそろ、また整理したいなー。

--
http://suz-lab.blogspot.com/

"@nifty TimeLine"をブログのヘッダに

スズキです。

"@nifty TimeLine"は出来事を登録すると、
それを時系列にFlashできれいに表示してくれるサービスです。
http://timeline.nifty.com/

そしてその出来事に、ブログのフィードを利用することもできます。
http://timeline.nifty.com/portal/show/3887
(suz-labでやってみました)

なかなか面白いので、このブログパーツを思い切って、
本ブログのヘッダにしてしまいました。

ブログのヘッダにしたのはいいのですが、
まだ、「とりあえず感」がありすぎなので、下記をがんばって、
もっと使えそうなものにしていこうと思っています。

(1) 背景画像をsuz-labとわかるものに変更。
(今は何のブログかよくわからなくなっている...)

(2) タイトルをクリックしたら本文が表示するように
(今は「本文なし」...)

(3) 自動でフィードの内容が更新するように
(今は手動で更新しないと...)

(4) タイムラインの記事からブログ本体の記事にいけるように
(今はリンク先がフィードものになっている)

(1)は気合で何とかなるとして、(2)、(3)、(4)を本格的にやるとなると、
"Webサービス"を利用する必要があります。
http://webservice.nifty.com/timeline/

そうなると、やっぱりプログラムを動かす環境が必要だなー...
"Amazon EC2"やらないと...(書籍も出たし...)
http://www.amazon.co.jp/gp/product/4798021555?tag=iretsuzusblog-22

--
http://suz-lab.blogspot.com/

今日のブックマーク 01/28/2009


Posted from Diigo. The rest of my favorite links are here.

2009年1月26日月曜日

小型スキャナScanSnap(S300)購入

スズキです。

思うところあって、スキャナを購入しました。

何を思ったかというと、

いろいろ本を読んでいると、
だんだん部屋にたまってきて、でも捨てられず、
でも、あとで見返すことはほとんどなく、…

といったパターンに陥ってしまっているので、
その状態を打破しようと、思い切って購入してみました。

購入したスキャナは富士通のScanSnap(S300)です。
http://www.amazon.co.jp/gp/product/B000WMEMXC?tag=iretsuzusblog-22
自動給紙方式(ADF)で両面同時読み取りの
コンパクトなスキャナです。

給紙トレーにスキャンしたい書類(複数)を置いて、
スタートボタンを押せば、勝手に全部、
両面自動スキャンしてくれます。

次に運用方法に関してですが、上記を実現するために面倒なのが、
書籍をスキャン用にばらす作業です。

最初は、器具を購入して自分でやろうかと思ったのですが、
調べてみると、フェデックスキンコーズで
書籍の裁断サービス(1回105円)があるようです。

フェデックスキンコーズは近くにあるので、
まずは、このサービスを利用しようと思います。

スキャンしたデータは、もちろんDropboxで共有です。
http://www.getdropbox.com/

なので、運用はこんな感じの予定です。
1. 本を読む。
2. Blogに書評を書く。
3. フェデックスキンコーズで裁断する。
4. ScanSnap(S300)でスキャンする。
5. Dropboxに保存する。

iPhoneが欲しくなってきたぞ…
(スキャンしたドキュメントを閲覧するために…)

--
http://suz-lab.blogspot.com/

2009年1月23日金曜日

cronで5分毎に実行

スズキです。

表記、下記設定で実現できます。
(これと"2>&1"もすぐに忘れてしまいます...)

--------【CRONTAB】--------
*/5 * * * * hoge.sh >> /tmp/cron.log 2>&1
--------

まずは、足元を固めるか...

--
http://suz-lab.blogspot.com/

"Seasar Maven2 Repository"の利用

スズキです。

表記に関してですが、すぐに忘れてしまうので、
いつもの自分メモです。

要は、pom.xmlのprojectタグ以下に下記を記述します。

--------【POM】--------
<repositories>
  <repository>
    <id>maven.seasar.org</id>
    <name>The Seasar Foundation Maven2 Repository</name>
    <url>http://maven.seasar.org/maven2</url>
  </repository>
</repositories>
--------

Seasar2のライブラリー(jar)を利用することができます。
(dependencyで指定できます)

次はWTPまわりだ。

--
http://suz-lab.blogspot.com/

今日のブックマーク 01/23/2009


Posted from Diigo. The rest of my favorite links are here.

2009年1月22日木曜日

今日のブックマーク 01/22/2009


Posted from Diigo. The rest of my favorite links are here.

2009年1月20日火曜日

AS3で暗号/復号化(RSA版)

スズキです。

とりあえず、以下でAS3での暗号/復号化を試してみたのですが、
http://suz-lab.blogspot.com/2009/01/as3.html
SWFは公開されるものなので、
そこに復号できる鍵が埋め込まれているのは、
非常によろしくない状態です。(暗号化の意味があまりありません)
つまり、この手のものに、共通鍵暗号はやばいってことです。

ってことで、そうなると公開鍵暗号です。以下を参考に、
http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=8260&forum=20
次のように実装することで実現できました。

--------【AS3】--------
var data:String = "suz-lab"; // 暗号/復号化対象

var pubmod:String
  = "69d21e08e8062a071a72fae2d4fc1e8e"
  + "a84e7000b97de8f57afb4f3bdc744c00"
  + "9371b0f7be95a413e8926f19d8d9a40c"
  + "3bb6762753ce7bb4c42b1b1d7cd537cb";
var pubexp:String = "10001";
var rsaEncrypt : RSAKey
  = RSAKey.parsePublicKey(pubmod, pubexp);

// String → Hex → Binary
var srcEncrypt:ByteArray = Hex.toArray(Hex.fromString(data));
var dstEncrypt:ByteArray = new ByteArray();
rsaEncrypt.encrypt(srcEncrypt, dstEncrypt, srcEncrypt.length);

// Base64でエンコードしたものをサーバに送る予定
var input:String = Base64.encodeByteArray(dstEncrypt);

// 下記の復号化はおまけ(実際はサーバ側で)
var priexp:String
  = "4684e9d3119c9a0165d4ddf0aff2dc02"
  + "419313fcc7a06ad0bc86214549228f4a"
  + "aafd98423169bf67a8f65702e8d0ea66"
  + "8a39b3214d452cf789183eb69e2b2651";
var rsaDecrypt:RSAKey
  = RSAKey.parsePrivateKey(pubmod, pubexp, priexp);
var srcDecrypt:ByteArray = Base64.decodeToByteArray(input);
var dstDecrypt:ByteArray = new ByteArray();
rsaDecrypt.decrypt(srcDecrypt, dstDecrypt, srcDecrypt.length);
var output:String = Hex.toString(Hex.fromArray(dstDecrypt));
--------

後は、「復号をPHPでできるか!?」、です...

--
http://suz-lab.blogspot.com/

AS3で暗号/復号化

スズキです。

FlashDevelopを本気で導入した理由は、
表記を試したかったからです。

とりあえず、下記のSWCを利用して実現してみました。
http://code.google.com/p/as3crypto/

--------【AS3】--------
package {
  import com.hurlant.crypto.symmetric.DESKey;
  import com.hurlant.util.Hex;
  import flash.display.Sprite;
  import flash.utils.ByteArray;
  public class Main extends Sprite {
    public function Main():void {
      // 暗号キーの指定
      var key :ByteArray =
        Hex.toArray(Hex.fromString("suz-lab"));
      // 暗復号対象データの指定
      var data:ByteArray =
        Hex.toArray(Hex.fromString("iretsuzuki"));
      // このクラスで暗復号
      var des:DESKey = new DESKey(key);
      // 暗号化
      des.encrypt(data);
      trace(Hex.fromArray(data));
      // 復号化
      des.decrypt(data);
      trace(Hex.toString(Hex.fromArray(data)));
    }
  }
}
--------
"TEXT - BYTE"間にHEXをワンクッション入れてるから、
効率悪いんだろうなー...(でも時間ないし...)

次は、AS3で暗号したものが、PHPで復号できるかだ!
(いい噂、聞かないんだよなー...)

--
http://suz-lab.blogspot.com/

2009年1月19日月曜日

そろそろ本気でFlashDevelop(ポータブル)

スズキです。

今まで、ちょろちょろといじってきたFlashDevelopですが、
▼FlashDevelop 3.0.0 Beta9 リリース
http://suz-lab.blogspot.com/2008/09/flashdevelop-300-beta9.html
▼Papervision3D 2.0 Beta1 & Flex SDK 3.1.0 & FlashDevelop 3.0.0 Beta8
http://suz-lab.blogspot.com/2008/08/papervision3d-20-beta1-flex-sdk-310.html

案件的にも、そろそろAS3意識しないといけないので、
本気で取り組む(ポータブル環境に導入する)ことにしました。

まずは、FlashDevelopのインストールですが、
下記からダウンロードし(もうRC1になってます...)、
http://www.flashdevelop.org/community/viewtopic.php?f=11&t=4041
展開したEXEを実行し、インストーラーを立ち上げます。

このときに、どういうインストールするのか選択するのですが、
今回はポータブル環境なので、
「FlashDevelop(必須)」と「Standalone Mode」にチェックをつけた状態で、
インストールを進めます。

次にFlashDevelopで利用する"Flex SDK"ですが、
下記より、"Flex 3"のものを適当なフォルダに展開します。
http://opensource.adobe.com/wiki/display/flexsdk/Downloads
(Gumboも気になりますが...それは、また今度...)

最後に、"FlashDevelop"と"Flex SDK"との関連付けですが、
FlashDevelopの上部メニューの
「Tools」 → 「Program Settings」 → 「AS3Context」
の"Flex SDK Location"の値を、上記の"Flex SDK"をインストールした
フォルダに指定することで実現できます。

これで、AS3に対するフットワークが劇的に軽くなったはずです...
(SVN連携をどうするかは、もう少し検討しよう...)

--
http://suz-lab.blogspot.com/

2009年1月17日土曜日

YouTubeのAPIで認証処理

スズキです。

この辺をPHPで実装してみました。
http://code.google.com/intl/ja/apis/youtube/developers_guide_protocol.html#ClientLogin_Authentication

--------【PHP】--------
$url = "https://www.google.com/youtube/accounts/ClientLogin";
$postdata = http_build_query(
  array(
    "Email" => $_POST["email"],
    "Passwd" => $_POST["passwd"],
    "service" => "youtube",
    "source" => "TestLogin"
  )
);
$opts = array("http" =>
  array(
    "method" => "POST",
    "header" => "Content-type: application/x-www-form-urlencoded",
    "content" => $postdata
  )
);
$context = stream_context_create($opts);
$result = file_get_contents($url, false, $context);
if($result === false) {
  // ログイン失敗
} else {
  // ログイン成功
}
--------
※POSTで認証用のemail/passwdが送られていることを
前提としています。

"file_get_contents"は奥が深いなー...

--
http://suz-lab.blogspot.com/

WinMerge Portable 2.10.4 リリース

スズキです。

表記の通りです。
http://portableapps.com/news/2009-01-17_-_winmerge_portable_2.10.4

早速、アップデートです。

そろそろ、ポータブル環境をまとめたコンテンツが
欲しくなってきたなー...(どういう形式にしよう...)

--
http://suz-lab.blogspot.com/

GeryEngineで"PHP Fatal error: Interface 'Countable' not found in ..."

スズキです。

"suz-php-jquery"のテンプレートエンジンに
http://code.google.com/p/suz-lab/source/browse/#svn/trunk/suz-php-jquery
Velocity互換のGeryEngineを利用しています。
http://geryengine.instant-publishing.nl/

で、ある環境(PHP5.2.6)で、
今までどおりGeryEngineを使おうとしたら、
下記のエラーが発生してしまいました...

PHP Fatal error: Interface 'Countable' not found in
GeryEngine/lib/util/HashMap.php on line 2

PHP Fatal error: Interface 'Countable' not found in
GeryEngine/lib/types/IGeryArray.php on line 2

しっかりと調査はしていないのですが、
Countableインターフェースが無いようです。

なので、下記のようにCountableの記述を取り除いてみたら、
無事、動くようになりました...

▼HashMap
class HashMap implements Countable, ArrayAccess, IteratorAggregate {

class HashMap implements ArrayAccess, IteratorAggregate {

▼IGeryArray
interface IGeryArray extends Countable, Iterator {}

interface IGeryArray extends Iterator {}

そんな対応で大丈夫なのか...
と思いつつ、上記修正を"suz-php-jquery"にもコミットしてしまいました。

ブログのペースが落ちてる...

--
http://suz-lab.blogspot.com/

今日のブックマーク 01/17/2009


Posted from Diigo. The rest of my favorite links are here.

2009年1月16日金曜日

Remember The Milk for Gmail

スズキです。

近頃、TODO管理に"Remember The Milk"を使うようになりました。

昔も試したのですが、機能は良かったのですが、サイトが重く、
結局それに我慢できず、やめてしまいました。

今回も三日坊主で終わるかもなー、と思っていましたが、
一ヶ月くらい続いているので、そろそろ、
Gmail、Google Reader、Diigo、につぐ
suz-lab情報管理インフラになるかなー、と期待しています。

今までは、"Remember The Milk"単体で利用していたのですが、
そろそろ、慣れてきたので、Gmailの連動に挑戦してみました。

これは表記のFirefoxのextensionで可能となります。
http://www.rememberthemilk.com/services/gmail/addon/

このextensionはいろいろと連携機能が用意されているのですが、
一番利用したい機能は、
「GmailのメールをそのままRTMのタスクにする」
です。
http://www.rememberthemilk.com/services/gmail/addon/#features

運用としては、「TODO」といラベルをつくり、
メールにそのラベルをつけたら、同時にRTMのタスクにもなり、
そして、タスクからメールが参照でき...って感じです。

で、gmail上部の「設定(Settings)」で「Tasks」というメニューが
追加されているので、その「Labeling:」で
Create a task when I label an email with 「TODO」
と設定すると、メールのラベルをTODOに設定すると同時に、
RTMのタスクとしても登録されるようになります。

これで、めでたし、めでたし、のはずですが、
実はうまくいきませんでした。

原因は言語が「日本語」だったからでした。
なので、上記の「設定(settings)」の「General→Language」で
「English(US)」を設定することで、
ようやく上記機能を利用できるようになりました。

とりあえず、二週間くらい、様子見かな?

--
http://suz-lab.blogspot.com/

Javaで携帯の絵文字を除去

スズキです。

未だ、携帯Webアプリの実装はうざいです...

絵文字はUnicodeのPRIVATE_USE_AREAにあるようで、
下記のように絵文字のチェックをすることができます。
(コードは絵文字の除去までやっています)

--------【JAVA】--------
StringBuffer buffer = new StringBuffer();
for(char c : text.toCharArray()) {
  if(Character.UnicodeBlock.of(c)
      != Character.UnicodeBlock.PRIVATE_USE_AREA) {
    buffer.append(c);
  }
}
System.out.println(buffer.toString());
--------
(下記参考にしています)
http://www.javaroad.jp/bbs/answer.jsp?q_id=20080311092556962

Docomoしかテストしてないけど、大丈夫かなー...

--
http://suz-lab.blogspot.com/

2009年1月15日木曜日

Pidgin Portable 2.5.4 リリース

スズキです。

ちょっと遅くなりましたが、表記の通りです。
http://portableapps.com/news/2009-01-13_-_pidgin_portable_2.5.4

早速、ポータブル環境のアップデートです。
(2.5.3は不安定だったんだよなー...)

久しぶりの投稿だ...

--
http://suz-lab.blogspot.com/

2009年1月14日水曜日

今日のブックマーク 01/14/2009


Posted from Diigo. The rest of my favorite links are here.

2009年1月9日金曜日

今日のブックマーク 01/09/2009


Posted from Diigo. The rest of my favorite links are here.

2009年1月8日木曜日

Maven2でCheckStyle/PMD/FindBugsのレポート出力

スズキです。

表記、もっとつっこみたかったけど、タイムオーバーなので...

とりあえず、pom.xmlを下記のようにして、
mvn site
コマンドを実行すると、
CheckStyle/PMD/FindBugsのレポートが出力されます。

--------【POM】--------
<reporting>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-checkstyle-plugin</artifactId>
    </plugin>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-pmd-plugin</artifactId>
    </plugin>
    <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>findbugs-maven-plugin</artifactId>
    </plugin>
  </plugins>
</reporting>
--------

そろそろ、ノリで解決しない域に来たのかなー...

--
http://suz-lab.blogspot.com/

今日のブックマーク 01/08/2009


Posted from Diigo. The rest of my favorite links are here.

2009年1月7日水曜日

m2eclipseで外部Maven2の利用とローカルリポジトリの変更

スズキです。

予告どおり、次は、
「m2eclipseで外部Mavenの利用とローカルリポジトリの変更」
です。(まあ、設定の話ですが...)

まずは下記より、Maven2本体をダウンロードし、
http://maven.apache.org/
"S:\sbin\maven"(suz-labポータブル環境推奨)
などに展開します。("maven/bin/mvn.bat"とかになります)

次に、Eclipse(m2eclipse)の設定で、
「Maven > インストール」にある追加ボタンで、
"S:\sbin\maven"を追加します。

そうすると、"Global Settings"の内容が、
S:\sbin\maven\conf\settings.xml
になるはずです。

そしたら、今度は、ローカルリポジトリの変更ですが、
こちらは、"User Settings"で指定するsettings.xmlで調整します。

suz-labポータブル環境では、このファイルを
"S:\etc\maven\settings.xml"に置いて、指定しています。

このXMLファイルを下記のように調整することで、
ローカルリポジトリを変更することができます。

--------【XML】--------
<settings
    xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
    http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository>S:\var\maven</localRepository>
</settings>
--------
※ローカルリポジトリを"S:\var\maven"に変更しています。

m2eclipseの設定画面でもローカル・リポジトリーの項目が、
上記で設定したフォルダに変更されているはずです。

ようやく、このEclipse&Maven環境で、
CheckStyle/PMD/FindBugsのレポート出力ができるぞ!

--
http://suz-lab.blogspot.com/

m2eclipseの導入

スズキです。

今、何の縁があってか、
Eclipse・Maven2・Hudsonの連携によくかかわっています。
(CheckStyle・PMD・FindBugsもその一環かなー...)

いろいろやっているのですが、そろそろ、まとめに入ろうかと思います。
ってことで、まずは表記のm2eclipseの導入からです。

m2eclipseはmaven2と連携するためのEclipseプラグインです。
http://m2eclipse.codehaus.org/

インストールはこちらのアップデートサイトから簡単にできます。
http://m2eclipse.sonatype.org/update/

インストールするコンポーネントはいろいろと用意されていますが、
とりあえず、下記のみを選択しています。

▼Maven統合
- Eclipse用Maven統合
- Mavenエンベッダー

▼Mavenプロジェクト・コンフィグレーター
- WTP用Maven統合

後は、ちゃんとpom.xmlを用意すれば、
依存ライブラリ(jar)など、pom.xmlに従った形で、
ダウンロード&ビルドパスへの追加を勝手に行ってくれます。
(プロジェクトにm2eclipseを適用する必要がありますが)

次は、Mavenを組み込みではなく、外部のものを利用するようにして、
そして、ローカルリポジトリをsuz-lab推奨フォルダへ変更するところかな?

--
http://suz-lab.blogspot.com/

MFC71.DLLが見つからなかったため…

スズキです。

いつも使っている目覚ましアプリが、
http://www.vector.co.jp/soft/winnt/personal/se369250.html
突然、表記のメッセージで起動しなくなりました

エラーメッセージでググると、
この手の現象は他のアプリでもよくあるようです。

で、解決方法ですが、下記サイトよりmfc71.dllをダウンロードし、
http://apostle13th.com/modules/wfdownloads/singlefile.php?cid=10&lid=48
EXEファイル(WakeMeUp.exe)が存在するフォルダに
それを置けばO.K.です。

でも未だ、何故、突然起動しなくなったかは、謎です…

--
http://suz-lab.blogspot.com/

今日のブックマーク 01/07/2009


Posted from Diigo. The rest of my favorite links are here.

2009年1月5日月曜日

Eclipse(3.4.1)の日本語化

スズキです。

今まで何度もやっている、Eclipseの日本語化、今回は、3.4.1です。

まずは、Pleiadesの導入です。
http://mergedoc.sourceforge.jp/index.html#/pleiades.html

ダウンロード&展開したフォルダのfeaturesとpluginsを
eclipseフォルダのfeaturesとpluginsに上書きします。

また、eclipse.iniを、
readme\eclipse.ini_sample.win.3.4
に差し替えます。

で、さあ、いつもの下記batファイルで起動しようとしたら、
起動しません...

--------【BAT】--------
set JAVA_HOME=\sbin\java\1.6.0
set PATH=%JAVA_HOME%\jre\bin
start \sbin\eclipse\eclipse.exe -clean
exit
--------

いろいろ試してみると、次のように、eclipse.exeのあるフォルダで
eclipse.exeを実行すると起動しました...

--------【BAT】--------
set JAVA_HOME=\sbin\java\1.6.0
set PATH=%JAVA_HOME%\jre\bin
cd \sbin\eclipse
start eclipse.exe -clean
exit
--------

ついでにJStyleも導入しておきました。
http://mergedoc.sourceforge.jp/index.html#/jstyle.html
導入方法は、Pleiadesと同じです。

JStyleに関しては、以前、本ブログでも言及していますが、
http://suz-lab.blogspot.com/2007/09/eclipsejstyle.html
主に下記を行いたいときに、有効です。

- Eclipse上で全角空白を見えるようにしたい。
- 太字と細字の幅を同じにしたい。

もう少しがんばれば、suz-labセット2009になりそうだなー。

--
http://suz-lab.blogspot.com/

Checkstyle & PMD & FindBugs (Eclipseプラグイン)

スズキです。

こちらで紹介したCheckstyle、PMD 、FindBugsのEclipseプラグインを
http://suz-lab.blogspot.com/2009/01/checkstyle-pmd-findbugs.html
早速、導入してみました。

下記アップデートサイトから、簡単にインストールできます。

▼Checkstyle
http://eclipse-cs.sourceforge.net/update

▼PMD
http://pmd.sourceforge.net/eclipse

▼FindBugs
http://findbugs.cs.umd.edu/eclipse

適当なプロジェクトに上記でチェックしてみたら、
ボロボロでした。(Warningだけど...)

ついでにEclipseの日本語化もしとくか。

--
http://suz-lab.blogspot.com/

Checkstyle & PMD & FindBugs

スズキです。

そろそろ、表記に真剣に取り組んでみようと思います。
(まあ、機会があったからですが...)

概要は、下記が参考になります。

▼Eclipseで使える静的解析ツール
http://www.atmarkit.co.jp/fjava/rensai3/eclipsetst02/eclipsetst02_1.html

▼JavaのバグをFindBugsで見つける
http://codezine.jp/article/detail/3024?p=2

簡単に言うと、

Checkstyle: コーディング規約をチェック。

PMD: 潜在的なバグからコーディング規約をチェック。

FindBugs: 潜在的なバグをチェック。

といった感じです。

当然、上記のツールは、より便利に使いたい訳で、
まずはEclipse、Maven2での実行環境が目標です。

【Eclipseプラグイン】

▼Checkstyle(アップデートサイト有り)
http://eclipse-cs.sourceforge.net/

▼PMD(アップデートサイト有り)
http://pmd.sourceforge.net/integrations.html#eclipse

▼FindBugs(アップデートサイト有り)
http://findbugs.sourceforge.net/downloads.html

【Maven2プラグイン】

▼Checkstyle
http://maven.apache.org/plugins/maven-checkstyle-plugin/

▼PMD
http://maven.apache.org/plugins/maven-pmd-plugin/

▼FindBugs
http://mojo.codehaus.org/findbugs-maven-plugin/index.html

今日中にEclipseの環境は作りたいなー。

--
http://suz-lab.blogspot.com/

プロジェクトに必要なフォルダ

スズキです。

今さらながらですが、実は今まで意識したことがなかったので、
改めてまとめてみました。

【0_雛形】
文字通りです。

【1_受発注】
契約書、見積書、発注書、...。

【2_納品物】
先方への納品物一式です。
先方へはこのフォルダをzipして提出します。

【3_DDD、4_EEE、5_FFF、6_GGG】
未定。

【7_先方より】
先方よりいただいたものをすべて置きます。
以下のフォルダ構成も先方のものそのままにします。

【8_参考資料】
先方からいただいたもの以外の参考資料を置きます。

【9_その他】
上記に当てはまらないものを、とにかく置きます。

この辺は、
YAGNI(You Aren't Going to Need It.)
で、ぼちぼち整理していこう。

--
http://suz-lab.blogspot.com/