Sidekiq とは Sidekiq とは Rails アプリで非同期処理を行うためのライブラリです。複数のジョブを同時に実行することができ、メモリを節約することができます。 ということで今回は Sidekiq の基本と使いかたをざっくりと学んでいきたいと思います。 Sidekiq を使ってみる インストール まず前提条件として Redis が必要なのでインストールしましょう。Redis はジョブの管理に使われています。 brew install redis インストールは Gemfile に追加して bundle install するだけです! vim Gemfile # gem 'sidekiq' を追加 bundle install Worker を実装する 非同期処理を行うクラスは Sidekiq::Worker を include してつくります。あとは perform メソッド
vanityはRailsのABテスト用ライブラリ。導入が一番簡単っぽい。 元々はテキストとか画像をのABテストを行うためのもののようだが、 chankoという限定公開用のライブラリを使って、機能単位でもABテストができるようにしてみる。 まずはGemfileに gem 'chanko', :git => 'git://github.com/cookpad/chanko.git' gem "vanity" を記述して、 # bundle install それぞれに必要な初期設定をする。 # rails generate chanko:install # rails generate vanity # rake db:migrate config/vanity.ymlを作成 development: adapter: active_record active_record_adapter: m
存在しないページにアクセスがあった場合に404のページを表示する方法をまとめます。 例えば、http://memo.yomukaku.net/path/that/does/not/exists のように、routingに引っかからない(つまり、実在しないか、対応するcontrollerとactionが存在したとしても、routes.rbには載っていない)ようなページを全て補足するrouteを作り、一括して404ページを表示するようにします。 具体的には、app/config/routes/rbの最下行に、以下のようなルートを追加します。 ActionController::Routing::Routes.draw do |map| // (省略) map.connect '*path', :controller => 'application', :action => 'error_404
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう Michael Hartl (マイケル・ハートル) 目次 前書き 私が前にいた会社(CD Baby)は、かなり早い段階でRuby on Railsに乗り換え、そしてまたPHPに戻っていった会社でした。(詳細は私の名前をGoogleで検索してみて下さい) Michael Hartl氏によるこの本を強く勧められ、これはやってみなければ、と試してみたところ、私が再びRailsに乗り換えるのに使用したのがこのRuby on Railsチュートリアルでした。 私は多数のRails本を参考にしてきましたが、決定的だったのはこれです。本書では全ての手順が“Rails way”(「Rails方式」)で行われており、始めは慣れない方式でしたが、この本を終えた今、やっと自然な方式だと感じる事が出来るようになりました。また、本書はRa
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
今まで不細工な自前実装をしていたけど、シンプルでお手頃なものがあった。 zachinglis/crummy – GitHub 導入 Gemfileに以下の行を追加してbundle install gem 'crummy' 基本的な使い方 コントローラーでadd_crumbしてビューでrender_crumbs。 あとは本家のExampleを眺めるとなんとなく分かると思う。 といっただけで終わらずのもなんなので、以下は動作に関するちょっとしたメモ。 パンくずリストの表示 – render_crumbs ビューのパンくずリストを表示したい場所にrender_crumbsを埋める。 多くの場合はレイアウトファイルに書けばいいと思う。 <%= render_crumbs %> render_crumbsにはオプションがいくつかあるが、おそらく使いたいのはセパレータの指定くらい。 (デフォルトのセパ
This guide covers built-in mechanisms in Rails for testing your application. After reading this guide, you will know: Rails testing terminology. How to write unit, functional, integration, and system tests for your application. Other popular testing approaches and plugins. 1 Why Write Tests for Your Rails Applications?Rails makes it super easy to write your tests. It starts by producing skeleton t
注意 この訳はだいぶ古い(2011年7月時のREADME)です。最新版の訳をgithub上に載せたのでこちらをご覧ください。 はじめに Rails のエンドツーエンドテスト用のデファクトスタンダードプラグイン Capybara の README 意訳です。いつもと比べて直訳成分多めです。 テスト関連はどうにも日本語の情報が少なくて、覚えるのが大変ですね>< 概要 Capybara は Rack アプリ(Rails, Sinatra, Merb等)の統合テストを簡単にするのが目的です。Capybara は現実のユーザがウェブアプリとやりとりするのをシミュレートします。テスト用のドライバを選択できます。デフォルトでは Rack::Test と Selenium ドライバをビルトインでサポートしています。HtmlUnit, env.js は外部の gem としてサポートしています。 完全なリファ
Request specs in RSpec are a great way to ensure the entire application stack is working properly. Here I also show how to use capybara with integrated JavaScript testing using Selenium.
実行環境: ruby 1.9.3 Rails 3.1.3 I18n Railsアプリで表示を担当するのはビューなので国際化するのは当然ビューですね。ページに表示される文字すべてが対象となります。 ページに表示される文字をざっと分類してみましょう。 DBに格納されている文字列 HTMLに直接書く単語や文章 モデルの名前や属性の名前などモデルに関連する文字列 Railsのエラーメッセージ 1. DBに格納されている文字列 DBに格納されているデータを国際化(多言語化)する場合は、各ロケールごとのデータを用意する必要があります(日本語だけなら不要です)。 シンプルな方法としては、テーブルに複数のロケール用データをカラムを増やして各ロケールのデータを格納します。 TABLEの構造 +------+----------+------------+ | id | hello_en | hello_ja
2012年04月19日 最近、新人のテストコードを見る機会があり、ユニットテストの書き方について考える機会があった。ユニットテストはテンプレートみたいなものがあるので、それさえ押さえれば、誰でも簡単に書くことができる。 ここでは、その方法について紹介したい。サンプルはRSpecで書くが、その他のユニットテストフレームワークでも、応用ができるとおもう。 はじめにごく単純化すると、テスト対象は状態を持ち、入力を与えると何らかの出力を行なうものである。入力が変われば出力は変化するし、状態が変化すると入力が同じでも出力が変わる(かもしれない)。 ユニットテストは、テスト対象の状態を操作し、与えた入力によって意図通りの出力を得られるかを確認する作業のことをいう。なので、ユニットテストを書くときには、オブジェクトの状態ごとにメソッド単位で入力と出力を確認するようにする。 RSpecの疑似コードで書くと
2012年05月07日11:49 Ruby respond_withメソッドを使うと処理をDRYに記述できる Rails には respond_to というメソッドがあり、これを使うと同じリソースに対して複数のフォーマットでレスポンスを返す処理を簡単に書けます。例えば users_controller.rb で以下のように定義すれば、/users でも /users.xml でもひとつのアクションで処理することが可能です。 def index respond_to do |format| format.html # index.html.haml format.xml { render :xml => @users } end end さらに、Rails3.0 からは respond_with というメソッドが追加されました。これを使うと処理をさらにすっきりと書くことが可能になります。 c
このウェブサイトは販売用です! monoweb.info は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、monoweb.infoが全てとなります。あなたがお探しの内容が見つかることを願っています!
This article is a work in progress, or documents a feature that is not yet released to all users. This article is unlisted. Only those with the link can access it. This article is archived. It no longer receives updates and is here for historical reference only. We can’t guarantee that any statements made are still true or that the instructions still work. This version of Rails is no longer suppor
This is a massive (in a good way) Vim plugin for editing Ruby on Rails applications. Easy navigation of the Rails directory structure. gf considers context and knows about partials, fixtures, and much more. There are two commands, :A (alternate) and :R (related) for easy jumping between files, including favorites like model to schema, template to helper, and controller to functional test. Commands
2012年05月10日11:00 Ruby Linux CentOS6.2 に Rails + Nginx + Unicorn な環境を作った 必要になって久しぶりに環境作りました。にしても、しばらく触ってなかったからかいろいろ忘れてて大変でした。今度のために簡単にまとめておきます :D ネットワーク まずはネットワーク周りの設定をします。 vi /etc/sysconfig/network-scripts/ifcfg-eth0 vi /etc/sysconfig/network # NETWORKING_IPV6=no vi /etc/resolv.conf sudo /etc/init.d/network restart ssh 次は ssh 周りの設定です。ポート番号変えたりとかパスワード認証不可にしたりとか公開鍵認証を許可したりとかすると良いでしょう。 vi /etc/ssh/ss
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く