Ruby 正規表現 先読みの例

# aを含む1文字〜4文字の文字列 re = /^(?=.*a).{1,4}$/#特殊文字を含まない4文字のパスワード re = /^(?!.*[\W_]).{4}$/

Rails3.x でASCII 8bitで渡ってきたparamsハッシュパラメータのキーと値をUTF-8化するメソッド

def encodeToUtf8(params) hash = {} params.map do |key, val| dupKey = key.dup unless key.instance_of? NilClass dupVal = val.dup unless val.instance_of? NilClass dupKey.force_encoding('UTF-8') if key.instance_of? String dupVal.force_encoding…

RubyでJSONをパースする

RubyでJSONをパースする場合、このサイトのJsonParserが使いやすい。 ダウンロードしたJavaScriptファイルをロードパスの通った場所に配置し、コードの中で require 'SimpleJson_jp'としてやると、使えるようになる。 このJsonParserは、JSON文字列がUTF-8で…

クライアント側でのJSONの作成と解析

クライアント側でJSONの作成と解析を行う場合、JSONの作成者でもあるDouglas Croockford氏が作成した JavaScriptライブラリを使用するのがよいだろう。以下のURLよりダウンロードできる。 http://www.JSON.org/js.html JavaScriptオブジェクトをシリアライズ…

jQueryオブジェクトから、素のDOMオブジェクトを取得する方法

jQuery(要素s)は、たとえ要素が一つの場合でも、配列として持っている。 jQuery().get(index)で、もとのDOMオブジェクトが取得できる。 jQuery('li').get(0)なら、要素の一番目のDOMオブジェクトが取得できる。 jQuery().get()にはショートカットがあり、通…

jQueryでajaxのリクエストを投げた時の、FirefoxとSafari,IEの違い

jQueryでは、AJAXを利用するときに、jQuery.ajax()関数を利用する。 ajax関数のパラメータには、javascriptのオブジェクトを設定するが、そのプロパティには以下のものを指定する。 url:リクエスト先のURLを指定する type:GET or POST cache:ブラウザ、プロ…

Ruby1.92 正規表現で日本語にマッチ方法

結論からいうと、これで解決しました。 [ぁ-んァ-ヴ一-龠ーア-ン゚゙・ーャュョァ-ォッ]+ ほんと、日本語の扱いは難しい。 「ア」「ア」「ァ」「ァ」これらの"ア"は、全て異なるアです。 さらに当然の事ながら、全角のハイフンと半角のハイフンは異なります。⇒「ー」「ー」…

Ruby に汎用演算子の使い方

プログラミングRubyを読んでいるが、汎用演算子についての記述がありました。 実際に使用してみて、使い方を納得! このスクリプトを実行した結果は、 このように、汎用演算子を定義すれば、この定義に基づき 他の比較演算子(, =, ==)も定義してくれるみた…

subversionのapache認証ファイル(書き込み権限の注意)

以下のようにsvnのapache認証ファイルを設定すると、一見 mitjrepos:/ 以下にtamaruユーザーは書き込みできるように思える。 [groups] admin = tamaru[/] * = r[mitjrepos:/] @admin = rw しかし、実際には、例えば"http://fedora/mitjrepos/trac-project/"…

ちょいと調べ物

データウェアハウス(DWH) データの倉庫、要するにDBであったり、その他のツールであるわけ。各社からいくつか出てるみたい。 データマート データウェアハウスの巨大なデータ郡から、目的にあった形で集約して、閲覧、編集しやすくしたもの。 よって、これに…

C言語 記憶指定子について

extern指定子を付けて宣言した変数は、別の部分に定義があることを示す。 staticグローバルな変数、関数は、そのスコープは同じソースコード内に留まる。

C言語 コマンドライン引数の出力

#include int main(int argc, char *argv[], char **envp){ int i; printf("argc:%d\n", argc); for(i = 0; i printf("argv[%d]:%s\n", i, argv[i]); } puts("envp:"); while(*envp){ printf("\t%s\n", *envp++); } return 0; }

SchemeとJavaScriptで最大公約数を求める

■Scheme版 (define (GCD a b) (define (GCD-temp a b n p) (define (smaller x y) (if ( (if ( p (if (and (= (remainder a n) 0) (= (remainder b n) 0)) (GCD-temp a b (+ n 1) n) (GCD-temp a b (+ n 1) p)))) (GCD-temp a b 1 1))■JavaScript版 var gcd …