自由帳

既に知っていることも含めて再アウトプット用に書きます✍️

WIP

APIの日時の返り値のTimeZoneをUTCからJSTに変換する方法

utc_time.in_time_zone('UTC').in_time_zone('Tokyo')

rails consoleからDBの接続情報を調べる

ActiveRecord::Base.connection_config 以上。 参考URL https://apidock.com/rails/ActiveRecord/ConnectionHandling/connection_config

privateなdelegateメソッド

class UserDecorator def initialize(user) @user = user end def full_name "#{first_name} #{last_name}" end private delegate :first_name, :last_name, to: :@user end privateメソッドはレシーバーがある状態では呼べないのに呼べている。privateにな…

TypeScriptのOptional Chaining

TypeScript 3.7から利用できる。 TypeScript: foo.bar?.baz Rubyのぼっち演算(Safe Navigation Operator)みたいなやつ Ruby: foo.bar&.baz プロパティがnullかundefinedの場合は次のプロパティにはアクセスせず、undefinedを返す。 nullチェックとundefined…

N+1のメモ

メソッド名 発行SQL キャッシュの生成 メモ joins LEFT INNER JOIN 無 遅延フェッチを行う。 left_outer_joins LEFT OUTER JOIN 無 関連テーブルでの絞り込み eager_load LEFT OUTER JOIN 有 LEFT OUTER JOIN でキャッシュする。1 回のクエリで行う。即時に…

悪意のあるQueryStringを含むリクエストをrack_attackで防御

目的 悪意のあるQueryStringを含むリクエストをrack_attackで防御したときの作業メモ 前提条件 Ruby 2.7.1 Rails 6.0.3.5 rack-attack (6.5.0) 手順 WIP 関連URL 悪意のあるQueryStringを含むリクエストをrack_attackで防御