0

研究室紹介

のスライドを1枚作れと言われたので作った
来週7月18日水曜日の18時から、低学年向け?にSFCの研究会の合同説明会があるらしい。


18日の18時からオメガ館で開始、18時半にイオタ・イプシロンに移動して説明会ブース的なものが設置されるらしいですね。
水曜って語学しかない日という印象なんだけど、暇な人は来ればいいのでは?俺もいます。
SFCに180ぐらい研究会があるらしいけど、みんなは30ぐらいしか無いと思ってるらしいから開催するらしい。
とても良いと思います。

0

nvmインストール

MacMiniにnode version managerいれた。

git clone git://github.com/creationix/nvm.git $HOME/.nvm


zshから読み込む
[[ -s $HOME/.nvm/nvm.sh ]] && source $HOME/.nvm/nvm.sh


nvmはbash用で、zshで新しいterminalが開くと
nvm_ls:17: no matches found: vdefault
というエラーがでるけど
alias defaultを設定すればokらしい
nvm alias default v0.6.19

エラー出なくなった。


nodeインストール
nvm install v0.6.19
node -v
npm 1.1.24もついてきた。
あとは普通に使える。tiqav-chatとかbing検索とか動かして試した。


globalオプション付きでnpm installしたモジュールは $HOME/.nvm/バージョン番号/lib/node_modules の中にインストールされてた。


naveはzshで起動した瞬間にterminalが閉じられるのでnvmにした。

0

node.jsでbing.netの画像検索

ちょっと日本語の画像検索使いたかったのと、Node.jsの勉強もしたかったから作った。

デモあり
http://img-search-jp.herokuapp.com/


JSONP APIがある
http://img-search-jp.herokuapp.com/search.json?q=山形&callback=foo


ソースコード
https://github.com/shokai/bing-search-img


bing検索がazureに移動するので8月までしかAPI使えないんだけど、azureのbing web searchのドキュメントがwordファイルしかなかったり、queryのvalueをダブルクオートで囲む珍しい方式だったり、認証方法が書いてなかったり(Basic認証だった)、そもそも組み立てたクエリが正しいのかいまいちわからないので、8月まで旧bing使う。


HerokuのMemcacheがnodeから使えないのつらい・・

0

crontabでRuby動かしたら private method `require’ called for Bundler:Module

cronでbundler.require使ってるRubyスクリプトを動かした時に出たエラー。何の事かわからなくて6時間ぐらい悩んだ。


こういう構成で

.
|-- Gemfile
|-- Gemfile.lock
`-- main.rb


main.rb
#!/usr/bin/env ruby
require 'rubygems'
require 'bundler/setup'
Bundler.require


crontabから実行
0 * * * * /usr/bin/ruby /home/shokai/src/ruby/main.rb


こんなエラーがでた
private method `require' called for Bundler:Module

Bundler.requireはカレントディレクトリかそこより上にGemfileがあったらその中身をrequireするので
0 * * * * cd /home/shokai/src/ruby && /usr/bin/ruby main.rb
こうしたら動いた。


最終的にcronこうなってる
SHELL=/usr/bin/zsh
PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/home/shokai/bin:$PATH

0 * * * * cd /home/shokai/src/ruby && ruby main.rb

0

s3cmdでAmazon S3にファイルをアップロード

s3cmdをインストールした。Homebrewやaptにある。
大量でなければ各言語のs3のライブラリ使うよりもs3cmdのほうが楽なかんじ。


AWSにサインアップしてs3を使えるようにする。
次に、access keyとsecret access keyを手に入れる。
https://portal.aws.amazon.com/gp/aws/securityCredentialsで作成できる。このページいつもどこにあるかわからなくて辿りつけない。


初期設定

s3cmd --help
s3cmd --configure


バケット作ってファイル置く。
shokaiってバケット作ったけど、バケット名は全ユーザーでユニークなので自分で適当な名前を考える。
s3cmd ls
s3cmd mb s3://shokai
s3cmd put shokai.jpg s3://shokai/icon
s3cmd ls s3://shokai
iconという名前でアップロードした。


ダウンロード
s3cmd get s3://shokai/icon icon.jpg


HTTPでも見れるようにする
s3cmd setacl --acl-public s3://shokai/icon
アップロードする時にpublicにしてもいい
s3cmd put --acl-public shokai.jpg s3://shokai/icon
–acl-privateでHTTPから見えなくなる。


URLはこうなる。
http://shokai.s3.amazonaws.com/icon
http://バケット名.s3.amazonaws.com/ファイル名


–forceを付けておくとput/getする時に書き込み先にファイルがあっても上書きする。
syncで手元とs3のディレクトリ内のファイルまとめて同期できる。
s3cmd sync ~/Documents/ s3://shokai/documents/
逆向き同期
s3cmd sync s3://shokai/documents/ ~/Documents/


ディレクトリ内まとめて削除
s3cmd del --recursive s3://shokai/documents/