This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

2014年7月31日木曜日

■TPPでは自由貿易こそ国益につながるのですよ。


■TPPでは自由貿易こそ国益につながるのですよ。

TPPは「日本抜きで交渉も」、米議員団が大統領に書簡
http://news.mixi.jp/view_news.pl?media_id=52&from=diary&id=2989895

[ワシントン 30日 ロイター] - 米下院議員団は30日、オバマ大統領に書簡を送り、環太平洋経済連携協定(TPP)交渉で農産物分野の障壁の完全撤廃に応じない日本を非難、日本が譲歩しない場合は日本抜きでTPP交渉を進めるべきだと主張した。

議員団には、下院議員の3分の1近くに相当する与野党の140人が参加。カナダについても同様の批判をしている。

議員団は、日本が「前例のない、受け入れられない」提案をしていると非難。「日本とカナダに対し、他のTPP交渉国と同じ基準を求めるべきだ」としたうえで「そうした高い基準に従った市場開放に消極的な国は、日本やカナダも含め、すべて抜きにしてTPP交渉を進めるべきだ」としている。

書簡には、デーブ・キャンプ歳入委員長など、共和・民主の有力議員が署名している。

————————————————————————————————————————
コメント:
農業分野に関して言えば、自由貿易後の日本のフードスーパーでは、世界中から格安の食品が輸入されてきますが、この食品は、日本産ですかと店員に尋ねることで、日本産の食品を購入する事が日本の農家を守る事につながるのですよ。

今まで、海外からの、輸入牛肉、輸入オレンジ、輸入米があっても、日本産を選んで購入する主婦がほとんどだったのでは、無いでしょうか、つまり貿易自由化になっても心配はいらないと言えると思いますよ。

食料産業を輸出産業に育成して貿易黒字を目指しましょう!

2014年7月26日土曜日

Play frameworkのDB操作を楽にするEBeanの基礎知識 (3/3)

引用元:http://www.atmarkit.co.jp/ait/articles/1206/06/news130_3.html




Javaの常識を変えるPlay framework入門(2):Play frameworkのDB操作を楽にするEBeanの基礎知識 (3/3)








[長谷川智之,株式会社ビーブレイクシステムズ]






印刷/PDFhttp://platform.twitter.com/widgets/tweet_button.1404859412.html#_=1406384892817&count=horizontal&id=twitter-widget-0&lang=ja&original_referer=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130_3.html&size=m&text=Java%E3%81%AE%E5%B8%B8%E8%AD%98%E3%82%92%E5%A4%89%E3%81%88%E3%82%8BPlay%20framework%E5%85%A5%E9%96%80%EF%BC%882%EF%BC%89%EF%BC%9APlay%20framework%E3%81%AEDB%E6%93%8D%E4%BD%9C%E3%82%92%E6%A5%BD%E3%81%AB%E3%81%99%E3%82%8BEBean%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%20(3%2F3)%20-%20%EF%BC%A0IT&url=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130.htmlhttp://www.facebook.com/plugins/like.php?app_id=&channel=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter%2FoDB-fAAStWy.js%3Fversion%3D41%23cb%3Df8034ab6c%26domain%3Dwww.atmarkit.co.jp%26origin%3Dhttp%253A%252F%252Fwww.atmarkit.co.jp%252Ff250f1a16%26relation%3Dparent.parent&href=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130.html&layout=button_count&locale=ja_JP&sdk=joey&send=false&show_faces=true&width=110


メールで送信類似記事の掲載をメールで通知





前のページへ 1|2|3       

EBeanを使った親子関係のDB操作を実行


 先ほどのApplication.javaのindex()メソッドを下記のように修正してください。




package controllers;

import java.util.List;

import models.Child;
import models.Parent;
import play.db.ebean.Model.Finder;
import play.mvc.Controller;
import play.mvc.Result;

public class Application extends Controller {

public static Result index() {

// 親1の作成
Parent parent1 = new Parent();
parent1.name = "渋谷太郎";

// 子1の追加
Child child1_1 = new Child();
child1_1.name = "渋谷小太郎";
parent1.children.add(child1_1);

// 子2の追加
Child child1_2 = new Child();
child1_2.name = "渋谷小二郎";
parent1.children.add(child1_2);

// 親1の保存
parent1.save();

// 親2の作成
Parent parent2 = new Parent();
parent2.name = "恵比寿太郎";

// 子1の追加
Child child2_1 = new Child();
child2_1.name = "恵比寿小太郎";
parent2.children.add(child2_1);

// 子2の追加
Child child2_2 = new Child();
child2_2.name = "恵比寿小二郎";
parent2.children.add(child2_2);

// 親2の保存
parent2.save();

// 現在のParentを全検索して表示
Finder<Long, Parent> finder = new Finder<Long, Parent>(Long.class,
Parent.class);
List<Parent> parents = finder.all();

StringBuilder msg = new StringBuilder();
for (Parent parent : parents) {
msg.append(parent.toString()).append("n");
// Child の表示
for (Child child : parent.children){
msg.append(" ").append(child.toString()).append("n");
}
}
return ok(msg.toString());
}
}




 再び「http://localhost:9000」にアクセスすると、Parentおよび関連するChildが保存されて、以下の結果が画面に表示されます。




Parent [id=1, name=渋谷太郎, createDate=Sun Apr 22 23:50:14 JST 2012, updateDate=Sun Apr 22 23:50:14 JST 2012]
Child [id=1, parent.id=1, name=渋谷小太郎, createDate=Sun Apr 22 23:50:14 JST 2012, updateDate=Sun Apr 22 23:50:14 JST 2012]
Child [id=2, parent.id=1, name=渋谷小二郎, createDate=Sun Apr 22 23:50:14 JST 2012, updateDate=Sun Apr 22 23:50:14 JST 2012]
Parent [id=2, name=恵比寿太郎, createDate=Sun Apr 22 23:50:14 JST 2012, updateDate=Sun Apr 22 23:50:14 JST 2012]
Child [id=3, parent.id=2, name=恵比寿小太郎, createDate=Sun Apr 22 23:50:14 JST 2012, updateDate=Sun Apr 22 23:50:14 JST 2012]
Child [id=4, parent.id=2, name=恵比寿小二郎, createDate=Sun Apr 22 23:50:14 JST 2012, updateDate=Sun Apr 22 23:50:14 JST 2012]




Play frameworkのトランザクション制御


 ここからは、トランザクション制御について解説します。EBeanでは、デフォルトの状態で通常の操作を行ってもトランザクション制御が行われません。例えば、下記のコードがあるとします。




// Childを1つ削除
parent1.children.get(0).delete();
// 新規のChildを追加
Child child1_3 = new Child();
child1_3.name = “渋谷 小三郎”;
parent1.children.add(child1_3);
// 保存
parent1.save();




 ここでparent1が持つChildを削除した後、すぐに(parent1が保存される前に)エラーが発生して処理を抜けた場合、そのChildは削除されたままになってしまいます。しかし、エラーが発生した場合は削除されずに実行前のままであってほしい場合がよくあります。そのような場合は最後まで処理が実行されて初めてDBへ反映(コミット)するようにトランザクションを使います。


トランザクション処理クラス(TxRunnable)


 まず、EBeanではトランザクションを扱うクラスとして「TxRunnable」が用意されています。これをEBean#execute()メソッドで呼び出します。


 Parentが持つ全Childを削除した後に例外が発生した場合、Childが削除されていないか試してみましょう。下記のようにindex()メソッドを書き換えてください。




    public static Result index() {

try {
// トランザクションの実行
Ebean.execute(new TxRunnable() {

@Override
public void run() {
// 現在の全検索
Finder<Long, Parent> finder = new Finder<Long, Parent>(
Long.class, Parent.class);
List<Parent> parents = finder.all();

// 現在登録されている子をすべて削除します。
for (Parent parent : parents) {
for (Child child : parent.children) {
child.delete();
}
}

// 例外を発生させる。
throw new RuntimeException();
}
});

} catch (Exception e) {
e.printStackTrace();
}
// 現在のParentとChildを全検索し表示する
……略……
}




トランザクション処理の実行


 再びWebブラウザを更新してください。前回と同じ画面が表示されChildが削除されていないことが確認できます。ちなみに上記ソースの例外を発生させている個所を削除して、再度実行すると、今度は問題なくChildが削除されていることが確認できます。


トランザクション処理のやり方は場合によりけり


 このように、EBean経由で基本的に使われるDB操作を紹介しました。このほかにも、EBeanではSQLを直接実行する機能など、ほかの機能も用意されています。また今回紹介した方法とは別の方法で同じこともできます。どの方法がベストかは場合によりけりです。詳細について知りたい方はEBeanのサイトなどでご確認ください。


ほかのDB(PostgreSQL)への接続


 最後に、実際によく使われるH2からほかのDBへの接続を紹介します。今回は、PostgreSQLに接続してみます。


接続するDBの作成


 まず、PostgreSQLに接続するDBを作成してください。DBのインストールおよび作成方法は、ここでは割愛します。PostgreSQLのサイトなどでご確認ください。


※ DBの文字コードがUTF-8になっているか確認してください。ちなみに、Windows版のPostgreSQL 9.1ではデフォルトでUTF-8になっています。PostgreSQLの文字コードの確認方法や変更方法はPostgreSQLのサイトなどでご確認ください。


JDBCの配置


 プロジェクトを作成したディレクトリで「lib」フォルダを作成し、そこにJDBCドライバを置いてください。Playでは、すでにプロジェクト直下のlibフォルダにクラスパスが通っているので、Jarファイルを配置するたびにクラスパスを設定する必要はありません。


※ 逆に、クラスパスが通っていない場所にJarファイルを置いてもJarファイルを認識してくれません。


r1306.jpg

application.confの設定


 application.confを開き、PostgreSQLにアクセスできるように下記のよう書き換えてください。




db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5432/DB名"
db.default.user={ユーザー名}
db.default.password={パスワード}




Playの再起動


 Playが起動中の場合は、Playを再起動してください。Windowsのコマンドプロンプト上の場合、下記の手順で再起動できます。


  1. [Ctrl]+[D]キーでPlayを停止

  2. 「run」と入力しPlayを起動

※ まだ、起動していない場合は起動するだけで問題ありません。


確認


 再びWebブラウザにて確認してみましょう。今回はParentテーブルとChildテーブルにレコードが登録されることを確認できるようにApplication.javaのindex()メソッドを下記のように修正してください。




package controllers;

import ……略……

public class Application extends Controller {

public static Result index() {

// 親1の作成
Parent parent1 = new Parent();
parent1.name = "目黒太郎";

// 子1の追加
Child child1_1 = new Child();
child1_1.name = "目黒小太郎";
parent1.children.add(child1_1);

// 子2の追加
Child child1_2 = new Child();
child1_2.name = "目黒小二郎";
parent1.children.add(child1_2);

// 親1の保存
parent1.save();

// 現在のParentとChildを全検索して表示
……略……
}
}




 次にWebブラウザより「http://localhost:9000」にアクセスしてください。DBテーブル作成のEvolutionのページが表示されます。画面上の「Apply this script now!」をクリックすると、PostgreSQLにH2で使っていたDBテーブルが作成され、プログラムで実行したデータが登録されます。


 PostgreSQLのDBにアクセスして画面上に表示された内容がDBに登録されているか確認してください。画面と同じ内容が登録されているはずです。


 今回はJava側のコードで直接SQLを扱っていないので、DB変更の対応は、これだけです。


※ application.confでは、DB接続以外にもいろいろな設定(autocommitやconnectionTimeoutなど)が用意されています。詳細はPlay frameworkのサイトを参照してください。


次回は、Play frameworkのビュー周り


 今回はPlay frameworkのDB周りの機能を一通り紹介してきました。まだまだ紹介しきれていない機能(「Database Evolutions」など)もありますが、取りあえず手軽にDB周りの処理が行えるようになったかと思います。


 次回はPlay frameworkのビュー周りの機能を紹介しますので、お楽しみに。



著者紹介


長谷川 智之(はせがわ ともゆき)


2008年より、株式会社ビーブレイクシステムズに在籍。


基本的にはどんな問題があるか分からない新しい技術より、問題点をクリアした使い慣れた技術の方を好む保守派。しかし、最近のヤングでナウな新世代の考えに乗り遅れてきたため、新しい技術にも手を出し始める。








前のページへ 1|2|3       


Copyright© 2014 ITmedia, Inc. All Rights Reserved.


 








Play frameworkのDB操作を楽にするEBeanの基礎知識 (2/3)

引用元:http://www.atmarkit.co.jp/ait/articles/1206/06/news130_2.html




Javaの常識を変えるPlay framework入門(2):Play frameworkのDB操作を楽にするEBeanの基礎知識 (2/3)








[長谷川智之,株式会社ビーブレイクシステムズ]






印刷/PDFhttp://platform.twitter.com/widgets/tweet_button.1404859412.html#_=1406384802159&count=horizontal&id=twitter-widget-0&lang=ja&original_referer=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130_2.html&size=m&text=Java%E3%81%AE%E5%B8%B8%E8%AD%98%E3%82%92%E5%A4%89%E3%81%88%E3%82%8BPlay%20framework%E5%85%A5%E9%96%80%EF%BC%882%EF%BC%89%EF%BC%9APlay%20framework%E3%81%AEDB%E6%93%8D%E4%BD%9C%E3%82%92%E6%A5%BD%E3%81%AB%E3%81%99%E3%82%8BEBean%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%20(2%2F3)%20-%20%EF%BC%A0IT&url=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130.htmlhttp://www.facebook.com/plugins/like.php?app_id=&channel=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter%2FoDB-fAAStWy.js%3Fversion%3D41%23cb%3Df250431708%26domain%3Dwww.atmarkit.co.jp%26origin%3Dhttp%253A%252F%252Fwww.atmarkit.co.jp%252Ff5c8e0c4%26relation%3Dparent.parent&href=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130.html&layout=button_count&locale=ja_JP&sdk=joey&send=false&show_faces=true&width=110


メールで送信類似記事の掲載をメールで通知






Play frameworkの基本的なDB操作


 「play.db.ebean.Model」には、基本的なDB操作としてINSERT、UPDATE、DELETEが用意されています。


INSERT


 単純なINSERTなら、そのEBeanオブジェクトのsave()メソッドを呼べば、その状態で保存されます。


UPDATE


 UPDATEも、そのEBeanオブジェクトのupdate()メソッドを呼べば、変更した内容で更新されます。


DELETE


 UPDATE同様に対象のオブジェクトのdelete()メソッドを呼べば、そのオブジェクトは削除されます。


SELECT


 Play frameworkでは、検索を行う「play.db.ebean.Model.Finder」クラスが用意されています。このクラスを使うには、以下のようにFinderオブジェクトを作成します。




Finder<Long, Parent> finder = new Finder<Long, Parent>(Long.class, Parent.class);




 ここでのLongクラスはPrimary Keyのクラスを表し、Parentクラスは結果として返すクラスを意味します。下記は、このFinderクラスで今回使うメソッドです。


  • all():全件検索を行う

  • byId(Long id):Primary Keyによる検索を行う。引数のクラスはPrimary Keyとして指定したクラス

  • where(String arg):検索条件を指定し、Queryオブジェクトを取得。取得したQueryオブジェクトより、結果を取得

 そのほか、いろいろなメソッドが用意されています。さらに詳しく知りたい場合はPlay frameworkのAPIなどをご確認ください。


Playの再起動は不要! 手軽にDB操作を確認


 DB操作がどのような動きになるのか試しに実装してみましょう。まず、プロジェクトを作成したディレクトリのappフォルダにある「controllers/Application.java」を開いてください。


 そこでindex()メソッドを下記のように書き換えてください。




package controllers;

import java.util.List;

import models.Parent;
import play.db.ebean.Model.Finder;
import play.mvc.Controller;
import play.mvc.Result;

public class Application extends Controller {

public static Result index() {
// 1番目を保存
Parent parent1 = new Parent();
parent1.name = "新宿太郎";
parent1.save();

// 2番目を保存
Parent parent2 = new Parent();
parent2.name = "代々木太郎";
parent2.save();

// 3番目を保存
Parent parent3 = new Parent();
parent3.name = "原宿太郎";
parent3.save();

// 現在のParentを全検索して表示
Finder<Long, Parent> finder = new Finder<Long, Parent>(Long.class,
Parent.class);
List<Parent> parents = finder.all();

StringBuilder msg = new StringBuilder();
for (Parent parent : parents) {
msg.append(parent.toString()).append("n");
}
return ok(msg.toString());
}
}




 実行してみましょう。先ほどの「http://localhost:9000」に再度アクセスしてください。そうすると、実装されているDB操作が行われます。処理が終わると下記のように表示されていると思います。




Parent [id=1, name=新宿太郎, createDate=Sun Apr 08 22:56:25 JST 2012, updateDate=Sun Apr 08 22:56:25 JST 2012]
Parent [id=2, name=代々木太郎, createDate=Sun Apr 08 22:56:25 JST 2012, updateDate=Sun Apr 08 22:56:25 JST 2012]
Parent [id=3, name=原宿太郎, createDate=Sun Apr 08 22:56:25 JST 2012, updateDate=Sun Apr 08 22:56:25 JST 2012]




 作成したParentが保存されているのが確認できましたね。


※ ここではINSERT処理のみを行っているので、このページにアクセスするたびに、同様のレコードを繰り返し作成されるので注意してください。


 次に、parent1のnameを変更し、parent2を削除してみましょう。先ほどのApplication.javaを下記のように修正してください。




package controllers;

import java.util.List;

import models.Parent;
import play.db.ebean.Model.Finder;
import play.mvc.Controller;
import play.mvc.Result;

import com.avaje.ebean.Query;

public class Application extends Controller {

public static Result index() {

// 検索クラス
Finder<Long, Parent> finder = new Finder<Long, Parent>(Long.class,
Parent.class);

// parent1 の取得(条件を指定した検索)
Query<Parent> query = finder.where("name='新宿太郎'");
Parent parent1 =query.findUnique();

// parent2 の取得(Idからの検索。Idは保存したときに振られたId)
Parent parent2 =finder.byId(new Long(2));

// 1番目の名前を更新します
parent1.name = "新宿次郎";
parent1.update();

// 2番目を削除します
parent2.delete();

// 現在のParentを全検索して表示
……【略】……
}
}




 実装後に先ほどの「http://localhost:9000」に再度アクセスしてください。更新されたレコードのnameとupdateDateが更新され、削除されたレコードは表示されないはずです。


※Playの再起動などは不要です。Webブラウザで再度アクセスするだけで十分です。




Parent [id=1, name=新宿次郎, createDate=Sun Apr 08 22:56:25 JST 2012, updateDate=Sun Apr 08 23:24:09 JST 2012]
Parent [id=3, name=原宿太郎, createDate=Sun Apr 08 22:56:25 JST 2012, updateDate=Sun Apr 08 22:56:25 JST 2012]




親子関係にあるDBデータの操作


 ここまでは、1つのDBテーブルに対してのアクセス方法を説明してきました。しかし、私たちが作成するシステムでは複数のDBテーブルが関係し、親子関係になっていることがほとんどです。次に、親子関係にあるデータについて操作してみましょう。


 今回は1つの親が複数の子を持つだけのシンプルな関連を持つクラスを作成します。最初に下記のような子のクラスを作成してください。




package models;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Version;

import play.db.ebean.Model;

import com.avaje.ebean.annotation.CreatedTimestamp;
import com.avaje.ebean.validation.NotNull;

@Entity
public class Child extends Model {

@Id
public Long id;

@ManyToOne
@JoinColumn(name = "parent_id")
public Parent parent;

@NotNull
public String name;

@CreatedTimestamp
public Date createDate;

@Version
public Date updateDate;

public String toString() {
return "Child [id=" + id + ", parent.id=" + parent.id + ", name="
+ name + ", createDate=" + createDate + ", updateDate="
+ updateDate + "]";
}
}




 次にParentクラスに、Childクラスと関連を持つためのプロパティとして、以下のコードを記述してください。




    @OneToMany(cascade = CascadeType.ALL, mappedBy = "parent")
public List<Child> children = new ArrayList<Child>();




親子関係にあるDBデータの操作で使うアノテーション


 それでは、新しく出てきたアノテーションを簡単に説明します。



  • Childクラス
    • @ManyToOne:複数の子クラスが1つの親クラスに属することを示す

    • @JoinColumn(name=”parent_id”):ChildテーブルがParentテーブルと関連を持つカラムはparent_idであることを示す


  • Parentクラス
    • @OneToMany(cascade = CascadeType.ALL, mappedBy=”parent”):Parentクラスが複数のChildクラスを持ち、Childクラスのクラス変数parentで関連することを示し。この”parent”はChildで指定された変数名と一緒でないとエラーになる。また、すべてのオペレーションに対してカスケードされる



親子関係にあるDBデータの作成


 「http://localhost:9000」に再びアクセスしてください。以下のページが表示されます。


r1305.jpg

 ここにある「Apply this script now!」をクリックすると、ParentのDBテーブルはいったん削除された後に再作成され、ChildのDBテーブルが新たに作成されます。下記は、このとき実行されるSQLです。




SET REFERENTIAL_INTEGRITY FALSE;

drop table if exists parent;

SET REFERENTIAL_INTEGRITY TRUE;

drop sequence if exists parent_seq;

create table child (
id bigint not null,
parent_id bigint,
name varchar(255) not null,
create_date timestamp not null,
update_date timestamp not null,
constraint pk_child primary key (id))
;

create table parent (
id bigint not null,
name varchar(255) not null,
create_date timestamp not null,
update_date timestamp not null,
constraint pk_parent primary key (id))
;

create sequence child_seq;

create sequence parent_seq;

alter table child add constraint fk_child_parent_1 foreign key (parent_id) references parent (id) on delete restrict on update restrict;
create index ix_child_parent_1 on child (parent_id);




 次ページでは、変更したEBeanを使って簡単な親子関係のDB操作を行ってみましょう。





Copyright© 2014 ITmedia, Inc. All Rights Reserved.


 








Play frameworkのDB操作を楽にするEBeanの基礎知識 (1/3)

引用元:http://www.atmarkit.co.jp/ait/articles/1206/06/news130.html




Javaの常識を変えるPlay framework入門(2):Play frameworkのDB操作を楽にするEBeanの基礎知識 (1/3)








[長谷川智之,株式会社ビーブレイクシステムズ]






印刷/PDFhttp://platform.twitter.com/widgets/tweet_button.1404859412.html#_=1406384660036&count=horizontal&id=twitter-widget-0&lang=ja&original_referer=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130.html&size=m&text=Java%E3%81%AE%E5%B8%B8%E8%AD%98%E3%82%92%E5%A4%89%E3%81%88%E3%82%8BPlay%20framework%E5%85%A5%E9%96%80%EF%BC%882%EF%BC%89%EF%BC%9APlay%20framework%E3%81%AEDB%E6%93%8D%E4%BD%9C%E3%82%92%E6%A5%BD%E3%81%AB%E3%81%99%E3%82%8BEBean%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%20(1%2F3)%20-%20%EF%BC%A0IT&url=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130.htmlhttp://www.facebook.com/plugins/like.php?app_id=&channel=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter%2FoDB-fAAStWy.js%3Fversion%3D41%23cb%3Df2779f2d1%26domain%3Dwww.atmarkit.co.jp%26origin%3Dhttp%253A%252F%252Fwww.atmarkit.co.jp%252Ff1d3aa9ea%26relation%3Dparent.parent&href=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1206%2F06%2Fnews130.html&layout=button_count&locale=ja_JP&sdk=joey&send=false&show_faces=true&width=110


メールで送信類似記事の掲載をメールで通知





DB操作で使うPlay frameworkのフォルダ構成


 前回の記事「Java開発で泣かないためのPlay frameworkの基礎」では、Play frameworkの特徴から始まり、セットアップ、そしてEclipseでの環境設定までを解説しました。


 いよいよ今回からPlay frameworkでのプログラミングの仕方を紹介します。今回は、DBスキーマを作成するなどの作業を行わず、手軽に行えるDB操作を紹介します。


 まず、プログラミングに入る前に、今回のDB操作で使うPlay frameworkのフォルダ2つを簡単に説明します。そのほかのフォルダについての説明は次回以降の連載で説明していきます。


r1301.jpg

「app」フォルダ


 Javaクラスやビューテンプレートを配置します。「controllers」パッケージの Application.javaに処理を記述します。また今回は、新たにDBのテーブルを表すエンティティークラス(EBean)を格納するパッケージを作成します。


「conf」フォルダ


 設定ファイルを配置します。「application.conf」はPlay framework全体に関する設定ファイルです。今回は、ここでDBの設定を記述します。


DBへの接続とEBeanで簡単DBテーブル作成


 ここからは、実際にDBへ接続しデータを操作をしてみましょう。


 Play frameworkでは、JDBCドライバが用意されているDBへの接続が可能で、複雑なConnectionオブジェクトの生成などの記述が不要です。まずは、Play frameworkにデフォルトで用意されているDB「H2」への接続を行います。これはメモリ上で動くDBであり、DBインストールから始める手間が省けます。


※ H2データベースの文字コードはUTF-8です。今回Java上で文字列を扱うので、各JavaファイルはUTF-8で記述ください。


H2に接続する「application.conf」の設定


 まず、プロジェクトを作成したディレクトリの「conf/application.conf」ファイルを開いて、下記のコメントを外してください。




db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"




 以上でH2へのDB接続の設定は終わりです。用意されているデフォルトを使う場合、ユーザー名やパスワードの指定は不要です。


 上記設定では、「db.default.driver」でJDBCドライバを指定し、「db.default.url」で接続するDBの接続文字列を指定しています。


 ここで指定する接続文字列は、通常のJDBC接続を行うときと同じく、DBに応じて異なります。今回はH2の記述方法にのっとった方法でH2のメモリ上にデータが格納されるDBインスタンスを指定しています。


※ 今回のようにメモリ上でのDBを使った場合、PCをシャットダウンした際などに登録したデータはなくなってしまいます。H2を使う際にデータを残す場合は、メモリではなくファイルにし、「db.default.url」を下記のように変更します(「mem」を「file」にします)。




db.default.url="jdbc:h2:file:play"




DBテーブルの作成が簡単な「EBean」とは


 次に、DBテーブルを作成します。Play frameworkは「EBean」というO/Rマッピングのフレームワークをサポートしています。エンティティクラス(EBean)を作成した後、Webブラウザからアプリケーションにアクセスすると、EBeanがDBテーブルの作成SQLを自動で作成してくれます。これで、DBテーブル作成の手間が省けます。


r13hrw_bor_rou_sha.jpg



 SQLを直接実行するのに比べると、EBean経由でDBを操作する場合は、使っているDBが変わった際に基本的な操作に関してJavaのコードを変更する必要がなくなります。ですので、今回はSQLを直接実行するのではなく、EBeanを使ってDBを操作していきます。


EBean用のapplication.confの設定


 まず、先ほどのapplication.confファイルを開いて、下記のコメントを外してください。




ebean.default="models.*"




 ここで指定した「models」パッケージがEBeanを作成する場所です。appフォルダの下にmodelsパッケージを作成して、そこにEBeanを格納していきます。


EBeanの作成


 次にmodelsパッケージを作成しplay.db.ebean.Modelを継承したEBeanを作成します。今回はシンプルにID、名前、登録日、更新日を持つ「Parent」というクラスを下記のように作成してください。


r1302.jpg



package models;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Version;

import play.db.ebean.Model;

import com.avaje.ebean.annotation.CreatedTimestamp;
import com.avaje.ebean.validation.NotNull;

@Entity
public class Parent extends Model {

@Id
public Long id;

@NotNull
public String name;

@CreatedTimestamp
public Date createDate;

@Version
public Date updateDate;

public String toString() {
return "Parent [id=" + id + ", name=" + name + ", createDate="
+ createDate + ", updateDate=" + updateDate + "]";
}
}




 ここでEBeanのクラス変数が「public」であることに抵抗を持つ方がいるかもしれません。これついては賛否両論あるかと思いますが、Play frameworkでは不要なカプセル化を行わないよう推奨しているので、今回はこの方法で実装していきます(参照:Play framework - Documentation)。


EBeanで用意されているアノテーション


 上記で使ったEBeanで用意されているアノテーションを簡単に説明します。


  • @Entity:このクラスがDBテーブルを表すオブジェクト

  • @Id:DBテーブルのprimary key

  • @NotNull:Not Null制約

  • @CreatedTimestamp:作成時の時間

  • @Version:更新時の時間

DB作成時に発行されるSQL


 上記のEBeanを用意してWebブラウザより対象プロジェクトにアクセスすると、自動的にここで定義したDBテーブル作成SQLが作成されます。今回のDB作成時に発行されるSQLは下記のようになります。




create table parent (
id bigint not null,
name varchar(255) not null,
create_date timestamp not null,
update_date timestamp not null,
constraint pk_parent primary key (id))
;
create sequence parent_seq;




Play frameworkで自動的にDBテーブル作成


 Play frameworkの起動方法は前回あったように下記の手順で行えます。


  1. コマンドプロンプトを立ち上げ、プロジェクトを作成したディレクトリに移動

  2. 「play」と入力

  3. 「run」と入力

 次にWebブラウザを立ち上げ、「http://localhost:9000」と入力てください。画面を読み込んだら下記のような画面が表示されます。


r1303.jpg

 画面に表示されている「Apply this script now!」をクリックしてください。そうするとDBテーブルが作成されます。


 また、このとき実行されたSQLは下記の「conf/evolutions/default」に作成されています。


r1304.jpg

 次ページでは、作成したEBeanを使ったDB操作を説明します。



       1|2|3 次のページへ


Copyright© 2014 ITmedia, Inc. All Rights Reserved.


 








Java開発で泣かないためのPlay frameworkの基礎知識 (3/3)

引用元:http://www.atmarkit.co.jp/ait/articles/1204/09/news114_3.html


Play frameworkアプリを起動


 コマンドプロンプトを開き、先ほど作成したプロジェクトのディレクトリに移動します。


コンソールの起動


 「play」と入力し、プロジェクトのコンソールを起動します。初回の起動では必要なファイルをダウンロードします。以下のような画面になれば、プロジェクトのコンソールは起動が完了です。


r1313.jpg

アプリの起動


 次に、「run」と入力します。はじめに、必要なファイルのアップデートが行われます。そして、「[info] play - Listening for HTTP on port 9000…」という文字がコマンドプロンプトに出力されるまで待ちます。


r1314.jpg

ポート番号が競合する場合


 なお、PHPXDebugを利用している場合など、ポート番号が競合する場合があります。その場合は「run」の後にスペースを空けポート番号を指定することで、別のポート番号で起動可能です。例えば、ポート番号9001で起動したい場合は「run 9001」と入力してください。


Webブラウザで確認


 Webブラウザで「http://localhost:9000」を開きます。すると、以下のような画面が表示されます。


r1315.jpg

 なお、起動したアプリを終了させるにはコマンドプロンプトで「Ctrl」と「D」を同時押しすることで終了させられます。


Eclipseプロジェクトとしてインポートするには


 冒頭で「PlayはIDEを使わなくても十分使える」と説明しました。それに矛盾するようですが、JavaではEclipseを使う方が圧倒的に多いです。やはり「使いなれたツールを使いたい」という希望はあると思うので、ここでPlay frameworkのプロジェクトをEclipseプロジェクトに変換する方法もお伝えしておきましょう。


Eclipseプロジェクトに変換


 コマンドプロンプトを開き、「firstProject」のディレクトリに移動します。「play eclipsify」と入力します。コマンドプロンプトに「OK, the application is ready for eclipse」と表示されていれば、変換は完了です。


r1316.jpg

Eclipseでインポート


 Eclipseを開きメニューの[File]から[Import]を選びます。[General]の[Existing Projects into Workspace]を選び、[Next]ボタンをクリックしてください。


r1317.jpg

 次にインポートするプロジェクトのあるディレクトリを選び、インポートするプロジェクトを選択します。一番上の[Browse]ボタンを押し、表示されるファイルセレクタからプロジェクトのあるディレクトリを選択します。


 すると、インポートできるプロジェクトが[Projects]に表示されます。すでに、チェックも入っていますので、そのまま[Finish]ボタンを押します。


r1318.jpg

 Eclipse上にインポートしたプロジェクトが表示されていれば完了です。


r1319.jpg

もうJava開発で泣かない! Play frameworkの心とは


 Play frameworkはRuby on Railsの哲学をJavaで実現するフレームワークということを始めに学びました。これは、今後Play frameworkを理解するうえで重要になってくる「Play frameworkの心」といえるものです。ここでの話は、しっかり心に留めて置いてください。


 そして今後、Play frameworkを勉強していくために環境設定と基礎的な使い方を学びました。まだ、本当の触りの部分だけで、これからPlay frameworkの良さを学んでいくので、次回を楽しみにしてください。



著者紹介


株式会社ビーブレイクシステムズ


多田 丈晃(ただ たけあき)


2008年より、株式会社ビーブレイクシステムズに在籍。


さまざまな現場を渡り歩くさすらいのIT芸人。昼は現場プログラマー、夜は技術系ライターと2つの顔を持つ。最近は加えて、技術系カンファレンスでの講演も行うなど、色々なものに手を出し、チャレンジを楽しんでいる








前のページへ 1|2|3       


Copyright© 2014 ITmedia, Inc. All Rights Reserved.


Java開発で泣かないためのPlay frameworkの基礎知識 (2/3)

引用元:http://www.atmarkit.co.jp/ait/articles/1204/09/news114_2.html




Javaの常識を変えるPlay framework入門(1):Java開発で泣かないためのPlay frameworkの基礎知識 (2/3)








[多田丈晃,株式会社ビーブレイクシステムズ]






印刷/PDFhttp://platform.twitter.com/widgets/tweet_button.1404859412.html#_=1406384351745&count=horizontal&id=twitter-widget-0&lang=ja&original_referer=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1204%2F09%2Fnews114_2.html&size=m&text=Java%E3%81%AE%E5%B8%B8%E8%AD%98%E3%82%92%E5%A4%89%E3%81%88%E3%82%8BPlay%20framework%E5%85%A5%E9%96%80%EF%BC%881%EF%BC%89%EF%BC%9AJava%E9%96%8B%E7%99%BA%E3%81%A7%E6%B3%A3%E3%81%8B%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AEPlay%20framework%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%20(2%2F3)%20-%20%EF%BC%A0IT&url=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1204%2F09%2Fnews114.htmlhttp://www.facebook.com/plugins/like.php?app_id=&channel=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter%2FoDB-fAAStWy.js%3Fversion%3D41%23cb%3Df1aeca7a88%26domain%3Dwww.atmarkit.co.jp%26origin%3Dhttp%253A%252F%252Fwww.atmarkit.co.jp%252Ffe50bd138%26relation%3Dparent.parent&href=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1204%2F09%2Fnews114.html&layout=button_count&locale=ja_JP&sdk=joey&send=false&show_faces=true&width=110


メールで送信類似記事の掲載をメールで通知






Play framework 2.0のセットアップ


動作環境


 Play frameworkを動すには、Java SDKのバージョン6以上が必要です。それ以外の必要条件はありません。ここでは説明しませんが、Javaがインストールされていない場合は、オラクルのサイトからJavaをインストールし、環境変数を設定しておいてください。少し古いですが、以下の記事などが参考になると思います。


r134x5_bor_rou_sha_w400.jpg



Play framework 2.0のダウンロード


 これから開発環境を整えていきます。ここでは、Windows XPを使ってセットアップの手順を説明していきます。Play frameworkはOSに依存するところは少ないので、細かい手順は自身の環境に置き換えてお読みください。


 まず、Play frameworkの公式サイトを開き、「Download」をクリックします。


r1303.jpg

 プルダウンメニューが表示され、最新の公式バージョンのアーカイブファイルが表示されます。執筆時点では、「Play-2.0.zip」です。このリンクをクリックしてファイルをダウンロードしてください。


r1304.jpg

Play framework 2.0のインストール


 先ほどのアーカイブをダウンロードしたら展開し、任意のディレクトリに配置します。ここではCドライブ直下に置くこととします。


 配置したディレクトリに環境変数「Path」を設定しておきましょう。[マイコンピュータ]を右クリックし、[プロパティ]を選択します。


r1305.jpg

 [詳細設定]タブを選び、[環境変数]ボタンをクリックします。


r1306.jpg

 [システム環境変数]の中から「Path」を探し、ダブルクリックします。


r1307.jpg

 「Path」の設定の末尾にPlay frameworkのインストールディレクトリを追加します。先ほどの例では、Cドライブの直下に入れましたので「;C:play-2.0」と入力してください。最初のセミコロンを忘れずに入力してください。


r1308.jpg

 インストールは完了しましたので、動作を確認してみましょう。コマンドプロンプトを開き、インストールしたディレクトリに移動します。そこで「play help」と入力してください。以下の画面のようになったら、インストールは完了です。


r1309.jpg

 なお今後、Play frameworkは、この「play」で始まるコマンドを使って操作します。


初めてのPlay frameworkプロジェクト


 Play frameworkのインストールが終わったら、次にPlay frameworkのプロジェクトの作成方法から、プロジェクトの起動方法、そしてEclipseプロジェクトとしてインポートする方法までを解説します。


Play frameworkプロジェクトの新規作成


 コマンドプロンプトを開き、先ほどインストールしたディレクトリに移動します。「play new firstProject」と入力してください。「play new」がプロジェクトを作成するためのコマンドで「firstProject」の部分は作成するプロジェクト名です。


 コマンドを入力すると、「What is the application name?」と聞かれます。設定したプロジェクト名が入力された状態で表示されているので、そのまま[Enter]キーを押し、先に進んでください。


r1310.jpg

プロジェクトの種類を選択


 作成するプロジェクトの種類を選択します。ここではJavaのプロジェクトを作成するので「2」を入力し[Enter]キーを押して先に進んでください。


r1311.jpg

プロジェクト作成の完了


 コマンドプロンプトの最後の行に「Have fun!」という文字が見えたらプロジェクトの作成は完了です。


r1312.jpg

 プロジェクトができると、これだけでWebアプリとして動作するひな型ができました。次ページでは、これを動かしてPlay frameworkアプリを動かしてみましょう。





Copyright© 2014 ITmedia, Inc. All Rights Reserved.


 








Java開発で泣かないためのPlay frameworkの基礎知識 (1/3)



引用元:http://www.atmarkit.co.jp/ait/articles/1204/09/news114.html



Javaの常識を変えるPlay framework入門(1):Java開発で泣かないためのPlay frameworkの基礎知識 (1/3)








[多田丈晃,株式会社ビーブレイクシステムズ]






印刷/PDFhttp://platform.twitter.com/widgets/tweet_button.1404859412.html#_=1406384076415&count=horizontal&id=twitter-widget-0&lang=ja&original_referer=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1204%2F09%2Fnews114.html&size=m&text=Java%E3%81%AE%E5%B8%B8%E8%AD%98%E3%82%92%E5%A4%89%E3%81%88%E3%82%8BPlay%20framework%E5%85%A5%E9%96%80%EF%BC%881%EF%BC%89%EF%BC%9AJava%E9%96%8B%E7%99%BA%E3%81%A7%E6%B3%A3%E3%81%8B%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AEPlay%20framework%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%20(1%2F3)%20-%20%EF%BC%A0IT&url=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1204%2F09%2Fnews114.htmlhttp://www.facebook.com/plugins/like.php?app_id=&channel=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter%2FoDB-fAAStWy.js%3Fversion%3D41%23cb%3Df227bc2624%26domain%3Dwww.atmarkit.co.jp%26origin%3Dhttp%253A%252F%252Fwww.atmarkit.co.jp%252Ff160268e2%26relation%3Dparent.parent&href=http%3A%2F%2Fwww.atmarkit.co.jp%2Fait%2Farticles%2F1204%2F09%2Fnews114.html&layout=button_count&locale=ja_JP&sdk=joey&send=false&show_faces=true&width=110


メールで送信類似記事の掲載をメールで通知





Javaの常識を変える「Play framework」とは


 「Play framework」は、サーバサイドJavaScalaのためのMVCフレームワークです。この連載では、主にJavaのフレームワークとしてのPlay frameworkを紹介していきます。でも「Javaで、Web向けで、MVCで……」なんて、ありふれた感じですよね。それなら「Scalaで、どう作るのか」という話の方が興味あるという方もいるでしょう。


r1301.jpg

 しかし、Play frameworkはバージョン1まではJavaのフレームワークとして作られていました。また、ScalaはJavaVM上で動作するプログラミング言語です。つまり現在の最新バージョンの2でも基礎の部分で動いているのはJavaです。Play frameworkを知るためには、まず基礎から固めていくのが正攻法だと思います。Scalaについて知りたい読者は、以下の記事を参照してください。









 新しいフレームワークの誕生には理由があります。既存のフレームワークの修正だけでは解決できない問題を、新しい考え方を取り入れて抜本的に改善しようとするときに、新しいフレームワークが登場します。


 Play frameworkを学ぶ前に、新しいフレームワークが作られる背景に思いをはせ、Play frameworkの心を知りましょう。Play frameworkは既存のフレームワークから、どのように進化したフレームワークなのでしょうか。まずは、Play frameworkが解決する課題から理解しましょう。


Play frameworkが解決する課題とは


 既存のJavaのWebフレームワークは重厚長大であり、整然としたプログラムができる代わりに生産性が高くないという問題があります。いまは「時代の流れが速い」といわれています。システムを作るときも、じっくり腰を据えて作るより「スピード感」が相対的に重要になってきています。また、スピード感と同時に求められるものが「変更に対する強さ」(柔軟性)です。


 「スピード感」「変更に対する強さ」、この2点は既存のフレームワークの機能を改善するのでは解決が難しい課題です。では、どのような考え方を取り入れて、これらの問題を解決するのかを見ましょう。


Ruby on Railsの心


 既存のフレームワークを改善するために、新しい考え方を取り入れたフレームワークが必要と考える人たちが注目したのは、生産性の高さで勢いのあるスクリプト言語です。数あるスクリプト言語の中で注目されたのはRuby、およびその代表的なフレームワークである「Ruby on Rails」です。


 Ruby on Railsは高い生産性を誇り、言語としてのRubyの普及を進めた、プログラミング言語の「キラーフレームワーク」という一面もあります。Ruby on Railsの特徴として、2つの代表的なルールを基礎となる考え方としています。そのルールとは以下のものです。


  1. 繰り返しを避けよDRY : Don’t repeat yourself

  2. 設定より規約Convention over Configuration

 まず、「繰り返しを避けよ」ですが、これは「1つのことを表すのに、記述個所を1つに限定する」という考え方です。あえて3文字略語にしなくても、皆さん意識しているのですが、意識するだけでは難しく、どうしても重複コードを書いてしまいます。コードを重複させてしまった場合、どう重複のないコードに軌道修正できるかが大切です。つまり、リファクタリングしやすいフレームワークであることが重要です。


 そのため、Play frameworkでは、リファクタリングしても変更の誤りを確認するためのテスト環境が充実しています。具体的には、テンプレートコントローラまでテストできるライブラリ、環境別(本番・開発環境などの切り替え)に画面表示を変更できるため、開発時には詳細なエラー情報の出力、が挙げられます。これにより、コードの重複を避けメンテナンス性の高いコードを実現できます。


 そして「設定より規約」ですが、これは、いままでのJavaのWebフレームワークはXMLなどの設定ファイルを中心に駆動する仕組みでした。しかし、この方法では規模が大きくなればなるほど設定ファイルの記述量が増え、いわゆる「XML地獄」に陥ります。「設定より規約」とは、それに対応するための考え方です。フレームワークで一定のルールを定め、それに従うことで設定ファイルを書かないでも動くような仕組みを提供します。


 以上が簡単ですが、Ruby on Railsの特徴です。


Play frameworkが見せる新しい世界


 そしてPlay frameworkは、このRuby on Railsから影響を強く受けたフレームワークです。つまり、Play frameworkが見せる新しい世界とはRuby on Railsが見せる未来とかなり近いものがあります。


 なおJavaとRubyでは、コンパイルを要する言語と、スクリプト言語という差があります。Javaはソースの変更のたびにビルドし直す必要があります。通常はIDEで、その辺りを吸収できますが、IDE自体がヘビーです。Javaがコンパイルを要する言語というところはPlay frameworkでも変わりませんが、Rubyに近い操作感を得られるように工夫されています。


 Play frameworkでは、ソースが更新されると即座に変更が反映されるようになっています。現在IDEでの開発が主流ですが、フレームワークでこういった機能を持つため、IDEがなくても軽量なエディタだけで開発可能です。


 Play frameworkは、このような考え方に基づいて作られたフレームワークです。Javaで代表的なフレームワークからの基本思想の変遷をたどると、以下のようになります。


フレームワークの基本思想の変遷フレームワークの基本思想の変遷

 Play frameworkの特徴は、ほかにもありますが、その説明は次回以降に詳しくしていきます。ここで理解しておきたいのは、Play frameworkはRuby on Railsの哲学をJavaで実現することを目的としたフレームワークです。Javaでの常識は横に置いて、Ruby on Railsの哲学に従うことが、このフレームワークを生かす“鍵”になることを念頭に置いてください。


 ちょっと前置きが長くなりましたが、次ページからはPlay frameworkを始めるために環境設定をして、初めてのPlay frameworkプロジェクトを作成し、動かしてみましょう。



       1|2|3 次のページへ


Copyright© 2014 ITmedia, Inc. All Rights Reserved.




Eclipseのダウンロードとインストール

引用元:http://supportdoc.net/support-general/eclipse-install.html#allinone


Eclipseのダウンロードとインストール



「共通事項」へ戻る



Eclipse日本語版「Pleiades」


プラグインを日本語化するプラグイン「Pleiades」


「Pleiades」とは、Eclipseの中のプラグインを日本語化してくれるプラグインです。
Eclipseはプラグインの集合体ですから、それらをひとつひとつ日本語化するプラグインによってEclipse全体が日本語化されるのです。そこで「Pleiades」の正式名は「Pleiadesプラグイン日本語化プラグイン」です。作成しているのは日本の「MergeDoc Project」の皆さんです。


Windowsなら「Pleiades All in One」


「MergeDoc Project」では、Pleiadesプラグインを導入した各バージョンのEclipse(Windows版)を配布してくれています。これが「Pleiades All in One」です。ダウンロードすると、すぐに開発環境として使うことができます。
Pleiades All in Oneのダウンロードとインストールについては、このあと説明します



Windows以外は、自分でプラグインを組み込む


Macなどでは、先に英語版のEclipseをインストールしておいて、そこに「Pleiadesプラグイン」を手作業で組み込みます。と、言っても難しくはありません。別のページで説明します。 


Windows版Pleiades All in Oneのダウンロード



MergeDoc Project のウェブサイト


「MergeDoc Project」のウェブサイトのURLは以下の通りです。 

http://mergedoc.sourceforge.jp/



日本語化されたEclipseのバージョンを選ぶ


トップページがそのままPleiades all in Oneのダウンロードページになっています。以後、WindowsでPleiadesを扱う話題では、このPleiades all in Oneのことを「Pleiades」と呼ぶことにします。
(本ページでPleiadesダウンロードページのスクリーンショットは掲載しませんので、皆さん直接サイトにアクセスしてこれからの説明と照らし合わせながら作業してみてください)
ページ上の見やすいところに、メタリックな感じの、角丸な長方形のボタンが並んでいますね。それらは、基となるEclipseのバージョン別の選択ボタンです。すなわち、「どのEclipseの日本語版を選ぶか?」という選択肢です。最新の「3.6 Helios」を選ぶことにします。



用途を選ぶ


大きなボタンで「Eclipse 3.6 Helios/Pleiades All in One」と書いてあるものをクリックすると、もっと小さなボタンが5行2列くらいに並んだ下に、なにEやら長い表のついている場所に行きます。
まず、ボタンだけを見ましょう。ボタンが横に並んでいるのは、「用途別」の選択を示します。
「Platform」「Ultimate」「Java」などの用途に分かれています。最近のEclipseはJavaだけでなく、CとかRubyとか用途別の構成に分かれていて、それぞれが日本語化されているのです。ありがたいですね。
Android開発には「Java」と書いてある下のボタンを選びます。でも、まだ縦に二つボタンが並んでいますね。



JREあり・なしを選ぶ


最後の選択は、そのPleiadesに、Javaの実行環境も含まれるかどうかです。
開発用途がJavaであってもCであっても、Eclipseが動くには、Javaの実行環境(つまり、フツーのJava)だけは最低限必要です。縦に並んだボタンのうち、上の「Full All in One(JREあり)」と書いてあるほうは、青色のボタンですが、このJREも含まれています。
ですから、この青いボタンをクリックすれば、事前に何の準備もなしでJava開発を始めることができるのです。超便利です。
、このJREあり版は、JRE以外にもJava用サーバとかJavaの他のバージョンとかがついています。そのため、サイズが大きくなります。
人に配布するような本格的なJava開発を行うのであればJREあり版を選ぶのに何のためらいもありませんが、学習用に簡単なプログラムを書いてみようというのであれば、その下にある銀色(茶色?)のボタン、「Standard All in One(JREなし)」を選ぶほうが気楽です。


これらのボタンの下にある表は、各用途別に含まれているソフトウェアの一覧です。関心のある方は確認してみてください。



JREなしのJava版を選ぶとして


以上のように、「JREなしのJava版」を選んだとします。ダウンロードされるのは、「pleiades-e3.6-java_20101025.zip」のようなファイルです。
「e3.6」はEclipseの3.6、「java」はJava版、「20101025」はソフトウェアが作成された日付を意味します。
「JREあり」版であれば「java」が「java_jre」になります。また、アップデートがあるかどうかは再度ダウンロードサイトを訪れて「20201025」より新しい日付を名前に持つファイルがダウンロードされるかどうかを調べればわかります。 



Windows版Pleiadesの「インストール」


展開すればいいのだが、そこにコツがある


上の大見出しの「インストール」にカギカッコがついているのは、PleiadesはたとえばJREやJDKのように「インストーラ」を起動して「次へ」ボタンを押しながら進める、というようなものではないからです。
Zip形式で入手したファイルを展開してフォルダを生成させ、そのフォルダを適当なところに置いて使います。これは基になるEclipseがそうなっているからです。
図1は、ダウンロードされた圧縮ファイルの一例です。


image

図1 ダウンロードされたPleiadesのZipファイルの一例



Windows XP以降では、このようなZipファイルは右クリックして「すべて展開」を選ぶことにより展開可能です。


image

図2 右クリックで「全て展開」を選ぶ



ただし、この展開作業でひとつ工夫があります。
図2のように「全て展開」を選ぶと、「展開先のフォルダのパス」を設定するウィンドウが立ち上がります。そこで表示される初期設定は、図3のように長いフォルダ名(pleiades-e3.6-java_20100623)になると思います。


image

図3 初期設定のままだと長いパスになる



もしWindows XPを使っていて「c:Documents and SettingsnonikoMy Documentspleiades-e3.6-java_20100623」などになったら脅威です。Windowsは特に長い名前のファイルを扱うのが苦手ですから、作業に時間がかかるし最悪エラーになります。もしこのPleiadesフォルダの展開にパスワードを要求するウィンドウが現れた場合、それは本当にあった恐いエラーです。

解決策は、図3の初期設定を変更して、もっと短い名前にすることです。あとでフォルダ名を修正すれば済むことですから、思い切って「c:p」くらいの名前にしてしまっていいと思います。 それでも、展開にはかなり時間がかかります。コンピュータの性能にもよりますが、「これを展開しちゃってからシャットダウンして出かけよう」というような予定は立てないほうがいいと思います。



展開したフォルダの場所と名前を変更


無事展開が終わったら、フォルダの場所を自分の使いやすいところに移動し、フォルダ名もわかりやすいものに変更します。たとえば以下のような場所とフォルダ名でいいでしょう。 

C:Usersユーザ名pleiades-java 

具体的には以下のようにします。もし図2の設定値を「c:p」に変更したとすれば、「ローカルディスク(C)」のすぐその中に「p」という名前のフォルダができているはずです。それを自分のホームフォルダに移動して、フォルダの名前を「pleiades-java」に変更します。そうしておけば、こののち「Pleiades-ruby」「Pleiades-C」などと、用途別に Pleiadesを揃えたくなったときにわかりやすいでしょう。
でも今はPleiades一般についての話ですから、これを「pleiadesフォルダ」と総称します。
これで「インストール」は終わりです。 


Windows版Pleiadesの起動


eclipse.exeファイルを探す


Pleiadesを起動するには、まず展開した「pleiadesフォルダ」を開きます。たとえば「pleiades-java」と名前をつけたフォルダです。
その中に、「eclipse」というフォルダがあるでしょう。


image

図4 Pleiadesのフォルダを開いて「eclipse」フォルダを探す



さらにこれを開いて、「eclipse.exe」ファイルを探します。


image

図5 eclipseフォルダを開いて「eclipse.exe」ファイルを探す



これをクリックすると、Pleiades独特のカッコイイ起動画面が現れます。


image

図6 「おおっ」と思ってしまうPleiadesの起動画面



最初の起動は、特にいろいろなプラグインを日本語化する必要があるため、かなり時間がかかります。



ワークスペースの設定


また、起動中に、図7のような「ワークスペースの場所を指定する」ウィンドウが立ち上がります。
ワークスペースとは、Eclipseで作業するデータを納めるフォルダのことです。初期設定は「../workspace」となっています。


image

図8 「pleiadesフォルダの一個上」と考えてよい



「ここのひとつ階層上のworkspaceフォルダ」という意味ですが、ここで確認事項です。
「Pleiades All in One」においては、「pleiadesフォルダ」の中に「eclipseフォルダ」があります。ですから「ここのひとつ階層上」はpleiadesフォルダのことかな…と注意深い人は思うかも知れませんが、その必要はありません。Pleiadesでは、外側のpleiadesフォルダを意識しないでユーザがEclipseを使えるように設定してくれています。
ですから、「ここのひとつ階層上」とは「pleiadesフォルダの外」のことであり、「../workspace」とは「pleiadesフォルダと同じ階層にあるworkspaceフォルダ」に相当します。
もちろん、他の場所を指定することも可能です。 

起動に成功したら、図5の「eclipse.exe」ファイルのショートカットをデスクトップなどに作成しておくと、次からの起動に便利でしょう。
以上がWindowsにおけるEclipseの日本語版Pleiadesのセットアップ方法でした。

高天原(たかまがはら)の現在の地名は、アルメニア共和国のタガーマ州ハラン だった。

引用元;

http://ameblo.jp/papakiti1/entry-11198538165.html

テーマ:皇室のお話



今日、昼休みに会社の女性に

今から2700年前から日本とイスラエルは非常に深いつながりがあったんでは?と話すと、
彼女も同意しました。

なんでも、彼女の英会話の先生がイスラエルの方で、この話に非常に興味を持っているそうです。
そして、その先生のお父さんの写真を見せてもらったら、彫りの深い顔の日本人みたいで、西洋人とはかなり違いビックリしたとか言っていました。


神武天皇は高天原(一説には現在の西アジアのアルメニアのタガーマ州ハラン、つまりタガーマ・ハラン=タガーマハラ=タカアマハラ)から東進して日本に進んだとか。

高天原という言葉に潜む日本とユダヤの絆 p196~197
こちらより

 もしもこれまで見てきたように、イザヤの子がイザナギであるならば、古事記や日本書紀に描かれている神話は、自分たちの神を礼拝できる東の島国を求めてやってきた、イスラエル人たちの苦闘の体験が織り込まれた神話ということができる。

 そこには西アジアにあった祖国イスラエルを離れ、シルクロードなどのアジア大陸を横断し、はるばる日本にまで渡来し、神武天皇と共に日本の建国にも携わったイスラエルの人々の苦闘と想いが、記紀には込められていると言えるのだ。

ただ、この記紀には神話ではない部分もかなり含まれている。たとえば日本の神語に登場する、天上にあって神々がいる場所とされる「高天原」。
なんとヨセフ・アイデルバーグ氏によると、この高天原がアジア大陸にあるというのだ。
それはユダヤ人の始祖であり、三大父祖の一人であるアブラハムの出身地なのだ。

 実はアブラハムがイスラエルに来る前に住んでいた場所は、西アジアのタガーマ州にあるハランという町であることはタナフにも書かれている。
タガーマにあるハラン、それはタガーマハラン、つまりタガーマハラなのだ。

 アブラハムは神の命に従い故郷であるタガーマハラを出発。それまで一緒にいた一族に別れを告げ、神の約束された約束の地を目指して旅立った。
それから北イスラエル王国崩壊まで二一〇〇年、離散したイスラエルの人々は再び民族の出所に還ってきたのだろうか。
それともイスラエル人の問で延々と語り継がれてきた地名なのか、タガーマハラがタカマガハラとなって日本の神話に反映されたのかもしれない。

 また、古事記には天つ神がタカマガハラで取れた稲を天皇陛下に与えられ、それを天皇が日本中に広めたと書かれている。
西アジアのタガーマハラも麦などが大量に収穫されており、高度な農業の技術があったと思われる。
つまり、タガーマハラから来た人々が、高度な稲作技術などを日本にもたらし、広げたのかもしれない。


・・・・・・・・・・・・・・



つまり、自分たちの神様を自由に祀ることができる土地を求めて、
イスラエルの王様が日本まではるばるやってきて、土着の先住民と仲よく暮らし始めたのでは?

この時期はちょうど弥生時代が始まる時期です。
学校では、弥生人は渡来人と教わりました。
当時、中国・朝鮮人と思っていましたが、リーダーはイスラエルの王様だったのでしょう。

神武天皇ら一行は日本に大陸の稲作(水稲)をもたらしたのでは?
それ以前にも日本に米はありましたが、陸稲だったとか。






偶然にしては、非常に多いイスラエルの神様と日本神道の一致点。
しかし、正論とはみなされていません。

思うに、日本政府は自民党も民主党も中東のいざこざにまきこまれたくないのかも?
米国がだまっとれと言っているのかも?
ユダヤ人は迫害され続けてきましたが、非常に商売上手、頭もいい。
ご存知、アインシュタインは有名なユダヤ人
日本人も優秀、ユダヤ、イスラエルの親戚だからでしょうか?






菊の紋章はユダヤの王家の紋章だそうです。
こちらより、

Superluminalのブログ





伊勢神宮など日本各地の神社にイスラエルの紋章、守り神など、さまざまな痕跡があります。
こちらにざっと紹介しています。




こちらより、

みなさんのおうちにあるまな板のお話です。
預言者モーゼが仲間を従えて彷徨っているとき、食べ物に困ったモーゼは神に祈り、

「マナの壺」を神から受け取ります。

マナの壺からは食べ物が、打ち出の小づちを振るかのように次々に出てきます。
それを仲間に切り分けるために使った板の事を「マナ板」と言います。
そしてマナの壺から出てくる神様から頂いたご馳走の事を

「マンナ(これって、日本語のご飯=マンマかな?)」と言います。

乳幼児向けのビスケットに「マンナ」ってありますね。
仁徳天皇陵のあの形は「マナの壺」です。

我々は堅苦しく前方後円墳と教わりましたが、神聖な「マナの壺」の形にそっくり
非常に身分の高い方のみ、前方後円墳に埋葬されました。


Superluminalのブログ







北イスラエル王国はアッシリア(鉄器をたくみに使い征服、しかし、抵抗するものには非常に残忍だったそうです)に滅ぼされ、祖国を追われた同国民がいずこかへと消え失せたのが西暦紀元前721年。
世界史屈指の謎とされるイスラエルの失われた10支族である。

今日、10支族の痕跡が色濃く見られる地には、インドのカシミール地方・アフガニスタン・中国などが上げられるが、これらを地図上から検証すると、彼ら10支族の行程として、シルクロードが浮かび上がる。
神武天皇の誕生年は紀元前711年であるが、一方で、イスラエル10支族が失踪したのは紀元前721年と、その差は僅か10年となる。

これらの事から、

神武天皇=失われたイスラエル10支族を意味し、

東征神話=イスラエルから日本へ達した彼らの旅路


を示すものではないかというものである。



契約の箱(けいやくのはこ、ヘブライ語: ארון הברית aron habrit、英: Ark of the Covenant)とは、モーセの十戒が刻まれた石板を収めた箱のことである。
宝物と言うより、モーセの十戒があることが重要です。




昭和天皇が大好きだった相撲。

相撲は古代イスラエルの神事だったそうです。
ヤコブさまが天使とお相撲をとったそうです。
そして、イスラエルという名前をたまわったそうです。

スモウ、ハッケヨイ(投げよ!やっつけろ!という意味)はヘブライ語だそうです。
柱=アシラ=イスラエルの神さまだそうです。

[youtube http://www.youtube.com/watch?v=U9NqwW6Bka8]

旧約聖書では、神さまがモーセに10の戒律(十戒)を与えます。

1.わたしのほかに神があってはならない。
2.あなたの神、主の名をみだりに唱えてはならない。
3.主の日を心にとどめ、これを聖とせよ。
4.あなたの父母を敬え。
5.殺してはならない。
6.姦淫してはならない。
7.盗んではならない。
8.隣人に関して偽証してはならない。
9.隣人の妻を欲してはならない。
10.隣人の財産を欲してはならない。




神様の系図もそっくりです。

Superluminalのブログ



こうしてみてくると、古事記とは旧約聖書の日本語版と言われてもナンセンスと一笑にできない。




そして、聖徳太子さまは仏教を日本に取り入れます。

私がよく写経した般若心教・・・
わかりやすく言うと、仏教で言う知恵のお教

全てのもには実体がない              ・・・・色即是空
美しく見えるものも醜く見えるものもすべて本体ではない
それらを超越した所に真がある


日本文化とは

古代ユダヤ教を起源にした神道
仏教
中国の教え、四書五経と兵学など
西洋科学


のよいところをとった文化でしょう

日本に生まれて幸せ
神様、ご先祖様をうやまい、人と生き物を愛しましょう。

ーーー
以下は、
石塚 正浩によるオリジナル編集した内容です。

現在の多くのキルギス人の間で語り継がれている伝説があり、諸説ありますが、 2015年頃の古代日本の研究者らによると、高天原(タカマガハラ)の名の由来が、アルメニア共和国ターガマ州ハランであると言う発表があった。 なお、アルメニア系キルギス人が日本人と同じ先祖で、獣の狩猟民族はキルギスへ、漁をする民族は日本へ渡ったとされる伝説が今でも残っております。 ちなみに、日本とキルギスの友情を歌った演歌歌手は、三田りょうで風の旅人と言う歌である。 つまり、日本の初代天皇の神武天皇の先祖は、イスラエルの始祖アブラハムとノアのファミリーであると言えるのである。 さらに、ノアのファミリーが大洪水の末アララト山に辿り着いて助かったのをお祝いする祭りとして、7月17日のタイムスケジュールで京都の祇園祭と徳島の剣山の夏祭り(劔山本宮劔神社例大祭)があり、 徳島の剣山の夏祭りは、山の麓から御神輿をノアの箱舟に見立て頂上まで一気に駆け上がること(御輿渡御)で、ノアの箱舟の再現を行なう祭りだとされております。(御輿渡御は、夏祭りが平日の場合は、次の日曜日になりました。) 京都の祇園祭は、アルメニア共和国から、ハラン、エジプト、イスラエル、日本へ民族移動したと言う物語を表しています。