USBにクロムをいれて環境を再現できるようにした

学校のパソコンに普段使っている環境に近くできないかと思って、USBで環境をクロム環境を持ち歩くことにした。
以下忘備録。。。

クロムのポータブル版をUSBにインストールする。
http://goo.gl/D5j5


日本語環境の手に入れ方
方法は主に2つ
1パソコンのIMEに日本語入力設定を加える
2google日本語入力をいれる

1.パソコンのIMEに日本語入力設定を加える
手順はスタート→コントロールパネル→検索のところに「input」を入力→"region and language"を選択
→ keyboard and language タブでchange keyboard → addでJapanese のIMEにチェック

2.google日本語入力をいれる http://goo.gl/nytRC
google日本語入力ダウンロード→インストール


google日本語入力のリンク先をもUSBにいれとくと便利かも。


ちなみにUSキーボードでの日本語切り替えのショートカットは「Alt+`」

Information retrieval 情報探索 Recall(再現率)とPrecision(適合率)

googleとかで検索するときにいかにノイズがなく有益なものを網羅するかということが問題になるがそれを表したのがRecallとPrecision。


大雑把に自分の理解で書くとこんな感じ

Recall(再現率)
存在するデータでほしいデータにを引っ張ってくる網羅性。
例えば美味しい醤油ラーメンをだす店が知りたい場合「ラーメン 醤油」
で検索しようとする。その時ウェブ上に存在する関連するデータがウェブ上に100サイトあったとして検索エンジンが90サイトを見つけてきたら再現率は90/100で90%である。

Precision(適合率)
検索結果のうち実際にほしい情報の割合。さっきの例でいうと90サイト見つけてきたはいいけどほとんどが美味しい醤油ラーメンの作り方だったら適合率は下がってしまう


これらの関係はトレードオフで、再現率が高くなればなるほど、適合率は
低くなる。また逆も然り。言い換えるならば「網羅性を高めようとすればするほど余計な情報(ノイズ)が増えてしまう。」また「余計な情報を削除しようとすればするほど網羅性は下がってしまう(重要な情報までも削除してしまう・・)」って感じだろうか。。。


A = 関連性があり、得られた情報
B = 関連性があるが得られなかった(検索エンジンが見つけて来れなかった)情報
C = 関連性もなく検索エンジンが取ってこなかった情報

計算方法は以下の通り
Recall = A/A+B
Precision = A/A+C




このサイトがわかりやすい
参考 http://goo.gl/psUGP

Racket クラスと継承

参照URL http://goo.gl/VQKzum

クラスの作成は基本的にこんな感じ


(define クラス名
(class 親クラス名(ない場合は%objectを使用)
(super-new)
(init 初期値)

   (define/public (メソッド名 引数))
))

メソッドの呼び出し
(send クラス名 (new メソッド名 (引数名 値)))


親クラス名のところに親クラスを書くことによって簡単に継承が行える。
ただ親クラスをオーバーライドするにはinheritを使う必要がある


(define child-fish%
(class fish%
(inherit オーバーライドするメソッド名)

Racket クラスと継承

参照URL http://goo.gl/VQKzum

クラスの作成は基本的にこんな感じ


(define クラス名
(class 親クラス名(ない場合は%objectを使用)
(super-new)
(init 初期値)

   (define/public (メソッド名 引数))
))

メソッドの呼び出し
(send クラス名 (new メソッド名 (引数名 値)))


親クラス名のところに親クラスを書くことによって簡単に継承が行える。
ただ親クラスをオーバーライドするにはinheritを使う必要がある


(define child-fish%
(class fish%
(inherit オーバーライドするメソッド名)

Racket クラスと継承

参照URL http://goo.gl/VQKzum

クラスの作成は基本的にこんな感じ


(define クラス名
(class 親クラス名(ない場合は%objectを使用)
(super-new)
(init 初期値)

   (define/public (メソッド名 引数))
))

メソッドの呼び出し
(send クラス名 (new メソッド名 (引数名 値)))


親クラス名のところに親クラスを書くことによって簡単に継承が行える。
ただ親クラスをオーバーライドするにはinheritを使う必要がある


(define child-fish%
(class fish%
(inherit オーバーライドするメソッド名)
))

とまあこんな感じ、、



クラスの外から使いたいメソッドを使う場合にはgenericを使う
e.g
定義
(define get-fish-size (generic fish% get-size))

呼び出し
(send-generic goldFish get-fish-size)

Scheme メモ

高階関数(higher-order function)
高階関数とは引数に関数をとる関数のこと。
高階関数を使う目的としてはモジュール化を促進する他、
コードの簡略化ができるという点です。
e.g map, filter, fold, apply

・モジュール化とは
モジュール(module)の本来の意味は「交換可能な構成要素」だそうです。
これが示すように一つの部品が多くの要素を含んでるモノのことをさすみたい(・o・)
んで、モジュール化とは相互に依存せずに部品を独立させることをいうそうです。



・コードの簡略化
再起を使う代わりに高階関数を使うのでコードが簡略化されます。
schemeはfor文を再帰で実現するのでややこしい印象、、、、
でもそれが少なくなるなら楽になるよね〜って話

その他メモ
arity # of auguments
";" でコメントアウト


参考URLhttp://goo.gl/lE2wFL

Ruby入門メモ

ドットインストールでRubyについて学習し始めたのでメモメモ。
なお他の言語でも共通のところ(オブジェクト指向の概念、慣習)は省いてます。

  • アウトプット(print out)

print "Hello world" /改行なし
puts "Hello world" /改行あり
p "Hello world" /型の表示→String型なので"Hello wordl"と表示される(””含む)

  • コメント

#を使った行がコメントになる
=begin, =end で挟むとその間がコメントになる

  • 変数

intやStringなどの型の宣言はいらない
頭文字は小文字または_(アンダーバー)

  • 演算

Rationalで分数も表現可
e.g) x = Rational(2,3) → 2/3
   x = Rational(2,3) + Rational(1,3) → 1

分数が計算できるのが面白い(・∀・)

  • 型変換

メソッド .to_方タイプの頭文字
e.g x.to_i -> イント型に変換
   x.to_s -> String方に変換
   x.to_r -> 分数に変換

  • 乱数

rand(範囲)
e.g rand(100)
rand(10-20)