ダウンタイムなしにS3のアカウントを移設したかったのですが、巷の情報では1回のみのsyncで済ませており、ちょっと困ったので備忘録。 他との違いとしてはs3:GetObjectTaggingの追加がかなめ。 手順 移設用IAMユーザー 移設先のアカウントで以下のポリシーを…
Nginxのログを見ていると何度も再起動が行われていました。 幸い動作に影響は無かったものの、ひどいときには数分に一回レベルで再起動が起こるので原因を調査しました。 原因 Kusanagiはデフォルトでmonitが動いています。 monitの設定でNginxで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…
handlebarsって便利ですよね。 さてプレースホルダー {{hoge}} に日本語を使いたい場面などありませんか? ありませんか。まあ普通はそうです。 しかし私にはそんなタイミングがあったのです。 handlebars.rbでは使えたのですが、さすがにこれはもう古すぎで…
開発中色々いじっていたらシーケンスがずれた、なんてことは数年に一度くらい経験したりしないでしょうか? そんな時にぱっと直したいときは、以下を流し込めばOKです。 DO $$ DECLARE r RECORD; s text := 'public'; BEGIN FOR r IN SELECT tablename FROM …
商品購入に同時にアクセスがあった場合、在庫数がマイナスにならないようにテストしておきたい。 そんなテストをしたいタイミングが多々あるのではないでしょうか? その際テーブルロックを利用して排他制御を行っていた場合、何も考えずにrspecでThreadを使…
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…
テキストエリアの入力文字数制限をしたいとき、change eventを拾って入力値をチェックするだけだと、変換を伴う文字入力の際に期待した動きにならなった。 環境 jsなら何でもいいんですが、今回私はreactを使ったのでreact versionを記載します。 Service Ve…
環境 Service Version OS Amazon Linux 2 Ruby 3.0.2 Ruby on Rails 7.0.3 grover 1.1.1 原因 Groverで使用しているpuppeteerにて日本語化対応が必要だった。 対応 日本語フォントを入れましょう。 $ sudo yum install ipa-gothic-fonts ipa-mincho-fonts ip…
無料版と有料版のreCAPTCHAとがありますが、使い方は一緒かと思ったら違ってちょっと大変だったお話。 環境 Service Version Ruby 2.7.4 Ruby on Rails 6.1 recaptcha 5.8.1 前提 Gemはrecaptchaを使います。 通常のreCAPTCHAなら下記用意しておけば、後はド…
OmniAuth、ほとんど何もしなくてもOAuthを実装出来て便利ですよね。 でもサービス側へリダイレクトする直前にごにょごにょしたいことってありませんか? ありませんか。そうですよね、普通は。。 まあ今回は普通じゃなかったんです。リダイレクト直前にちょ…
画像の更新などによりActiveStorageのBlobが削除されたにもかかわらず、URLがキャッシュされていたなどの理由により削除された画像にアクセスが来た場合、下記エラーが報告される。 ActiveRecord::RecordNotFoundactive_storage/blobs#show Couldn't find Ac…
ActiveStorageのservice_urlのdispositionオプションがデフォルトで:inlineなため、画像やpdfのアンカーにdownload属性をつけていても、ブラウザ上で開いてしまう。 これをダウンロードさせたい。 環境 Service Version Ruby 2.7.2 Ruby on Rails 6.0.3.4 S3…
送信サーバーは Amazon Lightsail 、受信サーバーはムームーメールという環境でlLightsailからメール送信ができなくなった。 元々AWSのメール送信制限に引っかかりメールが送信できなくなっており、その調査で /etc/postfix/main.cf はいじっていたのでその…
FPDIで色々していたら This PDF document probably uses a compression technique which is not supported by the free parser shipped with FPDI.というエラーが。 どうやらPDF1.5以降の圧縮されたPDFの回答は無償版のFPDIではできないとのこと。 んじゃラ…
PHPでコマンドを実行する時はOSコマンドインジェクション対策としてescapeshellcmdやescapeshellargなどでエスケープすることが多いと思うが、その際にマルチバイト文字が含まれているとマルチバイト文字が空文字に変換されてしまって困った。 環境 Service …
S3に保存されたmp4動画をPHPを経由して配信していたのだが、iOS/MacのSafariだと再生できない事が判明した。 原因はVideoタグなどのリソースはRangeヘッダーを付けてリクエストが投げられるのだが、ここで正しく206 Partial Contentを返してあげないとSafari…
遅ればせながら今回の案件で初めてEC2を触ることに。 そこでまずはステージング環境を作ろうとごにょごにょしてたら、ディスクを8GiBで作成してしましました。 ステージング環境とはいえもう少し欲しかったのでディスクを拡張しようとしたらAWSではなんと無…
Laravelではドキュメント通りに必要なパッケージをインストールすればS3はすぐに使うことができるようになる。 ただ開発環境はMinIOで代用したい場合などは、少し工夫が必要となる。 というのもバケット指定方法が違うのだ。 ということで config/filesystem…
S3を使ったサービスを開発したいが、開発中は課金が発生してほしくない。 そんなわがままなあなたにMinIOが答えてくれるだろう。 今回はこのMinIOをCentOS7にインストールし、起動スクリプトを書くまでを記す。 ユーザーの追加 $ sudo useradd minio -s /sbi…
browser向けjsの環境構築中、環境によって変えたい値を.envで管理したいという事でdotenv-webpackをインストールしたのだが、bundle作成時にエラーが出てつまったので共有をしておく。 環境 Package Ver webpack 4.41.0 webpack-cli 3.3.9 webpack-dev-serve…
npm run script にコマンドライン上でオプションを付ける方法が分からず20分くらいはまり、腹が立ったので今後のために残しておく。 経緯 とあるプロジェクトをcloneしてきてwebpack-dev-serverを立てようとしたとき、webpack.config.jsにデフォルトで記述さ…
ムームードメインとムームーメールを使っていると、ムームーメールからの送信メールで Received-SPF: softfail になっていた。 という事でDNSにspf設定を追加してあげる。 DNSにSPF設定追加 ムームードメインのコントロールパネルからムームーDNSを選択し、…
CentOS7にFFMpeg4をインストールする記事はちょこちょこあるものの、上手く入らないことが多いのでちゃんと入った方法を残しておく。 環境 Service Version CentOS 7.5 リポジトリの追加 2020.09.08 リポジトリがSSL対応したようなので修正 $ yum-config-man…
インストール 必要なパッケージをインストールしてimagickをインストール $ sudo yum install autoconf ImageMagick ImageMagick-devel $ cd /usr/local/php/current/bin $ sudo ./pecl install imagick php.iniに追記 /usr/local/php/current/lib/php.ini e…
はじめに Node.js案件でTypeScriptを使ったところ便利すぎてほれ込んだので、Laravel mixで使っていたvueもTypeScript化していく事に。 とはいえ新規案件ならともかく既にある程度の大きさになっているので少しずつTypeScript化していく。 前提 Service Ver …
はじめに WEBサーバーとして利用していたさくらVPSのサーバーのOSをクリーンインストールしてCentOS7を入れることに。 さくさくっとサービスを立てていき、いざ外部から接続テストをしてみると繋がらない。 今まで何度もさくらVPSでWEBサーバーは立てている…
Muninを眺めているとディスクの使用量が一カ月で50%を超える緊急事態に。 放置していれば来月にはディスクがパンパンで動かなくなるので調べてみたらMuninのログファイルがやったら目ったら大きい。。。 Munin見て気付いた結果「原因お前かよ!」といったお…
今回はwebsocketのリバースプロキシとしてApacheを使いたかったので、mod_proxy_wstunnel をインストールする。 mod_soの確認 Apacheに後からモジュールを追加するためのモジュールが存在するかを確認する。 入っていない場合はApacheを再インストールする必…
初めに {} 内は適宜環境に合わせて読み替えてください。 環境 CentOS7.6 + Postfix 2.10.1 OpenDKIMのインストール $ yum install --enablerepo=epel opendkim 暗号化キーの作成 $ mkdir /etc/opendkim/keys/{DOMAINNAME.com} $ opendkim-genkey -D /etc/ope…