Program & Service

Ruby on Rails

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

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

このBlogのホスティングを自宅サーバからLightsailに移行しました

背景 自宅サーバで運用していましたが、Raidカードが壊れてOSが起動できなくなってしまいました。調達にも時間がかかるので、取り急ぎデータをサルベージしてどこかで動かす必要がありました。Lightsailが安いのでこの際に移行してしまいます...
AWS

rsync over sshをAWS Session manager経由で使う設定方法

要件 AWS Systems Manager Session Manager (以降AWS Session Manager)経由でEC2インスタンスにログインする。AWS Session Manager経由でログインするとssm-userで...
AWS

Amazon Lightsailは初期立ち上げは楽だけど運用が辛い

概要 2年前ぐらいに Lightsailで立ち上げたWordpressサイトがありました。アプリケーション、ミドルウェア、OSを一通り最新にしようとしましたが、無理だったのでインスタンスを作り直しました。 背景 ふと確認すると、Wordpr...
Program & Service

郵便番号APIサイトのデータソースをzipcloudに変更

概要 私が運営している郵便番号検索APIサイトにて、今までは、郵便局が提供していたデータを加工して利用していましたが、それでは追いつかないぐらい正規化されていない項目が多いため自分でメンテナンスするより他社がしっかりメンテナンスしているデー...
Ruby

分割されていない電話番号から市外局番と市内局番の求め方

概要 分割されていない電話番号から、市内局番や市外局番を求めたい。0292323011 => 029-232-3011phonelibが良さそう。phonelibはGoogle libphonenumberのデータをもとにしている。日本の市...
AWS

tableau serverのホスト名が変わってしまったときの対処法

背景 Tableau serverをAWS EC2で運用しています。 問題 インスタンスを落として、別のsubnetで起動したらtableau serverがちゃんと動かなくなってしまった。具体的には、Webからアクセスできない。tsmコマ...
Ruby on Rails

CSVデータをActiveRecordにimportする際における各手法のベンチマーク

概要 RubyにおいてCSVデータをDBに挿入する際の手法による速度の違いをベンチマークCSVデータのインポート処理は業務系のWebアプリケーションを構築する際にはほぼ必ず必要となる機能なので感覚地として掴んでおくことが目的です。 ベンチマ...
Ruby

CloudWatchにrubyアプリケーションからログを投げる

しかし、投げまくっていると以下のような例外が出るので、Throttlingされてしまったらsleepする必要があります。そうなると全体としての処理パフォーマンスのボトルネックになってしまうので要注意です。 Aws::CloudWatchLo...
Program & Service

郵便番号検索APIサービスをGraphQL対応しました

概要 郵便番号検索APIサービスにおいて、GraphQLに対応しました。graphqlを使い、paginationには graphql-pagination, kaminari-activerecordを使っています。 考察 GET系だけな...