Rails
qiita.com あーなるほどね! となっていた。 日本語での解説は以下の記事がよさそうかな? gihyo.jp 実際に変更、というか削除されたのは以下。 dev.mysql.com とりあえず雑に MySQL 8.3 以降を使う場合は mysql2 0.5.6 を使いましょう! という話。 そうで…
稀に設定したらぶっ壊れて「うーん?」となっていたのだけど、ようやく調べた。 sinsoku.hatenablog.com 世の中には先人がいるので本当ありがてえ。 使える記号 !$&*()-_=+: 上記だけっぽいので、その範囲でやっておけばよさそう。 ちなみに pwgen で毎回パ…
console から .find_by(id: 1) とかして見えないモデルがあってうーん?と思っていたんだけど、単純にモデルがないだけだった。 以下のようにすることで、扱えるモデル一覧が出力できる。 tables = ActiveRecord::Base.connection.tables tables.map(&:class…
せっかくなので、Rails 5.1 の古いプロジェクトで実際に Ruby 2.5 を動かせるか試してみた。 僕の場合の対応なので、個々のプロジェクトでは異なると思いますが、こんな古いバージョン使う以上自己責任だよ自己責任! という気持ちで参考情報として見てくだ…
qiita.com /config/environments/ 以下で config.action_mailer.smtp_settings で指定した情報を、送信するタイミングで上書きできる。 ただこれ見てると、送信時に上書きするのでたくさん送ると負荷高くなりそーだな、という気はしている。 railsguides.jp …
huh?
macOS 13.6.4 Homebrew MySQL 8.2.0.1 小さい結論 .bundle/config に以下を書く。 BUNDLE_BUILD__MYSQL2: "--with-mysql-lib=/opt/homebrew/opt/mysql/lib --with-mysql-dir=/opt/homebrew/opt/mysql --with-mysql-config=/opt/homebrew/opt/mysql/bin/mysql…
調べたらやってる人はいるもんだった。 qiita.com 本当はこれはこれで Unique が保証されるままにしておいて、 類推できるように意味をもたせた URL にしたい場合は、所謂スラグとかパーマリンク的に扱うのがいいんだろうか。 と思ったけど、結局ダウンロー…
EDITOR=vi rails credentials:edit とかしたら表題の通り怒られた、んだけど、なんでやねんと考えていたら「そういやこの環境、ワイの知らないの間に Ruby のマイナーバージョンアップデートされてたな」と気付いて rm -rf ./vendor/bundle bundle install -…
ビジネスロジックでの判定で、いわゆる「一ヶ月前」という実装を愚直に 1.month.ago (ago(1.month)) などとした場合。 「これは当日を含むのか」とか「一ヶ月って30日?」「例えば閏年で 1/30 から一ヶ月後って 2/29 と 3/1 どっち? 一ヶ月前になると逆パタ…
railsatscale.com へー、と思いながら見ていた。 Pitchfork JIT 有効にした環境なら Unicorn よりよさそうな風情は感じるけど、まだ 0.9.0 らしいので GA なりメジャーバージョンに到達するまで様子を見ましょう。 一応「Puma (thread 形式のアプリケーショ…
俺の、って書いておかないとマサカリ飛んできそうなので。
どういうこっちゃ兄弟、という話だけど、要は mongoid 利用環境で ActiveStorage 採用しようとしたんだけど仕様的にダメだった、という話。 github.com feel free to send PRs. https://github.com/rails/rails/issues/31408#issuecomment-351128111 気軽に …
ここの続き。 donbulinux.hatenablog.jp 基本的にまず以下を読むといい。 翻訳されているので、だいたい抑えるべきことが書いてある。 techracho.bpsinc.jp その後に以下を。 re-engines.com qiita.com tech-book.precena.co.jp 具体的にどうする とりあえず…
User.find みたいにできたらまあそれはそうなんだけど、 model がないと実行できないので生 SQL を実行する。 まず model がないってなんだよ、と言われたら無いもんはないので……。 ActiveRecord::Base.connection.select_all('SQL を書く').to_hash 例 こん…
github.com はえーしらなかった、こういうのあるんすねえ。 機能の簡単なスイッチ、自分で作るかこういうヤツ採用するかは最近話題のこういう問題もあるのでなんとも、だけども。 コンテナとかで手元の環境は console から流し込めばいい、みたいなのは分か…
GithubActions でビルド回してたんだけど、 PR 積んだブランチをビルドしたら遭遇した。 結論から書くと、 RAILS_SERVE_STATIC_FILES=true を precompile 時に追加すれば回避できる。 RackBasicAuth の追加 リリース直前になって「フライング利用するユーザ…
本業があまりに疲れすぎて何も考えたくないので、休憩を兼ねて以下をボーッと見ていた。 re-engines.com techracho.bpsinc.jp このあたりが注意しないといけないかな。 アセットヘルパー :%s/image_url('/url('\/g みたいな感じで雑に修正していけばよさそう…
だいぶ悩んでしまったのと、ググると出てくる例が delivery_method をオーバーライドしてるものが多いのでという気持ち。 ロケ地 Ruby 3.1.0 Rails 6.1.6 aws-sdk-rails 3.7 aws-sdk-ses は v1 系利用 TLDR aws-sdk-rails gem を追加して、 config.action_ma…
以前 console から接続できない場合に、という感じで以下記事を書いた。 donbulinux.hatenablog.jp とはいえハングアップするのは、よっぽどギリギリのリソースで動かしているとかじゃなければ頻発しないはずなので、通常時どうするのか、というお話。 キュ…
ロケ地: Amazon Linux release 2 (Karoo) RAILS_ROOT で rails c したらエラーがでるー、と言われたやつ。 実際のエラーはこう。 /RAILS_ROOT/vendor/bundle/ruby/3.1.0/gems/listen-3.7.1/lib/listen/adapter/linux.rb:32:in `rescue in _configure': Unab…
アカウント ID が異なる環境で、動いているアプリケーションを環境ごとクローンする、というタスクがあって、規模的に手動で作業しなおしても大丈夫だなと思って着手したらひどい目にあった、という話。 ページデザインが崩れる デプロイして動作確認を行っ…
自前運用の SMTP サーバから AWS SES に切り替える作業があったんだけど、表題のエラーが出て「!?」となっていた。 Must issue a STARTTLS command first 答えは全部ここに書いてあるんですが、ちゃんと暗号化して送信しろ、という話です。 エラー時の該当…
Nginx で puma の unix socket を参照するように設定した所、 502 が連続するので「何事……?」となっていた。 integration という RAILS_ENV を増やしていたのが原因かと思っていたけど、単純なミスだった。 しらべる Rails 側のログには何も記録されていな…
久しぶりにシステムワイドで生の RoR アプリをインストール・デプロイする作業があったんだけど、puma.rb で指定でいる daemonize を利用してデーモン化しようとしたらダメだったので。 www.kanzennirikaisita.com www.rochefort.dev 今どきシステムワイドに…
はえーこんなのあるんですね、単体アプリケーションで複数ドメインを持つ環境の運用してないから知らなかった。 以下を追記することで Blocked Host エラーの元になる制限を削除できる。 ${RAILS_ROOT}/config/environments/development.rb Rails.applicatio…
だいぶ古い環境だけど。 Rails 5.1.7 dotenv 2.2.1 Variable Substitution dotenv には Variable Substitution という仕組みがあって ${VAR} $VAR のようにして変数に変数を突っ込める。 github.com で、以下のような記述をしていた。この状態で deliver_now…
公式のシグナルリスト この様に色々書いてある。 github.com このシグナルリストに記載されたシグナルを送信しても Sidekiq が応答しない状態 (ハングアップしてロードアベレージが暴走している) にどうするか。 -9 で強制停止する 結論、 kill -9 ${PID} を…
自前で用意する Redis redis.conf へ以下のように requirepass を設定します。 この場合は、 foobared というパスワードが設定されており、TLS などの暗号化通信は必要ない状態です。 # snip # requirepass foobared # snip # blog.shimar.me ちなみに、公式…
capistrano-sidekiq でインストールされる systemd 制御ファイル入れた時のロギングについて、CentOS7 あたりだと対応できないので、その対応について。 何が問題なのか このあたりで書いた問題ですね。 donbulinux.hatenablog.jp syslog を利用する append …