クイックスターターズ

Rubyのバックエンドを構築する方法は?

32min

はじめに

このチュートリアルでは、 Rubyのバックエンドを構築する方法を発見します。

データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリ(ライブクエリ)など、Back4Appの基本機能を紹介します。

Rubyプログラミング言語とBack4Appを活用することで、安全でスケーラブル、かつ堅牢なバックエンドを手に入れ、ソフトウェア開発エコシステムに簡単に統合できます。

このアプローチは、Parseに基づいたオープンソースのウェブプラットフォームを使用することで、時間と労力を節約します。迅速な開発原則を用いて、開発プロジェクトを加速する方法を見ていきます。

その過程で、高度なセキュリティ機能の使用、Cloud Jobsによるタスクのスケジューリング、外部統合のためのWebhookの設定を学びます。

最後には、ウェブアプリケーションフレームワークの構造を作成し、プロダクションアプリケーション用に拡張する準備が整います。

あなたは次のことができるようになります:

  1. データモデル、オブジェクト指向ロジック、リアルタイムデータのためにRubyをBack4Appと統合します。
  2. モデル・ビュー・コントローラー(MVC)スタイルまたは他の好みのアーキテクチャでのアプリケーション開発のベストプラクティスを活用します。
  3. 安全なユーザー認証、Cloud Codeトリガーなどを扱うことで、バックエンド開発者としての役割を強化します。
  4. Back4Appの柔軟な機能を使用して、実際のニーズに合ったWebアプリケーションをさらに洗練させます。

前提条件

  • Back4appアカウントと新しいBack4appプロジェクト Back4appの始め方。 アカウントがない場合は無料でサインアップしてください。
  • ローカルRuby環境 あなたは Ruby をインストールしている必要があります。通常、Ruby 2.6以上が推奨されます。
  • Rubyプログラミング言語に対する親しみ Rubyの構文、 オブジェクト指向の概念、一般的な プログラミング言語の使用に関する基本的な知識。
  • Bundler(オプションだが推奨) Bundlerは、あなたの Webアプリケーションフレームワーク または 開発プロジェクト のためにgemを管理するのに役立ちます。 Bundler公式ドキュメント。

始める前に、これらの前提条件がすべて整っていることを確認してください。Back4Appプロジェクトが作成され、Ruby環境が準備されていると、スムーズなチュートリアル体験が得られます。

ステップ1 – Back4Appで新しいプロジェクトを作成し、接続する

  1. なぜこのステップが重要なのか 新しいBack4Appプロジェクトはあなたの アプリケーション開発の基盤です。それはあなたのデータベースをホストし、ユーザー認証を管理し、 Cloud Codeを実行するための環境を提供します。
  2. 新しいプロジェクトを作成する
    • Back4Appにログインします。
    • Back4Appダッシュボードで 新しいアプリ をクリックします。
    • アプリに名前を付けます(例:「Ruby-Backend-Tutorial」)。
  3. Parse SDKをインストールし、Back4Appに接続する Ruby用のParse SDKは、Back4Appのバックエンドと対話するのに役立ちます。 gemを介してインストールできます。

ステップ2 – データベースの設定

1. データモデルの作成

Back4Appでは、 クラスはデータベーステーブルのようなものです。たとえば、タスクを保存するための「Todo」クラスを作成できます。Rubyから動的にクラスを作成するか、ダッシュボードで定義して詳細な制御を行うことができます。

2. AIエージェントを使用したデータモデルの作成

  1. アプリダッシュボードでAIエージェントを開く
  2. データモデルを説明する 簡単な言葉で(例:「タイトル、isCompletedフィールドを持つTodoアプリ」)。
  3. AIエージェントにスキーマを自動的に作成させる
Document image


3. Rubyを使用したデータの読み取りと書き込み(Parse SDK)

以下は、Ruby SDKを使用して「Todo」クラスに新しいレコードを作成する簡単な例です。

Ruby


4. REST APIを使用したデータの読み取りと書き込み

RESTインターフェースを使用してレコードを作成および取得することもできます。

Bash


5. GraphQL APIを使用したデータの読み取りと書き込み

Back4Appは高度な ウェブアプリケーション のためのGraphQLエンドポイントを提供します。

GraphQL


6. ライブクエリの使用(オプション)

Back4Appダッシュボード(サーバー設定)で ライブクエリ を有効にし、環境がWebSocket接続をサポートしている場合はRubyスクリプトから購読します。また、同時実行をサポートする ウェブアプリケーションフレームワーク でリアルタイム更新に使用することもできます。

ステップ3 – ACLとCLPによるセキュリティの適用

1. 概要

ACL(アクセス制御リスト)とCLP(クラスレベルの権限)は、 オブジェクト指向 の方法でデータを保護します。ACLは、誰が各レコードを読み書きできるかを決定することを可能にします。CLPは、クラス全体の権限を管理することを可能にします。

Document image


2. クラスレベルの権限(CLP)とACLの設定

アプリの データベース セクションに移動し、「Todo」のようなクラスを選択します。「セキュリティ」または「クラスレベルの権限」の下でクラスのCLPを設定します。レコードにACLを設定するには:

Ruby


これにより、所有者のみがその特定のTodoを読み書きできることが保証されます。

ステップ 4 – クラウドコード関数の作成

1. クラウドコードの理由

クラウドコードは、ビジネスロジックとバリデーションをサーバーに埋め込むのに役立ちます。データの整合性を確保し、クライアントに公開されていないタスクを実行するのに最適です。

2. 例の関数

プロジェクトの main.js (または類似のもの) で、Back4App上にクラウド関数を定義できます:

JS


注: 私たちの主なアプリケーションはRubyを使用していますが、ParseのクラウドコードはJavaScriptベースです。これがBack4App上でサーバーサイドのロジックを埋め込む方法です。

3. デプロイメント

  • Back4App CLI:
  • Back4App ダッシュボード: 関数を Cloud Code > Functions にコピー/ペーストし、Deploy をクリックします。

4. NPM モジュール

Cloud Code 環境に npm モジュール (例: axios) をインストールできます。例えば:

Bash


あなたの main.js, それを require し、必要に応じて外部 API 呼び出しを行います。

ステップ 5 – 認証の設定

1. ダッシュボード設定

アプリの アプリ設定 でユーザー認証を有効にします。Back4App は Parse.User を使用してユーザー管理を行います。

2. Ruby でのサインアップ / ログイン

Ruby


3. ソーシャルログイン

ソーシャルログイン(Facebook、Google、Apple)を統合するには、ソーシャルログインのドキュメント を参照してください。実装の詳細は各プロバイダーによって異なります。

ステップ 6 – ファイルストレージの処理

1. ファイルストレージの設定

Back4App は Parse::File オブジェクトを介してファイルのアップロードを管理します。Ruby では:

Ruby


2. 例

ユーザーは画像、文書、またはその他のファイルをアップロードできます。フロントエンドや他のサービスで表示するためにURLを取得してください。

3. セキュリティ考慮事項

必要に応じて、認証されたユーザーにファイルアップロードを制限するようにアプリを構成してください。

ステップ 7 – メール確認とパスワードリセット

1. なぜ重要なのか

メール確認は新しいアカウントの有効なメールアドレスを保証します。パスワードリセットは、ユーザーが安全にアカウントを回復できるようにします。

2. Back4App ダッシュボードの設定

  • メール確認」を有効にします。
  • 確認とパスワードリセットのためのカスタムテンプレートを設定します。

3. コード例

Rubyから、パスワードリセットをリクエストできます:

Bash


これにより、ユーザーのメールにパスワードリセットリンクが送信されます。

ステップ 8 – クラウドジョブによるタスクのスケジューリング

1. クラウドジョブの役割

クラウドジョブは、古いデータのクリーンアップや要約メールの送信などの定期的なタスクを実行します。

2. 例のジョブ

JS


バック4アプリのダッシュボードで、アプリ設定 > サーバー設定 > バックグラウンドジョブの下にスケジュールします。

ステップ9 – ウェブフックの統合

1. 定義

ウェブフックを使用すると、バック4アプリで特定のイベントが発生するたびに外部サービスにHTTPリクエストを送信できます。これは、サードパーティサービスへのリンクや他のプログラミング言語でのタスクのトリガーに最適です。

2. 設定

アプリのバック4アプリダッシュボードに移動し、その他 > ウェブフック, そして外部サービスのURLを持つ新しいウェブフックを追加します。

3. 例

新しい「Todo」が作成されるたびに、StripeやSlackにデータを送信します。あるいは、クラウドコードでトリガーを定義し、そのトリガー内でHTTPリクエストを行うこともできます。

ステップ10 – Back4App管理パネルの探索

1. どこで見つけるか

アプリのダッシュボードで、「More > Admin App」をクリックし、それを有効にします。

2. 機能

  • コードなしでデータ管理のためのグラフィカルインターフェース。
  • ログ分析、バックグラウンドジョブのスケジューリングなどのためのツール。
  • 非技術的なユーザーがコンテンツを安全に管理できるようにする、役割ベースのアクセス制御。
Admin Appを有効にする
Admin Appを有効にする


結論

あなたは、Rubyプログラミング言語を使用してParse APIと接続し、Back4App上でRubyアプリのための安全でスケーラブルなバックエンドを構築しました。あなたの開発プロセスには次のものが含まれます:

  • 高度なセキュリティ機能(ACL、CLP)を持つデータベース
  • リアルタイムデータ更新をLive Queriesを通じて。
  • Cloud Codeトリガーによるカスタムビジネスロジック。
  • ユーザー認証とファイル処理。
  • Cloud JobsとWebhooksを使用したスケジュールされたタスク
  • データ管理のための使いやすいAdmin Panel

この基盤を使って、実世界の要件を満たすために、ウェブアプリケーションや他のプログラミング言語のプロジェクトを拡張できます。

経験豊富なバックエンド開発者であろうと、Rubyを始めたばかりであろうと、Back4Appは迅速な開発のためのオブジェクト指向で使いやすいプラットフォームを提供します。

追加のAPIや機能を統合し、モデル・ビュー・コントローラー(MVC)パターンや他のアーキテクチャスタイルに合わせたさらなるカスタマイズを探求してください。

次のステップ

  • 生産環境を洗練させる 高度なキャッシング、役割ベースのアクセス、またはパフォーマンス最適化を追加することによって。
  • データクラス間のより複雑な関係を追加する 実世界のユースケースを強化するために。
  • 公式のBack4Appドキュメントを探求する セキュリティ、パフォーマンスの洞察、分析のために。
  • 他のオープンソースのウェブフレームワークで実験する アプリケーションの機能を拡張するために。

RubyとBack4Appを使って、より堅牢で機能豊富な ウェブアプリケーション を構築することを楽しんでください!