Rubyのバックエンドを構築する方法は?
このチュートリアルでは、 Rubyのバックエンドを構築する方法を発見します。
データベース管理、Cloud Code Functions、RESTおよびGraphQL API、ユーザー認証、リアルタイムクエリ(ライブクエリ)など、Back4Appの基本機能を紹介します。
Rubyプログラミング言語とBack4Appを活用することで、安全でスケーラブル、かつ堅牢なバックエンドを手に入れ、ソフトウェア開発エコシステムに簡単に統合できます。
このアプローチは、Parseに基づいたオープンソースのウェブプラットフォームを使用することで、時間と労力を節約します。迅速な開発原則を用いて、開発プロジェクトを加速する方法を見ていきます。
その過程で、高度なセキュリティ機能の使用、Cloud Jobsによるタスクのスケジューリング、外部統合のためのWebhookの設定を学びます。
最後には、ウェブアプリケーションフレームワークの構造を作成し、プロダクションアプリケーション用に拡張する準備が整います。
あなたは次のことができるようになります:
- データモデル、オブジェクト指向ロジック、リアルタイムデータのためにRubyをBack4Appと統合します。
- モデル・ビュー・コントローラー(MVC)スタイルまたは他の好みのアーキテクチャでのアプリケーション開発のベストプラクティスを活用します。
- 安全なユーザー認証、Cloud Codeトリガーなどを扱うことで、バックエンド開発者としての役割を強化します。
- Back4Appの柔軟な機能を使用して、実際のニーズに合ったWebアプリケーションをさらに洗練させます。
- Rubyプログラミング言語に対する親しみ Rubyの構文、 オブジェクト指向の概念、一般的な プログラミング言語の使用に関する基本的な知識。
- Bundler(オプションだが推奨) Bundlerは、あなたの Webアプリケーションフレームワーク または 開発プロジェクト のためにgemを管理するのに役立ちます。 Bundler公式ドキュメント。
始める前に、これらの前提条件がすべて整っていることを確認してください。Back4Appプロジェクトが作成され、Ruby環境が準備されていると、スムーズなチュートリアル体験が得られます。
- なぜこのステップが重要なのか 新しいBack4Appプロジェクトはあなたの アプリケーション開発の基盤です。それはあなたのデータベースをホストし、ユーザー認証を管理し、 Cloud Codeを実行するための環境を提供します。
- 新しいプロジェクトを作成する
- Back4Appにログインします。
- Back4Appダッシュボードで 新しいアプリ をクリックします。
- アプリに名前を付けます(例:「Ruby-Backend-Tutorial」)。
- Parse SDKをインストールし、Back4Appに接続する Ruby用のParse SDKは、Back4Appのバックエンドと対話するのに役立ちます。 gemを介してインストールできます。
Back4Appでは、 クラスはデータベーステーブルのようなものです。たとえば、タスクを保存するための「Todo」クラスを作成できます。Rubyから動的にクラスを作成するか、ダッシュボードで定義して詳細な制御を行うことができます。
- アプリダッシュボードでAIエージェントを開く
- データモデルを説明する 簡単な言葉で(例:「タイトル、isCompletedフィールドを持つTodoアプリ」)。
- AIエージェントにスキーマを自動的に作成させる
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/0snNZwHWzxuXlNu30n7IA_image.png?format=webp)
以下は、Ruby SDKを使用して「Todo」クラスに新しいレコードを作成する簡単な例です。
RESTインターフェースを使用してレコードを作成および取得することもできます。
Back4Appは高度な ウェブアプリケーション のためのGraphQLエンドポイントを提供します。
Back4Appダッシュボード(サーバー設定)で ライブクエリ を有効にし、環境がWebSocket接続をサポートしている場合はRubyスクリプトから購読します。また、同時実行をサポートする ウェブアプリケーションフレームワーク でリアルタイム更新に使用することもできます。
ACL(アクセス制御リスト)とCLP(クラスレベルの権限)は、 オブジェクト指向 の方法でデータを保護します。ACLは、誰が各レコードを読み書きできるかを決定することを可能にします。CLPは、クラス全体の権限を管理することを可能にします。
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/PdAyrw1nqA1QQJFuCc-4t_image.png?format=webp)
アプリの データベース セクションに移動し、「Todo」のようなクラスを選択します。「セキュリティ」または「クラスレベルの権限」の下でクラスのCLPを設定します。レコードにACLを設定するには:
これにより、所有者のみがその特定のTodoを読み書きできることが保証されます。
クラウドコードは、ビジネスロジックとバリデーションをサーバーに埋め込むのに役立ちます。データの整合性を確保し、クライアントに公開されていないタスクを実行するのに最適です。
プロジェクトの main.js (または類似のもの) で、Back4App上にクラウド関数を定義できます:
注: 私たちの主なアプリケーションはRubyを使用していますが、ParseのクラウドコードはJavaScriptベースです。これがBack4App上でサーバーサイドのロジックを埋め込む方法です。
- Back4App CLI:
- Back4App ダッシュボード: 関数を Cloud Code > Functions にコピー/ペーストし、Deploy をクリックします。
Cloud Code 環境に npm モジュール (例: axios) をインストールできます。例えば:
あなたの main.js, それを require し、必要に応じて外部 API 呼び出しを行います。
アプリの アプリ設定 でユーザー認証を有効にします。Back4App は Parse.User を使用してユーザー管理を行います。
ソーシャルログイン(Facebook、Google、Apple)を統合するには、ソーシャルログインのドキュメント を参照してください。実装の詳細は各プロバイダーによって異なります。
Back4App は Parse::File オブジェクトを介してファイルのアップロードを管理します。Ruby では:
ユーザーは画像、文書、またはその他のファイルをアップロードできます。フロントエンドや他のサービスで表示するためにURLを取得してください。
必要に応じて、認証されたユーザーにファイルアップロードを制限するようにアプリを構成してください。
メール確認は新しいアカウントの有効なメールアドレスを保証します。パスワードリセットは、ユーザーが安全にアカウントを回復できるようにします。
- 「メール確認」を有効にします。
- 確認とパスワードリセットのためのカスタムテンプレートを設定します。
Rubyから、パスワードリセットをリクエストできます:
これにより、ユーザーのメールにパスワードリセットリンクが送信されます。
クラウドジョブは、古いデータのクリーンアップや要約メールの送信などの定期的なタスクを実行します。
バック4アプリのダッシュボードで、アプリ設定 > サーバー設定 > バックグラウンドジョブの下にスケジュールします。
ウェブフックを使用すると、バック4アプリで特定のイベントが発生するたびに外部サービスにHTTPリクエストを送信できます。これは、サードパーティサービスへのリンクや他のプログラミング言語でのタスクのトリガーに最適です。
アプリのバック4アプリダッシュボードに移動し、その他 > ウェブフック, そして外部サービスのURLを持つ新しいウェブフックを追加します。
新しい「Todo」が作成されるたびに、StripeやSlackにデータを送信します。あるいは、クラウドコードでトリガーを定義し、そのトリガー内でHTTPリクエストを行うこともできます。
アプリのダッシュボードで、「More > Admin App」をクリックし、それを有効にします。
- コードなしでデータ管理のためのグラフィカルインターフェース。
- ログ分析、バックグラウンドジョブのスケジューリングなどのためのツール。
- 非技術的なユーザーがコンテンツを安全に管理できるようにする、役割ベースのアクセス制御。
![Admin Appを有効にする Admin Appを有効にする](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/5BTk1ntDh9JLXurObmm_o_image.png?format=webp)
あなたは、Rubyプログラミング言語を使用してParse APIと接続し、Back4App上でRubyアプリのための安全でスケーラブルなバックエンドを構築しました。あなたの開発プロセスには次のものが含まれます:
- 高度なセキュリティ機能(ACL、CLP)を持つデータベース。
- リアルタイムデータ更新をLive Queriesを通じて。
- Cloud Codeトリガーによるカスタムビジネスロジック。
- ユーザー認証とファイル処理。
- Cloud JobsとWebhooksを使用したスケジュールされたタスク。
- データ管理のための使いやすいAdmin Panel。
この基盤を使って、実世界の要件を満たすために、ウェブアプリケーションや他のプログラミング言語のプロジェクトを拡張できます。
経験豊富なバックエンド開発者であろうと、Rubyを始めたばかりであろうと、Back4Appは迅速な開発のためのオブジェクト指向で使いやすいプラットフォームを提供します。
追加のAPIや機能を統合し、モデル・ビュー・コントローラー(MVC)パターンや他のアーキテクチャスタイルに合わせたさらなるカスタマイズを探求してください。
- 生産環境を洗練させる 高度なキャッシング、役割ベースのアクセス、またはパフォーマンス最適化を追加することによって。
- データクラス間のより複雑な関係を追加する 実世界のユースケースを強化するために。
- 公式のBack4Appドキュメントを探求する セキュリティ、パフォーマンスの洞察、分析のために。
- 他のオープンソースのウェブフレームワークで実験する アプリケーションの機能を拡張するために。
RubyとBack4Appを使って、より堅牢で機能豊富な ウェブアプリケーション を構築することを楽しんでください!
![Doc contributor](https://s3.amazonaws.com/archbee-animals/cat.png)