Play! 2.x
Play!(2.2以前)も採用している軽量O/RマッピングライブラリEBeanに出していたプルリクエスト*1が通ったので手前味噌。これまでEBeanでは、トランザクションはtry-finallyで書くのが基本でした。 Ebean.beginTransaction(); try { Order order = Ebean.find…
HaxeはActionScriptをベースにした汎用言語だが、Javascriptへのコンパイルが当初から実現されているのでBetter JSのひとつとしても人気。 実験的にJava, C#, C++へのコンパイルまでサポートされている。特徴としては、強力な型推論を持ったクラスベースのオ…
新規プロジェクトのためクライアントサイド開発に使うBetter JSを選定中。 2014/01/09現在の状況。 TypeScriptコンパイラの導入 TypeScriptコンパイラtscはNode.js上で実装されているので まずNode.jsをインストール http://nodejs.org/ (PATHも通す) npm …
Play framework 2.x Java and 1.x Advent Calendar 2013*1の20日目(5日ぶり4回目)です。寄稿予定表をみると、明日担当のgakuzzzzさんの内容とかぶってしまっている可能性がとても高いのですが、Play1とPlay2の違いがあるので許してもらえないものでしょう…
Play framework 2.x Java and 1.x Advent Calendar 2013*1の15日目(4日ぶり3回目)です。Play! 2.1(Java)で作り始めたWebアプリなのですが、まだ作り始めたばっかりのうちに2.2系列のPlay!が出て来たので、どうせなら今のうちにと乗り換えを敢行しました(B…
Play framework 2.x Java and 1.x Advent Calendar 2013*1の11日目(5日ぶり2回目)です。さて、法人向けクラウドサービスを提供するときに問題となる、顧客ごとのデータの分離についてが今日のトピックです。個人向けのWebサービスであればすべての情報は1…
Play framework 2.x Java and 1.x Advent Calendar 2013*1の6日目です。お題は、Lombokを使ってPlay2 Javaのユニットテストを書きやすくできますよという話。 *1:Advent Calendarとはクリスマスまでのカウントダウン日めくりのことで、それになぞらえて12/1…
secureクッキーは、HTTPSを使っていない場合にはブラウザからサーバに送り返されないフラグを付けたクッキーのことです。 秘密情報をクッキーに乗せて覚えさせたのに、うっかりさんユーザーがHTTPでアクセスしてきてクッキー内容がパケット盗聴で漏れるとか…
Windowsでコマンドライン操作が必要なとき、わざわざスタートメニューからコマンドプロンプトを探して起動しておられる方はまさかおられませんな。基本操作【フォルダをSHIFT右クリック】→【コマンドウィンドウをここで開く】 はもちろんのこと皆様使ってお…
Play!のJava向けO/RマッパーであるEbeanはコンパイルに介入するタイプのフレームワークです。 具体的には、Ebeanモデルがコンパイルされたあとに、getter/setterを勝手に作成して埋め込んでくれます。これが、単にpublicフィールドを書いただけで遅延アクセ…
Evolutionsに指定したSQL文は適用のとき、セミコロンで分解されて一文ずつデータベースに送信されます。 ではストアド関数に含まれるセミコロンはどうなるか。 やはりぶった切られてしまいます。当然文法エラー。ではぶった切られないようにするにはどうする…
Play! frameworkではEvolutionsファイルを書くことでデータベースへのスキーマ適用とか更新がWebからワンタッチできるようになります。ありがたいですね。sqlスクリプトファイルがスキーマ変更1件を表していて、【変更を適用するSQL文(Ups)】【変更を取り消…