長生村本郷Engineers'Blog

千葉県長生村本郷育ちのエンジニアが書いているブログ

Rails

Rails (gem 'sendgrid-ruby') × SendGrid の Event Notification で API Key ごとの独自メタ情報を設定する

SendGrid の Event Notification の使い所 SendGrid には Event Notification という Webhook を設定することでメールの送信状態をイベント情報として取得することができます。 メールを SendGrid が受信した、送信先に届いた、等の情報です。 sendgrid.kke.…

Rails に reCAPTCHA v3 導入して bot 対策

概要 Rails で構築した Webサービスで bot 攻撃を定期的に受けた為、問い合わせフォームに reCAPTCHA v3 を導入しました。 何故 v2 でなく、reCAPTCHA v3 ? v2 は I'm not a robot チェックボックスにチェックを入れた後に画像選択させる仕様があります。 例…

Rails × Redis でスレッドセーフなアクセス数ランキング実装

概要 メディアサイトで記事ページへアクセス数ランキングを実装しました。 Rails 5.1 Redis (AWS ElastiCache 3.2.10) その際にマルチスレッド環境を考慮してスレッドセーフな実装を心がけました。 スレッドセーフとは スレッドセーフとは複数のスレッドが同…

docker-comopse で Rails 5 (Puma) + Nginx + Mysql 構築 on Vagrant(Ubuntu)

自身の Rails 開発環境の雛形として利用している docker-compose です。 github.com 以下設定手順です。 Vagrant 起動 macOS%$ git clone https://github.com/kenzo0107/vagrant-docker macOS%$ cd ./vagrant-docker/ macOS%$ vagrant up macOS%$ vagrant ss…

Vagrant + docker-compose で Rails 5.1.0 (Puma) + Nginx + MySQL 環境構築

概要 簡易的に Rails 環境を構築・開発できる様にすべく構築しました。 こんな時に利用してます。 新規プロジェクト開発 新規 gem, その他ミドルウェアの試験 簡単なモックを作ってディレクターに見せたい時とか 構築手順をまとめました。 環境 macOS Sierra…