ページ

2012年7月22日日曜日

[Mac]Scalaで日本語使う

日本語を出力しようとしたら文字化けした。

JAVA_TOOL_OPTIONS='-Dfile.encoding=UTF8' をつけて実行すれば文字化けしない。
% JAVA_TOOL_OPTIONS='-Dfile.encoding=UTF8' scala hoge.scala

.zshrcに以下を追加。
export JAVA_OPTS="-Dfile.encoding=UTF-8"
REPLでも日本語使えるようになるけど、書いて消すとズレたりするありがちな感じになる。

参考: Scala, Mac and -Dfile.encoding=UTF-8 - Kato Kazuyoshi

2012年7月16日月曜日

Sinatraの自動リロード

2012/7/16 10:00 指摘によりsinatra-contribを使う旨を追記&修正

未だにshotgun使ってた。

参考:
モノクロームの中: sinatra (2) - オートリロード -
Sinatra::Reloader (part of Sinatra::Contrib)

gemをインストール
% gem install sinatra-contrib

Classicスタイル
require "sinatra"
require "sinatra/reloader" if development?

Modularスタイル
require "sinatra/base"
require "sinatra/reloader"

class MyApp < Sinatra::Base
  configure :development do
    register Sinatra::Reloader
  end
end
developmentモードで起動したときに有効になる。(デフォルトでdevelopmentモード)

ところでrackup -E で設定できるのってdevelopmentとtestとproductionだけで合ってるんだろうか。ハッキリとこれです!って言ってるのが見つけられなかった。


あと、Bundler使うパターン

Gemfileがこう
source :rubygems

gem 'sinatra', require: 'sinatra/base'

group :development do
  gem 'sinatra-contrib', require: 'sinatra/reloader'
end
で、本体のほうがこう
class App < Sinatra::Base
  configure :development do
    Bundler.require :development
    register Sinatra::Reloader
  end
end
bundle exec rackupで起動しよう。

ファイル単位でもリロードの設定を変えられるようだ。
http://www.sinatrarb.com/contrib/reloader


今回の、shokaiさんはいつからやっていた?は2年と3ヶ月前でした。
sinatra開発時に自動リロードする - 橋本詳解