2006-01-01から1年間の記事一覧

例外が発生してもやり直す。

あぁ、我が人生もやり直すことが出来たら。 #!/usr/bin/env ruby ok = false begin unless ok raise '例外発生' end puts '正常終了' rescue unless ok puts $! ok = true puts 'やり直す' retry end end結果。 例外発生 やり直す 正常終了 プログラミングRu…

W-ZERO3[es]に入れたソフト。

久しぶりにソフトを入れた。 zm_helper W-ZERO3メールを快適に。 メイン画面のフォントを小さくする目的で使用 コメントにzm_helper 0.3とあるのがそれ [es]Silencer カメラのシャッター音を消す 猫を撮るためです!! KeyLockSuspender キーロックと画面OFF…

catchとthrowで大脱出。

久しぶりにミスドに行きポン・デ・ライオン以外のキャラクタが居ることにビックリ。他にはどんなのが居るのだろうと調べてみたら、こんなにも居た。 私の大好きなココナッツチョコレートのキャラクタが居ないのはどういうことか。納得がいかない。 というわ…

自前でuntilのような処理。

昨日、居酒屋→カラオケ→カフェでアイス→ミスタードーナツでドーナツ2つ、なんていう糖尿病一直線コンボを炸裂させてしまったため、胃がダメージを受けてしまい家に引き籠もっていた。 体の調子が悪いと頭の調子も悪くなるのは当然で、あまり勉強進まなかった…

JET SET BAG購入。

近頃、Mac関連のネタが少なく友人から「羊頭狗肉だ!」と指摘された。「Rubyの勉強はMac上で行っているので、その指摘は無効だ!」と返したが、自分でもそう感じていたからと言うわけではないが、MacBook用の持ち運び用バッグとしてJET SET BAGを購入。 この…

||=で変数初期化をする。

この動画で流れている歌が頭から離れない。ついつい口ずさんでしまう。口ずさんだが最後、人格を疑われてしまいそうなので、職場では注意しなくては。 =でちょっと便利な変数の初期化。 var = nil var ||= 1 p var結果。 1どういう理屈でこうなるかというと …

範囲演算子いろいろ。

8年ぶりくらいにカラオケ屋に行ってきた。 曲を入力する端末がタッチパネル方式になっていて、曲名、歌手名での検索が出来たり、料理の注文が出来たり、おまけにゲームが出来たりして、その発展ぶりにビックリした。 何となくこのAAを思い出した。 というわ…

ブロックの戻り値使ったり、[]を再定義したり。

プログラミングRubyを鞄に入れ近くのカフェへ。 まったりと読もうと思ったら隣の席に座ったおじさんが「バカバカバカバカ…」「しねしねしねしねしね…」と延々と呟き続けていて、注文したココアの味がしないは、本の内容はなかなか頭に入ってこないはと大変な…

着ッカバーZERO3[es]購入。

久しぶりのW-ZERO3[es]ネタ。安定して道具として役に立っている証拠なり。 そんな中、新たなカバーを購入。着ッカバーZERO3[es]こと、液晶保護に特化したプラスチック製のカバーでございます。 ストラップとのセットを購入しました。 後ろに写っているのは取…

動的にクラスを作ってみたり、子供の頃に思いを馳せたり。

何だか自転車に乗りたい今日この頃。自転車に乗って子供の頃に登り切れなかった友人宅前の坂道を、大人の体力と財力を持って征服したくなったから、子供の頃の無駄ながむしゃらさを取り戻してみたくなったから、お前はいつから大人になったのだと三十路にな…

lambdaをランバダと読んでしまったのは私だけではない。

lambda、始めて見た時、ランバダと読んでしまい以降、その姿を見るたびに例の音楽が頭に慣れが出してしまって困っております。同じくランバダと読んでしまった同士をGoogleで検索してみた。 google:lambda ランバダ 結構いる。味方がいるって素晴らしい。 そ…

かかかっ、買っちゃった。

プログラミングRuby 第2版 言語編作者: Dave Thomas,Chad Fowler,Andy Hunt,まつもとゆきひろ,田和勝出版社/メーカー: オーム社発売日: 2006/08/26メディア: 大型本購入: 7人 クリック: 270回この商品を含むブログ (152件) を見るプログラミングRuby 第2版 …

rails.elのrails-run-sql。

Emacsのrails.elでC-c s sと入力するとconfig/database.ymlでのadapterを元にデータベースに接続しsql-modeになるようですが、DarwinPortsでMySQLをインストールすると、MySQLのコマンドはmysqlではなくmysql5となり、そのままでは接続できないので、 sudo l…

スニペットを弄る。

Railsの開発にCarbon Emacsを使っているのですが、こちらを参考に設定したところsnippetが便利。どういう機能かと言いますと、 raと入力しTabキーを押下すると render :action => "action"と展開され、"action"のところにカーソルが移動するのでレンダリング…

#!で実行するコマンドを簡単に指定する。

#!/usr/bin/env ruby環境変数のPATHによって実行されるrubyが決定される。 ちなみに#!で指定するのをシェバングと言うらしい。 詳しくはこちら。

2冊目のRails本。

ライド・オン・Rails Ruby on Railsを徹底攻略作者: 吉田和弘,馬場道明出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/06/30メディア: 単行本 クリック: 52回この商品を含むブログ (88件) を見る購入。 パラパラッと見たところ、Webサービスとの…

lighttpdを使ったら文字化けした。

その対策。 app/controllers/application.rbに before_filter(:set_charset) def set_charset @headers["Content-Type"] = "text/html; charset=utf-8" endとして解決。

DarwinPortsでlighttpdとFastCGIをインストール。

パフォーマンス向上とかで本に従ってlighttpdとFastCGIをインストールする。当然ここはDarwinPortsを使う。 まずは sudo port install lighttpdと実行しlighttpdをインストール。 10分程度はかかるのでダンベルスクワットでもして待つ。 続いてFastCGIをイン…

Ajaxのテスト。

xhr(:post, :search, :title => 'ああ')searchアクションにpost。titleはパラメータ。

よーしAjaxを使っちゃうぞ。

Ajaxでサーバと通信をしたい場合、該当のページに <%= form_remote_tag(:update => "results", :url => {:action => :search}) %> <p> <%= text_field_tag(:title) %> <%= submit_tag('検索') %> </p> <%= end_form_tag %> <div id="results"> </div>こんな感じのを追加する。ここでは検索処…

ティアドロップスタイラス購入。

滅多にスタイラスを使わないW-ZERO3[es]にはティアドロップスタイラスが便利だろうということで購入。 少々、ストラップ部が長いですが、いちいちスタイラスを出す手間を考えれば我慢できるというもの。

同じ処理をいろんなところで実行する。

長かった夏休みも今日で終わり。どんな夏休みでしたかと問われたら「酒とRailsな夏休み」と答えよう。 というわけで本題。 同じ処理をいろんなところで実行させたい欲求は至極当然。そんな場合はapp/controllers/applicaiton.rbに before_filter(:メソッド名…

HTT スリムケース for W-ZERO3[es]レビュー

HTT スリムケース for W-ZERO3[es]が到着したのでレビューをば。 液晶保護シートのおまけ付きです。 液晶側、裏面側、共に堅い板が入っており、保護性は優れていそうです。 左右にあるベルトを使ってW-ZERO3[es]を固定します。 装着したしたところです。 キ…

トップページを変更する。

public/index.htmlを削除した上でconfig/routes.rbを map.connect('', :controller => 'account', :action => 'login')のようにすると、http://localhost:3000にアクセスした際、accountコントローラのloginアクションが表示されるようになる。

ちょっとしたモデルのテスト。

script/consoleと実行すると Loading development environment. >>こんな状態になるので モデル名.methodsと入力してメソッドの一覧を取得したり、そのモデルが持っているメソッドを実行することが出来るので、ちょっとしてテストには最適。

リレーションの設定

Railsでテーブルのリレーションができるなんてビックリだ。 おまけにちょー簡単。またもやテレビショッピングの外人司会者が出てきて「こんなに簡単なんて信じられるかーい、ジョン」 1:1の場合 どちらか一方のテーブルに『テーブル名の単数形』_idというフ…

データを更新する。

# idから更新対象のデータを取得 @group = Group.find(params[:id]) # パラメータを元に更新 @group.update_attributes(params[:group])findメソッドは Group.find(1, 2, 3)のように複数のidを渡したり、 Group.find(1, :conditions => "name = ?'aaa?'", :o…

データを新規作成する。

# パラメータを元にモデルのインスタンスを新規に作成 @group = Group.new(params[:group]) # データを保存 # すでに存在するデータの場合は更新するようだ @group.saveparamsにはPOST、GETで渡されたパラメータがHash形式で格納されている。値は全てString…

ローカルでマニュアルを参照する。

$ gem_serverと実行しWebブラウザからhttp://localhost:8808/にアクセスするとgemでインストールしたパッケージの一覧と、存在するのならrdoc形式のマニュアルを参照することが出来る。 ネットワークに繋がっているのなら、こちらの方がインクリメンタルサー…

テスト!テスト!テスト!

テストの基本的なことがやっとわかってきた。本を写経したお陰だ。写経の効果、侮り難し、ドラクエのレベルアップ音が2回くらい鳴った。 テストは大きく分けて二つのパターンがある。 表示するだけのページのテスト データ更新するページのテスト 表示するだ…