2011-03-26

線形回帰

PostgreSQLのpsqlで書いてみた

CREATE FUNCTION FncRA(wPair text, wLeng int) RETURNS numeric as '
  DECLARE

 rs record;
 wSQL text;

 result numeric;

 wNUM numeric;
 wAVG numeric;


 wS1  numeric;
 wS2  numeric;
 wRA  numeric;

  BEGIN

 wSQL:=''SELECT row_number() over() as rn, bid FROM manepa_rate where pair='''''' || wPair || '''''' order by timeline desc limit '' || FncRA.wLeng || '';'';
 
 wNUM:=(wLeng/2) + 0.5 + ( mod(wLeng,2)::numeric / 2);
 select into wAVG avg(bid) from ( select bid FROM manepa_rate where pair='''' || FncRA.wPair || '''' order by timeline desc limit FncRA.wLeng ) as w;

 wS1:=0;
 wS2:=0;
 
 for rs in EXECUTE wSQL loop
  
  wS1:=wS1+((rs.bid - wAVG)^2)::numeric;
  wS2:=wS2+((rs.rn - wNUM)^2)::numeric;

 end loop;
 
 wRA:=wAVG - (wNUM * (wS1 / wS2)::numeric );

 RETURN wRA;

  END;

' LANGUAGE 'plpgsql';

2011-03-13

ubuntu SSDの追加

まあ普通にハードをポチッと接続して

ubuntu を起動

# fdisk -l で確認して

# fdisk /dev/sdb と例えば sdbならこれでsdbを基本パーティションとして切っておいて
# mkfs.ext4 -j /dev/sdb1 とかでファイルフォーマット

/etc/fstab に追加しないといけないので

# mkdir /database とかマウントポイントを作っておいて
# blkid /dev/sdb1 で UUIDを表示させてコピーしたり書き留める

UUID=XXXXXXXXX-XXXXX-XXXX-XXXX-XXXXXXXXXX /database ext4 error=remount-ro 0 1
こんな感じで fstabに追加

2011-03-07

rubyでTwitterのボット作り

require 'rubytter'
require 'oauth'

ck = 'CONSUMER KEY 登録時取得'
cs = 'CONSUMER SERCRET 登録時取得'

at = 'ACCESS TOKEN 要取得'
ats = 'ACCESS TOKEN SERCTET 要取得'

consumer = OAuth::Consumer.new( ck, cs, :site => 'http://api.twitter.com')
actoken = OAuth::AccessToken.new( consumer, at, ats)
rubytter = OAuthRubytter.new(actoken)
rubytter.update("まんまみーや")


こんな感じですが、各取得部分の値をTwitterから取得する必要があります
手順は方法は2段階
まず、ブラウザからツイッターのアカウントでログインして
http://twitter.com/oauth_clients にアクセス
必要情報を入力後に遷移するページで
Consumer key
Consumer secret
を取得してメモするなりコピペで保存するなりする


サーバーのirbから
require 'rubygems'
require 'oauth'
consumer = OAuth::Consumer.new( "取得したConsumer key","取得した Consumer secret", :site => "http://twitter.com")
request_token = consumer.get_request_token
puts request_token.authorize_url

これを実行して 表示されるURLをブラウザから表示すると
暗証番号が表示されるのでこれを必ずメモして irbに戻り続きを

access_token = request_token.get_access_token(:oauth_verifier => '暗証番号')
puts access_token.token
puts access_token.secret

としてACCESS TOKEN / ACCESS TOKEN SECRET 要取得 の2つの値を獲て準備完了

2011-03-06

VPS借り物サーバーにjedインストール

emacsでもいいんだけどviじゃ長いプログラムを書いたりするのも面倒なでjedを入れた
簡単にタブ入力したいんで
.jedrcの中の Tab_Always_Inserts_Tab = 1; に編集
他にタブの幅や折り返し幅の調整やライン番号の表示(%じゃなくて行で表示)
TAB_DEFAULT = 4;
WRAP_DEFAULT = 768;
LINENUMBERS = 2;

これで万全

2011-03-05

サーバーのrubyからwebに自動でログインしてゴニョゴニョする

mechanizeを使えば比較的簡単にできる

ubuntuサーバーで環境を作る

# aptitude install ruby1.8-dev libxml2-dev libxslt1-dev rubygems1.8 libruby irb libreadline-ruby libopenssl-ruby rdoc
# gem install mechanize