テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

それにしてもRailsの簡単さには相変わらず驚嘆する。

2009-01-26 23:48:49 | Ruby, Rails,プログラミング
acts_as_paranoidってRailsのプラグイン。なんなんだこの名前は。全然見当もつかん。
論理削除を行うためのプラグインとか。論理削除って何?と思ったが、ここを読んでああそれかって納得。
つーか、、、それがこんな簡単に出来ていいの?笑えるほど簡単なんだけど。(^_^)

ほんとRailsって驚愕&楽しい。

JavaでシーサーとかいうのがRails並に***とか言うけど、ホンマにこんなすごいことも出来ちゃったりするんだろうか?
とか思わずにはいられないほどスゴイと思うのだが。

いやぁ~Railsで一人で開発するって楽しいなぁ。(^_^)

Railsアプリにrestful-authenticationプラグインで認証機能

2009-01-26 23:18:34 | Ruby, Rails,プログラミング
Railsアプリに認証機能を付けるので、ググったらrestful-authenticationプラグインというのがあった。本屋に行き認証について書いてあるRails本が無いかと探したら、何故かおしゃれ系な感じのRails本に載っていた。しかもNetBeans(NB)でのやり方が書いてるじゃん。
それ見たらNBにリポジトリを登録してインストール出来るみたい。楽ちんそう。
つーことで仕事場に戻ってやろうとしたらどこにリポジトリ追加画面があったっけ?とググったらRailsアプリノードで右クリックしたらRailsプラグインってあるじゃん。なるほど、アプリ毎に入れるのは理にかなってるわな。すばらしい。

で、http://svn.techno-weenie.net/projects/plugins/
を追加してインストールした。生成(generate)を選ぶと authenticated が選べるようになってる。
すごい。RailsがすごいのかNBがすごいのか、いやその両方か。何にせよ便利だわなぁ。

だが何故かうまくいかん。gitとやらでの配布に変わってる様だしプラグインが古いのか?それともrails1.2(or Edge)に対応とかかれてるんで Rails2 だと動かないとか?それとも俺がアホだからか。
これは git とやらで取ってくる事にするか。

追記)
プロジェクトを新規に作成して試したら、git入れなくても上記でインストールしたまま問題なく動作した。
active_scaffoldを入れるのにgitじゃないとダメっぽいので入れようとしたが、NBでのやり方が分からず断念。コマンドプロンプトでやれば出来るんだろうけど、NBだけでやりたいもんだがなぁ。まあactive_scaffoldは必須ではないので今の所gitはあきらめる。

WindowsのNetBeans6.5でRubyとPostgreSQLを使う。

2009-01-22 18:57:41 | Ruby, Rails,プログラミング
Ruby用NetBeans6.5の標準はJRuby。Windowsには標準ではrubyもpostgresqlも入ってない。Ubuntu/Debian系ならapt-getで楽ちんなんだがWindowsではどうすれば?ググれば簡単と思っていたのだが、意外と検索に引っかからない。
古い情報ばかり見つかるので大変すぎる。見つかってもNB6.0とか。意外とRailsでポスグレ使うってのも無いんだなぁ。NB6.5+JRuby on Rails+JavaDB(Derby)ってかなり特殊だったのか。(笑

で、RubyはOneClickRubyというのを使い、PostgreSQLは本家から最新とってきたけど、何かおかしかったから削除して日本ユーザー会のに。昨日は何故か日本ユーザー会がつながらなかったので本家のにしたのだが。本家の配布サイトがどっかの会社のサーバみたいだったり、ほんとにWindowsでPostgreSQLって違和感ばりばり。

やっとのことでNBでRubyを使おうと思ったら gem(0.9) が古いと言われる。どうもNB上でVer.up出来ないようなのでOneClickRuby(?)環境の端末をメニューから立ち上げて gem update --system -p プロキシ とやるがエラー。オプションに間違いは無いのだがプロキシの書き方かなぁ?分からん。と悩んでたんだが、set http_proxy=プロキシで設定しておいてから gem update --system やると動いた。
ホッとしたのになんか最後の方(?)でエラー。
もっかいやるかとgem update --systemすると「そんなコマンド知らん」と言われてしまう。あれ?gem.batがあるのになぁ。。。ruby gem やると動くことは動く。ruby gem -v するとバージョンがアップしてる。
う~ん、お手上げ状態だぁ~と思ってたら偶然原因を書いてるブログを発見。gem.batの記述が間違えてるだって。。。ダブルクォーテーションが2つ続いてるのがおかしいので1つに直すと無事動いた。

う~ん、何でも無いようなことで何時間かかってんだ、全く。

とりあえず gem が何とかなったのでNBからgemでRailsをインストール。v2.2.2だからどうしようかなと思ったが、ググってみると出来が悪いなんてことはないみたいなので古いのをインストールするようなことはしなかった。
後はRailsからポスグレを使うにはどうやるのかと思ったら、gemでpostgresql-prを入れるだけで良いとのこと。
やってみたらdatabase.ymlでパスワード指定さえちゃんとやれば問題なく使えた。

肝心の動作はどうなのかだが、JRubyほどrakeが異常に時間がかかることは無いような気がする。遅いことは遅いけど、コマンドからでもこんなもん?


Ubuntu8.10にNetBeans6.5 JRuby on Rails入れる。

2009-01-20 20:19:16 | Ruby, Rails,プログラミング
WindowsのNetBeans6.5 JRuby on Railsの動作があまりに遅いのでJRubyのせいなのか確認するためにUbuntu8.10に入れて比べることにした。
Firefoxでダウンロードサイトへ行きRuby用をダウンロード。
「追加と削除」でjavaで検索したらJREは入ってた。

$ mv デスクトップ/netbeans-6.5-ml-ruby-linux.sh .
$ chmod +x ./netbeans-6.5-ml-ruby-linux.sh
$ ./netbeans-6.5-ml-ruby-linux.sh
でWindowsと遜色のないインストーラでインストール。Javaは好きではなかったがなかなかいいじゃんと思った。(笑
(インストール中若干プロンプト文字列の表示がおかしかったが。)

以下、NBサイトRailsのチュートリアル通りに

新規プロジェクトの作成で、Derbyを指定するためにデータベース構成で「データベースを直接指定」のラジオボタンを選び、データベースアダプタをjavadbにして作成。
scaffoldをしようとしたら、`gem install activerecord-derby-adapter`しろと出た。忘れてた。「ツール」>「Ruby Gems」から「新しいGem」のactiverecord-jdbcderby-adapterを選択してインストール。それにしても一覧取得にえらい時間がかかった。20分くらい?一度インストールに失敗したがもう一度やると成功した。サーバが混んでたかな?

rakeの実行で db:create したがデータベースが出来ない。NBを再起動してみる。やっぱ出来てた。こないだからのWindows上での試行錯誤でこういうことがあるようなので気になってたがやっぱりこういうこと(すぐには反映されない)だったのか。。。気をつけなはれや!

あれ?次のエラーが出た。Windowsでもこのエラーが出たり出なかったり訳分からん。
「ActiveRecord::ActiveRecordError: スキーマ 'SA' は存在しません: SELECT * FROM posts」

rubyweblogノードでプロパティを選んでGlassFishからWEBrickに切り替えて実行したらちゃんと動いた。そういうことだったのか。

で、結論。

1)実行はWindowsの用に激しく遅くない。あまりに遅すぎて色々試せなかったのだが、JRubyでも問題ないのが分かった。Proxyサーバを設定すると遅くなるという情報をみかけたので、どうやらそれが原因なんだろうなぁ。そのせいだとするとRubyに変えても遅いんだろうか。。。

2)組み込みDerbyはactiverecord-jdbcderby-adapterのGemを入れたら使える。jdbc経由でなくてもいいみたい。つーか
activerecord-derby-adapterを入れろと言われるのにactiverecord-jdbcderby-adapterしかないつーミスのせいで訳分からんちんになってる。

3)やっぱり開発時点ではGlassFishよりWEBrickかな?

最初からNB+InstantRailsにすればこんな苦労は無かったかも。(T_T)


eeePC 901-XにUbuntuかXandrosを入れようと思ったが挫折

2009-01-17 17:12:26 | モバイル(携帯)
WindowsXPで何がうざいってIEなところ。なんかうざいからやっぱUbuntuか?と思って外付けDVDドライブつないで日経Linux付属DVDからUbuntu8.04.1をブート。
とりあえず3Dデスクトップをやってみる。おぉ~問題なくプルプルしてるよぉ。こりゃやっぱUbuntu入れるか。

でもせっかくDVDソフトが付いてるんでベッドでCPRMなDVDを見たい。で、DVDソフトはD:ドライブに入ってる。う~ん、消したくない。
調べてみるとUSBメモリかSDにもLinuxが入れられるようなんでそうするか。手持ちは4GBのUSBメモリか2GBのmicroSD。USBメモリは差すと出っ張るのが嫌。つーわけでSDにするか。おそらく遅いだろうけどとりあえず。
ということでeeeUbuntuをダウンロード中に容量がどれくらいいるのかググったら4GBは無いと駄目そう。駄目じゃん。最初から詰め込みすぎだって。
仕方ない、起動が速いというXandrosはどうかな?と思ったら有無をいわさずSSDにインストールされるとか。

う~ん、手詰まり。4GBSDHCが安く買えたら買うか。それまでXPにfirefox入れて使うか。D:ドライブに入るかな?
とりあえず自慢用にUSBメモリにeeeUbuntu入れとこかな。(^_^;

それにしても今使ってるCeleronM530(1280x800)1GBメモリのノートと画面解像度(1024x600)とDVDドライブ無し以外は遜色ないのが驚き。

ようやくeeePC901-X到着

2009-01-16 22:02:45 | モバイル(携帯)
佐川から連絡があって時間指定したので来るのを待ってたのに全然来ない。サイトで確認してみたら不在だったとなっていた。が~ん、何言ってんだつーかんじ。まったくもぉ~。連絡してようやく到着。
添付のマウスちっちぇー。実はUSBマウスはスクロールボタンが壊れても買うの我慢してたので添付はかなりありがたい。それにしても光ってんのって電気を無駄食いしてるみたいで嫌かも。

とりあえず電源繋いで起動、設定して容量、充電確認。空きはC:1.67GB/3.72GB、D:6.37/7.50GB、バッテリは25%。タスクバー(?)に充電中アイコンが無いのは何故?仕方ないのでコンパネからバッテリ調べた。

んで今IE起動して入力中だが、やっぱキー入力つらいわ。アルファベットキーは問題ない大きさっぽいんだがなぁ。リブレットより大きいんで、もちっとマシかと思っていたのに。

eeePC買ったし、Emobile入ろっかな?

2009-01-15 22:33:42 | モバイル(携帯)
こないだeeePC 901-Xを購入。目的はベッドでWebと出先でリモートメンテ。

つ~ことで、お外でPC接続するのにEmobileのアウトレット買おうかなぁ~と思ったんだけど、安いのはPC/CFカードしかない。で、eeePCはスロットがない。BT内蔵なのでH11HWでもいいかな?と思ったら値段が上がってる。が~ん、USBタイプしかないじゃん。
なので定額としては安いhi-hoも考えたが光回線を辞めない場合は高いしなぁ~。と思ったらBIGLOBEがキャンペーンで8ヶ月間980円~やってた。調べてみるとライトプラン同様。加入料がいるのがネックだが、いつでも辞められそうなんで入ろうかな。また安いデータプランが他社も含めて出来るかもしれんし。

そうするとこないだ機種変したX01Tの回線が要らなくなったなぁ~。月額2千円が勿体ない。スパボ一括のホワイト契約月額6円回線あるし、au携帯は1年間無料通話付きで6円だし。2年間辞めれないからなぁ。つーかまだ前機種の割賦も払ってる状態だし。機種変しなきゃ良かった。(T_T)

NetBeans6.5でJRuby on Rails

2009-01-14 22:22:24 | Ruby, Rails,プログラミング
昨日の続き。
チュートリアルの後半に(DBを使わない)Railsの仕方が書かれてるんでやってみた。
モデルクラスを作成しようとするがエラーが出て悩んだが、6.の「new_rails_defaults.rbのコメントを削除」とあったのがコメント(#)が無いのでそのままにしていたためだった。ここはコメントにしなければいけなかった様だ。
このエラーで結構時間を食ってしまい、Derbyも使えずに終わった。
とりあえずこのチュートリアルで、DBを使わないRailsの使い方が分かったのは良かった。

明日は「Ruby のブログを 10 分で作成」をDerby使ってやるのにまた悩みそう。

去年買ってた「DB magazine」2月号に載ってたようにInstantRailsを使ってやった方が良かったのかも。とほほ。
ちなみにこのNetBeansでRailsする記事が今年の「DB magazine」2月号の付録PDFに入ってる。他に興味のある記事がないので買わなかったが。つーか記事の号持ってるし。

翌日追記)

JavaDB(derby)を使おうとやってみたがやっぱり失敗。
サービスウィンドウのDatabaseノードにDBのドライバがあるはずが無いということは使えるようには設定されてないということなんだろう。これが標準だったらNetBeansのみのインストールで済んだのにおしい。
でもコミコミあるいはJava用(?)Netbeans6.5なら標準で使えるようなんでRuby版だから駄目なのかもしれない。

ま、別にJavaDBとやらに興味は無いから調べるの面倒くさいんで他のDBを入れて使うか。単純なSQLiteにするか、Rails標準のMySQLにするか、ターゲットのPostgresに素直にするか悩む。Rails2からSQLiteが標準になったとかあったようなんだが、JRuby on RailsはMySQLのままなのか?

それとプロジェクト作る画面で何故かRailsを2.1.2にアップデートしてしまって、「gemが古いのでgem update --systemしろ」と出て使えなくなって困った。
メッセージどおりgemを更新しようとコマンドプロンプトでやろうとしたらパスが設定されてないせいでその設定に戸惑ったが、結局設定出来ても何故か新しくならなかった。もしかするとgem update --system -p プロクシアドレス とやる必要があったかもしれない。
結局、プロジェクト作成時に2.1.0を選択出来たのでそれは問題なかった。

とりあえずDB以外の生成は出来たので流れは分かったぞ。

ひさびさにRailsやれそうでワクワク

2009-01-13 22:47:17 | Ruby, Rails,プログラミング
Rails環境をWindowsに構築。以前はEclipse系Radrails使ったが、viエディタプラグインがあるのでRails対応したNetBeansでやろうかと。
最新版 6.5 が出てるので、それのRuby(Rails)のみ対応版をダウンロードしてインストール。
GlassFishとかいうサーバも付いてくる。RubyはJava版RubyのJRuby。
検索するとWin版Rubyを入れる方法とか見付かるけど、面倒くさいのでJRubyで行ければ行く。

とりあえず、起動したらあったチュートリアルリンクをクリックしてRuby開発の練習。
いきなりテスト駆動開発なやり方で興味深い。
実行とか動作がかなり遅い。JRubyのせいだろうか?

次にRails。検索するとまたRailsは別にインストールしなきゃいけなさそうな古い記述ばかり見付かるが、Railsプロジェクトを作ってみたら問題なく作成出来た。デフォルトはMySQLの設定なのだが、別に入れなきゃ駄目なようなんで面倒くさい。一応ActiveRecordがDBの違いは吸収するハズなので他のでやってもいいだろうということでどうしようかと思ったのだが、Java版DBのDerbyというのがあるらしい。
GlassFishもJavaサーバらしいからもしかして標準で入ってる?と思いフォルダを覗いたら、やっぱり入ってた。
この辺の情報が見つからなかったので試行錯誤中。

Railsプロジェクト作成ダイアログのDB設定画面で下のラジオボタンをクリックしてDBアダプタをJavaDB(Derby)にして作成したら無事にDerbyが指定されて作成されたようだ。
つーことでサーバ起動ボタンをポチッと。出力メッセージを見てたら何故か8080ポートでサーバが起動した。はて?
とりあえずlocalhost:8080にアクセスしたがRailsの出力ではなくGlassFishの出力画面のようだ。
(追記:GlassFishを使った場合はこうなるそうだ。アクセスするにはURLにプロジェクト名が必要だった。)

本日はここで終了。
とりあえずNetBeansのインストールだけで使えるのは楽ちん。

Ubuntu8.10で「追加と削除」で検索したらNetBeans6.1だった。残念。つーか、余計なのも入るから本家でRubyのみ版を入れるのがいいわな。

eeePC 901-X注文

2009-01-12 21:28:21 | モバイル(携帯)
出先でサーバをリモートメンテをするためにモバイルPCが欲しいと思っていたのだが、小さいと言っても常に携帯するのはつらい大きさだし、起動時間が遅い。というわけでスマートフォンX01Tを買ってしのぐつもりだった。
しかし、WindowsMobileのブラウザの操作性と表示速度がやっぱイマイチ。PC起動して操作した方が速いかも?と思わせられた。現在ベータ版のOperaがなかなかなのだが横画面にしてキーボード入力することが現在(?)出来ない。
Firefoxのモバイル版やAndroid携帯も待ってるのはつらい。sshは使えるけどXは使えないし。。。
つーことでやっぱモバイルPCが欲しいなぁ~と思ってた。

ちなみにHDD搭載機は個人的に無しなので、SSD搭載モバイルPCの個人的評価。
eeePC 701 SD-X: 2万5千円で価格が安いので画面が狭い以外は許せる。しかし画面の狭さは耐えられないかも。
eeePC 900X: 実質3万5千円で値段が安い。バッテリの持ちが悪いのが残念。Atomじゃないのがチト残念。
Inspiron mini9: Ubuntu版は3万5千円で値段が安いが900XよりメモリとSSDが少ない。Atomなのにバッテリの持ちは900Xと変わらない。光沢液晶で見づらいかも。
eeePC 901X: やや高めだが長時間バッテリでほぼ完璧。SSDが4G+8Gは900Xより劣ってるのが残念。
eeePC 901 16G: 901X改善版だが出たばかりで5万円切らない価格。

安いので701買って画面は我慢するか?と思いつつ、やっぱ画面が耐えられない場合に後悔することしきりだから手が出なかった。なので安いし画面に文句ない900Xかなとは思ったけどバッテリの持ちも不安。901-16Gは高すぎ。
Inspiron mini9のUbuntu版は購入してから手元に届くのにいつになるか分からないのが嫌。ベスト電器でYBB入ると44,800円のが100円になるのでそれにしようかとも迷っていたが、光からNTT回線に戻すのも金がかかりそうで何のために安く買おうとしてるのか本末転倒な気がして躊躇。

ということでずっと迷っていたのだが、金曜日に eeePC 901-X が701と900の中間の3万円で売りに出てた。
おぉ~!と思ったらすでに売り切れ。落胆しつつ他にいいものないか探したが見つからず。
すると土曜日にも売り出されてたがこれも逃してしまった。
これはeeePCじゃなくmini9にしろということかな?とYBBの検討をしてたのだが無事日曜日に買うことが出来た。
まだ発送されてないのが非常に不安だが、到着が楽しみだ。(^_^)

キーボードが小さいのは慣れるしかねーだろう。メインSSDが4Gなのはどうなのか分からないが最悪Linux入れるつーことで大丈夫かと。
他は最高で文句なし。DVD再生ソフトが付いてるのも外付けDVDドライブ持ってるし何気にうれしい。特に長時間駆動がなにより。