2007-10-01から1ヶ月間の記事一覧

order句は、その項目がnilでも検索してしまう

IS NOT NULLが必要

プチ環境でも、きちんと検証せよ

例えば、ページングがあるなら、per_pageを減らしてきちんと、ページ管理されるか確かめよ。

空入力防止

validates_presence_ofだと、" "を許す。その代用 def filled?(str) if str return !str.gsub(/(\s| )/,"").empty? else return false end end

emacs(読み直し・文字コード指定)

■読み直し 1.. 今から実行するコマンドの文字コードを指定して a.. C-x RET c 2.. ファイルを開き直す a.. C-x C-v ■文字コード指定 文字コード(改行コード)の切り替え 現在編集中のバッファ内の文字コード・改行コードを変更するには,キーボードから C-x…

IPブロック

■テストの書き方 def test_ip_block @request.remote_addr = "123.123.123.123" get :login assert_response :success assert_template "#{RAILS_ROOT}/public/404.html" end ■メソッドの書き方 def valid_ip? if request.remote_ip == MY_SERVER_IP || requ…

最初から将来を視野に入れて。拡張性の高いものに

検索でtext_field_tagの属性名がnicknameになっていた。将来性を考えるなら、 最初からkeywordにしておくべきだろう。メソッドを組むにしても、常にこれを意識せよ。メソッドに分けていいのか、 分けない方がいいか。このメソッド内にかくべきかそうでないか…

DB設計は概念も重要

■カラムの直感的矛盾の報復にあう ユーザーテーブルにアンケート結果をもっていることで、アンケート項目の追加により、 ユーザーテーブルに項目を追加する羽目になった。 アンケートはユーザーデータというにはおかしいので、アンケートテーブルにすべき で…

ActionMailerについて

http://d.hatena.ne.jp/moriyoshi/searchdiary?word=*%5BActionMailer%5D

プログラマな会話3

■TMailで携帯から送信した添付ファイルが上手く認識できないもんだいに ついてコードリーディングする。の巻き メールと画像 # Receives a raw email, parses it into an email object, decodes it, # instantiates a new mailer, and passes the email obje…

携帯のリダイレクト制限に関して

i,Ez http://blog.izanagi-izanami.net/2008/02/iezweb.html Yahoo!ケータイ(Vodafone live!)のリダイレクト回数が最大3回(C型は最大2回)までという事実はわりと有名かと思います。そして、最近気づいたのだけどドコモ/iモードでも最大5回、au/EZwebでは…

ログの定期的な消去

http://d.hatena.ne.jp/enkimi/20051230

Cronの設定メモ

■Railsから定期的にメールを送るため、Cronの設定を試みた 最初はcrontab -eで以下のように設定。 - [nag@rmark ~]$ crontab -l MAILTO="nag@solution.co.jp" 34 11 * * * nag /usr/bin/ruby /var/app/saiyo/trunk/script/runner -e production 'Student.sen…

SSLテスト

def test_ssl_requirement ssl_requirement_actions = [:signup,:password_forgot,:questionnaire,:change,:update_personal_data,:about_easy_login,:login] login_requirement_actions = [:change,:update_personal_data,:about_easy_login] ssl_requireme…

ルーティングとテスト

ルーティングしていると、テストでそこに対してgetとかをすると、ルーティングが機能してしまう。 例えば、 map.connect '',:controller => "user/account",:action => "login" となっているとして、 get :login assert_match %r<^https://test.host/user/ac…

メモ:フィルタ用メソッドの注意

filterにreturn falseをしかるべくつけよ特に、リダイレクトを含んだり、異常を検知するもの。

evalでテストを楽にかく

やりたい!面白そう。でも、そんなに使うかは微妙 http://labs.unoh.net/2007/06/railseval.html

Railsがローカルアプリケーションに

ローカルでアプリケーションが使えるのは嬉しい。楽しみUP http://www.moongift.jp/2007/07/slingshot/

Webrick でSSLを使おう

■link_toを使う <%= link_to "セキュアページへ",{:action => "questionnaire",:only_path => false, :protocol => 'https://'},:accesskey=>"2" %> ■Webrick on SSL ローカルでSSLのテストをしてみる。 簡単に言うと、普段の場合と同じように、HTTPをポート…

*[Rails]コードリーディング

http://www.dzeta.jp/~junjis/code_reading/index.php?Ruby%20on%20Rails%2F%A5%EA%A5%AF%A5%A8%A5%B9%A5%C8%BD%E8%CD%FD%A4%F2%C6%C9%A4%E0#hf57bbe9

submit_tagでのconfirm

<%= submit_tag "決定",:onclick => "return #{confirm_javascript_function("本当によろしいですか")}" %>

テスト(remote_ipとremote_addr)

Reqest#remote_ipは、テスト環境では、Session#remote_addrとなる。

サーバーへのアプリ設置(Rails)

■アプリを設置 1.rootで入る 2.ディレクトリを作る 3.ディレクトリの権限をかえる chown username dirname[filename]〜☆ ■mysql設定1.rootのPASS mysql> SET PASSWORD =password('new_password'); 1回EXit2.ユーザーの作成 GRANT ALL ON *.* TO '…

一言

「戻る」ボタンは思った以上に複雑になるので、なくていい。 なくていいくらいシンプルにしよう

ルーティングの際の注意

■ルーティングしたのに表示されない!という時のために 1.public.htmlが削除されているか 2.キャッシュが働いていないか

打たないがためにへんな隙間があくことがある

<div style="text-align:center;"> <a id="1"></a> <span style="color:<%= @color %>;">[<a href="#1" accesskey="1">1</a>]詳細</span> </div> <%=dotted_separator_for_user_kind(@user) %><br /> ←これないとあく <%= display_user_profiles(@user) %> <%=separator_for_user_kind(@user) %>

JpMobileのmobile_filterを使ったテスト

携帯をシミュレートしないといけないので、valid_dataをSJISにする。 それは、携帯はデータを送信するときに既にSJISだから。 ここをUTFで書くと、携帯がUTFで送ってmobile_filterでSJISになることになる。 テストはローカルで書いているが、携帯をシミュレ…

より分かりやすく

例えば、userというモデルに、diary、mailなどのモデルが関連付いているとしよう。 当然そのときは、diary.user、mail.userなどで参照が可能である。しかし、下記の要にするとより分かりやすくなる。 すべてこうする必要はないが、mailなどはuserといっても…

自分でライブラリ作ったら、その中にテストを書く

require 'win32ole' module AbsolutePath def self.get_absolute_path(filename) fso = WIN32OLE.new("Scripting.FileSystemObject") return fso.GetAbsolutePathName(filename) end end if __FILE__ == $0 class TestAbsolutePath include AbsolutePath def…

自分で書くことが大切

るびまを読んでいると、大抵学生時代に、自分でプログラムをいじっていた人が多い。 雑誌についていたコードを写してみたり、自分の研究室のWSの中のプログラムを見てみたり、 自分から進んで探求して行っている。

ドコモのutn付きボタンの生成法

きちんと()なども書かないとエラーするとのこと。 form_tag ({:action => "***"}, {:utn => "utn"})