ウェブサービスを作っています。

エラー監視サービス「Rollbar」を使う

エラー監視サービス「Rollbar」の設定メモです。

同種のサービスと比べて、無料なのにサイト登録数が無制限というメリットがあります。

エラー発生数によって課金されますが、監視頻度を設定することで、課金を抑えることができます。

タイムゾーンの設定

プロジェクトの Settings - General のページから。

Timezone を Asia - Tokyo に変更。Description も一応設定しておきます。

f:id:milk1000cc:20150208102354p:plain

エラー監視頻度の設定

Settings - Project Access Tokens のページから。

例えば、post_server_item を 10 items every 1 minute にします。

短期間に同じエラーが大量発生して、課金されてしまう可能性を下げることができます。

f:id:milk1000cc:20150208101627p:plain

通知の設定

Settings - Notifications のページから。

Email で、3 ルールだけ適用しています。

f:id:milk1000cc:20150208101628p:plain

CarrierWave で ConoHa オブジェクトストレージを使う

転送量無料で 100GB あたり 450 円/月という ConoHa オブジェクトストレージCarrierWave から使う方法です。

公開設定にすることで、画像サーバとして使うことができます。

CarrierWave のバージョンは 0.10.0、fog のバージョンは 1.24.0 で確認しています。

公開設定でコンテナを作成する

まず、公開設定でコンテナを作成します。

ConoHa のコントロールパネルからは公開設定のコンテナを作成できませんので、プログラムで作成します。

必要な情報は、コントロールパネルの「アカウント - API」( https://cp.conoha.jp/Account/API/ ) に掲載されています。

require 'fog'

CONOHA_TENANT_NAME = (テナント名)
CONOHA_USERNAME = (ユーザー名)
CONOHA_API_PASSWORD = (API パスワード)
CONOHA_API_AUTH_URL = (API Auth URL)
CONOHA_CONTAINER_NAME = (作成するコンテナ名)

service = Fog::Storage.new(
  provider: 'OpenStack',
  openstack_tenant: CONOHA_TENANT_NAME,
  openstack_username: CONOHA_USERNAME,
  openstack_api_key: CONOHA_API_PASSWORD,
  openstack_auth_url: CONOHA_API_AUTH_URL + '/tokens',
)

service.put_container(CONOHA_CONTAINER_NAME,
  public: true, headers: { 'X-Web-Mode' => 'true' })

CarrierWave の設定

Gemfile

gem 'carrierwave'
gem 'fog'
gem 'dotenv-rails'

config/initializers/carrierwave.rb

CarrierWave.configure do |config|
  if Rails.env.production?
    config.fog_credentials = {
      provider: 'OpenStack',
      openstack_tenant: ENV['CONOHA_TENANT_NAME'],
      openstack_username: ENV['CONOHA_USERNAME'],
      openstack_api_key: ENV['CONOHA_API_PASSWORD'],
      openstack_auth_url: ENV['CONOHA_API_AUTH_URL'] + '/tokens',
    }
    config.fog_directory = ENV['CONOHA_CONTAINER_NAME']
    config.storage :fog
    config.asset_host = ENV['CONOHA_ASSET_HOST'] + '/' +
      ENV['CONOHA_CONTAINER_NAME']
  else
    config.storage :file
  end
end

.env

CONOHA_TENANT_NAME=(テナント名)
CONOHA_USERNAME=(ユーザー名)
CONOHA_API_PASSWORD=(API パスワード)
CONOHA_API_AUTH_URL=(API Auth URL)
CONOHA_CONTAINER_NAME=(コンテナ名)
CONOHA_ASSET_HOST=(オブジェクトストレージエンドポイント)

以上で、production 環境のときは ConoHa オブジェクトストレージにデータが保存されます。

Sass でレスポンシブデザイン

@mixin sp-view
  @media only screen and (max-width: 767px)
    @content

こういう mixin をつくっておくと、

.hoge
  @include sp-view
    text-align: center

で、

@media only screen and (max-width: 767px) {
  .hoge {
    text-align: center;
  }
}

みたいに展開されて便利。

ネイキッドドメイン + Amazon S3 Static Website Hosting を、VALUE DOMAIN の DNS で実現する

会社のサイト (userfirst.co.jp) をリニューアルして、Amazon S3 で運用するようにしました。

Middleman で作って、middleman-s3_sync でアップロードしています。

基本的な方法は、以下の記事が大変参考になりました。

Middlemanで生成したサイトをAmazon S3で運用する // qnyp blog

ネイキッドドメインは Route53 が必要との噂でしたが、なんかバリュードメインDNS でもできました。

追記(2014/10/24 15:29):

この記事の方法を使うと、メール (xxx@example.co.jp) が使えなくなりますので、ご注意ください。

メールと併用する場合は、Gehirn DNS の Apex Alias を使うのが良いと思われます。

Gehirn DNS、ホスト名無しのドメインにエイリアス機能をサポート | Gehirn News(ゲヒルンニュース)

追記ここまで

cname @ example.co.jp.s3-website-ap-northeast-1.amazonaws.com.

(最後にドットが必要です)

www つきのバケット (www.example.co.jp) も作って、Static Website Hosting の設定を Redirect all requests to another host name にすれば、ネイキッドドメインに 301 リダイレクトできます。

www つきバケットに対する、VALUE DOMAIN の DNS 設定は以下のとおりです。

cname www www.example.co.jp.s3-website-ap-northeast-1.amazonaws.com.

Middleman で Pow を使う

試した Middleman のバージョンは 3.3.6 です。

プロジェクトディレクトリに config.ru を置く

require 'rubygems'
require 'middleman/rack'

run Middleman.server

Pow の設定

ln -s ~/middleman-project ~/.pow/middleman-project

基本的にはこれだけで良いのですが、なんか更新しても反映されないので、常に完全リロードするようにする

cd ~/middleman-project
mkdir tmp
touch tmp/always_restart.txt

ちょっと遅いけど、これで OK です。

もっと良い方法がありましたら、教えてください。

新生銀行に自動ログインするユーザースクリプト 2014年夏バージョン

追記(2016/06/29 18:10):

以下の方法は動かなくなったため、新しい記事を参照してください。

追記ここまで

Chrome 36 で確認しています。 Chrome や新生銀行の仕様変更で動かなくなる可能性があります。

こちらを参考にさせていただきました。ありがとうございます。 https://github.com/yoko/userscripts/blob/master/shinsei_power_direct_autofill.user.js

新生銀行に自動ログインするユーザースクリプト 2014年夏バージョン