コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

経験則

Railsのbefore_actionで通常のインスタンス変数をセットするのは、本当にそれが最適解か考えてからやってほしい

before_actionでインスタンス変数を設定するとミスリードが多くなりがちなのでそれに対する話。 (記事製作時)の環境 # bin/rails -v Rails 6.0.3.1 (前提として)before_actionとは ActionControllerが提供するフィルタの機能の一種。 before_action は ind…

早期returnにおける使い方のパターン(防御的プログラミング、あるいは分岐処理)をざっくりまとめる

自身の書き方を言語化するシリーズ この文章内での早期returnとは メソッドなどで処理の終端に到達する前に return をして戻り値を先行して返すこと。 早期returnを利用できるパターン 早期returnが有用なケースをパターン分けすると以下の2つになると考えて…

変数代入を複数回行うと何が良くないのか、どうするといいのか

変数の代入を複数回行う、すなわち変数の再代入をすることは何が辛いか、また変数の代入を1回にすると何が嬉しいかを書く。 今回の題材 例えばRubyで以下のようなメソッドがあるとする def make_aisatsu_text(people_name: "Suzuki", is_san: false) text = …

「本番環境で断りなく作業する」 の何が危険なのか

暗黙の空気として「production環境で許可なく作業することは良しとされないこと」があるが、何故か?と問われるとさらりと説明ができないので言語化してみる 本番環境で作業をする、とは 今回記載をする「本番環境作業」とは ユーザーに機能を提供しているい…

Railsのenvは production / test / developmentで動かそう

教訓的なメモ Railsの基本的なenvironment(env) Railsでデフォルトで存在するのは以下の3つ produciton(本番) test(テスト/Rspecなどの実行用) development(開発環境) envは増やせる、が このenv、増やすことができる。根本的には config/environments…

異なる環境間で現在時間を受け渡して判定するときに気をつけること

端末時間とサーバー時間に関して色々思うことがあったので、考えをアウトプットするだけの雑記です。 今回考えるシチュエーション 異なる環境から時間情報を受け渡すということを考える。登場人物としては「送信元」と「送信先」があるが、例としては以下の…

サーバサイド開発におけるリリース後の重点監視に関してざっと書く

あんまり明文化されないけどみんなやってるよね系シリーズ サーバサイド開発におけるリリース作業とリリース後重点監視 開発を重ねてきた機能をリリースを迎えるとき、リリース前までにある程度のテスト工程を行ってくるものの、本番で実際にやってみたとき…

Webサービスでテスト項目書に基づいてテストするとき、テスターにやさしいテスト環境を考える

この前はデバッグの起票に関して書いたけど、今回は用意するべき環境の心構え的メモ テストのために望ましい環境とは 主に心がけたいことは以下 確認に必要なテストデータが入っている、入れることができる 既存環境からの拡張であれば、既存環境に近い状態…