naichi's lab

3日後の自分(他人)への書き置き

【Rails4】RSpecの導入方法

毎回忘れるので自分用にメモ Gem group :development, :test do gem 'rspec-rails' end $ bundle install インストール $ bundle exec rails g rspec:install Running via Spring preloader in process 25125 create .rspec create spec create spec/spec_he…

【Rails4】heroku上でrakeを定期実行する

昨日の続き。 下記記事で作ったrakeタスクを、heroku上で定期実行するように設定してみる。 blog.naichilab.com Heroku Scheduler herokuはschedulerっていうアドオンを提供してくれてる。 ほとんど公式を見ればわかると思う。 devcenter.heroku.com 使い方 …

【Rails4】DB(ActiveRecord)へ書き込みを行うrakeタスクの作成し、heroku上で実行

突然関係ないですけどrakeって熊手のことだったんですね。 さて簡単なクローラ&データ閲覧サイト作れないかと色々試してます。 前回の記事でrails newからherokuへのデプロイはできました。 次は定期実行するためのタスクを作ってみます。 独自のrakeタスク…

【Rails4】rails newからherokuでの実行まで

>>> Railsアプリの新規作成からherokuでの実行までを自分用にメモ Rails5はまだよく分かってないのでとりあえずRails4で。 環境 Mac OS X El Capitan 10.11.5 Rails 4.2.2 Ruby(rbenv) 2.2.2 手順 Railsプロジェクトの作成まで フォルダの作成と初期化 $ mkd…

【SEO、Google Analytics】サイト公開して60日ぐらいなのでどこからアクセスが来てるのか調べてみた。

SEO

Google Analyticsを使って、作成したサイト「unityroom」のアクセスを調べてみました。公開して60日のアクセス数なんかも載せています。

作業進まないのでTwitter見れなくするChrome拡張を使ってみた【StayFocusd】

題名の通り。 開発しようとしてPCの前に座ったのに、Twitter見てて30分経過とか、、、 Twitterは通勤時間に流し読むぐらいがちょうどいいと思う。 だけど見ちゃう。 自制心なさすぎなので抑制するためのChrome拡張を使ってみました。 インストール ここから…

2016.06.18 第7回大阪Jenkins勉強会 に参加してきた

ちょっと大阪までおでかけして勉強会に参加してきました。内容を軽くメモ。 長いので感想を先に。 Jenkinsすごい進化してる! Pipeline 使わないと損! 新しいBlue ocean UIめっちゃ使いたい! 目次 目次 参加した勉強会 はじめに 13:45 - 30min 大畔祐輝さ…

【Rails】nginxリバースプロキシを利用したHTTPSサイトで、HTTP混在エラー(Mixed Content)が表示される(調査中)

表題の通りのエラーが出たので対応内容メモ。 環境 サーバーは2台 1台はnginxリバースプロキシ用Webサーバー httpsアクセスを受け付け、ローカルネットワーク上のrailsにhttpで転送してる もう1台はrailsアプリケーション用(DBとか含む) nginxからhttp…

【CentOS7】ImageMagick/GraphicsMagick is not installed

Rails + CarrierWave + MiniMagick で画像アップロードしてるんだけどStaging環境で動かしたらエラーした。 環境 CentOS7 Rails 4.2.2 carrierwave 0.10.0 CarrierWaveのエラーログを出力する設定 最初CarrierWaveのエラーがどのログみても出てなくてかなり…

【Rails4、SQLite】Cannot add a NOT NULL column with default value NULL

こつこつRailsやってます。 今日はこんなエラーに遭遇。 エラー SQLite3を使う環境でrake db:migrateしたらこんなエラー。 == 20160105034748 AddColumnToUser: migrating ================================== -- add_column(:users, :permalink, :string, {…

【Mac】日本語入力状態から英数キーを2回押下しても英数字に変換できなくなった

Mac

Macではかな入力状態のままで「へっぉ」とか入力しても、[英数]キーを2連打すれば「hello」に変換できたんだよね。 これがいつからか効かなくなった。超不便。 EL Capitanにあげてからかな? 環境 OS X El Capitan 10.11.2 原因 これらがあるとダメだった。…

【CentOS7】KingSSLの証明書を取得してNginxに設定するまでの手順

Railsのリバースプロキシとしてnginxを利用している。 そこにSSL証明書をインストールする手順をメモ。 SSL証明書はKing SSLっていうところで買うことにした。安かったし。 購入したコモンネームはfoobar.hogehoge.comってことにしてまとめておく。 環境 Cen…

Ruby on Rails、Controllerからhelpersフォルダのクラスを使おうとするとuninitialized constantが発生する。

Devise+OmniAuthでQiita風の複数プロバイダ認証 - Qiita ここを参考にomniauthログインを実装してる。 deviseは使ってないので若干違うけど。 やりたいこと Railsチュートリアルを真似て作ったSessions#createをomniauthのコールバックで書き換える。 実装内…

Ruby on Rails、CarrierWave + fog で412 Precondition Failedエラー

CarrierWave + fogでConoHaのオブジェクトストレージへファイルをアップロードする処理を作ってて知らぬ間にエラーしてた。 さっさとテスト書けよって感じですが書き方分からなくて後回しにしてます。 とりあえず解決方法だけメモ。30分ぐらい悩んだ… エラー…

Ruby on Rails、RSpecを使ってコントローラのテストを書いてみる その2 ちょっとDRY化

はじめに 下記記事の続きです。 blog.naichilab.com よく分からないので教えて下さい〜と呟いたらRails界隈で超有名な伊藤淳一さんからのコメントいただけて感動しました。 @naichilab さん、こんにちは。ざーっとブログを読ませてもらいましたが、こんな感…

Ruby on Rails、RSpecを使ってコントローラのテストを書いてみる

Ruby on Railsを使って以前作ったサイトの再構築をしてます。 色々調べながらRSpecでコントローラのテストを書いてみたので手順をメモ。 Rails、RSpecともに初心者なので間違ってたらどんどん指摘ください。 環境 テスト対象 RSpecのインストール コントロー…

Rails、form_forが勝手に吐き出す<div class="field_with_errors"></div>を制御する

RailsでWebサイトを作ってるんだけどフォームのバリデーション時にレイアウトが崩れて困った。 原因はform_forが勝手に出力する<div class="field_with_errors"></div>ってことがわかったので対応方法をメモ。 環境 Rails 4.2.2 事の発端 こんな感じのページがあって、 そのまま送信すると当然バリ…

capistranoを使ってunicorn起動前に環境変数をセットする

どうやるのが最善というか一般的なのかまだ分かってない。とりあえず動いた方法を自分用メモ。 やりたいこと。 blog.naichilab.com この記事で行った下記コマンドをcapistranoでのデプロイ時に自動で行いたい。 $export SECRET_KEY_BASE=`bundle exec rake s…

nginx+unicorn、ソケットファイルを/tmp上に置くとNo such file or directoryになる

nginx+unicornでrailsを動かそうとしてる。 unicornの起動はできたっぽいけどnginx側でエラーする。 症状まとめ 環境 centos7 unicorn v5.0.1 nginx/1.8.0 /var/log/nginx/error.log 2015/12/27 22:53:49 [crit] 30088#0: *109 connect() to unix:/tmp/unico…

capistrano3の実行方法

自分用メモ 定義されたタスクの列挙 $ bundle exec cap production deploy -T 定義されたタスクの依存関係を列挙 $ bundle exec cap production deploy --prereqs デプロイの実行手順を確認 $ bundle exec cap production deploy --dry-run --trace デプロイ…

capistrano3、--traceオプションで実行するタスクを表示する

capistrano3、実行するとズラズラとログが出るんだけどどのタスクを実行してるのかわかりづらい。 --trace引数をつけると表示できるみたいなので試してみた。 --trace $ bundle exec cap production deploy --trace ** Invoke production (first_time) ** Ex…

capistrano3、Rails関係Gemのタスク依存関係を列挙してみる

自分用メモ Capfileにいくつかのgemをrequireしたときに追加されるタスクのメモ 別に何するわけじゃなくcapistrano3を知るために見てみただけ。 使ったCapfile Capfile [A]require 'capistrano/setup' [B]require 'capistrano/deploy' [C]require 'capistran…

capistrano3、--prereqsでタスクの依存関係を列挙する

何が実行されているのか全然わからない capistrano、cap production deploy するとずらずらとログ出ますよね。 すごいですね。 Webの情報をかき集めてとりあえず動くところまで設定してみたけど何が起きてるか全然分からない。 正確に言うとちゃんと読めば …

capistrano3、-Tで定義済みタスクを一覧表示する

自分用メモ 定義済みタスクを列挙する % bundle exec cap production -T -Tをつけるといいみたい。 % bundle exec cap production -T cap bundler:install # Install the current Bundler environment cap bundler:map_bins # Maps all binaries to use `bun…

An error occurred while installing pg (0.17.1), and Bundler cannot continue.

capistranoで発行しようとしてbundle install でエラー。 どハマりしたのでメモ。 環境 CentOS Linux release 7.1.1503 (Core) エラー内容 Tasks: TOP => deploy:updated => bundler:install (See full trace by running task with --trace) The deploy has …

【Ruby on Rails】環境変数エラー

まだまだエラーと格闘。 今度は環境変数エラー。 もう少しで動く気がする・・・ 環境 CentOS Linux release 7.1.1503 (Core) unicorn v5.0.1 Railsが環境変数エラーしてる Unicornのログ E, [2015-12-05T21:56:47.293845 #21753] ERROR -- : app error: Miss…

unicornの起動と終了

環境 CentOS Linux release 7.1.1503 (Core) unicorn v5.0.1 Unicorn起動 Railsフォルダで $ bundle exec unicorn_rails -c config/unicorn.rb -E production -D Unicorn起動確認 $ ps -ef | grep unicorn unityro+ 8575 1 0 17:18 ? 00:00:01 unicorn_rails…

unicorn起動時にPostgreSQL接続エラー【Ident authentication failed for user (PG::ConnectionBad)】

unicorn起動しようとしてPostgreSQL接続エラーが出たので自分用メモ 環境 CentOS Linux release 7.1.1503 (Core) unicorn v5.0.1 PostgreSQL 9.2.14 エラー内容 Unicorn起動してもエラー $ bundle exec unicorn_rails -c config/unicorn.rb -E production -D…

Rails、production環境のActionMailerでNet::ReadTimeout

ムームーメール config/environments/production.rb メールが届かない production.log config/environments/production.rbにtls: trueを追加してみる 届いた! ムームーメール ムームードメインで unityroom.com ドメインを買ったんだけど、ムームーメールっ…

Rails、production実行時、assetsフォルダ以下がno route matchesでアクセス出来ない

productionで実行してみた 環境変数エラー CSSが無い… 動いた まとめ 宿題 productionで実行してみた Railsチュートリアル、第3版でCloud9を使うようになったけど 勉強がてらローカル環境(RubyMine)で作り直してる。 で、10章まで終わってproduction環境で…