Rack applicationのプロファイリングにはrack-lineprofが便利

RubyKaigi 2014行った。良い発表がいろいろ聞けたんだけど、最近ISUCONに向けてwebアプリのチューニングに興味があったので特にfinal keynoteが興味深かった。 その中で紹介されていたtmm1/rblineprofが行ごとの実行時間を表示してくれるのでとても便利そう…

ConoHaのVPSの初期設定をChef Soloでやってみた

普段はさくらのVPSに普通に手でソフトウェアをインストールしてWebアプリを動かしていたんだけど、 さすがにそろそろサーバーの状態管理を自動化したくなったのと、単純に面白そうなのでChefによるサーバー管理に挑戦することにした。 それで、気軽に壊して…

ActiveRecordでN+1 countクエリを潰す方法、あるいはactiverecord-count_loaderの使い方

追記:activerecord-count_loaderはactiverecord-precountに変わりました。使い方はこちら。 ActiveRecordでassociationを読むためにN+1クエリが出てしまった場合、 includesなどのメソッドを利用することで発行されるクエリの数を減らすことができる。*1 と…

ISUCON夏期講習に参加してきた

ISUCON、自分が興味ある人たちが去年参加していて、面白そうだなと思っていた。 僕の大学の友達はweb系っぽい人がいなくて、チームが組めないので、去年は指を加えて眺めていたんだけど、出場メンバー募集もアリでISUCON夏期講習がやってたので、参加してき…

Vim scriptテクニックバイブルを買って生活が豊かになった話

Vim

Vim script テクニックバイブル ~Vim使いの魔法の杖 を買った。 vim scriptのネットのチュートリアルはいくつか読んだんだけど、なかなか完全な説明が一箇所にまとまっていることはなく、よくわからない部分がいろいろ残されている状態だった。 僕は基本的に…

Karabinerの設定を楽に書けるやつ作った

経緯 いろいろ思うところあってエディタを乗り換えようと思ったんだけど、キーバインドを異常にカスタマイズしているおかげで、みんなが使うはずの基本的なキーバインドが衝突して押せないという事態が発生し、Karabinerの設定を大きく変える必要が出てきた…

私のpeco活用事例

pecoというインタラクティブに入力をフィルタして出力するコマンドがあって、使い始めてからシェルの操作方法が大幅にかわり、だいぶライフチェンジングだった。 最近このへんが流行ってるのでやたら記事あるけど、せっかくなので僕も使い道を紹介しようと思…

Gifzoのアップロード先をTwitterにした

元ネタ: http://blog.kksg.net/posts/gyazo-twitter Twitterがgifアニメのアップロードに対応した。 もうこれはGifzoでTwitterにgifアニメをあげられるようにするしかないと思った。 @null http://t.co/OZ52pUcNg2— たのしい人生 (@k0kubun) 2014, 6月 20 や…

hikarie.goでLTをしてきました

発表で紹介したやつのリンク https://github.com/k0kubun/gosick https://github.com/k0kubun/thunderbolt https://github.com/k0kubun/tetris https://github.com/k0kubun/go-termios

GithubにSlimのシンタックスハイライトを入れました

以前、ふととあるRailsアプリをerbからhamlかslimに移行しようということになって、どっちにしようか検討していた。 そのとき、GitHubはhamlをシンタックスハイライトしてくれるけどslimはしてくれないというのに気がついた。 hamlよりslimのほうがパフォー…

デザインテンプレートをgem化してRailsで使う

WrapBootstrapというbootstarpベースの有料デザインテンプレートを配布してるところがあって、 それをrailsで使おうとしたらasset pipelineで割りとハマったのでそのメモ。 速習Asset Pipeline 本当はRails Guides読んだほうがいい アセットを参照するとき a…

GoでTwitterクライアント書いた

最近技術ネタをqiitaに放出しがちでブログ書いてなかったけどまた書き始めることにした。 成果物 https://github.com/k0kubun/thunderbolt なんで書いたの yorufukurouが使いづらい状況(お察しください)のとき、earthquakeを使っていた。 割りと頻繁にクラッ…

ssh port forwarding

サーバー管理用のrailsアプリ作ってて、セキュアに自分だけそれを見る方法がないか探してたらちょうど良い方法があった。 ssh port forwarding ssh foo@barで接続できるサーバーでlocalhost:3000にrailsアプリをデプロイしているとする。 まず以下のようなコ…

vim-tagsで快適Rubyコードリーディング

ctagsでtagsというファイルを生成すると、vimでカーソル位置にあるクラスやメソッドの定義に簡単にジャンプすることができます。 自分で定義したものだけでなく、Gemfile.lockにある依存ライブラリにもジャンプでき、非常に便利です。 本記事ではvim-tags(ct…

Railsでカスタムmarkdownを実装する

Railsでブログ実装したくなることないですか? その際に記法の選択肢の一つにmarkdownが出てくると思います。 redcarpetを使うと簡単にmarkdownを実装できるので、その方法をまとめました。 Redcarpetでmarkdownを実装する Gemfileにredcarpetを追加 gem 're…

Railsの静的ファイルをnginxでルーティングする

railsアプリに使ってるドメイン内で静的ファイルを公開したくなったので調べた。 serve_static_assets config.serve_static_assetsがtrueになっていると、public以下のファイルにアクセス可能になる。 しかし、速度の問題で静的ファイルはwebサーバーに処理…