iwazer: 2011年5月アーカイブ
なんか最近気付いたのですが、Macでtarすると"._<filename>"というファイルがたくさん格納されてしまう。
このアーカイブをまたMacで展開する分には消えている(見えないだけか?)のですが、Linuxとかで展開するとしっかり含まれている。
ググったところ過去の遺産リソースフォークを保存するための仕組みだという事...
まったくもって必要無さそうですね(-ω-)
Unix/Linuxサーバなどにコピーする時は邪魔以外の何者でもない...
抑制するには環境変数 COPYFILE_DISABLE をセットするとこのと。
設定されていれば値はなんでも(空でも)良さそうです。
export COPYFILE_DISABLE
なので、再び有効にするには(する必要は全く無さそうですが)
unset COPYFILE_DISABLE
THE LOVE FORMULAというのを見つけておぉ〜って思ったのとホントかな?と思ったので、Macにデフォルトで入ってるGrapherでやってみたよ。
今日は友だちの結婚式だしね〜
Grapherって1年に1度起動するかどうかだけど、結構面白いんですよね。
OSXにCouchDBのインストールをしていて、「システム設定のアカウントから標準ユーザを/usr/local/var/lib/couchdbをホームディレクトリにして作成しる」と書いてあったのですが、そんな事できたっけと( ゚д゚)ポカーンとなりました。
しかしインストールガイドに書いてあるのだからできるだろうという予測のもと、アカウント設定でいろいろやってみたところ、ユーザ一覧のコンテキストメニューに「詳細オプション...」を発見。

選択するとモーダルダイアログが開いてユーザIDやらログインシェルやらホームディレクトリなど、おなじみの項目を変更可能に!(・∀・)
タイトルの件、ずっと前から使えないのは知っていたのだけど、TitaniumはiPhoneでしか試してなかったしiPhoneだけ出来ればいいやとずっと思ってたのでスルーしてました。
しかし最近、会社からAndroid端末(L-04C)が配布されたのもあって、さーてAndroidもやっちゃうぞ〜と思って調べ始めたのですが分からない...
ググっても「SDKのパス指定が間違ってんじゃん?」とか「SDKパッケージをインストールしてないんじゃん?」とかしか見つからず。
唯一、「Titanium Android:SDKがずっとLoadingまたは、ScreenがLoadingのまま->解決」これか!?という対応方法を見つけて色めき立ったわけですが、~/AppData/Roaming/Titanium なんてディレクトリ見つからないす...
かなり長い間、途方にくれていたのですがコンパイル時(Launchボタン押したとき)不可解なエラーメッセージが出ているのを発見。
[INFO] Building KitchenSink for Android ... one moment [ERROR] JDK version Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
バージョン? _JAVA_OPTIONS が??
そこで、ハッと閃いたのです。
OSXのJavaは何も指定しない場合のfile.encodingがShift_JISになっているらしく、Scalaのコンソールでいろいろ試したりするときにイラっとするのです。
1年前くらいに行ったScalaの勉強会で ~/.MacOSX/environment.plist にfile.encodingの指定をしておけば常に使われるので便利というのを教えてもらって設定してました。どうせUTF-8しか使わないし。
なのでjavaコマンドにバージョンを聞いてみると
$ java -version Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8 java version "1.6.0_24" Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326) Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
と、返ってくる。普通は _JAVA_OPTIONS の行はない。TitaniumはJavaのバージョンチェックにこの出力の1行目を使っているのに違いない!
~/.MacOSX/environment.plist から _JAVA_OPTIONS の設定を削除し、ログオフ&ログイン。
Titanium Developerを起動してみると...
で、出た!

_JAVA_OPTIONS="-Dfile.encoding=UTF-8"が付いてないとScalaで不便なので ~/.bash_profile で設定することにしました。
Titanium DeveloperはQuickSilverから起動するので影響を受けなくてウマー
ちなみに現在プレビュー版のTitanium Studioも同様でした。
Scalaで可変長引数をパラメータとしてとるメソッドに変数から値を渡すにはひと癖必要です。
Javaライブラリの可変引数パラメータを取るメソッドを呼び出す時も同様にやればできます。



