のスライドを1枚作れと言われたので作った
来週7月18日水曜日の18時から、低学年向け?にSFCの研究会の合同説明会があるらしい。
18日の18時からオメガ館で開始、18時半にイオタ・イプシロンに移動して説明会ブース的なものが設置されるらしいですね。
水曜って語学しかない日という印象なんだけど、暇な人は来ればいいのでは?俺もいます。
SFCに180ぐらい研究会があるらしいけど、みんなは30ぐらいしか無いと思ってるらしいから開催するらしい。
とても良いと思います。
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.19npm 1.1.24もついてきた。
node -v
あとは普通に使える。tiqav-chatとかbing検索とか動かして試した。
globalオプション付きでnpm installしたモジュールは $HOME/.nvm/バージョン番号/lib/node_modules の中にインストールされてた。
naveはzshで起動した瞬間にterminalが閉じられるのでnvmにした。
ちょっと日本語の画像検索使いたかったのと、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から使えないのつらい・・
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
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 lsiconという名前でアップロードした。
s3cmd mb s3://shokai
s3cmd put shokai.jpg s3://shokai/icon
s3cmd ls s3://shokai
ダウンロード
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/