月別: 2011年5月

JavaFX 2.0 SDK README

android用の神経衰弱ゲームを公開しました(・∀・)
The Match-up(Memory) game for android was released!

Google Play:
Mole's Match-up.

Introduction page:
Mole’s Match-upをリリースした∩( ・ω・)∩


JavaFX 2.0 SDK README

Beta Draft: 2011-05-12

目次

概要

JavaFX ソフトウェア開発キット(SDK)は表現力豊かなJavaFXアプリケーションを開発する為のツールとテクノロジーを提供します。SDKは以下のコンポーネントを含みます:

JavaFXランタイムインストーラー
JavaFX API ドキュメンテーション
サンプル

ブラウザ上またはJava Web Start テクノロジーを使用してWeb越しにJavaFX アプリケーションを実行するためにはJavaFXランタイムがインストールされていなければならないことに注意してください。

JavaFX SDKの動作情報、最新情報、既知の問題についてはリリースノートを見てください。

リリースノートはドキュメンテーションサイト(http://download.oracle.com/javafx/)で利用可能です。

動作環境

JavaFX SDKの動作環境はJavaFXシステム要求ドキュメントでリストされています。このドキュメントはドキュメンテーションサイト(http://download.oracle.com/javafx/)で利用可能です。

リリース内容

SDKは以下のディレクトリと内容を含んでいます:

apps – サンプルアプリケーション
docs – API ドキュメント
rt – ランタイムディレクトリ
tools – NetBeansでパッケージとデプロイするために使用されるAntタスク
javafx-version-windows-os.exe – JavaFXランタイムインストーラー。このversionの値はSDKの現在のバージョンです。(例えば2_0-beta) OSが32bit i586バージョンと64bit amd64バージョンのインストーラーです?

ランタイムインストーラー

デスクトップ、ブラウザ上、Java Web Start テクノロジーを使用してWeb越しでJavaFXアプリケーションを実行するためにはあなたのシステムJavaFXランタイムをインストールしなければなりません。インストーラーはJavaFX SDK のルートディレクトリにあります。JavaFX SDKを解凍したディレクトリへ行き、javafx-version-windows-os.exeという名のインストーラーをダブルクリックしてください。(※versionはSDKのバージョンに依存)

表示された指示に従ってください。

サンプル

appsディレクトリにはプラットフォームの性能を表示するサンプルJavaFXアプリケーションが含まれています。JavaFXランタイムをインストール後、アプリケーションのJava Archive(jar)ファイルをダブルクリックしてサンプルアプリケーションを実行出来ます。例えば、例えばデスクトップでDisplay Shelfアプリケーションを実行するにはDisplayShelf.jarをダブルクリックします。ブラウザ上でアプリケーションを実行するにはDisplayShelf.htmlをダブルクリックします。Web越しにアプリケーションを実行するにはDisplayShelf.jnlpをダブルクリックします。

各サンプルのソースコードはapp/srcディレクトリにあります。サンプルコードを閲覧するには、appssrcsampleディレクトリへ行きます。サンプルのディレクトリはあなたが興味を持ったアプリケーションの名前と同じです。各サンプルソースのディレクトリはNetBeansプロジェクトです。

はじめるために

JavaFX SDKのドキュメンテーションはhttp://download.oracle.com/javafx/で利用可能です。 以下のチュートリアルは良き出発点を提供します:

・Overview – JavaFX SDKの動作させるためのツールと概念の紹介(※無い?)
・Getting Started  – JavaFXアプリケーションを作成するためのステップバイステップチュートリアル
Copyright © 2011, Oracle and/or its affiliates. All rights reserved

Java Backends Configuration

android用の神経衰弱ゲームを公開しました(・∀・)
The Match-up(Memory) game for android was released!

Google Play:
Mole's Match-up.

Introduction page:
Mole’s Match-upをリリースした∩( ・ω・)∩


http://code.google.com/intl/ja/appengine/docs/java/config/backends.html

  Java Backends Configuration

backends.xml と呼ばれる設定ファイルを使用してあなたのアプリケーションにバックエンドを追加することが出来ます。この設定ファイルで名前とバックエンドサーバから要求されるプロパティを宣言します。backends.xml ファイルはアプリケーションのWEB-INF ディレクトリ内に格納されます。

 backends.xmlについて

バックエンドにはデフォルトのアップエンジンインスタンスとの幾つかの独特で重要な違いがあります; バックエンドがどのように動くかについての更なる情報はBackends documentationを見てください。 以下のコードサンプルは backends.xmlファイルのサンプルです。この設定ファイルは3つの別個のバックエンドを定義しています:
  1. memdbと名付けられたバックエンド。このバックエンドはインスタンスクラス B8のインスタンスを5つ持ちます。
  2. デフォルトクラスで1つのインスタンスを使用する workerと名付けられたバックエンド。待機キューの振る舞いを無効にするためにfailfastを設定しています。
  3. cmdlineと名付けられたバックエンド。アプリケーションの管理者によって発行されるロングランニングコマンドを実行するために使用されます。

 
name="memdb">
   
b8
   
5
 

 
name="worker">
   

     
true
   

 

 
name="cmdline">
   
cmdline
   

     
true
   

 

 バックエンドのタイプ

アップエンジンは二つのバックエンドのタイプをサポートします: レジデントとダイナミック。レジデントバックエンドはバックエンドのデフォルトタイプです; レジデントバックエンドは、アイドル時でもメモリ上に常駐し、自動的に再起動するレジデントインスタンスを使用します。これは大きいタスクまたは持続的処理を必要とするタスクの実行を可能にします。デフォルトでは、バックエンドは一つのインスタンスで構成されますが設定ファイルでさらに追加することができます。
以下の表はレジデント/ダイナミックバックエンドの大きな特徴を比較したものです:
Resident

レジデント
バックエンド

Dynamic

ダイナミック
バックエンド
その他の備考
インスタンスのタイプ
常駐
動的(アプリがAlways Onであっても)
デフォルトではレジデント/ダイナミックバックエンドは共に1インスタンスを持ちます。 instances要素を使用してインスタンスの数を設定出来ます。
スタートアップ
HTTPリクエストを受信した時
シャットダウン
大抵は手動(管理コンソール または コマンドラインツール 経由)
数分間のアイドル後
他の原因がシャットダウンに影響することがありえます。更なる情報はシャットダウンを見てください。
ステイト(状態)
手動でシャットダウンするか予期しないシャットダウンイベントが発生するまで維持。シャットダウンイベントについての。より詳しい情報はシャットダウンを見てください。 
数分間のアイドル後、バックエンドがシャットダウンされた時に消去
処理のタイプ
持続、またはリクエストによる駆動
リクエストによる駆動
コスト
より相対的(バックエンドは持続的に実行されるので)
相対的ではない(ダイナミックバックエンドはアイドル時に終了させられるので)
一時間毎の課金(アイドルでも)
用途 以下のように持続的処理または状態の維持が要求されるような用途:

  • メモリ内にゲームの状態を格納 
  • ソーシャルグラフまたはwebインデックスのキャッシング
  • webクローラの実行
以下のようなリクエストベースの用途:
  • 処理を完了する為によりパワー、時間、メモリを要求するタスクキューリクエストレポート生成
  • 大きいまたは複雑なユーザーリクエスト
レジデント/ダイナミックバックエンドは共に タスクを特定のバックエンドインスタンスへ割り当てる(アドレス指定する)ことが可能です。インスタンスとバックエンドの名前はプログラム的に取得することが出来ます。エンドポイントは次の形式になります:
[instance].[backend].[appid].appspot.com.
ロードバランシング リクエストは全てのバックエンドのインスタンス全体で等しく釣り合いが取れています。 リクエストは初め、最も低いナンバーのインスタンスに集中し、トラフィックの増加により、追加のインスタンスによって処理されます。

 リクエスト処理

レジデント/ダイナミックバックエンドはどちらも入ってくるトラフィックを処理する為にペンディングキュー(待機キュー)を使用します。他のリクエストの処理でビジー状態のバックエンドのリクエストは、アボート(実行の打ち切り)する前に、短期間(10秒間)、ペンディングキューで待機します。
バックエンドの待機キューはfailfastフィーチャーを使用して無効に出来ます。failfastにはリクエストごと、またはバックエンド全体のどちらかを設定することが出来ます。(バックエンドオプションは現在エクスペリメンタルですが). 単一のリクエストに対してfailfastを使用する為にはタスクリクエストに以下のヘッダを追加します:
X-AppEngine-FailFast
バックエンド全体にfailfastを使用するには、 backends.xml内のバックエンド定義へ  を追加します。

 ハンドラの定義

バックエンドはアプリケーションバージョンと共にweb.xmlで定義されたサーブレットのセットを共有します。各バックエンドに対して別々のサーブレットのセットを設定することは出来ません。YAML configurationを使用する場合、login: adminを伴う管理者に限定したいハンドラを設定出来ます? このログイン宣言は外部リクエストをブロックし、一方で追加設定することなく、内部リクエスト(例えばアプリケーションの別のインスタンス、またはタスクキューからの)がアクセスすることを許可します。

 インスタンスの等級(クラス)

アップエンジンは4段階のバックエンドインスタンスの異なる等級を提供します。これらはメモリとCPUの上限が異なります。これらの等級はあなたが仕事を実行するのに必要とする処理能力を備えたバックエンドを設定することを可能にします。各等級は一時間毎の具体的なビリング(課金)レートを持ちます。ビリングについては課金対象の割り当ての単価 を見てください。

バックエンドのデフォルトの等級はB2です。この等級は256MBのメモリと1200MHzのCPUキャパシティを提供します。

backends.xml内の ディレクティブを使用して等級を変更することが出来ます。:

 

   
cmdline
   
b4
 

 は以下の値を持ちます:
等級設定 メモリ制限 CPU制限 一時間におけるコスト
B1 128MB 600MHz $0.08
B2 (デフォルト) 256MB 1200MHz $0.16
B4 512MB 2400MHz $0.32
B8 1024MB 4800MHz $0.64

*バックエンド課金についての更なる情報は課金、割り当て、制限を見てください。

 バックエンドの定義

backends.xml ファイルは backendsと呼ばれる単一のリスト要素を持ちます。リスト内の各要素はアプリケーションのバックエンドを表します。バックエンドは課金、割り当て、制限 に従います。
 要素は以下の要素を含むことが出来ます:
 (必須)
文字、数字、ハイフォンで構成されたサーバの名前。現在、アプリケーションバージョンとして使用されている名前は使うことが出来ません。またこの名前はBACKEND_IDとして参照されます。
バックエンドのインスタンスの等級を決定します。この等級が各インスタンスのメモリとCPUの上限を決定します。デフォルトの等級はB2です。
バックエンドに割り当てるインスタンスの数を指定する120の間の整数。 指定されていない場合、デフォルトでは1です。また、インスタンスナンバーはINSTANCE_ID.として参照されます。
アプリケーションがappengine-web.xmlスレッドセーフとしてマークされている場合は各インスタンスは複数のインスタンスを処理出来ます。また、同時リクエストの最大数を設定することも出来ます。この技術はエクスペリメンタルです。バックエンドは待機キューを持ちます; ビジー状態のインスタンスへのリクエストはアボートする前に10秒間リトライします。
各インスタンスが同時に処理できるリクエストの最大数を指定します。セットされていない場合、アップエンジンは動的に同時リクエスト(数?)を決定します。
論理値(ブール型)設定のリストです。1つ以上の以下のオプションを含めることが出来ます。デフォルトではレジデントインスタンスです。バックエンドを常にメモリ内に残るように設定出来るのでリクエストをまたがってステイト(状態)を維持します。これは 上記のバックエンドのタイプセクションで説明したようにバックエンドが常にメモリ上に残るように設定されていることを意味します。レジデントサーバはその下のappサーバが再起動された場合にのみ再起動します。
デフォルトではレジデントインスタンスです。レジデントインスタンスではなくダイナミックインスタンスを使用するためにこのオプションをバックエンドにセットします。
Experimental!
The fail-fast オプションはエクスペリメンタル(実験的、試験的な扱い)です。キューを無効にし、新しいリクエストを受け取った場合にビジーなインスタンスは直ちにHTTP503エラーを返します。リクエストへ X-AppEngine-FailFast ヘッダを追加することによってこれと同じ振る舞いをさせることが出来ます。このヘッダはエクスペリメンタルではありません。
Experimental!
Sets backend access to public. パブリックバックエンドはwebからの外部HTTPリクエストを受け付けることが出来ます。更なる情報はパブリック/プライベートバックエンド を見てください。

Puppy Linuxでの設定方法

android用の神経衰弱ゲームを公開しました(・∀・)
The Match-up(Memory) game for android was released!

Google Play:
Mole's Match-up.

Introduction page:
Mole’s Match-upをリリースした∩( ・ω・)∩


久しぶりにPuppy Linuxの入っているノートPCを発掘したので、
S31HWでの接続を試みた。ubuntuのようにただ繋げればいいのかと
思ったが、多少の手順が必要だった。
説明を要するほど難しい手順ではないけれど、取り敢えず。

(※)画像残ってない(ノ∀`)


0.S31HWと対象のPCをUSBケーブルで接続します。
S31HWをUSBテザリングモードにしておきます。

1.”接続”アイコンをクリックします。

2.「インターネットコネクションウィザード」が表示されたら、
“ネットワーク 又は 無線 LAN でインターネット”アイコンをクリックします。

3.「Puppy Network Wizard」が表示されたら、”usb0″ボタンをクリックします。
(この例はネットワークデバイスが1つある環境にS31HWを導入した場合です。
この例ではusb0ですが、ネットワークデバイスやその他のusbデバイスが存在している場合、
そのインターフェイス名(usb~)は異なってきます。デバイスの種類を確認して選択してください)

4.「usb0 usb0 ネットワークを設定」が表示されたら、”usb0をテスト”ボタンをクリックします。
おそらく一瞬だけ小さいダイアログが表示されます。

5.「usb0 接続のテストレポート」画面で’パピーは生きているネットワークを見つけられました’と表示されたら、”自動DHCP”ボタンをクリックします。

6.以下のようなダイアログが表示されたら、”Yes”ボタンをクリックします。

7.「usb0 ネットワークの設定に成功!」画面が表示されたら、”完了”ボタンをクリックします。

8.ブラウザ等を起動して、接続を確認します。


特に問題もなくつながり、めでたい(・∀・)

だがしかしeclipseのEGitプラグインをインストールしようとしたらeclipse強制終了
そういえば前もGAEプラグインとかをインストールしようとして失敗したんだったっけか
__○_ ナニガゲンインナンダ…

うぶんちゅ坂(6)

android用の神経衰弱ゲームを公開しました(・∀・)
The Match-up(Memory) game for android was released!

Google Play:
Mole's Match-up.

Introduction page:
Mole’s Match-upをリリースした∩( ・ω・)∩


環境的に落ち着いてしまったので小ネタ進行。日々の小さい変更しか書くことがない(ノ∀`)

(さらに…)