Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

はじめてのOpenShift Online

ちょっとしたWebプロトアプリを一時的に公開したい場合、やはりPaaSが便利です。

Java EEを前提とした場合ですが、前まではGlassFish/WildFlyが超お手軽に使えるCloudbeesいいねね!という感じでした。


CloudBeesのPaaSでJava EEアプリをクラウドへ簡単に展開! - Challenge Java EE !

でも残念ながらPaaS提供がなくなってしまい…(^^;ホント残念…。

そうなるとAWSのBeanstalkかなぁ、と去年のGlassFish Advent Calendarで以下書きました。


AWS Elastic BeanstalkでJava 8 & GlassFish 4.1! - Challenge Java EE !

Cloudbeesはクレジットカード情報などの登録なしで使えたので、そういう手軽なものが他にないかなーと探してたら、OpenShiftを知りました(^^;名前は薄々聞いたことあったのですが…。


OpenShift by Red Hat

で、OpenShift OnlineなるものがRed Hatから提供されているとのことで、ちょっと試してみました。

ちょっとポチポチして進むだけで、WildFlyの環境ができて手軽っぽい(^^)今回はユーザ登録と1つのGear(OpenShiftではインスタンスをGearと表現するようです)を作ってみました。

OpenShiftのサイトへ

OpenShiftのサイトにアクセスして、ONLINEのSIGN UP FOR FREEを選びます。

f:id:kikutaro777:20150126204533j:plain

アカウント作成

メルアドとパスワードを入れてアカウントを作成します。

f:id:kikutaro777:20150126204653j:plain

完了すると以下画面となって、登録したメールアドレスにOpenShiftからメールが来ます。
メールにあるリンクをクリックして進みます。

f:id:kikutaro777:20150126204734j:plain

利用規約を許可します。

f:id:kikutaro777:20150126204900j:plain

登録はこれだけ(^^)

アプリケーション作成

で、早速アプリケーションの作成です。「Create your first application now」を選択しました。
f:id:kikutaro777:20150126205021j:plain

選べる環境がでてくるのですが、かなり豊富!

f:id:kikutaro777:20150126205122j:plain

f:id:kikutaro777:20150126205127j:plain

f:id:kikutaro777:20150126205518j:plain

Javaでは

  • JBoss Application Server 7
  • Tomcat 6 (JBoss EWS 1.0)
  • Tomcat 7 (JBoss EWS 2.0)
  • Vert.x 2.1
  • WildFly Application Server 8.2.0 Final
  • AeroGear Push 0.X
  • CapeDwarf

などが並んでいました(2015/1/26現在)

Java以外にもPHP,Ruby,Python,さらにNode.jsやPerl、Goなども。

今回はとりあえず、WildFly 8.2.0を選択しました。あとは、URL決めたりしてポチポチ進むだけです。

f:id:kikutaro777:20150126205703j:plain

Regionは、とりあえずaws-us-east-1を選択しました。

f:id:kikutaro777:20150126205813j:plain

コードを変更する?と聞かれましたが、とりあえずNot nowで進みました。

f:id:kikutaro777:20150126205848j:plain

完成

少し待ったら、できあがり(^^)はやい;

f:id:kikutaro777:20150126205912j:plain

デフォルトだと以下のようなページになってます。

f:id:kikutaro777:20150126210007j:plain

実際のはこちら
http://jbosswildfly-kikutarotest.rhcloud.com/

今後遊んでいくので、上記環境は変わりますが(^^;

Cloudbees同様に、かなりお手軽な感じです!GlassFishが選べないのはあれですが、まぁRed Hatですし(^^;;;

次回はこのコードを落として変更してみたいと思います。

はじめてのSpring Bootの感想 #hajiboot

昨年、著者の@makingさんから「はじめてのSpring Boot」本を頂きました。
本を頂いてからだいぶ時間が経ってしまったのですが、ちゃんとした書評を書いていなかったので改めてまとめます(^^;

本の一番の感想は「うーん、実践的/実戦的な本だなぁ」です。

2つの意味の「じっせん」が共存してる(^^;

開発環境の準備や手順はもちろんなのですが、解説内容が

  • Web画面
  • REST Webサービス
  • DB操作
  • DBマイグレーション
  • セキュリティ
  • PaaSへデプロイ
  • テスト

となっており、一通りやれば、Spring Bootを利用したモダンかつ要所を抑えたWeb開発が見える感じです。

そして、この内容が170ページほどにコンパクトにまとまっている点が凄いですね(^^;

個人的には

  • 本の厚さが薄い
  • でも内容が凝縮されて濃い

この2点が、タイトルの通り「はじめて」の人に優しくて素晴らしいと思います。

Java EE系では、良い本が多いのですが、マスタリングJava EE5や金魚本、わかりやすいJava EEとどれもブ厚い(>_<;

もちろん本が厚い=解説が詳しい、なのですが、本当に初心者の頃だと辛いのも事実。

本書ではJPAとかの細かい説明はバサッと切られていますが、雰囲気はしっかりわかるし、上手くことまとめられているなぁと。

今年、新人さんの研修やOJTで使うのも面白いかなーと考えています。

その他

  • Twitterのハッシュタグ「#hajiboot」で著者QA
  • GitHubからサンプルコード取得

辺りも熱いですね(^^;

これからSpringをやる、という方は必読ではないでしょうか。

もちろん本当の「実戦」となると色々調べる必要があると思いますが、Springはドキュメントも豊富ですし、本当に困ったら#hajibootハッシュタグでアドバイスももらえるというのが強み…(^^;

PrimeFacesのTabViewでTabを非表示にする

PrimeFacesのTabViewコンポーネントで、条件によってTabを非表示にしたい状況がありました。

ここではわかりやすくするため、下図の画面を例にします。

タブとして乃木坂46メンバが並んでいる中に堀北真希さんが入っていて、(メンバじゃないので)堀北さんタブを非表示にしたい。

f:id:kikutaro777:20150121203048j:plain

自分の記憶では、PrimeFaces 3.5のときは普通にrenderedで非表示にできたと思うのですが…。PrimeFaces 5.1を使うと
下図のようになります。タブの中身が非表示^^;

f:id:kikutaro777:20150121203053j:plain

他のタブはちゃんと中身も表示されます。

f:id:kikutaro777:20150121203056j:plain

ビューの定義

<p:tabView id="tabview" dynamic="true" cache="false"
         value="#{indexBean.playerList}" var="player">
    <p:tab title="#{player.name}" rendered="#{!player.invisible">
        <h:outputText value="#{player.id}" />
    </p:tab>
</p:tabView>

仕方がないので、こうしました。Tabコンポが持つtitleStyleで、条件満たした際にdisplay : none。

<p:tabView id="tabview" dynamic="true" cache="false"
         value="#{indexBean.playerList}" var="player">
    <p:tab title="#{player.name}" titleStyle="#{player.invisible ? 'display : none;' : ''}">
        <h:outputText value="#{player.id}" />
    </p:tab>
</p:tabView>

実行すると次のようになります。

f:id:kikutaro777:20150121203059j:plain

PrimeFacesのTabViewではactiveIndexを内部で管理していて、renderedでタブを消したときとかに、あまり綺麗に管理されていなかった記憶があります。その辺をトータルに対応するために、中身だけ非表示になかったの…かな。リリースの対応履歴を一応みましたが、それっぽいのは見つけられませんでした。

にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ Javaへ
にほんブログ村
QLOOKアクセス解析