とりとめも

藻類が学んだり感じたりしたことを未来の自分のために書き留めるところ

Wheneverを使ってRailsタスクを定期実行する

はじめに

Railsタスクでバッチ処理を動かしたいと思いました。
要するにcronでRailsタスクをコマンド実行したかったのですが、Railsを介するcrontabを簡単に設定・管理できる「Whenever」というgemがあるそうです。

というわけで、試してみたメモです。

  • はじめに
  • 環境
  • タスクを作る
    • タスクファイルは何処にあるのか
    • 置き場所はlib/tasksが良さそう?
    • タスクのパスをオートロードにする
    • 手動実行してみる
  • Wheneverの使い方
    • gemインストー
    • Wheneverの設定ファイル作成
    • schedule.rbの編集
    • crontabへの反映
    • (補足と注意)wheneverコマンドのオプション
続きを読む

Rails+unicorn+Nginxの構成で初めて本番環境に移行したけどビューが正しく表示されないときにやったこと2つ

はじめに

タイトル長い!

初めてRailsアプリを作って、本番用のサーバーにデプロイして、WebサーバーやDBなどの諸々の設定も終えて、さあブラウザからアクセスしてみよう・・・と試したものの、ブラウザの表示が何やらおかしい。

そんな、先日「えもったー」という練習用アプリを作った際に遭遇したトラブルについて、原因と対応を書いていきます。

発生しうるトラブルは無数にあるでしょうし、今日書く2つの問題についても、以下に書くものが原因とは限らないと思います。
発生した事象に対して問題の切り分けはせず、「こうしたら直ったことあるよ!」という即席の対応策をとりあえず書き留めるのが今日の記事の目的です。

  • はじめに
  • 環境
  • 事象1:画面が真っ白になる
    • 状況
    • 原因:secret_key_baseの設定漏れ
    • 対応:secret_key_baseを設定する
  • 事象2:レイアウトが崩れる(CSSが効かない)
    • 状況
    • 原因:プリコンパイル後のCSSが参照できていない
    • 対応:nginxに/assetsの参照先を設定する
  • おわりに
続きを読む

RailsでTwitterのユーザー情報と連携して認証を行う

はじめに

Ruby on RailsTwitterのユーザー情報を使用して認証を行う方法についてまとめます。

前回の記事でネタにした自作の練習アプリ「えもったー」で使った方法です。

よくあるアプリごとのユーザー登録・管理機能は用意せず、Twitterのユーザー情報でログイン・ログアウトを行う実装となります。
Twitter登録してないとログインできないし、Twitter登録していれば、何も追加の情報(パスワード等)は無しでログインできる。シンプル。

基本的な処理の流れとしては、gem「omniauth-twitter」でtwitter APIにアクセスして、返ってきたユーザー情報をsession変数に格納するというものです。

・・・omniauth-twitterのドキュメントに従ってるだけといえばそれまでなのですが。

  • はじめに
  • 環境
  • 下準備
    • Twitter APIのアプリケーション登録をする
    • API KEYを確認する
    • API KEYをアプリに記述する
    • OmniAuth設定ファイルの準備
  • 作っていく
    • gemの準備
    • 認証用のコントローラとルーティングを設定する
      • ルーティング
      • コントローラ作る
    • userモデルを作る
    • セッションとモデルに情報を保管する
      • Userモデル
      • コントローラ
  • まとめ
続きを読む

初心者がVPSを借りてRailsを動かした振り返り

はじめに

ちょっとご無沙汰なブログです。こんにちは。
忘れていたわけではないのですが、しばらくブログをお休みしてRailsの勉強をしていました。

このたび練習用に作ったRailsアプリを本番公開したので、ここまでの流れを振り返っておきます。

ひとまず今回はここまでの過程で意識していたことや、やってみて初めて見えた課題や、今後やりたいことなど、「考えてること」レベルで整理しようと思います。

あまり具体的な話じゃないので、自分向けの記事です。技術ブログというより日記ですね。

技術的に学んだ個別の事柄については、今後tips的な形で記事にしたいです。

  • はじめに
  • どんなアプリ?
  • 大まかなスケジュール
  • 事前に考えていた課題
    • 課題:VPS借りる
      • VPSはConoHaを選びました
    • 課題:5月いっぱいで終わりにする
    • 課題:Twitterとの連携機能を実装する
  • 今後の課題
    • 本番環境の構築やデプロイの方法を整理・自動化する
    • テストコードを書く
    • 設計する
    • デザインのお勉強
  • おわりに
続きを読む

Vagrantを試してみた

はじめに

開発環境構築に便利とよく耳にするVagrantを使ってみました。 
その導入・設定メモです。

最後に書いていますが、今回やった範囲ではVagrantの良い点はあまり体験できませんでした。
確かな目的と、構築の自動化に関する少しだけの予備知識が必要そうです。
ひとまず今回は、Vagrantの使用を体験してみたメモとなっています。

続きを読む

CentOS7にRailsとUnicornとNginxをインストールして連携させる(あとMySQLも)

はじめに

Ruby on Railsをインストールして、さらにUnicornとNginxもインストールして、RailsのWebサーバーの設定をNginxに切り替えます。
それから、以前の記事でインストールしたMySQLもついでに使えるようにします。

また前提として、前回の記事で行った通り、rubyやrbenvやgitの導入までは済んでいるものとします。

  • はじめに
  • バージョン
    • 導入済
    • 今回入れる
  • NginxとUnicornって何
  • Ruby on Rails
  • Unicorn
  • Nginx
    • インストール
    • 初期設定
      • デフォルトの設定ファイル
      • 設定ファイルを作る
      • (補足)ソケットファイル配置場所に関するあれこれ
      • Nginxの起動と動作確認
      • (補足)nginx.confについて
  • MySQL
    • インストール
    • RailsアプリでMySQLを使う
      • 新規作成アプリでMySQLを使う場合
      • SQLite3から切り替える場合
        • ①Gemfileを書き換える
        • ②config/database.ymlを編集する
      • MySQL連携用の初期設定
        • database.ymlの編集
        • MySQLのユーザー作成・権限設定
        • DB作成
  • 参考リンク
続きを読む

CentOS7にRubyを入れたりgitを入れたりした

はじめに

タイトルの通り、CentOS7にRubyを入れたりgitを入れたりしました。

前回の記事yumについて勉強したので、Rubyyum install Rubyで入れられることは分かっていました。
しかしrbenvを使ってインストールする場合には、まずgitを入れる必要があるみたいでした。
というわけで、Rubyを入れるためにrbenvを入れるためにgitを入れたりした流れのメモです。

  • はじめに
  • 環境
    • 導入済み
    • 入れるもの
  • 本編の前に
    • 私の前提知識
    • Rubyyumで入れる場合
  • 大まかな流れ
  • Ruby導入準備
    • rbenvを入れるにはgitが必要
    • gitのインストール
    • rbenvをgit cloneする
    • rbenvの利用環境設定
    • ruby-buildインストール
    • Rubyの依存パッケージを入れる
  • Ruby
  • おわりに
  • 参考にさせて頂きました。
続きを読む