megutech

自身の備忘録として主にWEBサーバー周りの技術について投稿しています。

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

KusanagiでNginxが何度も再起動する

Nginxのログを見ていると何度も再起動が行われていました。 幸い動作に影響は無かったものの、ひどいときには数分に一回レベルで再起動が起こるので原因を調査しました。 原因 Kusanagiはデフォルトでmonitが動いています。 monitの設定でNginxで500番台が計…

Next.jsでBOTからのアクセス時に500になる

本番稼働中のNext.js アプリケーションのログを眺めていると、稀にエラーを吐いていました。 環境 Key Val Node.js 20.9.0 Next.js 13.4.13 エラーの内容 - error Failed to handle request for / TypeError: fetch failed at Object.fetch (node:internal/d…

ruby-handlebarsのプレースホルダーに日本語を使いたい

handlebarsって便利ですよね。 さてプレースホルダー {{hoge}} に日本語を使いたい場面などありませんか? ありませんか。まあ普通はそうです。 しかし私にはそんなタイミングがあったのです。 handlebars.rbでは使えたのですが、さすがにこれはもう古すぎで…

PostgreSQLのシーケンスがずれた!

開発中色々いじっていたらシーケンスがずれた、なんてことは数年に一度くらい経験したりしないでしょうか? そんな時にぱっと直したいときは、以下を流し込めばOKです。 DO $$ DECLARE r RECORD; s text := 'public'; BEGIN FOR r IN SELECT tablename FROM …

Rspecテストで同時アクセスによる排他テストを行う

商品購入に同時にアクセスがあった場合、在庫数がマイナスにならないようにテストしておきたい。 そんなテストをしたいタイミングが多々あるのではないでしょうか? その際テーブルロックを利用して排他制御を行っていた場合、何も考えずにrspecでThreadを使…

Ruby on RailsでInstagram Graph APIを使いたい

Ruby on Rails上でInstagram Graph APIを使う情報が少なかったので、はまりポイントも併せて備忘録を残していく。 環境 Service Version Ruby 3.2.2 Ruby on Rails 7.0.4 devise 4.9.2 omniauth-oatuh2 1.3.1 omniauth-rails_csrf_protection 0.1.2 omniauth…

JavaScriptで日本語入力の文字数制限を行いたい

テキストエリアの入力文字数制限をしたいとき、change eventを拾って入力値をチェックするだけだと、変換を伴う文字入力の際に期待した動きにならなった。 環境 jsなら何でもいいんですが、今回私はreactを使ったのでreact versionを記載します。 Service Ve…