【Rails】Ruby on Railsで署名付きURLを生成してGCSにファイルをアップロード【GCP】
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/199/gcp2.png?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=436c91c91167936bcde3a1f40ee4ed2f34df861a08dc3de318d51d43f4f5dc96)
はじめに
バックエンド(今回はRuby on Rails)で署名付きURLを生成し、GCSに非同期でファイルをアップロードする方法について説明します。
GCPの準備
アカウントの作成
GCPのアカウントを作成します。
<iframe class="hatenablogcard" style="width:100 ...
【Rails】デザインパターン「Decorator」の基本情報と実装方法
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/198/%E7%84%A1%E9%A1%8C_38_.png?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=8e2d25573885bbc8e52c00026ffc472b22a6f3472940efd3300766e1381a46d7)
はじめに
Ruby on RailsなどのMVCフレームワークで構築したWebシステムにはアンチパターンというものが存在します。システム開発におけるアンチパターンとは、避けるべき悪い設計や実装方法のことを指します。
MVCフレームワークでありがちなアンチパターンの一つとして「ファットコントローラー」があります。 ...
【Rails】アクセス制御モデルをサポートする認可ライブラリ「CasbinRuby」の導入・使用方法
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/197/rails-1.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=8bc96dbb8ace1dfa9fede2cf80f4e8069444e908792284382ab1f15b6b6a915e)
はじめに
Railsで利用できるアクセス制御ライブラリは、「Pundit」や「CanCanCan」というGemが人気でよく使われています。これらと比較するとあまり使われていない印象ですが、「CasbinRuby」というGemも存在します。
今回は「CasbinRuby」の導入・使用方法についてまとめます。
概要 ...
【Node.js】開発サーバー起動コマンド実行時のエラー「ReferenceError: Request is not defined」の原因・対処方法
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/196/nodejs.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=31da61bde3e3cd1474236aa7a849f36c97e59b52c0595d42f269dd37f092d462)
事象
開発環境で開発サーバーを起動するためにyarn devを実行したところ、以下のエラーが表示されました。
```sh
% yarn dev
yarn run v1.22.18
$ next dev -p 3050
/path/to/app/node_modules/next/dist/server/web/ ...
【Rails】Rubyでcronジョブを記述できるGem「whenever」の導入・使用方法
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/195/rails-1.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=3c1a0d1dae0cfd54e88a948f6029221b43acdf46edd7c115173f2b65bf4b3763)
はじめに
何らかの処理を定期的に実行したいという場合、UNIX/Linuxに搭載されているcron(クーロン)という機能を使うことができます。
cronの設定例
$ crontab -l
0 1 * * * bundle exec rake articles:check_status
この例は「毎日1:00 ...
【Rails】大量データに対するデータ操作 (Insert/Update/Delete) の設計・実装
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/194/rails-1.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=653ee99a5663d762b239b5d253613b8926f487a3539056b26571529b4b636cd0)
はじめに
業務で大量データを扱うバッチを作成する機会がありました。その際、大量データ処理時のDBにかかる負荷やタイムアウトを考慮して設計・実装する必要があったので記事にまとめます。
要件
まず、今回作成したバッチの要件を簡単に説明します。
そのシステムにはデータベースが2つあり(DB1、DB2とする)、DB1の ...
【Git】マージにおけるfast-forwardとnon-fast-forwardの違い
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/193/git.jpeg?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=4cd5ed505665c459afa45e8c88918954add64c9d25221c0f71866ae120a365b6)
はじめに
Gitにおけるマージには、fast-forwardとnon-fast-forwardの2種類があります。これらの違いを理解することは、Gitの使い方を習得する上で重要です。本記事では、fast-forwardとnon-fast-forwardマージの特徴と使い分けについて詳しく解説します。
マージの種 ...
【AWS】Session Manager経由でEC2インスタンスに接続する方法(画像付き解説)【2023年版】
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/192/aws.png?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=6b154e4a1ec1a99777e1f660236b2cbf26a6e39833243d1dc23034f86c41f606)
EC2インスタンスにIAMロールを設定
作成済みのEC2インスタンスに、Session Manager経由で接続するためのポリシーを含むIAMロールを設定します。
IAMロールの作成
<a class="gallery" data-group="gallery" href="https://i.imgur.co ...
【Rails】Railsアップグレードまとめ
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/191/rails-1.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=85c166b9a862fde7353663d872baf57c287ce61ce4b7b3376643b73370e40768)
はじめに
Ruby on Railsに限らず、何らかのフレームワークを使ってWebシステムを構築している場合、フレームワークのアップグレード作業は避けて通れません。
一般的にフレームワークはバージョン毎にEOL (End of Life)が定められています。EOLとは製品のサポートが終了する年月日のことです。E ...
【Rails】ユーザー登録時に行うメールアドレス認証機能の実装方法
![](https://autovice.s3.ap-northeast-1.amazonaws.com/uploads/article/picture/190/rails.png?X-Amz-Expires=600&X-Amz-Date=20240727T071657Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIASDZCAGFGH4Y2EDPG%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=0eed27b2f7a0d99d8bed93ee26cf038df26a0a022e1398f94d139397fd0b3acd)
はじめに
ユーザー登録/解除やログイン/ログアウトといった認証機能の導入に「devise」というGemを使っている人は多いと思います。「devise」では以下のように記述するだけで、ユーザー登録時に確認メールを送付しメールアドレス認証を行う機能を追加することができます。
app/models/user.rb
r ...
![](/assets/profile-1055d2f9a1a248bf051584d3572c2f2d79d103e956e0fcee48f1cab5cd40472b.jpg)
坂井 光太郎 / Sakai Kotaro
Ruby on Rails を中心とした Web アプリ開発全般に関する技術情報をまとめています。業務に関するご依頼・ご相談、当サイトに対するご感想やメッセージはコンタクトフォームからお気軽にお問い合わせください。