2012-01-01から1年間の記事一覧
ほぼ毎日使うのだけれど、かなり曖昧な理解のまま放置していた。 エラーが起こるたびに場当たり的な対処をしてきましたが、これではいけないと1から調べてみました。 間違っている箇所もあるかもしれませんので、お気づきの点はぜひご指摘ください。永続化…
DCと仮想ESXiを追加したのでvCenter Serverをセットアップします。 まずWindows 2008 R2をインストールするのですが、評価版のイメージがかなり古いようです。ダウンロード時のままだとvCenter Serverどころか、SQL Server 2008 R2 Express、VMware Toolsも…
前回までの内容でMac miniにESXiがインストールできました。 これから仮想ESXi、vCenter Server、FreeNASを使った仮想ストレージを用意します。 セットアップするのは次の5つの仮想マシンです。 ドメインコントローラ(DC) ESXi x 2台 vCenter Server iSCSI…
前回の続きでMac miniにESXiをインストールしていきます。 CD-Rが余っている場合は普通にISOを焼いてもらえれば、USBメモリを準備する必要はありません。 CD-Rがない場合は最初に500MB程度の容量のあるUSBメモリを用意してください。今回は引き出しの奥にあ…
VCP受験を思い立ったとき、会社以外でvSphereを実行できるテスト環境が欲しいと思っていたのですが、スペース的にも騒音的にもサーバー機器を家に置く訳にはいきませんでした。かといって家にある古いWindows PCにVMware Workstationを入れてラボを作れるか…
この方法が正しいかどうかはわからないけど一応メモ。 下のような形でHTMLを出力させるメソッドがあったとして… @Entity public class MyModel extends Model { @Transient public final static HashMap typeMap = new HashMap(){{ put(0, "Type1"); put(1, …
半年前にトレーニングに参加したVCPですが、先日やっと試験に合格しました。 VCPとして認定されるには下記コースへの参加が条件になっていますので、受験される方はトレーニングの受講が必要です。 VMware vSphere : Install, Configure, Manage [V5]コース…
ルートディレクトリに対してBasic認証をかけている場合に、サブディレクトリの一部を認証なしでも通すように設定する方法です。 LocationMatchを使って認証が必要ないLocationにSatisfy Anyを指定します。対象のLocationだけ認証なしにしても、当然ながらそ…
backbone.jsのviewでeventsに定義したメソッド内で対象の要素を取得するにはtargetを使います。 eventsで定義されたメソッドの中だと「this」はviewそのものを参照するので、console.log($(this).html())とやってもnullが返ってきてしまいます。 正しくイベ…
PlayframeworkでモデルにString型のプロパティを追加すると、データ型はMySQLだと自動的にVARCHAR(255)になります。 このままだと255を超える長さの文字列を追加しようとするとPersistenceExceptionになります。PersistenceException occured : org.hibernat…
backbone.jsでモデルのバリデーションを行うにはモデルでvalidateメソッドを実装します。 下のSourceにあるサンプルだと1つのエラーで1つずつAlertを表示するような形でしたが、複数の入力フィールドがあるのでまとめてエラーを出したいと思います。 var MyM…
idとtypeでqueryをかけて結果を取得するような場合、bindを使ってListの内容をそのままIN句に使うことができます。 String型のリストなら自動でシングルクォートを付けて、SQLエスケープもやってくれるようです。 List<MyModel> list = new ArrayList(); List<Long> idList </long></mymodel>…
Backbone.jsでモデル保存後のcallbackを設定するには、1つ目の引数に保存するプロパティ値を渡して、2番目の引数にsuccessとerrorを渡します。 success、errorはどちらか一方だけでもOKかと思います。 this.model.save( {var1: "test", var2: "hoge"}, { su…
// 親モデル @Entity public class Parent extends Model{ @ManyToMany(mappedBy="parents", cascade=CascadeType.ALL) @OrderBy("birthday") public List<Child> children; } // 子モデル @Entity public class Child extends Model{ @ManyToMany public List<Parent> pare</parent></child>…
大きめのデータをPOSTで飛ばしているときに、コンソールに警告が出ていました。Number of request parameters xxxx is higher than maximum of 1000, aborting. Can be configured using 'http.maxParams' application.confに次の行を追加すると解決しました…
たぶんFunctionalTestの使い方が間違ってますが一応書こうと思います。まずセッションIDについて。 開発中のアプリで、セッションにモデルのIDを保存しておくメソッドと、そのIDを後から使うメソッドがあります。 簡略化して書くと下のようなコードです。実…
confirmでも同じように使えました。 // Spec describe("MyAlertTest", function(){ beforeEach(function(){ setFixtures(sandbox()); $("#sandbox").append("<button id='testBtn' value='test' />"); this.alertSpy = sinon.stub(window, "alert").returns(true); }); //これなしだとTypeError: </button>…
ChromeやFFで問題なく動作していたBackboneアプリがIE9では動かない。。 デバッグツールを立ち上げるとこんなエラーが出ていました。SCRIPT1028: 識別子、文字列または数がありません。 var ItemView = Backbone.View.extend({ render: function(){ $(this.…
sinon.spyを使うと$.ajaxが呼ばれているかをテストできます。 このときはBackboneのCollectionでfetchが正しいパラメータで呼び出されているかをテストしてみました。 describe("some ajax test", function(){ beforeEach(function(){ this.ajaxSpy = sinon.…
jasmine-jqueryのsandboxを使うと、テストの間だけ使えるDIV要素を作ってくれます。 各テストの間でちゃんと掃除をしてくれるので、わざわざ削除する必要もありません。 beforeEach(function(){ setFixtures(sandbox()); }); sandbox()を使うとdiv要素にidと…
今日はJasmineを使ってBackbone.Viewのテストを書いていました。 サンプルに載っていた通り、非同期リクエストでViewのテンプレートを読み込んでいたのですが、テンプレートの読み込みが終了した時点でテストを実行しようとして、うまくいかずにハマりました…
Gsonを使うとモデルをそのままJSON形式に変換したい時に、こんな形で一発変換できます。 Gson g = new Gson(); Person p = Person.findById(myId); g.toJson(p); // {"name": "Taro Yamada", "birthday": "1920/06/30"} ただ、Personが別のモデルとManyToOne…
PlayのFunctionalTestでAjaxリクエストをテストしてみました。 ここではJSON形式でデータを渡すので、Gsonを使ってHashをJSON形式に直してからPOSTしています。 HashMap dataToSend = new HashMap(); dataToSend.put("key1", "value1"); dataToSend.put("key…
仕事ではJavaが多いのでEclipseを使います。 画面があまりにもシンプルで寂しいので、Eclipseのテーマをいじれないか探してみたところ、プラグインを使ってVimやTextmateっぽい感じにすることができました。wombatやmonokaiなども最初から用意されています。…
こんな形でjarをローカルフォルダに突っ込んで、使用することができます。 こうしておくとJenkinsでも、ビルド前にdependencies --syncすることで、ちゃんと指定したjarを使ってくれます。 jarのファイル名は、artifactのところにあるように「モジュール名-…
jQuery + Backbone + JasmineでBDDを試してみます。元ネタはこちらのすばらしいブログです。 最初に断っておきますが、私はJasmine初体験でBDD、TDDの知識も本で読みかじった程度です。 ついでに言うと、jQueryもちょろっと触ったことがあるくらいです。なぜ…
Includeテンプレートの中で別のテンプレートを呼び出すにはincludeを使います。 includeされたテンプレートでは、親テンプレートで使用可能な値を使うことができます。includeする親側での呼び出しは下のような形です。 #{include 'Books/bookDetail.html'} …
今日はPlayのテンプレートで3つ発見があったので、そのときのことをメモします。 ソースが手元にないので覚えてる部分から書いていきます。・別のテンプレートをページの一部に読み込む(Railsのpartialみたいな) ・ループの中でインデックスを取得する ・…
自分用の小さな開発案件にPlayを使ってTDDを真似てみようと思いました。 とりあえずModelのテストからと書き始めたところ… //Model @Entity public class Company extends Model{ } //Test public class CompanyTest{ @Test public void testSomething(){ Co…
Redhat系のOSの場合、yum, rpmでパッケージの管理をすることになります。 削除や追加もたまに発生するのですが、毎回コマンドを忘れてしまい、その度に調べることになるのでメモします。YUMすでにインストールされているパッケージを調べるにはlist installe…