2026年10月26日の日記 📖
七海
今日のメモ
# 今日やったこと
■卒業制作
- GitHub ActionsでRSpec・RuboCop・セキュリティチェックを自動実行できるようにした
- CI用のPostgreSQL 17を起動し、テストDBを準備してRSpecを実行する構成を確認した
- bundler-auditで検出された依存gemの脆弱性に対応した
- 共通ヘッダー・フッターをRailsのパーシャルへ切り出した
- モックの共通テーマCSSをRailsへ取り込み、共通指定とTOP固有指定を整理した
- PC・スマホ幅で表示確認を行い、日本語の改行位置を調整した
- CIでもTailwind CSSを生成して画面テストできるようにした
# 今日理解できたこと
- CIは、PRの作成や更新をきっかけに、テストやコードチェックを自動で実行する仕組み。
手元でRSpecやRuboCopを実行できていても、人が毎回忘れずに実行するとは限らないため、mainへ取り込む前に自動確認できる状態にしておく意味がある。
- CIが失敗したときは、「CIが失敗した」という一括りではなく、どのジョブが失敗したかを見ることが大切。
今回はRSpec自体は成功していたが、bundler-auditがcrassの脆弱性を検出したため、対象gemを更新、→ RSpec・静的解析・セキュリティチェックすべての成功を確認できた。
CIはテストだけではなく、依存ライブラリの問題を早めに見つける仕組みとしても役立つと分かった。
- 共通テーマと画面固有のCSSを分ける
今回はCSSの役割を分けた。
- shared-theme.css:色・透明度・フォントなど、モック全体で使う共通テーマ
- application.css:共通テーマに不足する、アプリ全体の配置やボタンの基本形
- landing.css:TOPページだけに必要な配置
最初からすべてのCSSを1ファイルへコピーするのではなく、既存の共通テーマを利用して、不足分だけ追加する形を採用した。
共通部分と画面固有部分を分けることで、後続画面でも再利用しやすくなる。
- レスポンシブ対応は、はみ出しだけではないということ
PC表示だけでなく、Chromeの開発者ツールを使って375px幅のスマホ表示も確認したところ、
レイアウト自体は収まってい他けれど、日本語の見出しが、
「なら/ない」
「日/も」
のように意味の途中で分断されて表示されていた。
そのため、spanで意味のまとまりを作って、途中で折り返さないように調整した。
レスポンシブ対応では、画面内に収まっているかだけでなく、文章として自然に読めるかも確認する必要があると感じた。
- 「手元では動くのにCIでは動かない」ときは、ローカルで自動的に行われている処理がCI環境では実行されていない可能性も確認する必要がある。
# まだ理解できていないこと
- 今後画面が増えたとき、どこまでを共通CSSとして切り出すのが適切か
- 共通テーマ・画面固有CSS・Tailwindを併用するときの整理方法
- CIのジョブが増えた場合の実行時間や構成の最適化
# 次にやること
[9. 利用規約・プライバシーポリシーのページを作成する #13]に進む
# 感想など
今日は、コードを書くことだけでなく「同じものを何度も書かない仕組み」と「問題を自動で見つける仕組み」を実装した感じ
CIでは、テスト自体は成功していても依存gemの脆弱性が見つかって、自動チェックを入れる意味を実際に体験できた。
画面実装では、作成済みのモックのCSSをそのまま持ってくるのではなく、共通テーマと画面固有の指定を分けて考える必要があった。
また、スマホ表示では単にはみ出していないだけでは不十分で、日本語の改行位置まで含めて読みやすさを見る必要があると実感した。
■卒業制作
- GitHub ActionsでRSpec・RuboCop・セキュリティチェックを自動実行できるようにした
- CI用のPostgreSQL 17を起動し、テストDBを準備してRSpecを実行する構成を確認した
- bundler-auditで検出された依存gemの脆弱性に対応した
- 共通ヘッダー・フッターをRailsのパーシャルへ切り出した
- モックの共通テーマCSSをRailsへ取り込み、共通指定とTOP固有指定を整理した
- PC・スマホ幅で表示確認を行い、日本語の改行位置を調整した
- CIでもTailwind CSSを生成して画面テストできるようにした
# 今日理解できたこと
- CIは、PRの作成や更新をきっかけに、テストやコードチェックを自動で実行する仕組み。
手元でRSpecやRuboCopを実行できていても、人が毎回忘れずに実行するとは限らないため、mainへ取り込む前に自動確認できる状態にしておく意味がある。
- CIが失敗したときは、「CIが失敗した」という一括りではなく、どのジョブが失敗したかを見ることが大切。
今回はRSpec自体は成功していたが、bundler-auditがcrassの脆弱性を検出したため、対象gemを更新、→ RSpec・静的解析・セキュリティチェックすべての成功を確認できた。
CIはテストだけではなく、依存ライブラリの問題を早めに見つける仕組みとしても役立つと分かった。
- 共通テーマと画面固有のCSSを分ける
今回はCSSの役割を分けた。
- shared-theme.css:色・透明度・フォントなど、モック全体で使う共通テーマ
- application.css:共通テーマに不足する、アプリ全体の配置やボタンの基本形
- landing.css:TOPページだけに必要な配置
最初からすべてのCSSを1ファイルへコピーするのではなく、既存の共通テーマを利用して、不足分だけ追加する形を採用した。
共通部分と画面固有部分を分けることで、後続画面でも再利用しやすくなる。
- レスポンシブ対応は、はみ出しだけではないということ
PC表示だけでなく、Chromeの開発者ツールを使って375px幅のスマホ表示も確認したところ、
レイアウト自体は収まってい他けれど、日本語の見出しが、
「なら/ない」
「日/も」
のように意味の途中で分断されて表示されていた。
そのため、spanで意味のまとまりを作って、途中で折り返さないように調整した。
レスポンシブ対応では、画面内に収まっているかだけでなく、文章として自然に読めるかも確認する必要があると感じた。
- 「手元では動くのにCIでは動かない」ときは、ローカルで自動的に行われている処理がCI環境では実行されていない可能性も確認する必要がある。
# まだ理解できていないこと
- 今後画面が増えたとき、どこまでを共通CSSとして切り出すのが適切か
- 共通テーマ・画面固有CSS・Tailwindを併用するときの整理方法
- CIのジョブが増えた場合の実行時間や構成の最適化
# 次にやること
[9. 利用規約・プライバシーポリシーのページを作成する #13]に進む
# 感想など
今日は、コードを書くことだけでなく「同じものを何度も書かない仕組み」と「問題を自動で見つける仕組み」を実装した感じ
CIでは、テスト自体は成功していても依存gemの脆弱性が見つかって、自動チェックを入れる意味を実際に体験できた。
画面実装では、作成済みのモックのCSSをそのまま持ってくるのではなく、共通テーマと画面固有の指定を分けて考える必要があった。
また、スマホ表示では単にはみ出していないだけでは不十分で、日本語の改行位置まで含めて読みやすさを見る必要があると実感した。
visibility
公開