yamotonalds's blog

Webアプリケーション開発における技術メモが中心です。たまにWebサービス、興味を持ったデバイス、自作PCに関する話題もあるかも。Amazon好きなのでAmazon.co.jpアソシエイト使ってます。

移転します

このブログはQiitaに移転しようと思います。 今後の更新はこちらになる予定です。

ActiveAdminを使用する場合はassetの汚染に注意

ActiveAdmin を使用すると簡単にデータの管理画面が作れますがデフォルトだとasset周りで問題が発生しやすいのでメモしておきます。 使用したバージョン rails 4.0.2 activeadmin 1.0.0.pre 発生した問題 管理画面以外の画面にもActiveAdminのcssが読み込ま…

Chromeでダイアログが開いていると全画面表示の切り替えができない

Macを再起動したら再起動前にフルスクリーンで開いてたchromeのウィンドウがフルスクリーン解除できなくなった。 原因は開いてるタブの中にダイアログを開いているものがあったから。ダイアログを閉じるとフルスクリーンを切り替えられる状態に戻った。 ショ…

rspec-rails3.0でのControllerテストの書き方

Controllerテストの書き方のメモ。 通常のページ require 'spec_helper' describe HogesController do describe "GET show" do let(:request) { get :show, id: 1 } subject do request end it { should be_ok } it { should render_template "show" } descr…

foremanでターミナルウィンドウを減らす

railsでWebアプリを作っていると実行させっぱなしにしておく必要があるコマンドがいくつかある。 例えば以下のようなもの。 rails server guard 作りがマズい(粗い)とポートを変えてWebサーバを複数立ち上げたりすることもある。 今まではその数だけターミ…

SSL証明書の更新

RapidSSLからSSL証明書期限切れ90日前の通知が来たのでギリギリになって焦らないように早めに更新作業を行うことにした。 Netowl上での作業 新規取得手順については以下の記事に書いたが、「新規」という文言が「更新」に変わり入力項目が減ったくらいで更新…

rspec-rails3.0でのViewテストの書き方

rspec-rails3.0でのViewテストの書き方のメモ。 まずは公式に目を通しとくべき。 Upgrade - RSpec Rails - RSpec - Relish view spec - View specs - RSpec Rails - RSpec - Relish 重なる内容もあるけど個人的に気になった点を以下に記述する。 Capybaraのm…

i18n-jsを使っているRailsアプリケーションがHerokuにpush失敗する

Railsアプリケーションでi18n-jsを使ってみたところ、Herokuにpushする際にエラーが発生した。 ログを見たところ rake assets:precompile に失敗している模様。 発生したバージョンは以下の通り。 rails 4.0.2 i18n-js 2.1.2 ちゃんと解決しているのかは不明…

502 Bad Gatewayがセッションクリアで直った

よく見るサイトがある日「502 Bad Gateway」が発生するようになって見れなくなった。 しばらく時間をおいたりリロードしたりしても効果無しだったが、セッションクリアすると見れるようになった(おそらくブラウザ再起動でもOK)。 Sticky Session使ってて割…

LIAN LIのV358でPC組んでみた

展開型キューブケース、LIAN LI PC-V358シリーズでPCを組んだのでその感想など。 経緯 Windows PCを買い替えにあたり、次のはコンパクトなキューブPCにすることにした。 ただ、自作は普通のケースの物を数回した程度なのであまり中が狭いとリスクが高く、3D…

送信したメールの内容が確認できるLetter Openerが便利

メール送信が必要な機能を実装しているときに Letter Opener というライブラリを見つけた。 今までは開発中にメール送信が行われると自分個人のGmailから自分のメールアドレスに送信されるようにSMTP設定等を設定していたが、Letter Openerを使うと送信され…

ActiveMerchantでPayPalの定期支払い

PayPalの定期支払い(Recurring Payments)を実装したのだけれど嵌って大変だったのでメモ。 前提条件 activemerchant (1.34.0) 処理の流れ 公式ページを見るのが確実だった。 Integrating Recurring Payments | PayPal Developer APIの呼び出し順としては、 S…

ElasticBeanstalkで大きめのデータをPOSTするとInternalServerError(500)が発生する

AWSのElastic BeanstalkでRubyのアプリケーションを動かしていたところ、ある程度大きなデータ(リクエストのContent-Lengthが大きい)をPOSTするとInternal Server Error (HTTPエラーコード 500)になる不具合が発生した。 アプリケーションログにはエラーは…

OmniauthでTwitter認証(OAuth認証)

Twitterによる外部認証をやってみることにした。 Deviseを使っているのでOmniauthで楽にできそう。 以下のページを参考にした。 OmniAuth: Overview · plataformatec/devise Wiki · GitHub ASCIIcasts - “Episode 235 - OmniAuth Part 1” ASCIIcasts - “Epis…

CKEditor4のダイアログの表示がバグる

CKEditor4を使って画面を作っていたらいつしかダイアログの表示がバグるようになった。 ダイアログが完全に表示されず半分ほどで表示が止まってしまったり、後ろのレイヤーだけが表示されたりする。 ウィンドウサイズを変更するとその直後は描画されるので描…

rails consoleで日本語を使えるようにする

ちょっとしたコードの確認等でrails consoleを使うことが多いのだけれど、日本語を入力すると勝手に文字コードに変換されてしまっていた。 例えばコンソールで全角スペースを入力すると「U+FFE3」と表示される*1。 今まではそんなにコンソールで日本語を使わ…

ActiveMerchantでPayPal決済

PayPal決済を導入したのでその作業メモ。 各バージョンは以下の通り。 rails 3.2.13 activemerchant 1.34.0 vcr 2.5.0 最初、ウェブペイメントスタンダードが楽そうに見えたのだけれど決済後すぐに処理を行う必要があったのでエクスプレスチェックアウトに変…

deviseで確認メール無しでユーザーを作成する

deviseを使っていて :confirmable にしているとユーザー作成時に確認メールが飛ぶ。 一般ユーザーが新規登録画面から登録する場合はいいんだけど、管理者等が管理画面なりコマンドなりでユーザーを作成するときには確認メールは飛んでほしくない。 調べてみ…

AWS Elastic Beanstalkで環境変数を追加する

Webアプリケーションは他のサービスと連携することが多い。 メーラー、ストレージ、決済等、何らかの他サービスを使うだろう。 他サービスを使うには大抵そのサービスのアカウント情報や接続先情報が必要になるが、それらの情報をソースコードにハードコーデ…

deviseでlocaleが維持されない場合があったので対処

ユーザー認証にdeviseを使っているのだけれどlocaleパラメーターがデフォルトのlocaleに戻ってしまう場合があった。 具体的には既にログインしている状態でsign_in,sign_upページに遷移しようとした場合。リダイレクトされて「You are already signed in.」…

deviseでユーザーが自分自身のユーザーアカウントを削除できないようにする

Railsでユーザー認証を行うのにdeviseを使うことにした。 導入方法は公式GitHubに書いてる通り簡単だし日本語で説明しているブログもいくつかあったので割愛。 で、sign_up, sign_in, sign_outとかが簡単にできるようになったんだけどsign_upで作成されたユ…

CSRの作成とSSL証明書の取得

ssl

ドメイン取得ついでに近いうちに必要になるSSL証明書の取得も行うことにした。 RapidSSLにしようかと思ってたが調べてみるとSSLボックスというサービスがあり、実質RapidSSLの証明書が買えて直接買うより安かった(年間2100円)。 ワイルドカード証明書は高…

GoogleAppsが無料で使えないのでWindowsLiveアドミンセンターで代用してみる

独自ドメインのメールをGmailで使いたいけどGoogle Appsが無料で使えないのでWindows Live アドミンセンターを使ってみよう、というのが今回の趣旨。 前提条件 Gmailアカウントを持っている。 AWSアカウントを持っていてRoute53が使用できる。 ドメインを取…

改めてブログを始めるてみる

また三日坊主かもしれないけどブログを始めてみる。 今回は日記や技術メモを書くつもりなので長続きするといいなぁ。 自己紹介 ハンドルネーム: yamotonalds Twitter: https://twitter.com/yamotonalds 経歴: Web系のSIerを数年経験の後、友人たちとWebサー…