カスタム検索

2008年3月30日日曜日

シビックにて初サーキット

友達の走行会イベントで行ってきました、モーターランド三河
グリップ20台、ドリフト30台で、グリップは上級と初級に10台づつ別れたのですが、初めてのコース+初走行(車もFFもグリップも)という事で初級でスタート
大体30秒切るかが初心者の壁という事で30秒を目標に走行・・・
1本目はコース覚えながら様子見で、、、あれ、以外に前が詰まる、、、終わってみると30秒中頃でした。

2本目はちょっと冷静になってとりあえずいけるとこまで行ってみる、、、29.9秒キター!

3本目はブレーキ、アクセルのメリハリ、アウトインアウトを意識して走行、、、29.7秒!

ここで予想外の展開、、、なんと主催側より上級と入れ替わって欲しいとな ΣΣ(゚Д゚;)
(この日は上級の平均タイムが29秒台でした)

4本目は (((( ;゚Д゚)))ガクガクブルブル しながらコースイン、とりあえず置いてかれないように必死だったせいかタイムは伸びず

5本目は以外にまざっても迷惑にならない事がわかったんで、自分のペースで突っ込んでいく、、、29.5秒!!

6本目、コースにもなれてきてアンダーを出さないよう意識して、この日トップだったインプレッサ(27秒台でした)に必死についていってみる (;´Д`)ハァハァ

結果、29.3秒までタイムをのばせました。
(7本目は雨だったのでライン取りの練習〜)

最終的にこの日は4位でした、ドノーマルでここまで走れるのがさすがTypeRですね :)
とりあえず29秒が一つの壁になりそうです、でもその前にメーター付けなきゃ、、、ブレーキから煙があがっていたのはビックリしました(笑

実に3年ぶりのサーキット、車を走らせるのは楽しいもんですね♪

2008年3月19日水曜日

WiiFitはじめました

名古屋に来てからというものめっきり運動不足で3年で+7kgとメタポ一直線だったわけですが、
さすがにまずいと思ってWiiFit買ってみました。
まぁ買わなくても運動は出来るのですが、、、ゲーム的に出来る方が自分には向いてると思ったので :)

で、今3日目なんですが以外に良いです。
ちゃんと汗かくぐらい動くし、腰を痛めにくい筋トレ方法がわかったりと楽しんでおります。
とりあえず目指せ−3kg :)

2008年3月11日火曜日

GrailsをWebSphereで

WebSphere 6.1でGrailsアプリを動かした時のトラブル〜

・WASから色んな所で404 NotFoundが帰ってくる
WASの問題、 6.1.0.3以降のパッチで設定出来るようになった「com.ibm.ws.webcontainer.invokefilterscompatibility 」を true にしてやります。
古いバージョンだと他にも問題がありそうだったので、とりあえず最新の 6.1.0.13 で動作確認しました。

その他 index.gsp が見れない問題等は http://grails.org/Deployment に書いてあります。

GrailsでHibernate+C3P0のpooling

Grailsでpoolingをする場合、grails-app/conf/DataSource.groovy の pooled = true にしてやる事で pooling されるようですが、
これはHibernateのbuilt-in poolingを使っている(?)気がします。

で、built-in poolingは
Using Hibernate built-in connection pool (not for production use!)
ということで、本番では推奨されていません。

ここでHibernateが対応しているサードパーティのpoolingの出番です。
C3P0とApache DBCPとProxoolが使えるらしいのですが、今回はC3P0を使います。

grails-app/conf/spring/resources.xml というファイルを作成し、以下のように設定します。


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass"><value>oracle.jdbc.OracleDriver</value></property>
<property name="jdbcUrl"><value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value></property>
<property name="user"><value>username</value></property>
<property name="password"><value>password</value></property>
</bean>
</beans>


driverClassとjdbcUrlはDBに合わせて調整して下さい、今回はOracleへ接続しています。
resources.xmlを記述する事で DataSource.groovy の driverClass などは無視されます。

ここで一つ注意事項です。
C3P0では use_second_level_cache と use_query_cache を true にしてやる必要があります。

DataSource.groovy に以下を追加します。


hibernate {
cache.use_second_level_cache=true
cache.use_query_cache=true
cache.provider_class='org.hibernate.cache.EhCacheProvider'
}


追加しなかったり、falseにしても普通に動作してしまったりするのですが、環境によりエラーが出るので true にしておくのが良いみたいです。

2008年3月3日月曜日

OracleとCLOBとGrailsと

OracleのCLOB型はデフォルトでDISTINCT出来なくなっています(パフォーマンスの問題?)
なのでGrailsからクエリを直接実行しようとした場合は注意が必要です。
DISTINCTしなければいいのかというと、そういうわけでもなく、 like は使えるが = は使えないという非常に微妙な状態になります。(Oracle8ではlikeもNGっぽいです)
以下にテストした結果、OKなケースとNGなケースをまとめます。

以下の形のドメインクラス

class Book {
Author author
String title
}


class Author {
static mapping = {
clob type:'text'
}

String clob
}


以下のクエリを実行します。

SELECT DISTINCT a from Author as a // NG

from Author as a WHERE a.clob like '%Clob%' // OK

from Author as a WHERE a.clob = '%Clob%' // NG

SELECT DISTINCT b from Book as b WHERE b.author.clob like '%Clob%' // OK

SELECT DISTINCT b from Book as b WHERE b.author.clob = 'Clob' // NG


Oracleが嫌いになりました :p