駆け出しエンジニアの気ままブログ

気になったことについて、調べながら投稿するブログです。

技術記事

Enumでデフォルト値を設定する

概要 Enumerizeでしかデフォルト値を設定できないと思っていましたが、 Enumでもデフォルトを設定できるようなので、共有記事です 内容 Enumのデフォルト値を設定する enum status: { draft: 0, published: 1 }, _default: draft こんな形で、デフォルト値を…

ActiveRecordで使えるFirstメソッドは、必ず先頭を取得しているわけではない

概要 RailsのActiveRecordでよく使う、firstメソッド。 よく User.firstのような形でコンソールでサンプルを取得する時に使うのではないでしょうか 今回、firstメソッドについて書いてみました 内容 firstメソッドは、IDが先頭のレコードを返しているのか? …

FactoryBotで、簡単にバリデーションを検証する

概要 モデルにカラムの追加を行うようなタスクは日常茶飯事ではないでしょうか? その度に、バリデーションの検証をする必要があります。 いままで、コンソールで確認するときに、該当モデルをnewして、他のattributesに値を入れて、 やっと新しく追加したat…

validationの書き方

概要 validationの書き方について、疑問に思うことがありまとめてみました 内容 正規表現と空文字のvalidationを書くときは、下記のように書くかと思います。 外部に指定する validates :attribute, format: { with: 正規表現, message: "正しい形式で入力し…

migrationファイルがNO-FILEになったときの対処

概要 migrationをしよう、もしくはロールバックしようと思ったときにでくわす up 20240228201536 ********** NO FILE ********** ファイルが無いため、何もできない状態になったときの対処法について書きたいと思います 原因 開発中にはよくあることだと思い…

Migrationファイル追加するときにつけたほうが良いコマンド

概要 Migrationファイルを追加するときに、必ずつけてほしいコマンドを紹介します。 after こちらのコマンドは、どのカラムの後に追記するかを指定することができます。 初期生成時は、気にする必要はありません。 create_table :posts do |t| t.string :tit…

Hatena-Blog-Workflows-Boilerplateが便利すぎた話

概要 はてなブログでついに、GitHub Actionsが使えるようになりました!!! github.com 今回の記事はこちらを使って、公開しています。(実は2回目…) セットアップについて こちらはREADMEに載っていたので、参考にしてください! 簡単にセットアップできま…

Rails×MySQLのDocker環境構築

今回の概要 Dockerを初めて使って、バックエンドの環境を構築してみました。 最初は難しいと抵抗があったものの、作ってみると意外と楽しい。さらにローカル環境を汚さなくて良いという部分は、とても良かったです。 今回、ルートユーザーで作成しているので…

バックエンド(Rails)のGIthubActionsのCI構築

今回の概要 前回書いた、フロントサイドのバックエンドバージョンです。 前回の記事はこちら 使用技術 Ruby on Rails MySQL Docker jobsの設定 今回の記事は、nameとonの説明は省略させていただきます。前回の記事を御覧ください。 今回のつまづきポイント …

フロントサイド(React,Next)のGithubActionsのCI構築

今回の概要 フロントサイドのlintチェックやformatを忘れてしまい、gitへpushしてしまうことが多々あります… コードのlintチェックを行わずにマージしてしまうことは、様々なプロジェクトの中のルールに反してしまいます。 今回は、フロントサイド用のlintチ…

Ruby Gold受験用メモ

例外処理 Exceptionを継承したエラーは捕捉されない 明記すれば、補足される class MyError2 < Exception; end begin raise MyError2 rescue => e puts "Exception!!" end puts "End" StandardErrorを継承したエラー捕捉される class MyError1 < StandardErr…

Dockerを使ってみた

はじめに 初めて構築してみたので、指摘等がたくさんあるかと思いますが、 一読してもらえると嬉しいです。また、指摘ありましたらコメント下さい。 環境 Rails 7.0.8 Ruby 3.2.0 Docker Docker-compose MySQL 学び 各ファイルについては、割愛します。(ネッ…

初めてのCloudFront

前置き インフラ関連が分からず、業務時間を二日ほどいただき、CloudFrontについて勉強させていただきました! キャッシュとはなんぞや? リクエストとは?みたいな部分からべんきょうしたので、ミス等があるかもしれません。 もし、気づきましたらご連絡く…

e2eテストPlaywrightを使うときの注意点

はじめに e2eテストを学び始めたばかりなので、正直わかっていないことがほとんどです。 今回の見解についても回避できる術があるかもしれませんが、分からなかったので問題点を挙げるだけにとどめます。 Playwrightとは まずは、公式ドキュメントを読むこと…

Ruby silverの試験勉強で、よくわからない部分を書き出してみた

Ruby/silver試験の備忘録 silver試験の学習の中で、最も躓いている部分。 自分のために少しまとめてみようと思います。 Dirクラス、Fileクラス、IOクラスってなに? Dirクラス ディレクトリを扱うクラス。 ディレクトリの移動や作成、ファイル一覧の取得がで…

FactoryBotの可読性について

FactoryBotの可読性 Railsのテストでは当たり前のようにつかうFactoryBot。 RequestSpecを書いていく中でも使っていたが、可読性が良くないのではと思い、テストを書いてみた。 まだエンジニアとして働き始めて一ヶ月です。ご指摘など有りましたら、ご連絡や…