Rails アプリケーションを動かしている Nginx サーバーの production 環境で、502 エラーが発生したので原因を探りました。

Nginx のエラーログを確認

まずは、Nginx のエラーログを確認しました。

上記のように、

というエラーメッセージが沢山記録されていた。訳しますと…

「upstream からレスポンスヘッダーを読み出す際に、upstream が大きすぎるヘッダーを送信しています」とのことで、クッキーのデータが大きすぎたのが原因っぽい。

続きを読む

WordPress で運営しているブログを Twitter Bootstrap を用いて、レスポンシブデザインに対応する Tips です。Bootstrap を用いると、比較的簡単に WordPress をモバイル対応のレスポンシブデザインにできます。

Bootstrap The world’s most popular mobile-first and responsive front-end framework.

— 環境 —
WordPress 4
Twitter Bootstrap 3.3.7

Twitter Bootstrap ダウンロードと設置

Twitter Bootstrap をダウンロードして、以下に設置します。

WordPress テーマを git 管理していれば、lib フォルダを .gitignore に追加。

.gitignore

続きを読む

  • 更新日: 2016年12月6日
  • Rails

whenever は、cron ジョブを Ruby のシンタックスで簡潔に書くことができる gem です。whenever を利用すれば、定期的に cron で実行したいバッチ処理等を作成しやすく、また管理しやすくなります。使い方も簡単です。

https://github.com/javan/whenever

この記事は、Rails プロジェクトでの whenever 導入から、cron ジョブの作成・実行までの流れの説明となります。

— 環境 —
rails 5.0.0.1
whenever 0.9.7
capistrano 3.6.1

続きを読む

  • 更新日: 2016年11月24日
  • Rails

Rails 5(Turbolinks 5)の環境で、グーグルのアクセス解析サービス Google Analytics を使うための対応策です。Google Analytics の解析用トラッキングコードは JavaScript のコードで提供されるのですが、Rails で Turbolinks を有効にした場合、$(document).ready() や $(window).load() が発動せず、JavaScript が動作しないという問題に遭遇することがあります。

そのための対策として、Turbolinks 5より前のバージョンでは、Turbolinks が提供する page:load 等のイベントを利用していました。Turbolinks 5 では、これに代わり turbolinks:load 等のイベントを利用します。

— 環境 —
rails 5.0.0.1
turbolinks 5.0.1

続きを読む

  • 更新日: 2016年11月25日
    公開日: 2016年11月22日
  • Devise

Rails 5 + Devise 4.2 の環境でユーザー認証機能を実装する機会があったのですけど、細かい部分で色々と実装すべき項目や必要な知識が沢山あったので、復習を兼ねてブログ過去記事を参考にしつつチェックリスト的にまとめてみました。

— 環境 —
rails 5.0.0.1
devise 4.2.0

なお、Rails4 から Rails5 への変更においては、Devise を使った認証機能の実装では特にはまる箇所はありませんでした。Devise 3 から Devise 4 への変更において、Strong Parameters 設定の API に変更があります。

https://github.com/plataformatec/devise

詳しくは上記 Devise GitHub ページ公式の README を参考。

続きを読む

  • 更新日: 2016年11月18日
  • Rails

Rails アプリケーションで Twitter や Facebook などのソーシャルメディアサービスのシェアボタンを簡単に設置する方法の紹介です。gem を探していたら、social-share-button という gem を見つけたのでこれを利用してみました。

— 環境 —
rails 5.0.0.1
social-share-button 0.8.4

social-share-button

まずは social-share-button の gem をインストール。

Gemfile

続きを読む

  • 更新日: 2016年9月30日
  • Docker

こんにちは。皆さん Docker for Mac 使われていますか?先日 Rails 用の開発環境を Docker for Mac を使って構築してみたのですが、かなり簡単に開発環境ができあがったので感動しました。

Docker for Mac: Installation on Mac OS X

開発環境をローカルに作ったり Vagrant + Virtualbox で仮想 OS 上に作ったりするよりも、Docker for Mac で開発環境を構築するのははるかに楽で簡単な印象です。

DockerでRails + MySQLの開発環境を構築 | EasyRamble

Docker for Mac のインストールや使い方や、Rails + MySQL な開発環境構築については上記記事をご覧下さい。

— 環境 —
Docker version 1.12.0
Mac OS X El Capitan

続きを読む

  • 更新日: 2016年9月6日
  • Docker

Docker で MySQL を使った Ruby on Rails の開発環境を構築してみたので、その作業メモです。Docker for Mac のおかげで、Docker がかなり使いやすくなっていました。

— 環境 —
Docker version 1.12.0
Ruby 2.3.1
Rails 5.0.0.1
Mac OS X El Capitan

続きを読む

  • 更新日: 2016年9月2日
  • Rails

Errbit は Web アプリケーションのエラーを監視して、エラーが発生したら通知を行ってくれる監視ツールです。AirBreak と同じ機能を持つオープンソースのソフトウェアとなります。Errbit の Heroku 運用にトライしましたので、その設置手順の紹介です。Heroku の無料枠で運用すれば、コストをかけずに AirBreak と同様の監視を行うことができます。

続きを読む

ウェブサイトのモバイル表示で画像サイズが端末画面より大きすぎて画面からはみ出したり、デスクトップ・モバイルに限らずグリッドレイアウトのボックス等から画像がはみ出したり、ウェブページのレイアウトが崩れる場合があります。

たとえ、レスポンシブデザインやモバイル専用ページ等でスマートフォン・モバイル端末の表示に対応していても、画像サイズが適正値をオーバーするだけで起こってしまう問題です。この問題に対する対処法を考えて、以下の CSS を使う方法に落ち着きました。

— 環境 —
Google Chrome Version 52.0
Firefox 48.0
iPhone(iOS9.3) Safari

続きを読む