何度か失敗してしまったのでメモ程度に書く http://grails.org/ からGrailsをダウンロード。適当なフォルダに解凍。パッケージ管理ソフトあるならそれでもいい コマンドラインやIDEからcreate-appして新規でアプリ作成 gitを使うので.gitignoreファイルを作成してくれるコマンドである「grails integrate-with --git」を実行 pluginなどの依存関係はgrails-app/conf/BuildConfig.groovyに書く。IDEに任せてPluginManager的なものでインストールしようとすると、application.propertiesに書き込むので注意 場合によってはビルドをjenkins先生に任せたいので、pom.xmlファイルを出力してくれる「grails create-pom パッケージ名」を実行 ドメインクラスを
Grails 2.3.3 リリースです!! バグフィックスです! 今回も注意点! アップグレードする場合は、Tomacatプラグインをbuild ':tomcat:7.0.47'に、Hibernate プラグインのバージョンを 3.6.10.4 しましょう! build ':tomcat:7.0.47' runtime ':hibernate:3.6.10.4'※Hibernate 4の場合は 4.1.11.4です。 以下のメジャーなプラグイン達のドキュメントも注意点など若干更新されています。 http://grails.org/plugin/tomcat http://grails.org/plugin/hibernate4 http://grails.org/plugin/scaffolding 先週リリースされた、mongodbプラグインは、2.3系でしか動かないというか、2.3.2
参加してきました。(スポット参戦中のプロジェクトから抜けて) まとめ Grails 使ってみるのはありかも groovy 触ってみようかな(とりあえずテストからかな?) そのときはSpock を使ってみよう Gradle もそろそろ使いたいなー JUnitにおけるオブジェクトの等価比較って、他の人も悩んでたんだなー コード補完で頑張る以外にも、がんばれば方法はあるんだなー(JSONPath で除外はありかも) Servlet のURLって、きれーに出来ないのかなーって思ってたけど、UrlRewriteFilter を使えばよかったのか Reactive Extensions って、うまく使えれば便利そうだなー ただし、Java8のラムダを使わないと記述量が増えそう 並行処理とか、真面目に学ばないとなー テンプレートエンジンって、色んなのがあるんだなー Mayaa につづき、Thymelea
http://jira.grails.org/browse/GRAILS-10474 よく見たら報告者が nobeans氏ではないか! Grails 2.3.xからドメインでString型の空文字列はnullと判断するようになりました。 constraintsで、blank:falseが意味なしになります。 それを変更するには、Config.groovyで grails.databinding.convertEmptyStringsToNull = false なのだが、Unitテストだと、反応しない。。。 んじゃ、インテグレーションテストにすればいいじゃん! ではなくて。。 これは、GrailsUnitTestMixinでdefineBeansされるDataBindingGrailsPluginのdoWithSpringが順番的にgrailsApplicationの前にあったりするからで
Grails 2.3.2 リリースです!! 先日Groovy2.2の最終RCもリリースされて盛り上げっていますね。ロンドンでは、お馴染みのSkills Matterにて Gradle exchangeが開催されました。そして同じくロンドンSkills Matterにて行われる Groovy & Grails eXchange 2013が来月です!!! 今回も参加しますよー!これで、 2007(スピーカー参加)、2010(受講者)、2011(観光案内)、2012(引率のおっさん)、2013(ただの観光客)として5回目です!5周年記念!通算6回目のカンファレンスで行ってないのは2009年のみ! あと、GrailsハッカソンのGrails48がGroovy.ioとして生まれ変わったとか! おっと、今回は何だか関係無いネタが多いって!? 実は、最近ですね。デンマークのJacobさんが、Burt氏が
前回、SampleDataというドメインクラスを作成しました。今回はこれを使い、データベースの基本的な使い方を説明していきましょう。 データベースアクセスの基本は「CRUD(Create Read Update Delete)」と呼ばれます。まずは「Create(新規作成)」から説明をしましょう。 実は、データの新規作成は前回ちらっとやっています。「ブートストラップ」で、ダミーデータを用意するところです。ドメインデータの新規作成は、「インスタンスの作成」「saveの実行」という手順で行います。今回のSampleDataならば、こんな感じです。 ・インスタンス作成 new SampleData(name:名前, mail:メール, age:年齢 ); ・インスタンスの保存 《SampleData》.save(); ドメインクラスのインスタンスは、newするだけで作れます。このとき、保存する値
Grailsの起動時や終了時になにか処理を挟みたい場合、BootStrap.groovy の中にその処理を記述します。 Environment.executeForCurrentEnvironment environments 上記のどちらかを利用することで、起動モードで処理を切り分けられます。 それぞれ開始時と終了時で使ってみた場合のサンプルです。 import grails.util.Environment import grailssamples.Person class BootStrap { // Grails開始時に実行される def init = { servletContext -> Environment.executeForCurrentEnvironment { development { println "dev!" } test { println "test!"
MVCアーキテクチャーでは、データ利用のロジックは「モデル(Model)」として実装することになっています。Grailsで、このモデルに相当するのが「ドメインクラス(Domain Class)」と呼ばれるものです。今回は、これを作成してみましょう。 その前に、まずは「データベース利用の設定」について説明をしておきましょう。Grailsでは、利用するデータベースは、あらかじめ設定ファイルに記述をしておき、それを読み込んでセットアップをします。この設定ファイルは、「conf」フォルダ内にある「DataSource.groovy」というファイルになります。 Grailsアプリケーションでは、標準で「H2」と呼ばれるデータベースが設定されています。これはJava製のデータベースエンジンで、ファイルにデータベース情報を保存する他、メモリ上に保管して使うこともできます。メモリ上に置けばサーバーを終了し
前回、<g:form>を使ってフォームを作りました。<g:form>によってフォームを作成するために、GSPにはフォーム用コントロール類のためのカスタムタグがひと通り揃っています。それらについて整理しておきましょう。 <g:form>タグ url――送信先の指定。アドレスを直接指定する場合に使う。 controller/action――コントローラーとアクションを個別に指定する場合に使う。 フォームのタグ(<form>)を生成するものです。送信先をコントローラーとアクションで指定できるので、よりコントローラーを意識したフォーム作成となります。 <g:textField> <g:passwordField> <g:hiddenField> 入力フィールド関連のタグです。nameやvalueなどは通常のHTMLタグと同様に使えます。 <g:textArea> テキストエリア(<textarea
前回作成したGrailsアプリケーションの中がどうなっているか見てみましょう。アプリケーションのフォルダ内には多数のフォルダが作成されていますまずはそれらについてざっと頭に入れておきましょう。 「wrapper」フォルダ――GrailsのラッパーランタイムというJavaプログラムが追加されます。これはアプリケーション本体そのものではありません。Grailsアプリケーションを実行するのに必要なプログラムです。 「web-app」フォルダ――Webアプリケーションのためのフォルダです。開くとcss、image、jsといった静的ファイルを配置するフォルダの他、Java開発ではおなじみのWEB-INFやMETA-INFといったフォルダがあり、その中に設定ファルなどが保管されます。 「test」フォルダ――ユニットテスト用のプログラムを作成する場所です。 「target」または「target-ecl
前回、「create-controller helo」として、Heloコントローラーを作成しましたね。ここでは、こんな具合にコードが書かれていました。 class 名前Controller { def アクション() { render "表示する内容"; } } コントローラークラスは、「○○Controller」という名前で作成されます。サンプルでは、heloという名前で作成したので、HeloControllerになったわけですね。 アクションは、ユーザーからアクセスがあった際、そのリクエストに対応して呼び出されるもの(リクエストハンドラ)です。HeloControllerでは、indexというメソッドが定義されていました。Grailsアプリケーションへのアクセスは、 http://サーバー/アプリケーション/コントローラー/アクションといった形になります。ローカルサーバーにGrails
http://ikeaordeath.com/ というサイト、ご存知ですか?IKEAで販売されてるアイテムとデスメタルバンドのバンド名、何がどっちかの2択を出してるサイトです。 ここを見てて、Grailsのコントローラだけでもこういう動きするページ作れそうだな、と思って作ってみました。Grailsで create-controller して、こんなコードを。 package ikeametal class QuestionController { List ikeas = ["Vittsjö","Klubbo","Bastig","Boholmen","Grundtal","Dåtid","Samsplet","Skogaby","Adde","Nyvoll","Strandmon","Krokig","Vyssa Skont","Melltorp","Vridvinge"] List m
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く