toshizou-Rails

今週の進捗(22/1/17 ~ /22/1/23)

今週の計画

今週計画したことは以下の通り。

  • 旧アプリをAWSからHerokuへ移行
  • 新アプリの開発(Rails x Nuxt.js環境の構築, )
  • メンターのアプリ開発の手伝い(SlackAPIとActiveJobを使用した昨日の実装)

今週やったこと

旧アプリをAWSからHerokuへ移行

参考になるサイトが比較的速く見つかったのですぐ終わるかと思ったが、微妙に違ったりして本当に予想外に時間がかかってしまった。
完了するのに3日以上もかかってしまった...。

新アプリの開発

以前作成したアプリがあまりにも使いづらいとのことだったので全く別の小さなアプリをポートフォリオとして作成することにした。
ただ作成というよりも計画立案、環境構築で終わった。

  • Rails側の設定
    • Rubocopの設定
    • RSpecの設定
  • Rails + Nuxt.js の連携確認

Rubocop・RSpectの設定、Rails + Nuxt.js の連携確認は1日ずつかかってしまったがなんとかできた。

SlackAPIとActiveJobを使用した機能の実装

現在のRailsアプリで登録画面からワークスペースへのSlackユーザーの登録ができるようになっている。
それにプラスして以下の実装を行なっている。

  • SlackAPIを使用してユーザーが登録されたタイミングで参加必須のチャンネルに参加させる

まだ完成はしていないので、できるだけ早めに終わるようにしたい。

今週初めて知ったこと

ActiveJobのログの確認方法

ActiveJobに関しては旧アプリのメール送信で使ったことがあるが、その時は特にエラーもなくすぐに実装できた。

ただ今回に関しては参考になるサイトなども少なく、手探りでやっていたため、エラーの内容を知りたかった。
それを調べていたが、まったくわからなかった(Railsガイドで`development`、`ログ`、`デバッグ`というキーワードで探してもわからなかった Active Job の基礎 - Railsガイド)。
アドバイスをもらうと`log/development.log`に表示されていることを教えてもらった。
確かにログが残っている。

まだ実装が完了していないので終わったら記録しておく。

環境変数 ≠ 秘匿情報

以前はAWSやHerokuへデプロイするときなどに`rails-dotenv`なるgemを使っていたが、どの記事でも`環境変数`というワードがキーワードになっていた。

そのため APIに使用するためのキーなどは全て環境変数という認識だった(そもそも秘匿情報という言葉を使うことが思い浮かばなかったので知識がそこまで達していない?)。
以下のように覚えておけばよさそう。

  • 環境変数はアプリ以外にも様々な設定に使用する変数
  • 秘匿情報は外部の人に知られるとマズい情報(APIのproduction用のキーとか他人が悪用して被害をこうむる)

無料で制限がない or テスト用のAPIキーなどなら秘匿せずにそのまま直打ちしてGitHubにpushしても問題ないらしい。
アドバイスありがとうございます。

P.S
`activejob ログ 確認`でググったらクラスメソッドさんの記事が出てきた。これだw
やっぱり検索キーワードは大事だ。
[Ruby on Rails]Active Job – Sidekiqを使ってのJobの実行 | DevelopersIO


以上。