善し悪しありますが、WordPressのバージョンアップは頻度が多すぎます。バグ対応だけのリリースとかないのはどうかと。
2009年12月25日金曜日
WordPress 2.9 (2)
バージョンアップちゃんとすんなり出来ました。でも、2.9.1が出るみたい・・・。
善し悪しありますが、WordPressのバージョンアップは頻度が多すぎます。バグ対応だけのリリースとかないのはどうかと。
善し悪しありますが、WordPressのバージョンアップは頻度が多すぎます。バグ対応だけのリリースとかないのはどうかと。
2009年12月24日木曜日
RichFaces 3,3,3,BETA1
まだベータ版ですが、RichFacesにJSF 2のサポートが入ったようです。
http://www.jboss.org/feeds/post/richfaces_3_3_3_beta1_released_with_jsf_2_support
http://www.jboss.org/feeds/post/richfaces_3_3_3_beta1_released_with_jsf_2_support
WordPress 2.9
日本語版がリリースされたようです。
弊社のHPも、このブログもWordPressなので、バージョンアップしなきゃ。テーマに不都合があると泣いてしまいますが。
しかし、年末ってのは何でかわかりませねんが、忙しくなりますですね。
弊社のHPも、このブログもWordPressなので、バージョンアップしなきゃ。テーマに不都合があると泣いてしまいますが。
しかし、年末ってのは何でかわかりませねんが、忙しくなりますですね。
2009年12月21日月曜日
Google Apps
すっかり時代遅れになっている感じですが、Google Appsで50ユーザーまで無料で独自ドメインのメールがGMailで利用できるんですねっ!
http://www.google.com/apps/intl/en/group/index.html
Google Email UploaderってのでOutlookやThunderbirdからGMailへのインポートは出来るみたいですね。
そこらの安いサーバー使うくらいならよっぽど良いに違いないですね。
登録だけしましたが、、、、MXいきなり変える訳にも行かず。苦笑
http://www.google.com/apps/intl/en/group/index.html
Google Email UploaderってのでOutlookやThunderbirdからGMailへのインポートは出来るみたいですね。
そこらの安いサーバー使うくらいならよっぽど良いに違いないですね。
登録だけしましたが、、、、MXいきなり変える訳にも行かず。苦笑
2009年12月17日木曜日
SeamTest on PostgreSQL
SeamTestでのDB操作はHSQLとMySQLしかサポートされていません。
PostgreSQLで使いたいところ。ざっと調べると実装は無さそうなので仕方ないからつくろうかな。
フリーな実装をご存知の方がいらっしゃったらお知らせ戴けると。
PostgreSQLで使いたいところ。ざっと調べると実装は無さそうなので仕方ないからつくろうかな。
フリーな実装をご存知の方がいらっしゃったらお知らせ戴けると。
2009年12月15日火曜日
共通項目を追い出そう。
・作成日
・更新日
・論理削除フラグ
の類というのは、基本的にどのテーブルにも追加していたりしませんか?
こういった場合は、何度も書くのはプログラマとしてアレなので、一箇所に追いやりたいところ。
○追い出したクラス(エンティティではない)
@Embeddable
public class Basis implements Serializable
{
@Column(nullable = false)
@NotNull
private Date entry = new Date();
@Column(nullable = false)
@NotNull
private Date modify = new Date();
@Column(nullable = false)
@NotNull
private Boolean del = false;
}
○呼び出すエンティティ側
@Embedded
private Basis basis = new Basis();
継承するんじゃなくて@EmbeddedアノテーションでDIするというのが、肝ですね。
@Versionアノテーション
なんだこれ?って思っている方も多いかと思うのですが、更新しつつ、テーブルの生データを眺めていると、更新ごとにインクリメントされているのが分かります。
楽観的ロックの能力を付与するためにあるようです。
手で操作する類のものではないので、セッターはprivateにするか取ってしまうのが良いでしょう。
楽観的ロックの能力を付与するためにあるようです。
手で操作する類のものではないので、セッターはprivateにするか取ってしまうのが良いでしょう。
@Version
private Integer version_no;
テーブルは日本語で、Entityは英語。
なんてことをしたい人が世にどれだけ居るのかは存じ上げませんが、EJB3ではそんなこともできます。
以下のようにしてあげれば、
のように翻訳可能です。
あくまでもアクション側からはエンティティ名称で操作するので、日本語が混ざってしまうのは、エンティティだけに抑えるという役目も果たしています。
以下のようにしてあげれば、
User(Entity)=> ユーザ(テーブル名称)
name(Entity)=> ユーザ名称(カラム名称)
のように翻訳可能です。
あくまでもアクション側からはエンティティ名称で操作するので、日本語が混ざってしまうのは、エンティティだけに抑えるという役目も果たしています。
@Entity
@Table(name="ユーザ")
public class User implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "ユーザ名称", nullable = false)
@NotNull
@Length(max = 20)
private String name;
@Column(name = "パスワード", nullable = false)
@NotNull
@Length(max = 10)
private String passwd;
}
2009年12月14日月曜日
@OneToMany, @ManyToOne
今日2稿目です。
親子関係にある、外部キーを持ったテーブルをEJB3のEntity Beanで表現するために、@OneToMany, @ManyToOneというアノテーションを使います。
決まり文句に近いものなので、押さえておきましょう。
○親テーブルA
○子テーブルB
吐き出されるDDLは以下のようになります。
外部キーは自動的に a_id(親テーブル名_id) となります。
親子関係にある、外部キーを持ったテーブルをEJB3のEntity Beanで表現するために、@OneToMany, @ManyToOneというアノテーションを使います。
決まり文句に近いものなので、押さえておきましょう。
A(1) -------------------> B(*)
○親テーブルA
@Entity
public class A implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Version
private Integer version;
@OneToMany(mappedBy = "a", cascade = CascadeType.REMOVE)
private Set<B> bs;
}
○子テーブルB
@Entity
public class B implements Serializable
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Version
private Integer version;
@ManyToOne(optional = false)
@NotNull
private A a;
}
吐き出されるDDLは以下のようになります。
CREATE TABLE A
(
id bigserial NOT NULL,
"version" integer,
CONSTRAINT a_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
CREATE TABLE B
(
id bigserial NOT NULL,
"version" integer,
a_id bigint NOT NULL,
CONSTRAINT b_pkey PRIMARY KEY (id),
CONSTRAINT fk26f4fb2dbc3ce1 FOREIGN KEY (a_id)
REFERENCES a (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
OIDS=FALSE
);
外部キーは自動的に a_id(親テーブル名_id) となります。
EJB3.0 Entityの自動連番とPostgreSQLのserial/bigserial型
意外と書かれていなかったりするので記録を残してみます。普通は主キーにすると思うので、@Idもセットで書きましょう。
・bigserial型として宣言
・serial型として宣言
ピンとこないかもしれませんが、GenerationType.IDENTITYが肝です。他のDBでも同様と思います。
一昔前はもっとごにょごにょしなきゃいけなかったんですが、今はこれだけで大丈夫でした。
・bigserial型として宣言
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
・serial型として宣言
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
ピンとこないかもしれませんが、GenerationType.IDENTITYが肝です。他のDBでも同様と思います。
一昔前はもっとごにょごにょしなきゃいけなかったんですが、今はこれだけで大丈夫でした。
2009年12月12日土曜日
Weldのライセンス
全く気づいてませんでしたが、SeamのLGPLとは違い、APL 2.0なのか。
http://seamframework.org/Download
よくよく見ると、Web Beans 1.0.0.PREVIEW1の時のライセンスはAPL(2.0かどうかは明記されていない)
http://seamframework.org/Download
よくよく見ると、Web Beans 1.0.0.PREVIEW1の時のライセンスはAPL(2.0かどうかは明記されていない)
2009年12月11日金曜日
JBoss事例 (2)
JBossの事例を国内中心に集めてみました。
昨晩のと重複ありますが、ご容赦を。
http://www.jp.redhat.com/JBoss/customers/
http://www.nri-aitd.com/openstandia/services/jboss/jboss_case_study.html
https://www.obci.jp/c/document_library/get_file?p_l_id=14515&folderId=15202&name=DLFE-519.pdf
http://itpro.nikkeibp.co.jp/members/SI/oss/20031015/1/
http://ossipedia.ipa.go.jp/example/EX0607120168/index.html
昨晩のと重複ありますが、ご容赦を。
http://www.jp.redhat.com/JBoss/customers/
http://www.nri-aitd.com/openstandia/services/jboss/jboss_case_study.html
https://www.obci.jp/c/document_library/get_file?p_l_id=14515&folderId=15202&name=DLFE-519.pdf
http://itpro.nikkeibp.co.jp/members/SI/oss/20031015/1/
http://ossipedia.ipa.go.jp/example/EX0607120168/index.html
2009年12月10日木曜日
Thunderbird 3.0
早く寝ろ、という感じですが。苦笑
Thunderbird 3.0がリリースされていたのでバージョンアップしてみました。
が、イマイチ何故にタブがあると嬉しいのかが分かりません。
ブラウザーとは違うと思うんですが・・・。
Thunderbird 3.0がリリースされていたのでバージョンアップしてみました。
が、イマイチ何故にタブがあると嬉しいのかが分かりません。
ブラウザーとは違うと思うんですが・・・。
2009年12月8日火曜日
WiMAX....
WiMAXは抱き合わせ販売はしないという方針だそうですが、それは仕方ないとしてビル内で繋がらないと言う情報もあったりして利用を躊躇しますね。
期待しているので、頑張って欲しいところです。
http://www.uqwimax.jp/
期待しているので、頑張って欲しいところです。
http://www.uqwimax.jp/
2009年12月4日金曜日
Bean Validation: validation everywhere EE 6 edition
JBoss AS6 M1で試せるそうです。先取りしたい人はどうぞ。
Bean Validation: validation everywhere EE 6 edition
Bean ValidationのほかにもJBoss AS6には色々入ってきそうです。
http://www.jboss.org/feeds/post/introducing_jboss_as_6_0_0_m1
Bean Validation: validation everywhere EE 6 edition
Bean ValidationのほかにもJBoss AS6には色々入ってきそうです。
http://www.jboss.org/feeds/post/introducing_jboss_as_6_0_0_m1
JBoss追いきれない・・・
本日は、中央線の人身事故で1時間弱、電車に缶詰にされ、萎えてしまいましたので弱音を吐いてみます。w
http://www.jboss.org/projects/matrix
をみると、全く追いきれる気がしませんね。増えたものの概要すら分からないもの多数。苦笑
できるだけ追いかけて生きたいのですが、やっぱり人間なので関心のある方に意識は向きますし、もはや単一のプロジェクトの範疇を大きく超えてしまっています。
もう少しすっきり纏めて貰えると嬉しいですね。
http://www.jboss.org/projects/matrix
をみると、全く追いきれる気がしませんね。増えたものの概要すら分からないもの多数。苦笑
できるだけ追いかけて生きたいのですが、やっぱり人間なので関心のある方に意識は向きますし、もはや単一のプロジェクトの範疇を大きく超えてしまっています。
もう少しすっきり纏めて貰えると嬉しいですね。
登録:
投稿 (Atom)