結局Jaxer使うのやめたw

既存のライブラリがサーバサイドで全てそのまま使えるわけではないみたいだ。
使いたいライブラリがサーバサイドで動かないから、魅力がなくなってしまった。
うーん。
Google app engineの教訓から学べば、
素直に実績があって使い慣れた物がいいよなーという
普通の答えに戻った。俺は正気に戻った。


だから、まあ、普通にPHPMVC使ったらいいじゃないか。
折角AptanaPHP使えるんだし。
ライブラリも色々揃ってるし、効率いいに決まってる。


PHP覚え始めたときもそうだったんだ。Perlいいなって、なんでもあるなって。
折角PHPも充実してきたのに、また新しい言語やるとか、同じ事の繰り返しじゃないか。


でも、RoRが楽そうでいいんだけど、PHPにもMVCあるからいいかな。
Rubyの記述の簡潔さもうらやましいとはおもうけど。
全て完璧な言語もないし。



Google Data APIs Client Libraries
これ使いたいんだけどRuby無いんだよね。
こういう時自分の使ってる言語がないと残念な気分になる。
PHPやりはじめた時も「PerlはあるけどPHPのライブラリはありません」
という事が多くて結構萎えた。
ユーザーの多い言語を優先するというのは当然だから、もう仕方ないんだけど。


そういうの総合的に考えたら「PHPでいいかぁ」という事に落ち着きそうな感じ。
道具なんだから普通に使えればいいんだ。うん。当たり前。

JavascriptMVCがよさそうだけどJaxerで使う方法がわからない

JavascriptMVC
http://www.javascriptmvc.com/


普通のjavascriptなら使えそうなんだけど
runat属性を関数に付ける事ができないからJaxerでは使えないのかな
なんとかrunat付けれないかな。


あーでも、無理だ、クライアントで読み込んでから処理するからサーバで使うのは無理

がRoRのフレームワークを目指してるのでRoRも動かしてみる

JaxerのActiveRecord.jsでRoRの様なO/Rマッパーが使える。
さらにRoRの様なMVCも開発しているらしい。
ActiveRecord.jsの機能を理解するのに英語ドキュメントしかないのでめんどうだった。
RoRActiveRecordライブラリの日本語解説を見ながらやったら結構楽になった。


だからRoRを先に動かしてからJaxerをやったほうが理解が早い。
RoRのおおざっぱな構造を理解して、Jaxerで手動で擬似的なMVCを使えたらいいかなと。
Jaxerの正式なMVCが出てから移行しやすいように

RoRでMysql::Error

RoRで初めてページを作成した時に
Mysql::Error
がでたらRubyを終了させてコマンドプロンプト
gem install mysql
これでmysqlのドライバがインストールされてエラーが出なくなる


MYSQLにプロジェクト名に対応する名前でデータベースを作成する
ror3_development


作成したページを見る
http://127.0.0.1:3000/first/page


これで見れるはず

RoRのインストールでERROR requires linecache

>gem install -l ruby-debug-base-0.10.3-mswin32.gem
ERROR: Error installing ruby-debug-base-0.10.3-mswin32.gem: ruby-debug-base requires linecache (>= 0.3, runtime)


requires linecache (>= 0.3, runtime)
linecacheというファイルを読み込みたいということなので


↓でlinecache-0.43-mswin32.gemをダウンロードする
http://rubyforge.org/frs/?group_id=5040&release_id=22842


cd C:\InstantRails\ruby\bin(ここは各自のrubyフォルダにあわせて下さい)

linecache-0.43-mswin32.gem
を置いて


>gem install -l linecache-0.43-mswin32.gem
でインストールできる。


あとは同じ要領でruby-debug-baseを入れていけます。


というかコマンドプロンプト
gem install linecache
するだけでいいのかもね

Jaxerおもしろい

Ajaxページを検索クロウラーに静的に見せれる所がまずすごい。
Ajaxにすると検索載らないから普通のHTMLにするかー」
という糞つまらん事がなくなる。
もうAjaxバリバリでおk。


フレームワークJquery使えてサーバサイドのDOM操作が楽すぎる。
正規表現さようなら。


データベース部分がActiveRecord.jsによってrailsのORマッパみたいに書ける。
rails使ったことないから憧れのフレームワークに近い物が使えて嬉しい。
GAEのROマッパとも似てるから理解しやすい。
まだ和訳しながら覚えてる最中だけど。


しかもHTML5SQLiteともシンクロできるからやばすぎる。
ローカルとサーバのDBを同期できてまじやばい。


しかもこれがクラウドで動くっていうんだから夢のようなシステム
動かしたら色々バグあるんだろうけど、これは覚えたい言語だ。

Google app engineやめてAptana Cloud使おうかな

GAEのDBの仕様だと拡張性がない。
テーブルの種類が後から増えるとテーブルのJOINがかなりきつくなってくる。
疑似JOINするために、2つのテーブルのデータを入れたテーブルをもう一つ作って、データを入れ直さないといけない。


しかもデータを入れ直す為に、一度テーブルの指定のプロパティの全データを取り出す必要があるのに、
一回で1000個しかデータを取れない。それを何回もやらないといけない。
たかがJOINするためにこんな手間かかるなんて、面倒すぎてやってられない。
こんな処理してたらCPU使用制限に引っかかるからさらにめんどいし。


いまのところGAEではJOIN的なものを実装する予定はないらしい。


さらに不満を言うと、データの登録に親子関係を設定しないとトランザクションできない。
親子関係を意識するのがすごくめんどくさい。
mysqlなら考えなくていいから楽でいい。


mysqlに慣れた体だとGAEのDBの仕様はきつすぎた。
長く使いたいとは思えなかった。
もちろんGAEは優れた点がたくさんあった。
上記の不満さえなければ使いたかったんだけどな・・・


他のクラウドサービスを検討してみたら
Aptana Cloud
が設定楽そうでよさそう。


PHPMYSQLもJaxerもクラウドしてくれるし、開発環境もオールインワンパック。
料金も激安。
めちゃくちゃいい!