おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

2012-01-01から1年間の記事一覧

さくらのサーバに nginx をインストールする

さくらVPSの Centos 6.3 のサーバに nginx をソースからインストールして、initスクリプトの設定をするところまでのスクリプトを作ったので貼っておきます。 gist のファイルは本当は clone したいのですが、なぜかさくらサーバからgistのリポジトリをclone…

mountain lion のターミナルで command キーをメタキーにする

mac

emacs で command キーを Meta キーとして使うようになって幾年月。terminal でも同様の操作で使いたくて、これまで SwapOptCmd を便利に使ってきました。しかし mountain lion あたりからうまく動作しなくなりました。どうやら SIMBL が mountain lion に対…

new relic を使って heroku のspin up待ちをなくす

下記のエントリによると、new relic のアドオンを使うことで heroku の spin up 待ちをなくせるとのことなので早速このブログ(heroku & lokka)に導入してみました。 Running a high volume Rails app on Heroku for free // Collective Idea ざっくり手順 ne…

capybara-webkit と font-awesome を仲良くさせる方法

皆さん、font-awesome は使っていますか?font-awesomeは、twitter bootstrap が提供しているアイコンを、フォントとして使えるようにしてくれるライブラリです。フォントなので、拡大しても画質が荒くならないですし、色を変えることも簡単にできます。べん…

bundler で管理している gem のソースをすぐに読み始める方法

最近、「gem の README や rdoc を読んでもよくわからないのでソースを読む」ことがちょくちょくあります。そんなときは ググって github の該当する gem のページに移動 リポジトリのURLをコピペしてgit clone hoge emacs でファイルを開いて読む のような…

東京Ruby忘年会2012に参加した

ミニ合宿 の後、上野に移動して東京Ruby忘年会に参加しました。たしかRuby忘年会に参加するのは初だったはずですが、各地の勉強会で会ったことのある人がたくさんいたのでボッチになること無く楽しく忘年できました。 #rubyfriends twitter.com/1syo/status/…

ミニ合宿を開催した

先月、日光に開発合宿に行ったエントリの最後でこんなことを書きました。 他にも開発合宿のミニ版みたいな感じで少人数のハッカソンを週に一回 or 二週間に一回くらいのペースでできたら良いなあ。これは集まるのに良い場所があったらすぐにでも企画したいと…

pry-rails が追加してくれるコマンド3つ

pry-rails は、登場した頃は単純にrails consoleしたときに pry が使えるだけの gem だったはずなのですが、今日 README をみてみたら独自のコマンドが定義されていました。 show-routes rake routesと同じ結果が返ってきます。rails のロードが終わってるの…

プレゼンテーションZen を読んだ

来年1月にある東京Ruby会議10 で発表できることになったので、どうせならいいプレゼンをしたいなと思って読みました。 プレゼンテーションZen 第2版posted with amazlet at 12.12.09ガー・レイノルズ Garr Reynolds ピアソン桐原 売り上げランキング: 2763Am…

factory_girl で関連先の属性を動的に設定して作成する方法

下記のような UserGroup, User, Blog があるとします。 # == Schema Information # # Table name: user_groups # # id :integer not null, primary key # name :string(255) # created_at :datetime not null # updated_at :datetime not null # class UserG…

minitest で mock や stub を使う

minitest には標準で mock や stub の機能が付いています。それらの挙動について学んだのでメモ。 コード例 下記のような Person クラスと Whisky クラスがあるとします。これらについて minitest の mock と stub を使ってテストを書いてみます。 class Per…

開発合宿に行ってきた

三連休を利用して、有志で開発合宿に行ってきました。宿は開発合宿用プランがある「はじめのいっぽ」という日光にあるペンションでした。 日光での宿泊と観光。東照宮至近の宿・ペンションはじめのいっぽ 合宿の詳細については、同行した @bekkou68 さんがめ…

Rspec で rake タスクをテストする用の gem を作った

しばらく前に表題の gem を作りました。 willnet/rake_shared_context 中身はただの shared_context です。これは僕のオリジナルな gem ではなくて、thoughtbot 社のブログに書かれた shared_context のコードをほぼそのまま gem にした感じです。毎回 rake …

Backbone.js + CoffeeScript Book を読んだ

backbone入門するために、 Backbone + CoffeeScript を読みました。 この本には、backbone.js の構成要素(Model, Collection, View, Historyなど)が章立てでわかりやすくまとめられていて、それぞれの章ごとでサンプルアプリを作り込んでいく過程が書かれて…

ドメイン居酒屋に参加した

最近DDDやDCIなどのキーワードが気になっているのですが、そんな折に下記のような勉強会が開かれるのを知ったので参加してみました。 10月26日 豆ナイト:ドメイン居酒屋~モデル駆動プログラミングの集い~(東京都) DDDやDCIが気になっているのは、「Rails…

Rails 4.0 で新しく追加される予定の find_or_create_by メソッドについて

EdgeRails.info見てたら気になったので調べました。 最近 rails の master に、 rails 3.x 系でよく使っていた first_or_create と似たメソッド find_or_create_by が追加されました。そして first_or_create の方はメソッドの説明が削除され、depricated ぽ…

mac のターミナルのタブをCtrl-TABで切り替える

mac

mac(mountain lion)のターミナルのタブ切り替えを、chrome や safari と同じように Ctrl-TAB でする方法。以前は2009/02/25: Ctrl+Tabでターミナルのタブを切り替える方法 - すみかわ日記に書かれている方法でやっていたのだけれど、最近うまく動かなくて困…

Rails4.0に含まれる strong_parameters について

注意 このエントリは急いで書いたので間違いが含まれている可能性が高いです。気づいた方はご指摘ください。 序文 strong_parameters とは、mass assignment で余計なパラメータをモデルの属性にセットさせないための新しい仕組みです。Rails 4.0 からはこれ…

リーダブルコードを読んだ

すごいHaskell楽しく学ぼう!の読書会 とは別に、リーダブルコードの読書会も続けていて、先日ついに読了に至りました。 リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)posted with amazlet at 12.10.14Du…

エラー通知用ウェブサービス airbrake のメモ

エラー通知用のウェブサービス Airbrake の ruby 用プラグイン airbrake の README を一部和訳したメモを発掘したので載せておきます。 airbrake は exception_notification とは違い同種のエラーであれば複数回発生しても通知は一回だけ送られるのと、web上…

minitest と capybara で rails3 の integration テストを書く

ハマったのでメモ。素の minitest と capybara でテストを書く方法もありますが、とりあえず試してみるなら minitest-rails と minitest-rails-capybara を使うのが一番早いです。 Gemfile に下記のように書いて bundle install group :development, :test d…

Object#in?(*args)

#385 Authorization from Scratch Part 1 (pro) - RailsCasts を見ていて気づいたのでメモ。 Ruby on Rails Documentation に書いてあったコード例をみると分かるけど、include? の逆パターンですね。基本的には include? 使えばいいと思いますが、場合によ…

Hash#slice

strong_parameters のソース読んでたら Hash#slice が使われていることに気づいて、「あれ、こんなメソッドあったっけ?」となり調べてみました。どうやら Rails(ActiveSupport) で hash を拡張しているようです。 引数の key だけを含む hash を返します。…

すごいHaskell楽しく学ぼう!を読んだ

読みました。 すごいHaskellたのしく学ぼう!posted with amazlet at 12.10.03Miran Lipovača オーム社 売り上げランキング: 7299Amazon.co.jp で詳細を見る 7月から週に一度のペースで、すごいH本の少人数読書会を開催していました(まだ継続してます)。基本…

僕が参考にしている Ruby, Rails の情報源まとめ(海外ブログ編)

昨日 @bekkou68 さんに「前島さんってどうやってRubyやRails関連の情報を収集しているんですか?」って聞かれたのでまとめてみます。とりあえず海外のブログ限定で。日本ブログ編は気が向いたらやります…。 RailsCasts 有名すぎて説明不要かもしれませんね。…

Rails 4.0 に入る予定の turbolinks について調べた

Rails 4.0 のデフォルト Gemfile に入るらしい、pjax っぽいことをして画面遷移を高速化する gem turbolinks について軽く調べてみました。 Introducing Turbolinks: github.com/rails/turbolin…. This will ship as default-on in Rails 4.0 Gemfile. PRESS…

さくらVPSにインストールした jenkins を設定する

さくらVPSにjenkinsをインストールする - willnet.in の続きです。一ヶ月以上期間が空いてすみません><今回は、「bitbucket上のリポジトリにpushしたら自動でテストが走る」のと「jenkins上でテストカバレッジとテスト結果のグラフを確認できる」ところま…

miuchee が lifehacker に掲載された件

今日、miuchee の登録者数が不自然に増えてたので原因を調べたら、lifehacker に miuchee が掲載されていることに気づきました。 毎日の「ツイートまとめ」をメールで共有できるサービス『miuchee』 : ライフハッカー[日本版] 自分たちが作ったサービスが…

true か false をそれぞれ二分の一の確率で返すコード

これまで rand(2) == 1 みたいに書いてたけど、RailsCasts を見ていたら [true, false].sample のように書いていて、こっちのほうが若干読みやすさで上回っていていいかもと思いました。他にもっといい書き方があるぜ!という方いらっしゃったら教えてくださ…

札幌Ruby会議2012に参加した

札幌Ruby会議2012に参加しました。予約してたホテルが一週間前にホテル都合で予約キャンセルになったり、行きの飛行機の時間を間違えてしまうトラブルがありつつもなんとか3日間フルに参加することが出来ました。 予約してた札幌のホテルが設備故障で休みに…