タグ willnet.in
人気順 10 users 50 users 100 users 500 users 1000 usersfind_by_sql したレコードで preload する方法 - willnet.in
どうしても AR の query methods だけでは要求を満たせない場合の最後の手段として、find_by_sql メソッドがあります。皆さんよく使ってると思うのですが、戻り値のレコードからさらに association をロードしようとすると N+1 になるケースがあります。かといって User.preload(:comments).find_by_sql(sql) のようにしても期待通り... 続きを読む
Rails で DB の Time 型を扱う - willnet.in
Rails では、DB の Time 型 を扱うことができます。これは日付を必要とせず、時間だけを格納したいときに使います。 定義方法は、他の型と同じく add_column メソッドなどで time を指定するだけです。 add_column :users, :lunch_time, :time ただ、これを使おうとするにはちょっとしたノウハウが必要です。 Ruby や Rails には、時間の... 続きを読む
最近の Rack サーバ事情について - willnet.in
先月、heroku の推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」と... 続きを読む
refile というファイルアップロード用 gem がよさそう - willnet.in
File Uploads with Refile | GoRails を見ての感想文です。 carrierwave の作者が作った後継 gem refile がなかなかよさそうな感じです。 S3へのブラウザからの直接アップロードのサポート サムネイルの動的生成サポート アップロード時じゃなくて、ブラウザからリクエスト来た時に生成 もちろん本番時はCDNなどと併用しないとダメです ファイルを選択した... 続きを読む
僕が参考にしている Ruby, Rails の情報源まとめ(海外ブログ編) - willnet.in
昨日 @bekkou68 さんに「前島さんってどうやってRubyやRails関連の情報を収集しているんですか?」って聞かれたのでまとめてみます。とりあえず海外のブログ限定で。日本ブログ編は気が向いたらやります…。 RailsCasts 有名すぎて説明不要かもしれませんね。毎週2つ(うち1つは有料購読が必要)の Rails 関連動画をアップロードしてくれているサイトです。良質な情報を定期的に届けてく... 続きを読む
ゆるふわ Development Club というサークルができた - willnet.in
僕は個人でコツコツとwebサービスを作っているのですが、実際はチームで開発するほうが好きです。GitHub 上でミサワや寿司ゆきを貼ったり、チャットで機能の相談をしたり、雑談したりしながら開発を進める。やったことがある人なら、きっとその楽しさを理解してもらえるのではないでしょうか。 当たり前ですが、個人で開発するとなるとそうはいきません。チームで開発する楽しさを覚えてしまうと個人の開発は味気なくて... 続きを読む
RSpec 3 時代の設定ファイル rails_helper.rb について - willnet.in
rspec-rails、3.0.1 がリリースされていますね。インストールして rails g rspec:install とすると、spec/rails_helper.rb という見慣れないファイルが作成されます。これは一体何でしょうか。 rspec-rails のREADMEを読むと、これからは spec/rails_helper.rb に Rails 特有の設定を書き、spec/spec_h... 続きを読む
パーフェクト Ruby on Rails のサンプルアプリケーションを Github 上で公開しました - willnet.in
パーフェクトRuby on Rails 中の第6章で取り扱っている題材、イベント開催支援系のRailsアプリケーション awesome_events のソースコードを Github 上で公開しました。 ソースコードは技術評論社さんのサポートページからダウンロードすることもできますが、やっぱり Github から持ってこれたほうがいいですよね。 さて awesome_events とはどんなアプリケ... 続きを読む
rspec-rails を 3.0.0.rc1 にアップデートする際に気をつけること - willnet.in
rspec-rails を 3.0.0.rc1 にアップデートすると、きっとテストがこけまくるようになるはず。そんな時は spec_helper.rb に次の設定を足してあげてください。 config.infer_spec_type_from_file_location! これまでの rspec-rails は、例えば spec/controllers 配下のテストであれば自動で type: co... 続きを読む
パーフェクト Ruby on Rails という本を書きました - willnet.in
ここのところブログの更新頻度が下がっていたのはそういうことです。 @sugamasao、@udzura、@joker1007と共同で書きました。 パーフェクト Ruby on Railsposted with amazlet at 14.05.02すが まさお 前島 真一 近藤 宇智朗 橋立 友宏 技術評論社 売り上げランキング: 272 Amazon.co.jpで詳細を見る 執筆経緯 個人的な発... 続きを読む
Rails 4.1.0 で新しく導入された便利メソッド - willnet.in
Rails(ActiveSupport) は標準クラスを拡張した便利メソッド群を提供してくれています。時々これは使わないなー…という微妙なやつもありますが、僕はけっこう好きです。 Rails 4.1.0 で新しく入ったそんなメソッドをまとめます。 Numeric#in_milliseconds 数値をミリ秒の単位に合わせて返す。 1.hour.in_milliseconds #=> 3600000... 続きを読む
rake_shared_context を 0.1.0 にバージョンアップした - willnet.in
rake_shared_context という、rake タスクをテストする際にべんりな shared context を gem にしたものがあります。これをバージョンアップしました。 バージョンアップしたときに RubyGems.org を確認したら、地味に 2000 ダウンロードされていて驚きました>< 変更点 rails に依存しているコードを修正して、padrino など他のフレームワー... 続きを読む
ランダムで日本人の名前を返す gem を作った - willnet.in
gimei という、ランダムで日本人の名前を返す gem を作りました。 似たようなライブラリに faker があります。faker は人の名前だけではなく、住所やメールアドレスやユーザ名や電話番号など、たくさんのジャンルのダミーデータを返してくれるすごい gem です。しかも i18n に対応しており、yaml ファイルを定義すれば日本語も使えます。 じゃあ faker でいいじゃん!って思いま... 続きを読む
devise でログインログアウトのパスを変更したいときの注意点 - willnet.in
例えば User モデルで devise を設定したとき、ログイン用のパスは /users/sign_in、ログアウトは /users/sign_out になります。個人的には /login /logout の方が好みなのでroutes.rb を下記のようにしました。 devise_for :users, skip: [:sessions] devise_scope :user do get 'l... 続きを読む
Hack Design 読書会をやりたい - willnet.in
第2回 プログラマ向けデザイン勉強会に参加した 感想。とても為になる勉強会で素晴らしかったのだけれど、本当にデザインのレベルを上げたかったら、「たまに少しだけ勉強する」のでは不十分で、プログラミングを勉強するときにやってきたのと同じように定期的に手を動かしたり本を読んだりして研鑽に努めないとダメなのだよなあということを強く感じました。かと言って一人だとモチベーションが続かず挫折する可能性が高い。な... 続きを読む
js で利用する DOM の名前をどうやってつけたらよいのか - willnet.in
js で DOM をゴニョゴニョしたい時、きっと皆さんは id や class で DOM に名前を付けて、その名前を利用して js の処理を書いていると思います。 例えば<input type="button" class="update" value="更新" />のようなボタンがあったとして、 js 側で更新処理を書くときには下記のように書きます。 $('.update').on('clic... 続きを読む
ネコハッカソンを開催しました - willnet.in
なんかいつの間にかネコハッカソンなるものを主催することになっていました。で、今日実際に主催してきました。詳細とか当日の写真とかは bekkou68さんが載せてくれているので こちらを参考にしてください。 doorkeeper で作った募集ページを見るとわかるのですが、はてぶ18、ツイート159、いいね53となかなかいいバズりっぷりですね。やっぱりネコのコンテンツ力はすごい。 当日は12人のネコエン... 続きを読む
emacs のコンパイルオプションを設定したら幸せが訪れた - willnet.in
最近は仮想マシン上の CentOS 6.3 を使って開発をしているのですが、なぜか emacs の挙動がもっさりしていてストレスがたまっていました。 一番許せないのが、リージョン選択した後にC-gでキャンセルしようとしても一回押しただけではなぜかキャンセルできなくて、5〜6回押さないといけないこと。イライラしながらC-gを連打する日々がしばらく続きました。 そんななか、ふとした瞬間に「コンパイルオ... 続きを読む
rbenv をさくらVPSのサーバにインストール - willnet.in
rbenv をさくらのサーバに system wide にインストールする手順のメモです。 インストール準備 ruby のインストールに必要そうなものを yum でインストールします。 sudo yum install libyaml libyaml-devel zlib zlib-devel readline readline-devel openssl openssl-devel libxml... 続きを読む
Rails4.0に含まれる strong_parameters について - willnet.in
注意 このエントリは急いで書いたので間違いが含まれている可能性が高いです。気づいた方はご指摘ください。 序文 strong_parameters とは、mass assignment で余計なパラメータをモデルの属性にセットさせないための新しい仕組みです。Rails 4.0 からはこれが標準になります。Rails2.x と 3.x はattr_accessibleやattr_protectedなど... 続きを読む
僕が参考にしている Ruby, Rails の情報源まとめ(海外ブログ編) - willnet.in
昨日 @bekkou68 さんに「前島さんってどうやってRubyやRails関連の情報を収集しているんですか?」って聞かれたのでまとめてみます。とりあえず海外のブログ限定で。日本ブログ編は気が向いたらやります…。 RailsCasts 有名すぎて説明不要かもしれませんね。毎週2つ(うち1つは有料購読が必要)の Rails 関連動画をアップロードしてくれているサイトです。良質な情報を定期的に届けてく... 続きを読む
Rails 4.0 に入る予定の turbolinks について調べた - willnet.in
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 TURBO... 続きを読む
twitter で手軽に親孝行できるwebサービス miuchee を作りました - willnet.in
miuchee という、twitter で手軽に親孝行できるサービスを作りました。 miuchee via kwout どんなサービスか このサービスが対象としている人物像は「親孝行はしたいと思ってるんだけど面倒くさいから親に連絡はあんまりしない」という人です。miuchee に登録すると、あなたが twitter でつぶやいたツイートの “一部” を一日一回(だいたいお昼くらいに)、親のガラケー... 続きを読む
ruby-mode のインデントをいい感じにする - willnet.in
僕はこれまで下記のようなインデントで ruby のコードを書いてきました。 SuperLongClassName.super_long_name_method(hoge: 'fuga', foo: 'bar', baka: 'aho') 理由は、Emacs の ruby-mode による標準インデントが上記のような形になっているからです。今ひとつだなーと思いながら幾年月。すばらしい設定を発見しまし... 続きを読む
負荷テストツール http_load で ssl を利用できるようにする - willnet.in
お手軽なウェブサーバ負荷テストツールの代表と言えば ab ですが、どうも自分の環境(mac osx lion)ではうまく動きません。具体的にはサーバ側にはまだ余裕があるのに接続が切れてしまったりします。ソースからapacheをビルドするといいという話しを何処かで見かけたけどうまくいかず…結局他のツールを使うことにしました。 http_loadは abと同じくらいお手軽なツールです。普通に使う分には... 続きを読む