読者です 読者をやめる 読者になる 読者になる

ぶていのログでぶログ

思い出したが吉日

Nginxの真偽値とmruby_setの戻り値について

ngx_mrubyを使ってNginxを制御するときに、 mruby_set と if を使うことが多いと思います。 例えばiPhoneからのアクセスの場合のみ特定の処理をしたいとします。 その場合以下の様なコード(nginx.conf)になると思います。 mruby_set_code $is_iphone ' hin =…

貴様は今までにSlackで審議リアクションを付けられた数を覚えているのか?

貴様は今までにSlackで審議リアクションを付けられた数を覚えているのか?— ぶてい (@buty4649) 2016年5月25日 A. 85 Slack APIでリアクションが取れることを知ったので実際にカウントしてみた。 最初 reactions.list で取ろうと思ったけど、これはリアクシ…

AtCoder034のA,BとAtCoder038のA,B,Cを解いた

先週サボってしまったので社内で課題になっていたAtCoder034と、来週までの宿題のAtCoder038を解いた。 AtCoder034 A: Submission #748515 - AtCoder Beginner Contest 034 | AtCoder B: Submission #748523 - AtCoder Beginner Contest 034 | AtCoder 特筆…

AtCoder035を解いた(その2)

buty4649.hatenablog.com 前回解いたAtCoder035をもう一回解き直した。 まず最初に作ったのはテストを追加した。 例題の問題を突っ込んで、答えがあっているかを確認するだけ。 https://github.com/buty4649/atcoder/tree/master/035/spec 次に、Aを直した。…

AtCoder035を解いた

最近社内でAtCoderを解いて、互いにレビューしよう!みたいなことをやっている。今週のお題は035。 abc035.contest.atcoder.jp 1時間1本勝負で解いてみた。 といっても、1時間で解けたのはAとBだけで、Cは途中まで手をつけて回答を送信したのが1時間20分くら…

100行あったmod_rewirteを ngx_mrubyで書き換えた話というタイトルで発表しました!

speakerdeck.com 第5回ペパボテックカンファレンス〜インフラエンジニア大特集〜 - connpassという会社のカンファレンスで発表しました! 発表後に id:matsumoto_r から補足いただきました! ありがとうございます m( )m luaを積極的に使う場合はブロックす…

オブジェクトが多すぎて削除できないS3バケットを削除するツールを作った

github.com 不要なS3バケットを削除しようと思って、 s3cmd rb --recursive --force s3://foobar を叩いたけど全然削除されなかった。。。 WebUIから削除しても エラー としか表示されずなぜか削除できない。。 ネットで調べるとどうやらオブジェクトが多す…

YAMLを入力してerbを使って出力する奴を作った

2015/07/27追記 id:lamanotrama さんから * JSONじゃなくてYAMLでは? * それglidenote(さん)が作ってるよ - glidenote/genecon · GitHub っていうことを教えてもらいました!あざまっす! やっぱり車輪の再発明だった!つくりこまなくてよかったー サーバか…

csvawkなるフィルタを作りたいと思った

csvprintf とか csvfilter とか試したけどしっくりこず。 awkな感じでさっくりCSVをいじれたらいいなぁっと思って作ってみた。 けど、イマイチ感。 $ csvawk() { eval "ruby -rcsv -lne 'CSV.parse(ARGF){|r| \$_=r.join(\",\");\$F=r;$1}' $2"; } $ cat hog…

git browseでリポジトリのリモートURLをブラウザで開く奴

作った。 alias git=hub すればいいのだけど、これだとGH:Eなリポジトリだとうまくいかない。 なので、てきとーにラッパースクリプトを作った。 https://github.com/buty4649/dotfiles/blob/master/bin/git-browse

rubyで文字列->数値参照文字変換(ただしUnicodeのみ)

str = "ほげhoge" p str.gsub(/[^\u0000-\u007f]/).each{|m| sprintf("&#x%04x;",m.unpack("U")[0])'} //-> "ほげhoge" まぁ、普通にhtmlentitiesライブラリ使った方がいいと思います。

rbenvとplenvのセットアップ

AMIのUbuntu 13.04にrbenvとplenvをインストールした時のログ 下書きのまま放置してた… rbenv $ sudo apt-get install gcc make git libssl1.0.0 libssl-dev $ cd /usr/local $ sudo git clone --depth 1 https://github.com/sstephenson/rbenv $ sudo vi /e…