テストを書いていて、FactoryGirl.create :userが失敗したりすると、やる気レスになりますよね? というわけで、全てのfactoryがvalidationを通るかどうかテストするspecです。 errors.to_a をチェックしているのは、エラーの原因をrspecで見やすくするためです。
初心者ぺちぱーがRubyのコードを書くに当たって、大変勉強になったサイト、これから読んでおきたいドキュメントを紹介する。 Index Ruby入門・チュートリアル Ruby reference Ruby 2.0の新機能 Rubyコーディング規約 Ruby関連の情報 Ruby tool Ruby ブログ rbenv & ruby-build Gem Bundler irb pry RDoc YARD RSpec Cucumber SimpleCov ruby-prof Rake Rack Rack対応HTTPサーバー Sinatra Ruby on Rails Rails 4.0の新機能 Ruby入門・チュートリアル Rubyを始めるときに、入り口になるところ。他言語文化圏からの移民の人達は第1章 Ruby言語ミニマムから読み始めると、256倍ぐらい理解が早くなると思う。 第1章 Ruby言
技術部・開発基盤グループの中村です。 この度、クックパッドが開発し、オープンソースとして公開しているRuby on Rails向けプロトタイプ開発用のプラグイン「Chanko」を再設計し、Ruby 2.0.0 への移行に引き続き Chanko 2.0.0 をリリースしました。Chanko 2.0.0 では、これまでのバージョンと互換性を保ちながら、主に実行速度やコードの可読性について改善が加えられています。 http://cookpad.github.io/chanko/ Chankoとは Chankoは、素早く安全に新機能のプロトタイプを行うためのフレームワークです。クックパッドでは今現在でも、Chankoを使って多くの機能を独立して開発し、対象範囲を限定して公開することで新機能の検証サイクルを回しています。Chankoを利用して拡張した機能でエラーが起きた場合、拡張前の機能に自動的に切
タイトル Ruby on Rails: The Bad Parts 動画 概要 ますます洗練の度合いを高めるRailsですが、反面そこに潜む闇もまた深くなっています。Helperのどうしようもなさ、filter + partialとEnginesの間を埋めるレイヤの不在、「Skinny Controller, Fat Model」という罪深い嘘—本発表はそれらをバッサリと斬り捨て、今後の展望について語ります。 講演者 浦嶌 啓太 所属 (株)永和システムマネジメント プロフィール (株)永和システムマネジメント所属のチーフプログラマ兼主任整備士。RubyとGentooとKinesisが好き。 GitHub ursm 発表言語 Japanese 参照
Using rainbows! and em-http-request resulted in a 1600% performance increase compared to using unicorn and net_http. (For the use case described below) Situation You have an app that does a lot of calls to a 3rd party API. This is often the case with facebook apps for example. You want to host it on heroku (one dyno preferred, so it's free) Problem You want to call the 3rd party API from your cont
March 02, 2013 「Heroku でアプリケーションサーバを Uniron (or Puma, etc) にしたらn倍速くなったぜ!」みたいな話をたまに見掛けますが、本当なんでしょうか。実験してみましょう。 テスト環境 Funtoo Linux x86-64bit Ruby 2.0.0-p0 Thin 1.5.0 Unicorn 4.6.2 Rainbows! 4.5.0 Puma 1.6.3 アプリケーションは Rack で、50msec の sleep の後に 500KB のレスポンスを返します。各サーバに対して100回のリクエストを、同時接続数を 1-20 の間で変えつつ投げました。詳しくはソースを見てください。 (凡例の c は concurrency、同時接続数です) はい、どう見ても Thin は遅いです。まったくスケールしません。本当にありがとうございました。 こ
Play Framework and Ruby on Rails are web application frameworks that help developers build web applications. Both frameworks provide tools and libraries for common tasks like routing, database access, templates and more. Some key similarities include using MVC patterns, supporting SQL/NoSQL databases via libraries, and including tools for unit testing and deployment. Some differences are Play uses
Sidekiq とは Sidekiq とは Rails アプリで非同期処理を行うためのライブラリです。複数のジョブを同時に実行することができ、メモリを節約することができます。 ということで今回は Sidekiq の基本と使いかたをざっくりと学んでいきたいと思います。 Sidekiq を使ってみる インストール まず前提条件として Redis が必要なのでインストールしましょう。Redis はジョブの管理に使われています。 brew install redis インストールは Gemfile に追加して bundle install するだけです! vim Gemfile # gem 'sidekiq' を追加 bundle install Worker を実装する 非同期処理を行うクラスは Sidekiq::Worker を include してつくります。あとは perform メソッド
よく理解できていなかったのでチュートリアル的に整理した。 まずはチュートリアル用のアプリを新規作成して、コントローラーを一つ作る。 rails new ajax_tutorial cd ajax_tutorial rails g controller sandbox index update_time Ajaxなフォームやリンクを作成する form_forやlink_toといったヘルパーのオプションに:remote => trueを加えるとボタンを押した時やリンクをクリックした時のリクエストが非同期リクエストになる。 app/views/sandbox/index.html.erb <h1>Sandbox#index</h1> <%= link_to('update time', {:action => 'update_time'}, :id => 'update-time-link',
Rails3.2/GitHub/Pivotalという割とモダンな環境で2ヶ月間開発してました。その契約期間が終了したので、振り返ってみます。 Gems 自分の担当で、初めて(本格的に)使ったGemたち no title 帳票PDF出力 no title PDF解析(テスト用) no title Zip圧縮 no title ユーザー認証 no title HTML加工 no title 検索フォーム補助 no title よりよいフィクスチャ no title RSpecマッチャ拡張 no title 並列テスト no title プログレスバー型RSpecフォーマッタ 日に日にテスト実行時間が長くなっていて、どうにかしたいと思って最終日に探してすぐ導入したParallel testsが印象的です。 Retrospection ひとり開発でやっていたことが活かせた Railsは経験の蓄積が
RubyやRailsで外部APIを利用するソフトウェアを開発しているときに、テストで実際に何度もAPIに問い合わせにをしていたら、遅くて話になりません。ましてや、外部APIがメンテナンスなんてことになったら、開発が止まってしまいます。 そこで、webmockなどを利用して、HTTPリクエストやレスポンスのmockを作成することが望ましいです。 vcrを組み合わせて利用すれば、初回だけ実際にHTTPリクエストとレスポンスを記録して、2回目以降は記録したデータからmockとしてデータを返すように簡単にできます。 webmockとvcrのインストール方法Gemfileに以下のように記述する group :development, :test do gem 'webmock' gem 'vcr' endgemをインストールする $ bundletest/test_helper.rbにVCRに関する
【追記】この件に関しては、その後もHerokuとRap Geniusとの間でやり取りがなされました。Heroku側の説明については、下記の続報で紹介しております。こちらもご確認ください。 http://www.atmarkit.co.jp/ait/articles/1302/19/news109.html Ruby on RailsのPaaS「Heroku」の課金の仕組みをめぐり、新興のネット企業が「Herokuにだまされた」と訴えている。Herokuは2月15日、顧客に対する説明が不十分だったなどの問題を認め、改善に努めると表明した。 2月14日に「Herokuの醜い秘密」というブログを掲載して問題を提起したのは、急成長中の新興企業Rap Genius。これまでHerokuに月額2万ドルもの料金を払いながら、そのサービスには満足していたという。 ところが10日ほど前、JavaScript
やりたいこと 1つのRailsアプリを複数のドメインで運用し、ドメイン別に同じパスでも別々のコントローラを割り当てる必要があった。 Cucumberのフィーチャでもそれがどのドメインでのアクセスかわかるように書いて、受け入れテストにも反映させたい。↓こういうこと。 http://hoge.xxx/posts Hoge::Posts#index http://a.fuga.xxx/ Fuga1::Posts#index http://b.fuga.xxx/ Fuga2::Pages#index 方法 config/routes.rb require 'myapp1/constraint' MyApp::Application.routes.draw do constraints MyApp::Constraint.new(:hoge) do namespace :hoge, :path =
目的 認証と権限 参考 https://github.com/plataformatec/devise https://github.com/ryanb/cancan http://d.hatena.ne.jp/lounge1975/20110215/1297833886 http://d.hatena.ne.jp/next49/20100905/p1 http://d.hatena.ne.jp/babie/20100729/1280381392 環境 gem 1.3.7 Rails 3.0.5 Devise 1.1.8 CanCan 1.6.2 内容 Welcome(認証)->TOP(権限にて表示を変更) Welcomeページの作成、deviseの設定は省略します。 lounge1975さんの日記を参考にいたしました。 Gemfile gem 'devise' gem 'cancan'
ネットショップ「Spree」。ASPではできなかった独自性の高いECサイトが、無料で手に入りますSpreeの学校へようこそ! ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。 このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。 Spreeについて詳しく知りたい! さっそくデモサイトを見る!
シンプルなウェブサービスや業務用システムを作る際に、僕は基本的にRuby on Railsを使っています。RoRを使ったアプリ開発では用途に応じて数万のgemを使うことができますが、個人的なここ一年の経験から汎用的で導入の価値が高いと感じているgemとサービスを紹介します。 Heroku gitレポジトリのホスティング+Railsアプリのホスティングをやってくれるサービス。gitレポジトリにソースコードをpushするだけで自動的にアプリの最新版をサーバーにデプロイしてくれるので、非常に便利です。PostgreSQLも無料で使うことができます。サーバーの契約・構築・デプロイなど、コーディング以外の作業を大幅に省略できます。必要になったら有料プランでサーバーの増強なども可能。(ちなみにRails以外にも対応) Heroku | Cloud Application Platform Haml(h
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く