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

IDを返すメソッド

メモ var id = (function(){ var id = 0; return function(){return ++id;} })(); console.log(id()); #=> 1 console.log(id()); #=> 2 console.log(id()); #=> 3

日本語でルーティングする方法

メモ # /config/routes.rb map.connect "emails/#{ERB::Util.url_encode('下書き')}/*folders", :controller => 'emails', :action => 'draft', :conditions => { :method => :get } URLエンコードしてあげれば良いということです。

SSLでファイルをダウンロードする時の注意点 for IE6〜7

メモ http://support.microsoft.com/kb/323308/ja アドレス バーのInternet Explorer 6Service Pack 1(SP1)にドキュメントの HTTPS URL を入力すると、 Microsoft Office ドキュメントまたは PDF ファイルを開こうとすると、次のエラーメッセージを表示する…

コンストラクタ?

メモ // ①コンストラクタ var foo = new (function(){this.foo = 1;})(); // ②コンストラクタ? var foo2 = (function(){this.foo = 1;return this;)(); ①②の違いを調べた。 前者の関数リテラルの中のthisは自身を指していて、後者のthisはブラウザで実行さ…

RubyプログラマがPythonを学び始めて知ったこと10選 ④

1 クラスのメソッド定義の第一引数には必ずselfが必要。 class MyClass: def my_method(self): # 処理 尚、第一引数の名前は別にselfでなくてもよい。ただ慣習的にselfが使われる。 2 クラスをインスタンス化するには関数表記を使う。 class MyClass: def my…

RubyプログラマがPythonを学び始めて知ったこと10選 ③

1 比較を連鎖できる。 a = 2 # これを 1 < a and a < 3 => True # このように書ける 1 < a < 3 => True 2 モジュール名はファイル名。 RubyではModuleを定義する構文があり、その中でモジュール名も定義されるが Pythonではファイル名、例えばhoge.pyであれ…

RubyプログラマがPythonを学び始めて知ったこと10選 ②

1 case文がない。 ifとelifがその代わりを果たす。Rubyの場合正確にはcase式なんだけどね。 if x == 0: # 処理 elif x == 1: # 処理 当たり前と言えば当たり前 2 キーワード引数というものがある。 キーワード引数とは関数定義時の仮引数名を使って引数を渡…

RubyプログラマがPythonを学び始めて知ったこと10選 ①

1 irbのように対話モードがある。 Rubyではirbで対話モードを開始するがPythonでは以下のコマンドで開始する python 2 Rubyと同じく多重代入ができる。 a, b = 1, 2 a # => 1 b # => 2 多重代入という名前があることを初めて知った。 3 Rubyと同じく文字列の…

Ruby 文字コード変換

メモ require 'kconv' # SJISの文字列を sjis_str = "TEST" # UTF8に変換 utf8_str = Kconv.toutf8(sjis_str) 以下を参考にしました。感謝。 http://itpro.nikkeibp.co.jp/article/COLUMN/20060927/249167/?SS=srcview&FD=1&ST=develop

Rails Mimeタイプを登録する方法

メモ /config/environment.rbなどに以下を記述 Mime::Type.register "text/plain", :sql するとコントローラで以下のように書ける。 def index @diaries = Diary.find(:all) respond_to do |format| format.html # index.html.erb format.xml { render :xml …

テキストフィールドが複数あるとEnter送信されない

メモ テキストフィールドを1つのみ含むフォームはEnter送信される。 <form> <input type="text" /> </form> テキストフィールドを複数含むフォームはEnter送信されない。 <form> <input type="text" /> <input type="text" /> </form> HTML学んで結構長いがこんなん知らなかった。 ちなみに以下はテキストフィールドが1つなのでEnter送信される。 <form> <input type="text" /> <input type="hidden" /> </form>

ActionMailer::Baseをインスタンス化できない

メモ ActionMailerの単体テストを書こうと思い、最初はActionMailer.deliver_???のテストを書いたが次の点が嫌だなと思った。 ・deliver_???は自分で書いたコードではない(???が自分で書いたコードだ) ・???で設定したビューで使用することを設定したイン…

Rspec 他のメソッド呼ぶスペックの書き方

メモ class A def call_other_method other_method1 end def other_method1 end def other_method2 end end describe A, "#call_other_methodを実行した場合" do before(:each) do @a = A.new end it "other_method1を呼ぶこと" do @a.should_receive(:other…