Pages

2008年4月22日火曜日

[FreeBSD]MySQL5をインストール

今後の運用を考えてMySQLをインストールしました。
% cd /usr/ports/database/mysql50
% make install clean

serverとclientは一緒にインストールされました。

ついでにsubversionもインストールしました。
% cd /usr/ports/devel/subversion
% make install clean

これで一通り揃ったかなと思います。。。

2008年4月21日月曜日

[FreeBSD]サーバー構築

とりあえず、新しく購入したパソコンで自前のサーバーを構築するためにFreeBSD7.0をインストールしました。

まず初めにshellをzshに変更して、次にvimをインストール。続いてruby関係を一通りインストール。rubyは1.8.6でgemsは1.0.1。更にrailsは2.0.2をインストールしました。

httpサーバーはlighttpd。そんで使うか分からないけどFTPはvsftpを選択しました。

全体的にスムーズにインストールが完了したので、試験運用してみます。

2008年4月11日金曜日

[Linux]結局Ubuntu7.10をインストール

デスクトップ運用を目的にOpenSuse10.3を選んでみましたが、
VmWare ServerでFreeBSD amd64が動かない。そこであっさりと
Ubuntu7.10に乗り換えました。

果たしてこっちはVmware Serverで64bitが動くんでしょうか?

2008年3月24日月曜日

[Javascript]YahooUIでやっとカレンダーがポップアップ。

先日、Yahoo UIのカレンダーを使うことに決めましたが、なかなか大きなツマヅキでした。設置から日本語ローカライズまではスムーズに行ったのですが、かっこよくキメるにはやはりポップアップカレンダーで決まりでしょう。

が、javascript自体をいまいち理解していない自分にはポップアップは非常に高いハードルでした。
最初につまづくとなかなか立ち直れないものですが、今回もそんな感じでした。

後で振り返ってみると、そのハードルは非常に低いものでしたが。。。

時間(7日間ほど)をかけて試していって、コードが汚れてきたので再出発をする為にYahoo UIのサンプルどおりに設置してみたところ、普通に動きました。

自分の7日間は一体何だったんでしょうか?

途中で神様(高級イスで作業中)に「Yahoo UIのカレンダーがポップアップしない」旨を伝えたところ、「まずJavascriptの勉強をしなさい」と半ば呆れながら教えてくれました。

要するに、



↑実際はソースですが見事にボタンになってます。

で見たいなかんじのボタンを作って

YAHOO.example.calendar.cal1.render();

でrenderした後に

YAHOO.util.Event.addListener("show1up", "click", YAHOO.example.calendar.cal1.show, YAHOO.example.calendar.cal1, true);

でボタンのイベントをリスニングする。と言う事なのでしょう。
神様、こんなんで合ってますか?

次回はformのTimeSelectフィールドとの連携をしてみます。

2008年3月12日水曜日

[Javascript]仕事でGoogle Maps

今日は仕事で地図を使う事があったので、Google mapさんにお世話になることにしました。

と、言ってHTML自動生成ページに手伝ってもらい、サックリ作成です。
設置したら問題なく使用できたので、ちょっとだけ解説サイトに目を通しました。

どうやら、使い方は簡単そうなので少しづつ修正しようかなと思います。
まずはマーカーをオリジナルにして、最終的に上手くRubyと絡ませられたらな、
っていうところでしょうか。

2008年3月11日火曜日

[Rails]Yahoo!UIをつかってみますか

社内の神様(人間)もちょっとしたプログラムで使っていたので、自分もマネしようかと思いました。
そんなとき、ちょうどAllAboutさんで良い記事を見つけました。

でも、他のjavascriptにも少し興味があるのが考えどころです。
Railsはprototype.jsとかを使うのが王道なんでしょうけれど、それ自体の使い方がいまいち
分からないので、お手軽なYUIになりそうです。

2008年3月7日金曜日

[Rails]Timeクラスのstrftimeメソッド

strftimeメソッドをmail templateのビューのところで使ってみました。

現在
<%= @now.strftime('%Y年%m月%d日%H時%M分') %>
のような感じになっています。

このフォーマットをどこか別のビューでも使うときは、もう少し
修正してあげる必要があると思います。

多少考えた結果、helperメソッドに追加することにして、早速mailのテンプレート
からhelperメソッドを呼び出してみると、なぜかエラーになってしまいました。

なんなんでしょうか?mailのテンプレート以外からは正常に呼び出せます。

2008年3月5日水曜日

[Ruby]CGIをいざ設置したら、見事に動かない。

全体的に上手く完成したのですが、実行環境に移行したら動きませんでした。
なんででしょうか?簡単に説明すると、同じ階層にあるHTMLを読み込んで、
狙ったところを置き換えしてHTMLを書き出す、という非常に簡単なものですが、
実行してみると

ファイルを読み込んで書き出すときにファイルの末尾に置き換えたオブジェクトが
挿入されたり、して散々な結果でした。

いろいろ試した結果、
fh.rewind ←追加
fh.write(file_data) ←追加
fh.close
で、上手く動作しました。

あくまで想像ですが、ファイルを閉じる前にrewindして何かを先頭まで持っていった
後に、writeしてあげないといけないみたいです。

でも、これで一つ大人になりました!

神様、今日はくだらない作業に付き合ってくれてありがとうございました。

[Ruby]CGIの正規表現

正規表現をすこーし研究。その結果、先日作ったスクリプトが短くなりました。
そして少し考えた結果、非常に古典的な認証(?)を思いつきました。

テキストフィールドにセットされた文字列を比較する。。。

結果、現状ではこの程度で十分でした。

2008年3月3日月曜日

[Ruby]CGIのログインとか

先日Rubyで作ったCGIを、FTPでアップロードして実行すると確かにHTMLが上書きされて良い感じです。しかし、実際に本番環境に設置しようと思いましたが一つ大きな問題にぶつかりました。

それは、HTMLの出力を選択する設定画面に誰でもアクセス可能なところです。ですので、この部分が解決したら実際に本番環境に設置しようと思います。

何か簡単な方法を探してみます。

2008年3月2日日曜日

[Ruby]頻繁に画像を変えるので、CGIを作りました。

ホームページの管理をしていて、3~4種類の画像とその画像の説明文を頻繁に変えなければいけない状況に遭遇しました。画像も文章も定型で、そのもの自体を加工する事はありません。

今までは、ホームページ作成ソフトで更新したい部分をカリカリと修正して(と言っても、画像へのリンクの張り直しと、文章をペースト)アップロードする、という具合に作業を進めていました。

RubyでのCGIお勉強も兼ねてこの作業をRubyとフォームにさせることにしました。

CGIの内容は、
まず、CGIライブラリの読み込みをして、修正目的のHTMLを読み込み。
でフォームにあるラジオボタンの値を評価して変数に代入。
その後print文で生HTMLをひたすらファイルに書き込む、と言う古典的な方法です。

思ったよりも上手くいったので、自分でも満足でした。
今の職場ではRailsを使ったアプリよりも、CGIを利用した簡単な作業の方が上司の評価が高いように思います。

自分がRailsを使って何か作るととても時間が掛かるので、その辺が職場で倦厭される原因ではないかと思います。

2008年2月29日金曜日

[Rails]レイアウトのapplication.html.erbで納得。

なるほど、こちらページを読んで納得しました。
アプリケーションがレイアウトを読み込む優先順位に原因があったみたいです。

app/views/layouts/application.html.erb

app/views/layouts/(コントローラー名).html.erb
があった場合、順番は

(コントローラー名).html.erb→application.html.erb
の順番でロードされるみたいです。

(コントローラー名).html.erbが無かった場合はapplication.html.erbが読み込まれるみたいです。
試しに(コントローラー名).html.erbを削除したら無事反映されました。

[Ruby]RubyでCGIが動きました!

結局、会社にいる神様(人間)にメールを送って尋ねてみたところ、サンプルファイルを作ってくれました。
そのファイルと自分が作ったファイルを比較して、すぐに動かない理由が理解できました。

#!/usr/bin/ruby
print "content-type: text/html\n\n"
print "Hello!World!"

神様(Perl語を話す)はたぶん呆れていたと思います。

#!/usr/bin/ruby ←パスの間違い。自分のものは/usr/local/bin/rubyになっていました。
print "content-type: text/html\n\n" ←入れないと動かないらしい。基本的なことみたいです。

少し調べれば分かったのでしょうが、やっぱり神様(まだ若い)に聞いてよかったです。

まさか、rubyのhelloworldでつまづくとは思いませんでした。。。

2008年2月28日木曜日

[Rails]application.html.erbが効いてない

application.html.erb

を追加して

app/wiews/layouts/

に放り込んで、全体のレイアウトを作っておくことにしました

が、

全く表示に変化がありません。どうやら上手くapplication.html.erbを読み込んで
いない気がします。これが出来ればもっと便利になるんだと思うんですが。。。

[Ruby]CGIで動かない

BlueQuautzでRubyをCGIで動かそうと思って、
RubyCGI.orgのとおりに設置しました。

hello.cgi
#!/usr/local/bin/ruby
print "Hello!World!"

FFFTPでアップロードして、アクセスしたら

CGIWrap encountered an error while attempting to execute this script:
Error Message: No such file or directory
Error Number: 2
っていうエラーがでました。なんだか分かんないですが、Rubyへのパスが
間違っているか、.htacsseceっぽいので、明日神様(人間)に聞いて見ます。

2008年2月27日水曜日

[JS]FancyZoomで画像が表示されました。

アイコンが上手く表示されない件ですが、どうやらアイコンまでのパスが間違っていました。
で、もう一度よく考えたところFancyZoom.jsに下記のような記述を発見!

var zoomImagesURI = '/images-global/zoom/'; // Location of the zoom and shadow images

ここで、アイコンまでのパスを再設定して無事動作確認できました。

見た目もCoolで使い勝手もLiteBox2.0よりいいような感じがします。

2008年2月26日火曜日

[JS]FancyZoomで画像が表示されません。

ちょっとした画像を表示するのに丁度いいJavascriptのFancyZoom
デモを見る限りなかなかカッコいいです。

早速設置してみると、これまたスバらしいです。

が、

本来あるべき閉じるボタンやフレームが全く表示されません。
リンク切れになってしまってます。

うーん、もう少し頭をつかわないとダメっぽいですね。。。

[Rails]発見、render => :partialは2.0でこうなったの?

前回の件を更にググッてたら、同じような事で悩んでいらっしゃる方を発見。
RAILS PRESSさんにて解説されていました。

これでとりあえず少し前に進みます。助かりました!
それにしても、なんで2.0からは部分テンプレートが生成されないんでしょうか?

なにか深い意味があるように思えてくるから不思議です。

[Rail]2.0で render :partial => "hoge" が使えない。

rails1.2で使えてた入力フォームでrender(:partial => "hoge")の部分テンプレートが上手く使えないです。google先生でもよく分かりませんでした。

更によくよく考えたらscaffoldした際のviews以下にはなんと_form.html.erbという部分テンプレートさえ出来ていません。何ででしょ??

rails2.0になってから色々変更があったみたいなんで、その辺との絡みでしょうか?それとも、もう部分テンプレートを使うのは推奨されてないのでしょうか?

2008年2月25日月曜日

[Rails]なんとなくモデルに追加しました。

何処に追加しようか迷っていた部分ですが、結局モデルに記述して各コントローラーから呼び出すようにしました。

product.rbに

def self.select_product
  find(:all).map{|u| [u.name, u.id] }
end

を追加して、

mp_receipt_controller.rbの各メソッドの中で

def new
@girls = MpProduct.select_product
end

のように呼び出すようにしてみました。

こうしておけば、後々便利なんじゃないかと思いまして。。。
はっきりした理由は無いんですけどね。。。

2008年2月23日土曜日

[Flash]外部テキストの読み込み

同一階層のテキストファイルをムービーのルートより一つ下にあるムービークリップ内のUIコンポーネントのtextプロパティに設定するのに、1日かかりました。
Google先生で検索したところ、ちょうどいいコードが見つかったのでとりあえずコピペしてみたッス。

var mesg:LoadVars = new LoadVars;
mesg.onLoad = function() {
_root.mc_text.textarea.text = mesg.comment;
};

mesg.load("comment.txt");

次は外部.swfの読み込みをやってみるッス。出来るか不明ッス。

[Rails]設置場所検討中。

@products = MpProduct.find(:all).map{|u| [u.name, u.id] }
の部分を何処に追加するのか検討してます。

モデルなのか、コントローラーなのか。。。

[Rails]設置場所検討中。

@products = MpProduct.find(:all).map{|u| [u.name, u.id] }
の部分を何処に追加するのか検討してます。

モデルなのか、コントローラーなのか。。。
はたまた更に斬新な部分なのか?

2008年2月22日金曜日

[Rails]selectで別テーブル(完結)

正解はこちらでした。

<%= 
@products = MpProduct.find(:all).map{|u| [u.name, u.id] }
select :mp_receipt, :mp_product_id, @products
%>

更に、データが保存されない件に関しては、モデルに足したbelongs_toとhas_manyの部分でした。

[Rails]selectで別テーブル。

外見上うまく行ったけど、値がテーブルに入らない…。


<%=
@products = MpProduct.find(:all).map{|u| [u.name, u.id] }
select(:mp_receipt, :id, @products)
%>

2008年2月21日木曜日

[Rails]とりあえず、家計簿を作ってみる。

前回のプログラムはボツになってしまったので、今度は個人用に家計簿を作成開始。
いつも通りscaffoldしてみました。いまのところいい感じ。

早速ですが、前回つまづいた別テーブルからセレクトボックスを作る方法を
模索してみます。

開発終了。

セレクトボックスの作り方が分からず、開発を泣く泣く断念。次の機会があればまた頑張ります。

[Rails]select_tagで他のテーブルデータを参照したい。

select_tagでセレクトボックスを作って、テーブルのデータを選択させたいけど、うまくいかない。簡単に出来ると思うので、google先生に質問してみます。

2008年2月20日水曜日

[MySQL]外部キーつくれない!

MySQL Administratorで外部キーを設定しようとしたらerror 1216でエラーが出た。
数時間考えたけど分からず、会社でbokutin様に状況報告。

そしたら「参照先にデータが入ってるからですYO」とのお言葉を頂いたので、
レコードを全て削除してから再度外部キーを設定したらスムーズに
設定できました。

test

test