自由帳

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

福岡旅行

有給消化のため、急遽一人で福岡へのグルメ旅行をしてきました。 たまたまピーチでセールだったのもあり、片道3500円ぐらいで行けたのでかなりラッキーでした。 今回は、その旅の記録を備忘録として雑に残したいと思います。 旅行前に最低限「ごま鯖」、「鯛…

Ruby on Railsの設定: config.active_record.migration_error の利用法

Ruby on Railsは設定可能なオプションが多く、それぞれが異なるシチュエーションにおいて重要な役割を果たします。 この記事では、特にconfig.active_record.migration_errorという設定に焦点を当てています。この設定はデータベースのマイグレーション状況…

全角スペースを処理するヘルパーメソッドの実装

全角スペースを処理するヘルパーメソッド まず、全角スペースを半角スペースに変換し、文字列の先頭と末尾から半角・全角スペースを除去するヘルパーメソッドを作成します。 def process_fullwidth_space(str) # 全角スペースを半角スペースに変換(この処理…

[お試し]TerraformによるAWSインフラの構築

この記事では、Terraformを使ってAWS上にインフラを構築する方法を、具体的なコードとともに解説します。ここでは、EC2インスタンスと、それに接続するセキュリティグループを作成する例を紹介します。 前提条件 Terraformがインストールされていること AWS …

WHEREでレコードを取得できなかった場合に例外を発生させる

後置ifとかの条件を使う方法を多く見るが、個人的にはfindを使うほうが便利じゃないかなーと思ってる。 where User.where(id: [4,2,6]) User Load (3.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` IN (4, 2, 6) => [] find User.fid([4,2,6]) Use…

RubyisがGolangを学ぶための本

A Tour of Go は気が向いたときに2周ほどやりました。 leanpub.com

ログ読むときにたまに忘れるのでX-Forwarded-Forのメモ

構文 X-Forwarded-For: <client>, <proxy1>, <proxy2> ディレクティブ <client> クライアントの IP アドレス <proxy1>, <proxy2> 要求が複数のプロキシを通して行われる場合、それぞれの通過するプロキシの IP アドレスが書き出されます。つまり、最も右の IP アドレスが最も後のプロキシであり、最も左の IP </proxy2></proxy1></client></proxy2></proxy1></client>…

mysqldump Options

Option Name Description Introduced Deprecated --add-drop-database Add DROP DATABASE statement before each CREATE DATABASE statement --add-drop-table Add DROP TABLE statement before each CREATE TABLE statement --add-drop-trigger Add DROP TR…

wip_django雑メモ

環境構築 $ python3 -m venv .venv $ source .venv/bin/activate $ python3 -m pip install django~=4.0.2 ~ WARNING: You are using pip version 21.3.1; however, version 22.0.3 is available. You should consider upgrading via the 'python3 -m pip in…

Pythonでのrails console

# Django Extensionsを入手するにはpipを使います。 pip install django-extensions # プロジェクトで django_extensions を有効にするには、プロジェクトの settings.py ファイルで INSTALLED_APPS に追加する必要があります。 # django_project/settings.p…

Pythonでのbinding.pry

breakpoint() OR import pdb; pdb.set_trace() www.python.org

2つのテキストファイルの差分を確認するコマンド

. ├── bucket-source.txt └── bucket-target.txt # ファイルの中身 # 例: 2022-02-16 13:22:50 152916 hogehoge 2010-05-02 13:22:50 292916 fugafuga 2021-07-16 14:34:00 352916 piyopiyo ↓ 実行 diff <(cut -c 20- bucket-target.txt) <(cut -c 20- buck…

[ワンライナー]指定した複数バージョンのマイグレーションをロールバック

for v in `echo バージョン番号1 バージョン番号2 バージョン番号3 バージョン番号4 バージョン番号5`; do bundle exec rails db:migrate:down VERSION=$v; done

モデルのロード/バリデーション時に文字列型の属性値を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が取得できていない問題が発生していた 原因を調査したところ、キャンペーンページの前にリダイレクトペー…