似非プログラマのうんちく

「似非プログラマの覚え書き」出張版

JPA + EJB + JSF による Web アプリケーション(その 4)

今回は JSF 側のプロジェクトを作っていきます。まずは JSF のプロジェクトを作ります。ファイル構成はこんな感じ。


WebContent/WEB-INF/faces-config.xmlWebContent/lib 内に初期に配置される各種 jar は必要ないので削除します。代わりに WebContent/lib 内に filter-1.0.jar を配置します。これは以下のものを jar にしたものです。
akaneko3/EncodingFilter · GitHub

続きを読む

JPA + EJB + JSF による Web アプリケーション(その 3)

そろそろ現実に帰って Java EE の記事を書きます(汗)。

Model の Entity を JPA で、Business logic を EJB で実装します。JPA は前にも説明した通り永続化と O/R マッピングですが、EJB をことさらに使う理由としては、WildFly (やその他 Java EE アプリケーションサーバ)が EJB コンテナを持っていることにより、アノテーション一発でロジックを呼び出せるという利点があるからです。

以下、ソースコードを書いていきます。ファイルの配置については下図を参照のこと。

続きを読む

jQuery と Sass で FizzBuzz を作ったよ(改良)

前回の記事で作ったものは FizzBuzz をやっているのは実質 jQuery 側、ということで、全部 Sass にやらせるバージョンを作ってみた。

akaneko3/FizzBuzz · GitHub

mixin にデフォルト値付きの引数を持たせている。mixin を呼び出すときに引数を適当に引数を与えることで FizzBuzz の仕様変更やスタイルの変更に対応できる。何より一番嬉しいのは、FizzBuzz の仕様変更に対して Sass だけいじれば対応できること。前回の奴だと jQuery の方も直さないといけないので手間が増える。

jQuery と Sass で FizzBuzz を作ったよ

いろんな人がやってるから何番煎じかわからんけど

  • HTML はベタ打ちせずに jQuery を利用した DOM で生成する
  • Sass を利用してスタイル(文字色の変更)を適用する
  • 3 と 5 はリテラルとして使って良いが、 15 (= 3 * 5)*1リテラルとして直に使ってはいけない

という縛りをつけてやってみる。


FizzBuzz with jQuery and Sass

意外と手こずったけどこんな感じじゃねーの ?

追記 : GitHubリポジトリを作りました → akaneko3/FizzBuzz · GitHub

*1:正確には 3 と 5 の最小公倍数

JPA + EJB + JSF による Web アプリケーション(その 2)

前回の続きで下準備編。

PostgreSQL の下準備

PostgreSQL のインストールとデータベースの作成

ごっそりと割愛。他の人が解説してくれてるよ、きっと(丸投げ)。

データの投入

SQL をぶん投げる。長くなるので折りたたみ。

続きを読む

JPA + EJB + JSF による Web アプリケーション(その 1)

そろそろ本腰入れて Java EE 7 について書こうか。うん、そうしよう。

随分と長いこと WildFly には嫌われてきた*1が、ようやく動かせる状態になったので、簡単なサンプルを元に解説なんぞできればよろしいかと。

Java EE に含まれているいくつかの API のうち、今回は JPA, EJB, JSF を用いてとりあえず動くものを作りたいと思います。Windows 7 64bit で開発します。

で、JPA とか EJB とか JSF って何よ ? (説明になっていない説明)

JPA

Java Persistence API の略。永続化と O/R マッピングに関する Java の標準 API。今回は Model 部分の作成に使用する。

EJB

Enterprise JavaBeans の略。企業利用を意識しているらしい ? 詳しいことはよくわからんがとにかく便利。今回は Model のビジネスロジック(主に DAO)の部分の作成に使用する。

JSF

JavaServer Faces の略。Java 純正のコンポーネントフレームワーク。Facelets とかいうのと管理 Bean をムニャムニャする。View と Controller の作成に使用する。

用意したもの

Java SDK 8 update 25

まぁこれがなきゃ始まらないですよね。一応 Java 7 でも大丈夫だけど、せっかくだから新しいのを。

WildFly 8.2.0 Final

Red Hat が提供する Java EE サーバ。JBoss AS の後継。Java EE 7 の実装を含む。

Eclipse Luna + JBoss Tools 4.2.0 Final

統合開発環境WildFly による開発のためには JBoss Tools は必須。

PostgreSQL 9.3.5-3

データベース。まぁ好みのものを使えば良いと思う。

代用が利くものとしては WildFly の代わりに GlassFish にするとか、Eclipse の代わりに NetBeans 使うとか、PostgreSQL の代わりに MySQL 使うとか。Java SDK だけは代用品が無いので諦めてください(何)。

次回は下準備編。

*1:一番肝心な部分はソースのスペルミスだったことが判明し何とか使えるようにはなったものの依然として嫌われている模様。

独自のカウンタースタイルを定義する

まだ CSS3 の草案の段階ではあるが、独自のカウンタースタイルを定義することができる。そのサンプルがこちら。


全角数字カウンタスタイル

通常の decimal だと半角数字になるが、この em-decimal では全角数字になる。それに意味があるかと言われると微妙*1だけど。

なお草案段階と言うこともあって、現時点では Firefox の最新版でしか機能しないようだ。OperaGoogle Chrome などの WebKit 系のブラウザでは意図した表示にはならなかった(いずれも最新版にて確認済)。

参考 : CSS Counter Styles Level 3

*1:そもそもこのスタイル自体、某ヘルプファイルの見た目を変えずにできるだけスタイルシートで指定しようと試行錯誤した結果作ったもの。