You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
— 環境 — Rails 5.0.0.1 Devise 4.2.0 omniauth 1.3.1 omniauth-facebook 4.0.0 omniauth-twitter 1.2.1 【追記 2016/11/07】 Rails 5.0.0.1 + Devise 4.2.0 + OmniAuth 1.3.1 という現時点(2016/11/07)の最新バージョン環境で、Rails アプリケーションに Devise + OmniAuth によるユーザー認証の実装を試しましたところ、記事公開当初と同様の手順で実装できました。 【追記ここまで】 — 記事初回公開時の環境 — Rails 4.0.1 Devise 3.2.2 OAuth 認証用の gem をインストール Gemfile に以下を追加。
先月、heroku の推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ
ずいぶん前のことだが、Webアプリケーション開発フレームワーク「Ruby on Rails」が00年代後半にブームを巻き起こしたとき、強い主張を持つソフトウェアとしてRailsは多くの議論を呼び起こした。その中でも最大のものはプログラマの生産性に関するもの。当時、すでにいくつも存在していたJavaベースのWebアプリケーション開発フレームワークに比べて、Ruby on Railsは10倍の生産性を達成できるという主張だ。 Rubyの生産性はJavaの10倍――。この主張が多くのエンジニアの琴線、もしくは逆鱗に触れた。「さすがに10倍は大げさだ」、「いや、現実に設定ファイルやコードを書く行数が劇的に減るのだから、そのぐらい当然だ」と意見が分かれたのだ。 2005年のリリースから約10年。Railsの生みの親で、今もプロジェクトをリードするデイビッド・ハイネマイヤー・ハンソン氏は当時を振り返り
Rails入門です。 require 'active_support'でactive_supportを読み込んだRubyでは、真偽判定に以下のメソッドが使えます。 nil? Rubyの標準メソッド。nilの場合のみtrueを返し、それ以外はfalseを返す。nilとfalseを判別したい場合などに、==演算子を使わずに書ける。 empty? String や Array に実装されているメソッド。空の文字列や空の配列の場合にtrueを返す。nilに対して呼び出すとNoMethodErrorが発生する。 blank? nil? or empty? のようなメソッド。nilまたは空のオブジェクトを判定できる。 present? !blank? を実行するメソッド。unless hoge.blank? とするくらいなら、if hoge.present? としたほうがelsifも書けるしすっきり。
America is in the middle of an obesity epidemic, and your Ruby app might be suffering from bloat. While people suffer from overeating, and lack of exercise apps get bigger for other reasons. One of the largest memory sinks in a Ruby app can come not from your code, but from libraries you require. Most developers have no idea what kind of a penalty they incur by adding in a library, and for good re
@h5y1m141さんに誘っていただいて、 @hitomi_twさんや shiro615さんと一緒に、RubyGemsのソースコードリーディング勉強会『GemJam』を行いました。 今回は最近仕事でソースコードを読む時間が増えてきて、苦労していたのでソースコード・リーディングのモチベーションアップやコツを調べつつ、いつもRailsでお世話になっていた『ActiveSupport』 のソースコードリーディングに挑戦してみました。 (12/28 12:10) 勉強会のアウトプットを更新しました。全員アウトプットしたのはすばらしいです 🎉 プログラムのモチベーションこれは経験談からくる話ですので、これが正解ということでないッス。どちらかというと、今までエンジニアとして経験してきた中で、僕個人はこう思っていますという観点で書きました! プログラミングは継続することが一番大切プログラミング経験ゼロ
料理動画事業室の @yoshiori です。前に「RESTful Web API 開発をささえる Garage」で紹介した RESTful Web API を開発する Garage のクライアント側のライブラリを公開しました。この記事ではその使い方を紹介したいと思います。Garage の設計思想やサーバ側の実装については上記記事を御覧ください。 今回は簡単にクライアント側の挙動を知っていただくために pry を使って説明したいと思います。 アクセスするサーバは先程の記事で作成したアプリケーションを使用してみます。 サーバの準備 https://github.com/taiki45/garage-example の README にも書いてありますので簡単に進めたいと思います。 まずは下準備としてコードを github から clone してきて、ライブラリのインストールと DB のマイグレ
はじめに これは Ruby on Rails Advent Calendar 2014 - Qiita の19日目です 18日目 @yancya さんの Rails でシングルじゃないテーブル継承 - Qiita でした 19日目:オレオレRailsアプリを支えるインフラの作り方 最近では Heroku などのPaaS*1 も普及してインフラのことを知らなくても簡単にアプリを公開することができるようになりました。 しかしトラブルシューティングやパフォーマンスチューニングなどを行うにはアプリケーションコードだけで完結することは少なく、全体像を把握する必要があります。Railsアプリケーションの裏でどんな構成で動いているかを知っておくかは重要なのでざっくりと紹介したいと思います。 書かないこと Railsアプリを作る上でのノウハウ 便利なgemや外部サービスの紹介 *2 監視 アラート検知 モ
Rails 4.2: Active Job, Asynchronous Mails, Adequate Record, Web Console, Foreign Keys We come bearing gifts! It’s Rails 4.2, and the final version is ready just in time for Christmas. It’s full of great toys, useful gizmos, and polished edges, courtesy of a fantastic community of merry elves who’ve been coding away with jolly glee for months. This is probably also the most well-tested new major re
この記事は rails newの後に毎回お決まりのgemを入れたり初期設定をするのが面倒だなと思っている方が対象です 記事を読み終えると、自分でテンプレートを作ってお決まりの手順を自動化することができるようになります とりあえずあとで読もう、という方はこちら => はじめに こんにちわ!クライアントワークチームの@hilotterです。 普段は主にRailsを使ったキャンペーンサイトの開発を行っています。 早速ですがみなさん rails new してますか? Railsでアプリケーション開発を行う際にまず実行するのが rails new ですね。 ただ、rails newの後、すぐにアプリケーションコードの実装開始かというとそうではなくて、「テストのためにrspecを入れよう」とか、「unicornの設定をしよう」というように、開発を便利にしてくれる様々なgemをインストールしたり、gem
日本人初心者エンジニアのためのRuby on Railsの歩き方 Ruby on Railsの最新情報は英語の情報が多いので、英語が苦でない方や、Ruby on Railsをある程度分かっている方には、英語の有料サイトを読むのをお勧めしますが、英語を読むのが負担になる方や、Ruby on Railsが本当の初心者の方には、日本語のドキュメントを読まれることをお勧めします。このページでは以下の段階に分けてお勧めの情報源をご紹介します。 Step1:Ruby on Railsの基礎をまず理解したい方向けの情報源(英語が苦手な方) これから始める方は、最新の情報から始めたほうが良いと思いますので、RubyとRuby on Railsの最新情報を掲載している情報源を参考にされることをお勧めします。また、本を読むだけではなく、実機を使って学習する方法が良いと思います。PCを買いかえるタイミングの方や
Happy Black Friday everyone! The Rails team is very excited to announce that the first Release Candidate of Rails 4.2.0 has been released today. For an overview of all the major changes, please refer to the release notes. We would like to thank everyone who have assisted our team in testing the beta and smoothing out all the rough edges. During the beta period, we have logged over 1500 commits by
257: request specとCapybara (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto ハイレベルテストは、Railsアプリケーションをテストする優れた方法です。この種のテストでよく用いられるCucumberについて、エピソード155[動画を見る, 読む]で取り上げました。Cucumberの、アプリケーションの振る舞いを英語の文法で定義するやり方が好きではない人もいるでしょう。そこで今回はハイレベルテストを実行する別の方法を見てみます。 普段はテスト駆動開発を奨励していますが、今回はすでに完成したアプリケーションにテストを追加することにします。それによって、実装の詳細やアプリケーションが正常動作するかどうかに気をとられることがなくなります。これから
何も考えないで作ると、rock/pops/jazzそれぞれのモデル、ビュー、コントローラに 似たような記述・コピペが増えそうな予感を感じて頂けたでしょうか。 では、それを防ぐために、まずはSTIから。 (※追記) 実は上記だけの要件であれば userテーブル、musicテーブル、genreテーブルのみを用意して user has_many genres through musicsのassosiationでも実現可能 (そもそもrock/pops/jazzモデルを用意する必要がない)だったりします。 実際は「今後それぞれのgenreごとに特有な処理を複数追加していきたい」というケースを想定して、 各genre個別のモデルを用意することを前提にしています。 ちょっと要件の例がいまいちだったかもしれず、申し訳ありません。。 STI(Single Table Inheritance/単一テーブル
rack-user_agent を作った rack-user_agentという、User-Agentに応じていろいろな判定ができるメソッドを生やすRack::Request拡張を作った。 tagomorisさんのWootheeを使ってRack middlewareでUser-Agentをパースしておいて、 その結果に応じてrequestから簡単にいろいろな情報を得られるようにしてある。 たとえばRailsだとGemfileにgem "rack-user_agent"と書くだけで以下のように使うことができる。 class ApplicationController < ActionController::Base before_action :set_request_variant def index # example request.user_agent #=> "Mozilla/5.0
RSpec + Capybara のセットアップは簡単でいいんですが、javascriptのテストができません。 いざ本当にウェブサイトやウェブアプリのテストしようと思ったらjavascriptのテストは必須。 それを可能にするには意外にも長い道のりがあるので、まとめておきます。 想定する開発環境はこんな感じ。 Vagrant (Virtual box) CentOS 6.4 ここでつまずいたらドットインストールで学習 ローカル開発環境の構築 (全12回) - プログラミングならドットインストール Vagrant入門 (全13回) - プログラミングならドットインストール Rails4 RSpec Capybara テストについてよくわからなければ、このチュートリアルで学習。 Ruby on Rails チュートリアル:実例を使って Rails を学ぼう テスト駆動開発の定義とは、アプリケ
条件に当てはまるレコードを全て取得する「where」メソッド whereメソッドはカラムの値に条件を付けて該当するレコードを全て取得するためのメソッドです。findメソッドとは異なり、数値の範囲や文字列の一致など、検索機能を実装する際に使います。 whereメソッドの基本とプレースホルダー 例として、これまでに保存したユーザーの中から30歳以上のユーザーを求めてみましょう。 User.all.map{|user| [user.name, user.age]} # => [["アリス", 30], ["ボブ", 32], ["キャロル", 28]] users = User.where("age >= ?", 30) users.pluck(:name)# => ["アリス", "ボブ"] このwhereメソッドでは第1引数に条件である文字列、第2引数では第1引数の文字列内の「プレースホルダ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く