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

2014-01-01から1年間の記事一覧

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

転送量無料で 100GB あたり 450 円/月という ConoHa オブジェクトストレージ を CarrierWave から使う方法です。 公開設定にすることで、画像サーバとして使うことができます。 CarrierWave のバージョンは 0.10.0、fog のバージョンは 1.24.0 で確認してい…

jpmobile で、スマホビューが表示されるかどうかをコントローラから調べる

jpmobile のバージョン 4.1.2 で確認しています。 lookup_context.mobile.include?('smart_phone')

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 S…

Middleman で Pow を使う

試した Middleman のバージョンは 3.3.6 です。 プロジェクトディレクトリに config.ru を置く require 'rubygems' require 'middleman/rack' run Middleman.server Pow の設定 ln -s ~/middleman-project ~/.pow/middleman-project 基本的にはこれだけで良…

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

追記(2016/06/29 18:10): 以下の方法は動かなくなったため、新しい記事を参照してください。 追記ここまで Chrome 36 で確認しています。 Chrome や新生銀行の仕様変更で動かなくなる可能性があります。 こちらを参考にさせていただきました。ありがとうござ…

RSpec で sleep を stub する

ruby - RSpec: stubbing Kernel::sleep? - Stack Overflow rspecでsleepをスタブする方法 - てへぺろ力 上記の方法でうまくいかない、ライブラリ内部などで sleep されている場合を考えてみました。 spec/support/stub_sleep.rb module Kernel def sleep_wit…

image_tag の alt をデフォルト nil にする

ApplicationHelper に image_alt メソッドを追加すれば OK。 Rails 4.1.4 で確認してます。 module ApplicationHelper def image_alt(src) nil end end

Sunspot の search ブロックをメソッドに分割する

Sunspot で複雑な検索を行う場合、検索ブロックが長くなることがあります。 Post.search(include: [:author, :comments]) do # complex1 if complex_conditions1 with :blog_id, 1 else with(:published_at).less_than Time.now end # complex2 if complex_c…

Trigram という gem を作りました

2 つの文字列の類似度を計算する Trigram という gem を作りました。 https://github.com/milk1000cc/trigram Trigram.compare 'he is genius', 'he is genius' # => 1 Trigram.compare 'he is genius', 'he is very genius' # => 0.5625 Trigram.compare 'h…

RSpec + VCR で HTTP テストデータを簡単に作成する

HTTP リクエストをスタブ化する WebMock というライブラリがあります。 これは便利なのですが、リクエストの数が増えてくると、テストデータの管理が大変な場合があります。 VCR を使うと、自動でテストデータを作成してくれて便利です。 参考: VCRを使うとR…

CarrierWave で Amazon S3 にアップロードする

img.example.com から配信 production 環境のみ という前提です。 CarrierWave のバージョンは 0.10.0 です。 Gemfile gem 'carrierwave' gem 'fog' gem 'dotenv-rails' config/initializers/carrierwave.rb CarrierWave.configure do |config| if Rails.env…

登録後からログインしたままにする Devise の設定

Devise (v3.2.2) で会員登録した後、ブラウザを閉じるとログアウト状態になってしまいます。 これを回避し、会員登録の直後から、常にログインしたままとする方法を考えてみました。 app/controllers/users/registrations_controller.rb class Users::Regist…

さくらのVPSでカスタムOSインストールができないとき

さくらの VPS で、カスタム OS インストールをしようとしたのですが、VNC コンソールが立ち上がりませんでした。 原因は、Java のセキュリティ設定でした。 以下、Mac の場合ですが、Windows などでも同様の手順で対処できると思います。 対処方法 最新版の …

Chef Solo 基本操作まとめ

初回の操作 必要ならば Virtualbox, Vagrant をインストールしておく。 gem インストール gem install chef # chef-solo, knife コマンドが入る knife configure # 空欄で OK gem install knife-solo # knife solo が使えるようになる レポジトリ作成 cd ~/d…

Chef でロケールを設定するレシピ

Debian / Ubuntu 用です。日本語に変えてみます。 bash 'locale-gen' do code 'locale-gen ja_JP.UTF-8' end bash 'update-locale' do code 'update-locale --reset LANG=ja_JP.UTF-8' end

Chef でタイムゾーンを設定するレシピ

Debian / Ubuntu 用です。 file '/etc/timezone' do content 'Asia/Tokyo' end bash 'update tzdata' do code 'dpkg-reconfigure -f noninteractive tzdata' end 参考 winhamwr/chef-timezone · GitHub

はてなブログに移行しました

何となく変えてみました。新しいものはいいですね。 Zen for Hatena Blog というテーマを使わせていただいています。 記事下のバナー広告がどうも気に入らなかったので、お金を払って広告非表示にしました。 今後とも、よろしくお願いいたします。