tmuxでautomatic-rename offの設定を無視られないようにする
新しく作った環境に既存環境で使っていた.tmux.confを導入したら思うように動かなかった。
automatic-rename offを設定しているのにディレクトリを移動すると勝手にwindowがリネームされてしまう。
どうやらzshの設定とコンフリクトを起こしていたみたい。.zshrcに以下の設定を追記したら解決した。
DISABLE_AUTO_TITLE=true
参考情報:
git - Tmux and ZSH custom prompt : bug with window name - Super User
everyauthでmixiGraphAPIを叩く
everyauth
Node.jsにはeveryauthという認証ライブラリがあります.facebookを始めとして各種サービスのモジュールが提供されていますが,日本国内最大SNSであるところのmixiが提供するmixi Graph APIは今のところサポートされていません.何ということでしょう.早く何とかしないと!
とりあえず動くものをこしらえた
こちら.多分動くと思います.本家からforkしたリポジトリです.
https://github.com/ufssf/everyauth/tree/mixi
差分はこのへんをご覧下さい
https://github.com/bnoguchi/everyauth/pull/192/files
使ってみる
まず,example/conf.jsのソレらしいところにconsumer key/secretを入れてください.
, mixi: { consumerKey: 'Enter your consumer key here' , consumerSecret: 'Enter your consumer secret here' , scope: 'r_profile' }
example/server.jsから認証サンプルが動かせます.
git clone git@github.com:ufssf/everyauth.git git checkout -b mixi npm install -l //よしなにeveryauthの依存関係を解決してください cd example node server.js //起動
http://localhost:3000にアクセスします.上手くいけば下の流れで認証が成功するはずです.
ログイン
mixi側認証
ログイン成功,APIを叩けることも無事確認できました.
表示デバイスの判別(display)をどこにおいたらいいのか悩み中.
現在本家everyauthにpull request中なのでそのうち取り込まれるかもしれません.
バグがあったらすいません…
lsfitでお手軽線形回帰
修論で使用した図は全てRで作った.当たり前ですけどgnuplotより断然プログラマブルで痒いところに手が届きます.
Rってバリバリ統計やる人のためのものじゃないのって思ってたけど,実験データの簡単な処理しかしないような自分にとってもすごく便利に感じている.
そんなこんなで最近Rで線形回帰をする方法を覚えたのでメモしておく.
lsfitを使うとお手軽に線形回帰分析できる.
x<-seq(0,10,0.1) y<-20*x+10*rnorm(x,0.1) #y=20*xに従うデータ分布を生成 #プロット plot(x,y,col="red",xlim=range(x),ylim=range(y),xlab="",ylab="") #データサンプル par(new=T) plot(x,20*x,col="blue",type="l",xlim=range(x),ylim=range(y),xlab="x",ylab="y",lty="dashed") #y=20*x #線形回帰 fitted<-lsfit(x,y,intercept=FALSE) #lsfitで線形回帰 abline(fitted) #フィット後のデータプロット
たったこんだけで上みたいな感じの図が作れる.
intercept=FALSEにすると切片ゼロでフィッティング.
lsfit(x,y)$coeffは回帰直線の傾きの値.
ablineだとグラフめいっぱいに線が引かれる.グラフの一部分にだけ線を引きたい,llsfitに与えたデータの範囲だけ線を引きたい時は回帰直線とデータのズレを表すlsfit(x,y)$residualを利用して下のようにplotする.
plot(x,y-fitted$residual)
nginx+apacheでCGI:IRCを設置した
cgi:irc
webからircに接続できるCGI:IRCというものを発見したので,使ってみたくなりました.
ところがこれをnginx+fastcgiで動かそうとしたところ、streamが遅延してしまい正常に動作しませんでした.
どうにも上手くいかなかったので,nginxのリバースプロキシ機能を使って,cgiircのみapacheで動かすことにしました.
リバースプロキシについて
リバースプロキシを使ったのは初めてなので,調べたことをまとめてみます.
- 扱おうとしている処理の方向が普通のプロキシと逆だから「リバース」プロキシ
- 主にwebサーバのパフォーマンス改善のために用いられる
- クライアントとwebサーバの間に入って静的コンテンツをキャッシュ→webサーバの負荷を減らす
- クライアントからのアクセスを複数台のバックエンドサーバへ振り分け→ロードバランシング
設定
nginxをフロントエンドとして,cgiirc(http://cgiirc.example.com)へのアクセスはapacheに渡す設定を行います.
nginxとapacheは同一のサーバに入っているとします.
nginx側の設定
http://cgiirc.example.comへのアクセスをapacheに渡すようにします.
cgiirc.example.comはバーチャルホストで動かします.
conf.d/cgiirc.confファイルに以下の内容を書き込みます.
conf/nginx.confの中身はほとんどデフォルトのままで使っています.