Jasmine+BackboneでViewのテストをするときにダミーのHTML要素を使う

jasmine-jqueryのsandboxを使うと、テストの間だけ使えるDIV要素を作ってくれます。 各テストの間でちゃんと掃除をしてくれるので、わざわざ削除する必要もありません。 beforeEach(function(){ setFixtures(sandbox()); }); sandbox()を使うとdiv要素にidと…

Jasmineで非同期のリクエスト終了後にテストを実行する

今日はJasmineを使ってBackbone.Viewのテストを書いていました。 サンプルに載っていた通り、非同期リクエストでViewのテンプレートを読み込んでいたのですが、テンプレートの読み込みが終了した時点でテストを実行しようとして、うまくいかずにハマりました…

PlayFramework 別のモデルと関連があるモデルにGsonのtoJsonが使えないとき

Gsonを使うとモデルをそのままJSON形式に変換したい時に、こんな形で一発変換できます。 Gson g = new Gson(); Person p = Person.findById(myId); g.toJson(p); // {"name": "Taro Yamada", "birthday": "1920/06/30"} ただ、Personが別のモデルとManyToOne…

Ajaxリクエストをテスト

PlayのFunctionalTestでAjaxリクエストをテストしてみました。 ここではJSON形式でデータを渡すので、Gsonを使ってHashをJSON形式に直してからPOSTしています。 HashMap dataToSend = new HashMap(); dataToSend.put("key1", "value1"); dataToSend.put("key…

Eclipseでvim/textmateライクなテーマを使う

仕事ではJavaが多いのでEclipseを使います。 画面があまりにもシンプルで寂しいので、Eclipseのテーマをいじれないか探してみたところ、プラグインを使ってVimやTextmateっぽい感じにすることができました。wombatやmonokaiなども最初から用意されています。…

PlayFrameworkでローカルにあるJarを使いたい

こんな形でjarをローカルフォルダに突っ込んで、使用することができます。 こうしておくとJenkinsでも、ビルド前にdependencies --syncすることで、ちゃんと指定したjarを使ってくれます。 jarのファイル名は、artifactのところにあるように「モジュール名-…

jQuery + Backbone + JasmineでBDD その1

jQuery + Backbone + JasmineでBDDを試してみます。元ネタはこちらのすばらしいブログです。 最初に断っておきますが、私はJasmine初体験でBDD、TDDの知識も本で読みかじった程度です。 ついでに言うと、jQueryもちょろっと触ったことがあるくらいです。なぜ…

PlayFrameworkのtemplate その2

Includeテンプレートの中で別のテンプレートを呼び出すにはincludeを使います。 includeされたテンプレートでは、親テンプレートで使用可能な値を使うことができます。includeする親側での呼び出しは下のような形です。 #{include 'Books/bookDetail.html'} …

PlayFrameworkのtemplate

今日はPlayのテンプレートで3つ発見があったので、そのときのことをメモします。 ソースが手元にないので覚えてる部分から書いていきます。・別のテンプレートをページの一部に読み込む(Railsのpartialみたいな) ・ループの中でインデックスを取得する ・…

PlayFrameworkでTDDのマネをしてみた

自分用の小さな開発案件にPlayを使ってTDDを真似てみようと思いました。 とりあえずModelのテストからと書き始めたところ… //Model @Entity public class Company extends Model{ } //Test public class CompanyTest{ @Test public void testSomething(){ Co…

YUM, RPMのメモ

Redhat系のOSの場合、yum, rpmでパッケージの管理をすることになります。 削除や追加もたまに発生するのですが、毎回コマンドを忘れてしまい、その度に調べることになるのでメモします。YUMすでにインストールされているパッケージを調べるにはlist installe…

JenkinsでVerifyError

新しく仲間に加わったJenkins氏がPlayのプロジェクトのテスト実行時にエラーを吐いていた。 APIをみても「some sort of internal inconsistency or security problem」といまいちはっきりしないのですが。 Execution exception VerifyError occured : Expect…

JenkinsでPlay Frameworkのプロジェクトを扱う

少し前からJenkinsを導入しています。 Playを使ったアプリケーションがあったので、Jenkinsにビルドの設定をしたときのメモ書きです。前提条件: Jenkinsはyumでインストール&設定済み手順サマリ: 1. JenkinsサーバーにPlayのダウンロード 2. Playframewor…

vSphere Clientを英語で起動する

普段vSphere Clientを使用するときは日本で表示していますが、ときどき英語にして起動する必要があります。 エラーの内容や、なにか特定の用語について、日本語で検索しても情報がない場合です。1度vSphere Clientを終了して、ショートカットを下のように変…

VCP取得に向けて

某社でVMware vSphereの研修を受けてきました。 記憶が飛ばないうちに勉強を開始して、ぜひVCPを取得したいと思います。VCPの取得にあたってはVMwareから公式のガイドが出ています。 http://communities.vmware.com/docs/DOC-16726さらに英語版では7月にVCP5…

RVMのRubyでCGI

RVM上のRubyを使ってCGIを動かしたいと思ったのですが、WEBにあまり情報がないようです。 世の中では当たり前すぎて書く必要もないのか、あまりやる人がいないのか。。gemもgemsetを使って気軽に追加・削除ができるのでいいかなと。環境はCentOSの5.7です。 …

一時的に使う変数をモデルに持たせたいとき

モデルそのものを使うのではなくて、モデルをハッシュに変換して変数を追加する model.attributesでモデルをハッシュに変換できるので、これを使った配列にハッシュでモデルの全変数を入れている array = Array.new MyModel.all.each |m| do hoge = m.attrib…

仮想ESXi上で64bit OSを起動させる

仮想環境にあるESXi 4.1で64bitのゲストOSを起動しようとしたができなかった。 どうやらHardwareのバージョンが8からでないとできない模様仮想ESXiを5.0にアップすることで解決した。http://communities.vmware.com/docs/DOC-8970

VM化したESXiでVMを動かす時の設定

ESXiをインストールしたマシンに仮想マシンとしてESXiをインストールして、さらにそのうえで仮想マシンを実行しようとすると、こんなエラーが出る。「仮想マシンで VMware ESX を実行するには、外部の仮想マシンが VMware ESX ゲスト OS を実行するように構…

Mac OS Lionで「12ステップで作る 組込みOS自作入門」2

前回の続きです。 かなりあやふやな記憶を頼りに書くので、あまり信用しないほうがいいかも知れません。 いまの時点では2章までしか動作確認できていないので、この先もこれでいいのか保証はできません。12ステップで作る組込みOS自作入門作者: 坂井弘亮出…

Mac OS Lionで「12ステップで作る 組込みOS自作入門」1

ネットでたまたま見つけたのがこの本12ステップで作る組込みOS自作入門作者: 坂井弘亮出版社/メーカー: カットシステム発売日: 2010/05メディア: 単行本購入: 24人 クリック: 252回この商品を含むブログ (34件) を見る以前から組み込みとか、OS自作とかに興…

直でSQLを書きたい場合

LEFT JOINを使って少し複雑なSQLを使いたかった。 Model.findでもSQLを使えるけどJOINを使うと途端にIlligalArgumentExceptionが出てエラーになる。 調べてみたところ、こんな感じで生SQLを使える。 List list = JPA.em().createNativeQuery(query).getResul…

viewでローカル変数を使う

またまたPlayでいろいろ試してます。 viewでローカル変数を使うにはどうしたらいいのかと思ってたら、こんなかたちでできた。 型は宣言する必要がないみたいです。 %{ hoge = "hogehoge" }% Source: http://playcheatsheet.appspot.com/show/ArtemMedeu/arme…

モジュールを使うとEclipse上でエラーが

CRUDモジュールを入れたところ、Eclipseでエラーが多発しました。 エラーといってもEclipse上で出ているだけで、アプリの動作には問題ない。 ただ気持ちが悪いので、直せないかと思っていたら、直し方が出てました。単にもう一度eclipsifyを呼ぶだけ。 $play…

Proxy経由でapt-get

Acquire{ http{ Proxy "http://www.serveraddress.com:8080"; } }で行ける他のサイトに出ていたようなフォーマットの違うProxyの定義や、下のexportでは動作しなかった export http_proxy=http://www.serveraddress.com:8080 http://d.hatena.ne.jp/shotaro_…

ubuntuでJavaをインストール

ubuntuでJavaをインストールした。 どうやらデフォルト状態のままだとapt-get updateしてもインストールできない。 検索してみるとリポジトリを追加する必要があるとのこと。 $ sudo apt-add-repository ppa:flexiondotorg/java $ sudo apt-get update $ sud…

デュアルブートにしてたUbuntuを削除

Windows 7とUbuntuデュアルブートできるようにしていたけどやめた。 VMware FusionがあればDualにしておく必要がそれほどないので。ブートローダーがGrubなのでそれを削除する。 まずはWindowsのDVDから起動して、システムの回復のオプションを選んでコンソ…

ESXiでシリアルポート、パラレルポートを使う

ESXiにシリアルポート、USBメモリを接続して仮想マシンでそれらにアクセスする必要があった。 シリアルポートを使うのはESXiの5.0からサポートされているみたい。設定は簡単で一度仮想マシンの電源を落として、設定からシリアルポートを追加する。 あとは詳…

テキストボックスに数字のみを入力させる

KeyDownに紐付ける function number_check(e){ // left, right, enter, backspace or numbers if( e.which != 37 && e.which != 39 && e.which != 13 && e.which!=8 && e.which!=0 && (e.which<48 || e.which>57) && (e.which<95 || e.which>106)) return fa…

Playで生成したプロジェクトをeclipseに対応させる

オフィシャルサイトに載ってます eclipseで開発をするまえにやっておくと便利# play eclipsify myApp以下はオフィシャルサイトの記事そのままです。Setting up your preferred IDEEclipse | Netbeans | "IntelliJ IDEA:#intellij| Textmate | Other IDEsWork…