WebからXへシェアする機能を実装したところ、Xアプリが起動 -> アプリ内ブラウザ起動 -> Safariへリダイレクト -> Xアプリ起動という無限ループに陥った。 調査の結果、Intent URLのエンドポイントによって挙動が異なることが判明したので備忘録として残す。…
この度個人で開発している 声トレ/声まね練習アプリ『Rekoe』 を公開しました。 この記事では、Rekoeの概要、主な機能、使い方、開発の背景、そして今後のアップデート計画をまとめます。 初めての方でも使い始めやすいよう構成しています。 こんな人におす…
昨日の記事で無事遅延読み込みは成功するようになりました。 megu-tech.hatenablog.com しかし新たな問題として、この遅延読み込み処理中にエラーが発生すると、sveltekitがクラッシュすることがあるという現象に見舞われました。 環境 Service Version @sve…
開発環境ではSveltekitの遅延読み込みは問題なく動いていたのですが、Nginxを経由する本番環境では機能せず、ページの表示に時間がかかってしまうという現象にでくわしました。 環境 Service Version Nginx 1.18.0 @sveltejs/kit 2.5.28 Node.js 20.9.0 コー…
sveltekitでPDFなどを返し、ダウンロードしてもらいたかったのだが、少しつまづいたので備忘録。 つまずきポイント +page.server.tsのloadでは対応できない まず最初に試したのは、+page.server.tsのloadでResponseを返すといった方法。 しかし+page.server.…
APIからstreamを取得してblob変換してダウンロードさせようとしたとき、vanillaのfetchならすんなり出来たのだが、Zodiosを利用すると少し躓いたので備忘録。 前提 サーバー側はこんな感じでstreamを返している。 return new Response(stream, { headers: { …
rspecでsessionにデータを入れてテストしたいシーンがあるかと思います。 ぱっと調べた感じだと方法が古いのか上手くいかないものが多かったので、動くものを備忘録として記事化しようと思います。 環境 Service Version Ruby 3.3.2 Ruby on Rails 7.1 rspec…
自動起動させたいサービスやジョブを systemd のユニットファイルにまとめて、sudo systemctl enable myservice.service といったコマンドで登録するシーンがよくあると思います。 しかし恥ずかしながら長らくユーザー固有のジョブも登録できることを知らな…
ダウンタイムなしに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にデフォルトで記述さ…