xyk blog

最近は iOS 開発の記事が多めです。

rails

VPC 内に Elastic Beanstalk + RDS の環境構築して Rails アプリをデプロイする

環境: Mac aws-cli 1.7.0 eb-cli 3.0.10 Ruby 2.1.5 Rails 4.2.0 今回のポイント VPC の環境構築(Subnet, IGW, Route Table) VPC 内に Elastic Beanstalk 環境構築 Elastic Beanstalk のプラットフォームは Rubyを選択、Rails アプリをデプロイする。 Rails…

EB CLI 3.x を使って Elastic Beanstalk に Rails アプリをデプロイする

環境: Mac eb-cli 3.0.10 ruby 2.1.5 rails 4.2.0 今回は、Elastic Beanstalk 用のコマンドラインツールである EB CLI を使って Rails アプリをデプロイしてみる。 最近出た EB CLI 3系はコマンドが2系から大幅に変更されている。 現時点(2015/2/12)では3系…

Rails でリクエストの HTTP ヘッダを取得してログに出力する

環境:rails 4.2.0 Rails でリクエストの HTTP ヘッダはrequest.headersから取得できる。 すべてログに出力するなら # すべてログに出力する request.headers.sort.map { |k, v| logger.info "#{k}:#{v}" } 個別に取得するなら # ユーザーエージェントを取得…

ClearDB に文字コード utf8mb4 で保存する

環境: ruby: 2.2.0 Rails: 4.1.8 ClearDB(MySQL): 5.5.40 Heroku の MySQL アドオン「ClearDB」で文字コードutf8mb4で保存する方法についてメモ。 Rails + MySQL でutf8mb4を扱う方法は以前書いた。 Rails4 で MySQL の utf8mb4 を扱う - xykのブログ Clear…

Rails4 でカウンター用カラムをインクリメントする

環境: rails (4.1.6) activerecord (4.1.6) mysql2 (0.3.16) Rails4 というか Rails でカウンター用カラムをインクリメントする簡単な方法がないか調べてみた。 やりたいこと MySQL だったら以下のような SQL を発行したい。 update books set reviews_coun…

Rails4 で MySQL の utf8mb4 を扱う

環境: MySQL Server version: 5.6.19 Rails 4.1.5 iPhone の絵文字を MySQL に登録しようとしたらMysql2::Error: Incorrect string value:...というエラーが出た。3バイトに収まらない4バイトUTF-8を扱うには MySQL 5.5.3 以上でキャラクタセットをutf8mb4…

Rails で UUID を作成する

環境:Rails4.1.6 Rails では SecureRandom が require なしで使えたのでSecureRandom.uuidで作成できた。 @user = User.new do |u| u.uuid = SecureRandom.uuid end あとはuuidtoolsというパッケージを使うやり方もあった。 Gemfile に gem 'uuidtools' を…

Heroku で Rails4 + MySQL を動かす

環境は Mac。 Heroku に Rails4 + MySQL で動くアプリをデプロイする。 DB はデフォルトでは PostgreSQL が使われるが、 MySQL が使えるアドオンの「ClearDB」を導入する。 事前準備 Heroku アカウントは取得済み。 「heroku toolbelt」のインストール。home…