自由帳

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

2021-01-01から1年間の記事一覧

モデルのロード/バリデーション時に文字列型の属性値をNFC正規化する

NFD正規化されたUNICODE文字列が入力された時に、合字(濁点付きかな)のレンダリングが不自然になる問題を回避する # app/models/application_record.rb class ApplicationRecord < ActiveRecord::Base include UnicodeNormalizer end # frozen_string_lite…

Railsのコンソールのちょっとしたtips

あるメソッドが定義されている場所を探す 以下のコードを実行することで、そのメソッドが定義されている行とファイルを正確に知ることができます。 $ User.instance_method(:name).source_location => ["app/models/user.rb", 56] rake taskの実行 以下のコ…

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

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

[食べたログ]えどもんど

ramendb.supleks.jp 今回食べたメニューは。。。 「ラーメン(豚2枚・半玉子)」(900円) コール:にんにく、あぶら(別皿のやつ) 少し甘めのスープで美味しい 肉も柔らかく凄く美味しい 麺はそんな太麺ではなく、スープと凄くマッチしていて美味しい 普通盛り…

[食べたログ]うな鐵将

unatetusyou.business.site 今回食べたメニューは。。。 「特上うな重」(4100円) 肉厚で美味い 個人的にご飯が柔めだった。もう少し硬めのほうが好み

[rack-attack] throttleの挙動確認方法

目的 前提条件 手順 1. ローカル環境をホワイトリストから除外する # config/initializers/rack_attack.rb # NOTE: ローカル開発環境で挙動を確認するには下記をコメントアウトする safelist('allow from localhost', &:allowed_ip?) 2. キャッシュを有効に…

[食べたログ]かずき 本店

japanese-izakaya-restaurant-22396.business.site 亀有に用事があったので、駅近くの評判の良さそうなお店で食事 今回食べたメニューは。。。 「とらふぐの唐揚げ」 骨があって少し食べづらいが美味しい ポン酢をかけたほうが美味い 「なめろう」 何の魚を…

【随時更新】「ファシリテーションスキル(仕切る技術)」を上げるために日々学んだことを書いていく記事

書いていく

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にな…

[食べたログ]京の華

京の華〒116-0013 東京都荒川区西日暮里2-22-1 ステーションプラザ10503-5615-2593地図や店舗情報を見るPowered by ぐるなび[{"@context":"http://schema.org","@id":"https://r.gnavi.co.jp/m117p5ph0000/","@type":"LocalBusiness","address":{"@type":"Po…

複数の正規表現にmatch?するかの判定の実装

words = %w(foo bar baz) => ["foo", "bar", "baz"] regexp = Regexp.union(words) => /foo|bar|baz/ 'foo'.match?(regexp) => true 'bar'.match?(regexp) => true 'baz'.match?(regexp) => true 参考URL docs.ruby-lang.org docs.ruby-lang.org qiita.com a…

[食べたログ]馬賊 日暮里店 (ばぞく)

馬賊 日暮里店(ラーメン/地図/東京都荒川区西日暮里2-18-2) - ぐるなび いつも行列ができてて気になったお店。 会社でランチの時間は自由に決めれるので、開店(11時)と同時に駆け込みました。 今回食べたメニューは。。。 「手打餃子」 500円 モチモチして…

[RuboCop RSpec]Rails

RSpec/Rails/HttpStatus HTTPステータスを説明するためにシンボルまたは数値の使用を強制します シンボルの場合(EnforcedStyle: symbolic (default)) # bad it { is_expected.to have_http_status 200 } it { is_expected.to have_http_status 404 } # goo…

[RuboCop RSpec]FactoryBot

RSpec/FactoryBot/AttributeDefinedStatically 属性値は常にブロックとして宣言してください。 # bad kind [:active, :rejected].sample # good kind { [:active, :rejected].sample } ------------------------------------------ # bad closed_at 1.day.fr…

問題と課題の違い

文章のレビュー依頼されたとき「問題」と「課題」の使い方がごっちゃになってるなと思いながら、自分も誤った使い方をしてたかもと思い、書きました。 広辞苑での意味 もん‐だい【問題】 ①問いかけて答えさせる題。解答を要する問い。「試験―」 ②研究・論議…

リダイレクトページで「リダイレクト」しないように強制する方法

使い所 外部サイトのリダイレクトページをデバックするとき 自社のサイトから提携している他社のキャンペーンページにリダレクトさせるときにreferrerが取得できていない問題が発生していた 原因を調査したところ、キャンペーンページの前にリダイレクトペー…

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で防御