rails

Ruby on Rails

RSA Encryption not supported – caching_sha2_password plugin was built with GnuTLS support がでたときの対処法

原因 MySQL5.7までの認証プラグインにはmysql_native_passwordがデフォルトで使用されていましたがMySQL8より新たに追加されたcacing_sha2_passwordがデフォルトに変更されましたがクライア...
Ruby on Rails

Rails + MySQL 8でngramを用いたfulltext index

Railsのmigrationで普通にfulltext indexを付ける場合には以下のようにすると思いますが、普通のfulltext indexではngramが使われないので日本語の全文検索をする場合には全然マッチしません。 cl...
Ruby on Rails

ActiveRecordでネストされたトランザクションのRollback方法

概要 ActiveRecordでトランザクションを入れ子にするケースがあり、ActiveRecordのトランザクションの処理を追ってみるとなかなか興味深かったので文章にまとめておきます。おそらく、この内容を知っておかないと排他制御を...
Ruby

Ruby on RailsでER図をモデルから生成

Railsの最新のER図をリバースエンジニアリングでスキーマから生成しましょう。rails-erdを使います。 docker container内でコピペでできるようにコマンドを列挙しておきます。 apt update apt...
Ruby on Rails

物理メモリが不足したらpumaを自動で再起動

概要 pumaがどんどんメモリを食っていってしまう。同様に、sidekiqもたくさんメモリを食ってしまっている。GCしても減らない。 ObjectSpace.each_object(ActiveRecord::Relation...
Ruby on Rails

Railsのroutesのshallowは安易に使わないで欲しい

概要 Shallowの説明はRails Guideにあるとおり。example normal: /authors/1/articles/1 shallow: /articles/1 (authorのIDはarticleのIDがわか...
Ruby

Railsで作ったREST APIをSwagger対応

背景 Web API Advent Calendar 12月3日分@takurosさんの12月2日のSwaggerとは何か? を前提としています。 概要 swagger-docs を使ってRailsのREST APIをs...
Program & Service

tmuxinator使い始めてみた

概要 普段の開発は、railsをvimでやってます。iterm2のウィンドウ分割でペインを分けて開発していましたが、Macを再起動すると状態が全てリセットされてしまうことが難点でした。 レンダリングが遅いという点と、コピペが行...
Ruby

Generate URL for password reset manually using devise

Assumptions Resource name is UserResource ID is 1 Execute on rails console user = User.find(1) raw, enc = Dev...
Program & Service

銀行コード、支店コードをAPIで取得

背景 Web API Advent Calendar 12月4日分です。 概要 金融機関コードを検索できるWeb APIが存在していませんでした。金融機関コードを検索するREST APIをRailsで作りました。 ...
タイトルとURLをコピーしました