僕の今さら日記 このページをアンテナに追加 RSSフィード Twitter

2010-09-15 gitのoriginのurlを変更する。

gitのoriginのurlを変更する。


mirahを最初インストールした時に、

git://github.com/headius/mirah.git


の方から持ってきてて、あとから

git://github.com/mirah/mirah.git


の方が最新なことに気づいて、別にそのまま新たにcloneしてくればいいんですが、

originを変えれないのかな?と思ったのでメモ

**追記**


@murachue さんより教えていただきまして、

% git remote set-url origin <新しいリポジトリURL>


が普通とのこと。明らかにこっちのほうが自然なかんじですね!

@murachue さんありがとうございます!!

使用した感じは以下のとおりです。

regina% git remote -v

origin git://github.com/headius/mirah.git (fetch)

origin git://github.com/headius/mirah.git (push)

localhost% git remote set-url origin git://github.com/mirah/mirah.git

localhost% git remote -v

origin git://github.com/mirah/mirah.git (fetch)

origin git://github.com/mirah/mirah.git (push)

localhost%


**追記おわり**

ルートディレクトリの ".git/config" というファイルの中に

[remote "origin"]

fetch = +refs/heads/*:refs/remotes/origin/*

url = git://github.com/headius/mirah.git


という設定があって、ここの"url ="以降の値を新しいところに書きなおせばいけるらしい

のですが、できればコマンドでやりたいもんなので、探してみると、


% git config remote.origin.url <新しいリポジトリURL>


でやってくれるらしい。あ、" < " と " > " はいらんですよ。

そうしょちゅうやる作業でもなさそうだけど、

この前教えていただいた" git remote -v"みたいな短いコマンド

みつけれませんでした。なんかありそうだけどなぁ。

2010-09-14 MirahでrubyライクにAndroid開発

MirahでrubyライクにAndroid開発

mirah を入れてみたなら、Android 開発なんかしたくなるのが

人の心というものです。


mirah と jrubyインストール済みであることを前提に進めます。

それ以前に、androidsdkは入ってそうですが、こいつは入れてみます。

Android SDKインストール

コンソールを開きます。


% brew install android-sdk


これ一発! なんと便利な世の中なんだ!!

brew なんてコマンドないよー、という方は以下からどうぞ

http://mxcl.github.com/homebrew/


[Homebrew]Homebrew - OSXパッケージ管理ツール

いや、これがただ言いたかっただけだったりするんですが。

このhomebrewってパッケージ管理ツールは結構前に入れたけど、

パッケージが少なくて使ってなかったんですが、ちょっと見ないうちに随分増えた模様です。


app-enginejavapythonもどちらもパッケージであって大丈夫なのかな?

とか思いますが、homebrew自体がリポジトリを持ってて管理してるというのではなく、

URLのあるリソースを取得し、それを展開するローカルディレクトリ構造管理する

ツールを提供しているようなかんじみたい(と勝手に思いこんでるだけなので、違うかも)


だから、tgzだろうが、gitにあるソースそのものだろうが、URLさえ書けば取得してくる

インストールスクリプト自分勝手に書けちゃうし、

それに合せてインストールに必要な作業が、makeだろうが、展開だけだろうが、

シンボリックリンク貼ればいいだけだろうが、好きなように書けという感じのようです。

インストールスクリプトRubyで書く形になっていて、ダウンロードするだけなら、

コマンドでジェネレートしてくれます。

この辺ちょっと調べてみたいです。


Android SDKの設定


brewで入れると素晴しいことに必要なコマンド類は /usr/local/binにリンクしてくれますので、

そのままコンソールでコマンド打てます。

ただ、target(開発対象のandroid APIバージョン)のlistなどが入ってませんので、

その辺をセットアップ


% android


GUIが起動します。左のリストに[Installed Package]という項目があるのでクリックして、

表示された右の画面の[update All..]というボタンを押すと、サーバアクセスして、

最新のリストを取得してきて、インストールするかを問われますので、同意してください。

責任はとれませんが。


Androidプロジェクトを作る


のも面倒なので、githubあたりで探してくるのがよろしいかと。

mirah android あたりでググるとなんこかサンプルプロジェクト作ってありますし。

わたしもそんな方のをフォークして、プロジェクトスケルトンにしております。

build.xmlにmirahでコンパイルがかかるようにしてますので、

http://github.com/wats/skel-mirah-android.git

からcloneしてきて、トップディレクトリ

% ant compile

していただければ、とりあえず、mirahで書かれたactivityがコンパイルされます。

ちなみにわたしができるようにしたわけでなく、

originのプロジェクトでそうなってたわけです。感謝です。


あ、build.propertiesのsdk.dirをご自身のインストールされた Android SDK

ルートディレクトリに書き換えるのをお忘れなく。

もし、brewインストールした場合だと、

/usr/local/Cellar/android-sdk/r7


という値になります。/usr/local/Cellar 配下にインストールするパッケージ

そのままパッケージ毎に展開されるようになっています。



ああ、寝むさにまけて投げやりな記事になってもうた。。。

あと、mirahのが、bitescript に依存してて、

これがまた、mirahのインストールディレクトリと同列階層

bitscriptのインストールディレクトリがないといけないようなので、

シンボリックリンクなどででも

somedir

|------------- mirah

|------------- bitescript


となるようにしてください。bitescriptのURLは以下です。

http://github.com/headius/bitescript.git

これはまだ、mirah の配下のプロジェクトじゃないんだなぁ。。。。

2010-09-10 gitでoriginのurlを確認する。

gitでoriginのurlを確認する。

かなり重度の健忘症というか、痴呆症に近いレベル自分にとっては、


このソースリポジトリってどこだっけ?


というのは日常ちゃめしごとでして、なおかつ、それを知る術も常に忘れております。

で、gitでその手のコマンドが、わりとどの本や、公式のドキュメントにもわかりやすいとこに

書いてない(たぶん、自分が見つけれてないだけ)ので備忘の為に覚え書。

※※追記※※

id:thinca さんより以下のコマンドを教えていただきました。

git remote -v

こっちの方がよさそうです。

ありがとうございました。


git config --get remote.origin.url


これで忘れても大丈夫

2010-09-03 Mirahのインストールを丁寧に。と Hello World このエントリーを含むブックマーク このエントリーのブックマークコメント

さて、Mirah さんですが回りのGeekな方々(ギリシャ人じゃないよ)が

ご存知なくてちょっと意外でした。


最初は duby っていう名前で開発されていて、

最近になって Mirah に改名された模様です。

開発者の CHARLES NUTTER さんのブログを漁ると

http://blog.headius.com/2008/03/duby-type-inferred-ruby-like-jvm.html


これは2008年3月10日の記事なので、もう2年以上前からあることになります。

で Dubious は Mirah で書かれた Rails ライクなフレームワークだそうです。

ただ、構造はもっとシンプルで、かつ Google App Engineターゲットにしているので、

RDB とかには対応してないはずです。たぶん。。。


Mirah のgit

http://github.com/mirah/mirah


なのですが、なぜだかここの README は duby の頃のままで、古いので、

Dubious の方の README を参考にして Mirah の環境を構築したほうがよいです。

http://github.com/mirah/dubious


ですが、Dubious 自体は GAE な感じですので、

とりあえず、Mirah だけの環境がほしーのという場合は、

以下に端折って大丈夫です。

John Woodell さんには申し訳ないですが。

当然、git ありきで進めますと、


% git clone http://github.com/mirah/mirah.git


よく見ると、Dubious のサイトも Mirah の git リポジトリが古いですね。

1月ほど前に

http://groups.google.com/group/mirah/browse_thread/thread/6cb4760aa3f69a0d

というアナウンンスで headius > mirah への移行がうながされていますので、

おそらく上記が最新かと。

(git の履歴を見ると 8/16以降のコミットは mirah/mirah にしかなされていないですね。)


そういえば、 JRuby も必要でした。

JRuby の代替なのに JRuby依存しとんのかい、と言いたくなるのは分らんでもないですが、

使っているのは解析器のところだそうです。

Java ソースに変換する際に、ほぼ Ruby構文解析をするのでわざわざ新たに作る必要はないですしね。

そんくらいシンタックスが一緒ちゅうことですな。

そのうち JRuby からその部分が Mirah の方に移って、JRuby が Mirah で実装されるようになるんでしょうか?


JRuby は1.5.0以上だそうですので、

現在最も一般的な開発環境では

% sudo port -d selfupdate

% sudo port install jruby


で1.5.0のJRubyインストールできます。

MacPortsなんて俺のOSにはねーよとかいう、マイノリティの方々の環境のことは良くしらんです。

emerge とか apt-get とか yum とか make とか近代的でまともな開発環境であればなにかしらあります。

もっとナウなヤングは、本家サイトからtarボールを持ってくると1.5.2が安定板手にはいります。

jarなんで、展開すりゃいいだけなので。

(2010/9/4 現在)


で、インストールディレクトリは皆様いろいろな宗派や流儀があるでしょうが、

一例として/etc/profileの一部を、以下にあげます。


JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

JRUBY_HOME=/usr/local/jruby-1.5.2

MIRAH_HOME=/usr/local/mirah

export JAVA_HOME JRUBY_HOME MIRAH_HOME

PATH=$JAVA_HOME/bin:$JRUBY_HOME/bin:$MIRAH_HOME/bin


これでPATHが通っていれば、もう世界こんにちは!です。


% mirah -e 'puts "Hello World!"'

Hello World!


ああ、もうこれであなたもmirahcostaですね。(注:僕の勝手造語です。)

(というか、-ahとか抜ける音で終られると後に-ist とか-erとか付けにくいなぁ)


昔、geekという言葉サービス名前に入れようとしたら、

'変人'とかへんな単語入れるな、ってマジで同僚に嫌がられたのが急に思い出されてなつかしい今日この頃です。

2010-09-01 [java][centos]JRockitがどうも不安定かも

Amazon ec2上でCentOS 5.5 + JRockit 1.6.0_03 でJava環境を作ったけれど、どうも不安定。

jruby + glassfish + rails とか動かしてて、そもそも大丈夫かとか突っこまれそうな環境なんだけれど、

同様の構成をCentoOS 5.2上でやって全く問題なく半年ぐらい回していたので、

環境でハマるとは思いもよらないかんじ。


glassfishの応答が全くなくなるので、DBとの接続とかも考えつつも、

とりあえずJVMSUNじゃないや、Oracle?に変えたらあっさり安定。

(ちなみにJRockitはBEAのときに出された最後のものなので、Oracle製のものではないです。

ライセンス上そのバージョンまでは使用可能)

しかも、スピードもはやいし。

OSX の /etc/paths は変数展開してくれない。

OSXの起動時環境変数などの設定シーケンスはデフォルトbash場合だと

1. /etc/profile

2. /usr/libexec/path_helper

3. /etc/bashrc

の順になっていて、MacPortszshに変えたりすると

1. /etc/profile

2. /usr/libexec/path_helper

3. /opt/local/etc/zshenv

4. /opt/local/etc/zprofile

みたいになるらしいんだが、いずれでも実行される

2. /usr/libexec/path_helper

で、/etc/pathsというファイルを読みこんで、そこに書いてある文字列を全て環境変数 PATH に

突っこんでくれる。

ただ、このpathsファイルの書式がなかなか素晴しく、1行を一つの値として、":" で連結してくれるのは

いいんだけど、例えば、

$JAVA_HOME/bin

$JRUBY_HOME/bin

/opt/local/bin

/usr/local/bin

/usr/bin

/bin

/usr/sbin

/sbin

とか書いても $JAVA_HOME のようなシェル変数は展開してくれず、そのまま

$JAVA_HOME/bin:$JRUBY_HOME/bin:/opt/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

のようになる。ちなみにコメントも有効ではなく

#/usr/bin

/bin

/usr/sbin

/sbin

だと、

#/usr/bin:/bin:/usr/sbin:/sbin

になってします。使い勝っていまいち

Mirah - JRubyではないJVMで動くるrubyくさい言語のインストール

rubyに行っちゃうと、もうJavaに戻れなくなるのは、

電気がある生活に慣れちゃうと、もう電気のない生活なんて想像できないのと似ている。

とおじいちゃんが言ってました。


ただ、Javaしか動かん環境というのもあるもので、

Google App Engine とか、 Google App Engine とか、 Google App Engine とかがあります。

AndroidとかもLinuxだから入れちまえとかもできるんでしょうけど、

Market placeで配布できない以上、これもJavaに限られた環境と言えると思います。


で、それでもrubyと思えばjRubyという選択肢があるんでしょうが、

app engine とかではspin-upに時間がかかり、若干不満の残るところです。

Androidでも応答性の求められるゲームなどには JRubyは厳しいみたい。

そこでMirahですよおとうさん。

ruby引数に型指定が残った感じのシンタックスで、かなりrubyっぽい。

なのにjavaと全く同じスピードでるそうです。

なにせjavaですから。

rubyっぽいシンタックス記述したソースプリプロセッサで一度

javaソースに変換して、その後にclassコンパイルという言語だそうです。

Mirah http://github.com/mirah/mirah

これがまた、上記リンクに記載されているMirahの本家にあるREADMEでは上手くインストールできない。

Mirahで作成された、dubiousというフレームワークのREADMEが一番新設に記載されています。

dubious http://github.com/mirah/dubious

さわるのは明日からだなー。