2011年1月15日土曜日

[Blogger] スマートフォン用テンプレートを有効にする

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
いつの間にかβ版としてスマートフォン用テンプレートの機能が追加されてたので有効にしてみた。

draft.blogger.com の方からログインするとβ版機能が使えます。

有効にするには、設定 > メールとモバイル > モバイル テンプレートを表示する で はい を選ぶだけ。スマートフォンの場合は自動でリダイレクトしてくれるようです。

ガラケーからもurlの最後に?m=1を付けるとモバイル用テンプレートで表示してくれましたが、ページ遷移にjavascriptが使われているようで残念ながら記事一覧以降進めませんでした…。

2011年1月12日水曜日

[Lift] Liftで処理したくないリクエストの設定

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
web.xmlで全てのリクエストがLiftで処理されるようになっているので、Lift以外のサーブレット等で処理したい場合に困ります…
<filter-mapping>
  <filter-name>LiftFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

Boot.scalaのdef bootにこんな感じで書けばOK。
LiftRules.passNotFoundToChain = true
LiftRules.liftRequest.append {
  case Req("_ah" :: _, _, _) => false
  case Req("remote_api" :: _, _, _) => false
}

※filter-mappingで除外ルールが書ければいいんだけど…

2011年1月1日土曜日

[Scala] sbt-appengineなプロジェクトをIntelliJ IDEAでデバッグ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
@teaplanetさんにヒントいただいてIDEAのsbt consoleでdev-appserver-startできるようになったので、IDEA上でブレークポイントで止めたりできるように設定してみた。

class MyProject(info: ProjectInfo) extends AppengineProject(info) {
  //... 中略
  //APPENGINE_SDK_HOME設定の代わり
  override val appengineSdkPath = Path.fromFile("/Users/pomu0325/dev/appengine-java-sdk-1.4.0")  
  
  //dev-appserver-startの際のJVMオプション
  override val devAppserverJvmOptions = List("-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,address=2011,suspend=y") ++ super.devAppserverJvmOptions 
}

この設定でsbt consoleからdev-appserver-startするとリモートデバッガで接続できる状態で起動するので、後はIDEAからデバッガ接続する。

IDEAのメニューからRun -> Edit Configurations -> [+] -> Remote を選んで、Nameは適当に、PortにdevAppserverJvmOptionsのaddress=xxxxで指定したポートを入れる(↑の例だと2011。適当に開いてるポート設定すればOK)。

設定したら、Run -> Debug... で選んでデバッグ開始するとdev-appserverのJVMにアタッチされてブレークポイントで止まってくれる。

※Before launchの"Run sbt action"でdev-appserver-startが指定できればsbt consoleからいちいちdev-appserver-startしなくても一発で起動できそうだけど一覧に出てこないし、直接指定してもダメでした…

参考:sbt-appengineの基本的な設定等は"sbtでGAEをする場合の注意点など色々。"が参考になります。