2009年10月29日木曜日

Your Web Application Project must be configured to use a JDK in order to use JSPs.

Google App Engine に JSP を追加したときに発生しました。下記サイトを参考に解決できました。Eclipse を日本語化していない方のために。

  1. [window]-[preferences]-[Java]を選択
  2. Installed JREs 画面で、[Add]をクリック
  3. Standard VM を選択して次へ
  4. JRE home: のところで、インストールしているJDKのホームディレクトリを選択
  5. 含まれているライブラリを表示してくれるので、Finish
  6. プロジェクトの [properties]-[Java Bulid Path] をクリック
  7. Livraries タブを選択し、Add Livrary をクリック
  8. JRE System Library を選択し次へ
  9. Alternate JRE: のラジオボタンをチェックし、先ほど追加したJDKを選択しFinish
  10. コンパイルが実行されて、完了
参考サイト

2009年10月27日火曜日

Jumsoft Money for iPhone にアップデートが来ました

Jumsoft Money for iPhone の ver 1.1.1 が公開されていました。
内容は、同期のバグフィックス、予算の改善、レポートの改善、収支表示の改善など。

また、合わせて、Mac 版も、3.4.4 にアップデートされていました。
こちらも iPhone との同期のバグフィックス、QFX インポートの改善、その他細かいバグフィックスと改善だそうです。for iPhone を先にアップデートした場合、Mac 版をアップデートするまで、iPhone を認識してくれなくなります。

とりあえずアップデートまで。動作の確認は後ほど...

Google App Engine の開発環境を作る

Eclipse に Google App Engine Plugin をインストール

  1. Eclipse.org で、Eclipse IDE for Java EE Developer をダウンロード。
  2. 任意のフォルダに解凍して実行。
  3. [Help] - [Install New Software]
  4. Work with: に http://dl.google.com/eclipse/plugin/3.5 と入力(コピペじゃダメ?)。
  5. Plugin と SDKs にチェックを入れて、Next をクリック。
  6. 同意(I accept the terms of the license agreements)して、Finish!

プロジェクトを作成

  1. メニューにある g のアイコンか、[File] - [New] - [Web Application Project] をクリック。
  2. Project : と、Package : をそれぞれ入力。
  3. Finish!

アプリケーション領域の確保

  1. http://appengine.google.com/にアクセスして、Create an Application をクリック。
  2. Application Identifier: を入力。これが .appspot.com のサブドメインになる。
  3. Application Title: を入力。
  4. Save をクリックして完了。

サービスの公開

  1. Eclipse プロジェクトを右クリックし、Properties を開く。
  2. [Google] - [App Engine] を開き、ApplicationID に先ほど入力した Application Identifier を入力する。
  3. OK で決定。
  4. プロジェクトを右クリックして、Google > Deploy to App Engine をクリック。
  5. Google App Engine に登録した、E-Mail と password を入力する。
  6. Deploy!
環境
  • Eclipse 3.5 (IDE for Java EE Developers)

Eclipse 3.5 Galileo の Java EE Developers が正常に起動しなかった

いくつかそういうケースがあるらしく、なやんだんですが、ウチの環境の場合、

  1. JDK をインストールしなおし(JDK 6 Update 16 にした)。
  2. eclipse.ini ファイルから、-showsplash org.eclipse.platform の記述を削除。

したらいけました。それらがどういう意味を持つかは、よくわからないけど、動いたからいいよね!

2009年10月26日月曜日

ねんがんの iPhone3GSをてにいれたぞ!

1週間まえくらいの話ですが、iPhone3GSを手に入れました。我が家は夫婦揃ってSOFTBANKを利用してるのですが、嫁さんの携帯をiPhone3GSに機種変して、俺のiPhone3GとSIMだけ変更し、まんまとiPhone3GSを入手する運びとなりました。ヒャッハー。

1週間使ってみた感想ですが、素晴らしく動作速度が向上してます。画面表示や切り替え、入力がストレスなく行える事は、何より大事だと再認識しました。確かにiPhone3GはSにて完成したと言っても、過言では無いと誰かが言ってた気がするけど、なるほど正しい。

一部アプリの起動や、動作もいい感じに。一層使いやすくなりました。ゲームはスムーズになりすぎて、動きについていけなかったりも。塊がうまく転がせなくなりました。元々ですかそうですか。

あとあまり気にしていなかった動画撮影。意外にこれが楽しくて、事あるごとに、たっ君の動画を撮影してます。写真でとるより面白いし、容量も気にせず撮影しまくれるところがいいです。トリミング機能は使ってないですが。

いやぁ何というか、嫁ゴメン。きっと次のiPhoneが来年出るだろうから、その時はこの3GSが、君のものになるから!

2009年10月22日木曜日

Jumsoft Money の iPhone との同期に難あり?

iPhone版と Mac版とを別々に変更して同期を行った場合、うまくマージできないようです。

レコードが消えてしまった
Macで入力したデータが消えて、iPhone で入力したデータに、Macで入力した別レコードのコメントだけが入っていました。レコードを入力した順番としては、Macの方が早かったはずなので、上書きされてしまったということでしょうか。
Category が (null) となってしまったレコードがある
データを修正しようとしても、正常に変更できなくなっていました。データの整合性が崩れてしまっている様子。新しいレコードを追加しました。

一番期待していた機能がうまく動作してくれないのは、非常に残念。しばらくは慎重に Sync を行いつつ、他のソフトへの乗り換えも考えようかな...。でも39$したしなぁ。

2009年10月21日水曜日

swf ファイルをキャッシュさせたくない

レア中のレアケースのために、いっぱい悩まないといけないのが、この仕事の醍醐味だと自分に言い聞かせて。

swfファイルはをリクエストする際に、パラメータとして時間を付加する方法がありますが、swfファイルがそれなりの容量があったり、他のswfファイルをロードするようなコンテンツだと、毎度毎度キャッシュがたまっていって、あまりユーザにとってよくないんだろうなと考えました。

で、色々考えた末、サーバ側で対応してもらう手立てはないものかと探してみたところ、IISでは以下のように設定すれば、ローカルにキャッシュファイルがまったく生成されませんでした。

IIS マネージャでの設定

  1. [webサイト] - [規定のWebサイト] - [サイト] - [キャッシュさせたくないフォルダ or ファイル]のプロパティを開く
  2. 「HTTP ヘッダー」タブを開く
  3. 「コンテンツの有効期限を設定する」にチェック
  4. 「直ちに有効期限を切る」を選択
  5. OK or 適用

HTML ファイルにキャッシュしない META タグを仕込んでも、そのHTMLファイルに対してしか適用されないので、結局リクエスト対象のファイル単位で設定しないとどうにもならないようですね。画像ファイルとかでもこの設定は活きてくると思います。打倒なのかどうかわかりませんが、望むべき形にはなりました。これでいけるかな~

環境
  • windows server 2003
  • インターネットサービスマネージャ ver 6.0

2009年10月19日月曜日

外部Webページにリンクを張る

flash.net パッケージnavigateToURL()関数でいけます。"_self"や"_blank"などを利用して、HTMLで記述するときと同じようにウィンドウを指定することが可能。

ただし、ローカル環境でブラウザ上で実行しようとすると、Flash Player のセキュリティに引っ掛かります。グローバルセキュリティ設定で、実行しようとする swf が含まれるフォルダをに対して許可を与えてあげる必要があります。

var url:String = 'http://www.yahoo.co.jp/';
var window:String = '_blank';
navigateToURL(new URLRequest(url), window);

どうでもいいけど、普段 Yahoo! を全くと言っていいほど利用しないのに、仮に書くリンクは Google じゃなくて Yahoo! なのかは、自分でもよくわからないところ。

2009年10月16日金曜日

海遊館に行ってきた

近場で悪かったな!

近くを通る事になったので、海遊館に行ってきました。随分久しぶりに行ったけど、中々の混雑振りにびっくりしました。3連休の始めやったからかな?動物にタッチ出来るコーナーがあったけど、たいした事無かったです。エイのヌルヌル具合は気持ち悪くてよかったけど。

最近ペンギンの赤ちゃんが生まれたそうだけど、既に毛が生え変わっていて、サイズも大人と同じくらいだったから、少し遅すぎたらしい。別の場所に居たとか?

たっ君は途中で飽きちゃつたみたい。最初は食い入るように見てたんだけどな。


2009年10月14日水曜日

Eclipse で ActionScript3.0 開発環境を作る

windows なら FlashDevelop 一択なんだけど、Mac だとこれと言った開発環境がない(Flex Builder 3.0 はとりあえずおいておいて)。ので、Eclipse でできる限りそろえたい。そろえたいところとしてはとりあえず、

  • ActionScript3.0 (&MXML) のコンパイル、実行環境
  • コード保管

あたりがあれば。とりあえずデバッグ環境は後回しで。

AXDT

コンパイル環境、MXML のコード保管、Flex Designview(未使用)など、一通りの MXML 開発環境を整えてくれる。ここまで入ってて、なぜ ActionScript 3.0 のコード保管がない!

  1. お好きな Eclipse をダウンロード
    ココではEclipse IDE for Java Developersとあります。
    PDT とかをDLしてすぐだとインストールできませんでした。
  2. ヘルプ->ソフトウェア更新
  3. サイトの追加(この順番でないと怒られた)
    • http://eclipse-imp.sourceforge.net/updates
    • http://update.axdt.org/
  4. Eclipse を再起動

で、問題なく動きました。Flex3 SDK が必要かどうかは、元々インストール済みだったのでよくわかりません。Eclipse プラットフォームプラグインについてを見ていたら、Flex3 SDK がどうのというのがあったので、多分大丈夫なんだと思います。なにげに Flex4 SDK も入っているご様子。

試した環境
  • Eclipse 3.5.1(Eclipse IDE for Java Developers)
  • AXDT 0.0.2

2009年10月9日金曜日

Jumsoft Money の iPhone 同期バグが直ったらしい?

Money 3.4: Sync with iPhone and More for Your Delight

iPhone との同期が何よりうれしい Jumsoft Money ですが、PPC Mac との同期が正常に行われないバグがありました。マニュアル通りに、4桁の数字を入力しても Sync ボタンがどこにも表れない...。何でだなんでだとググってみると、上記公式ブログのエントリーでは同じような症状の方々がいっぱい。Apple の承認待ち状態という話になってから、中々 App Store に並ばず、いつかいつかと待ちわびてました。

やっとこれで勝つる!(家に帰らないと同期できんわけだけどね!)

2009年10月7日水曜日

Jumsoft Money は、複数ユーザで利用できない

http://www.jumsoft.com/support/#money

4. Can I set up more than one user in Money?
No, currently Money allows only one user profile, but we plan to expand this option in the future.

っていう意味だよね?
嫁と共有したかったのに、運用方法考えないと。将来っていつだろう...

2009年10月5日月曜日

Tween が上手く動かなかった

すっきり書きたいなと下みたいに書いたら、動かなかった。

package 
{
    public class TweenTest
    {
        
        private var tweenHolder:Array = new Array();
        
        public function TweenTest() 
        {
            addEventListener(Event.ADDED_TO_STAGE, 
                function(e:Event):void {
                    removeEventListener(Event.ADDED_TO_STAGE, arguments.callee);
                    tweenHolder.push(new Tween(this, "alpha", None.easeIn, 0, 1, 10));
                }
            );
        }
        
    }

}

外に出したら動いた。

package 
{
    public class TweenTest
    {
        
        private var tweenHolder:Array = new Array();
        
        public function TweenTest() 
        {
            addEventListener(Event.ADDED_TO_STAGE, 
                function(e:Event):void {
                    removeEventListener(Event.ADDED_TO_STAGE, arguments.callee);
                    runTween();
                }
            );
        }
        
        private function runTween():void {
            tweenHolder.push(new Tween(this, "alpha", None.easeIn, 0, 1, 10));
        }
        
    }

}

原因は後で調べる。
無名関数のスコープが考慮できてなかった。便利だけど気をつけないと。
我ながら情けないミスだけど、戒め戒め。

2009年10月4日日曜日

ハーベストの丘に行ってきた

新しい車に乗り替えると、何かと理由付けて外に出たくなるよね!ってな訳で、ハーベストの丘に行ってきた。 30分程度で行けます。近い。

滞在時間は3時間程度だったけど、クタクタになるまで遊びました。敷地は結構広く、散歩してるだけでも結構楽しめます。ウサギやヤギ、ラマなどとふれあえたり、アーチェリーや芝滑り、ゴーカートやミニSLなど、色々と遊具施設がありました。あと、時間が中途半端で食べられなかったけど、自家製ソーセージを使ったホットドックは食べたかったなぁ。アイスクリームはおいしかったです。

たっ君が全然怖じけ付かず、動物と戯れてたのが印象的。もっとビビりと思ってたけどな。