node.jsとherokuを使用してFacebookチャットボットを構築し、Joan YinとCamilo Reyesが査読します。 SitePointコンテンツを最高の状態にしてくれたすべてのSitePointピアレビューアに感謝します!
昨年のF8会議で、Facebookはメッセンジャープラットフォームを立ち上げ、開発者がメッセンジャーやFacebookのページで人々と話すことができるボットを作成できるようにしました。ロボットを使用すると、アプリケーションの所有者は、大衆に拡張できるパーソナライズされたインタラクティブなコミュニケーションを提供することにより、ユーザーとより適切に対話できます。エンタープライズとアプリケーションの所有者は、その発売以来、チャットボットに大きな関心を示してきました。発表の3か月後、プラットフォーム上に11,000のロボットが構築されたと推定されています。
チャットボットは、企業やアプリケーションの所有者だけでなく、利益をもたらします。これらのロボットのユーザーは、次のような多数のサービスを楽しむことができます:
- インスタントカスタマーサポートを入手してください
- 予約便
- 映画のチケットを購入
- Netflix映画の推奨事項を入手してください
- 天気予報を取得
- ニュースに従ってください
- ドレッシングアドバイスを入手してください
- 手元の材料に基づいて夕食のアイデアを入手してください
- エンターテイメント
チャットボットの現在の関心と魅力は明らかです。
この記事では、Facebookページに代わってMessengerを介してユーザーと対話できるFacebookチャットボットを作成する方法について説明します。ユーザーが指定した映画に関するさまざまな詳細をユーザーに提供できるロボットを構築します。キーポイント
- node.jsとherokuを使用してFacebookチャットボットを展開するには、FacebookグラフAPIと対話するサーバーをセットアップし、メッセージを処理するためにWebhookエンドポイントを構成する必要があります。
- 簡単なルールベースのチャットボットの構築には、基本的なAIまたは機械学習の知識は必要ありませんが、NLPを統合すると、ロボットのユーザーとの対話能力が向上します。
- Herokuプラットフォームは、Facebook Webhookの確認に必要なHTTPSをサポートするため、展開用です。 Herokuの環境変数は、APIトークンと機密データを保護するために不可欠であり、これらの詳細がアプリケーションのソースコードにハードコードされていないことを保証します。
- Facebookメッセンジャープラットフォームにより、ウェルカム画面やインタラクションを開始するように構成できるスタートボタンなどの機能を備えたリッチなユーザーエクスペリエンスの作成が可能になります。
- MLABでホストされているMongoDBは、ユーザーデータとセッションステータスを管理するために使用され、チャットボットが進行中のユーザーインタラクションを効果的に追跡して応答できるようにします。
- チャットボットが公開され、一般とのやり取りを行うには、プラットフォームポリシーとセキュリティ基準へのコンプライアンスを確保するために、Facebookのレビュープロセスを通過して通過する必要があります。
- ロボットを構築するにはAIを理解する必要がありますか?
2種類のロボットを構築できます。 1つは一連のルールに基づいており、もう1つは機械学習を使用することです。前者は、提供できる相互作用の点で制限されています。特定のコマンドにのみ応答できます。これは、私たちが構築するロボットのタイプです。
機械学習ロボットを使用すると、ユーザーの対話を改善できます。ユーザーは、コマンドを使用するのではなく、人間の相互作用で行うように、ロボットとより自然にやり取りできます。ロボットは、人々との会話から学ぶにつれて、より賢くなります。将来の記事でこのタイプのロボットの構築を保存します。ただし、機械学習の知識は必要ありません。幸いなことに、開発者が機械学習(特に自然言語処理-NLP)をアプリケーションに統合できるようにするwit.aiやapi.aiなどのサービスがあります。
start
ここから完成したデモアプリケーションのコードをダウンロードできます。
チャットボットがFacebookユーザーと通信するためには、メッセージを受信、処理、送信するためにサーバーをセットアップする必要があります。サーバーは、このためにFacebookグラフAPIを使用します。グラフAPIは、Facebookプラットフォームデータに出入りする主な方法です。サーバーには、FacebookサーバーがアクセスできるエンドポイントURLが必要なため、ローカルマシンにWebアプリケーションを展開することは機能しません。オンラインで持ち込む必要があります。さらに、グラフAPIのバージョン2.5から始めて、サービスの新しいサブスクリプションは安全なHTTPSコールバックURLを使用する必要があります。このチュートリアルでは、すべてのデフォルトのappname.herokuapp.comドメインがSSLを有効にしているため、アプリケーションをHerokuに展開します。 node.jsを使用して、Webアプリケーションを構築します。
最初に、コンピューターにノードがインストールされていることを確認してください。これは、端子でノード-Vを入力することで確認できます。インストールすると、バージョン番号が出力されます。次に、Herokuコマンドラインインターフェイス(CLI)をインストールします。後でアプリをHerokuにプッシュするために使用します。 Heroku -versionを使用して、CLIがインストールされていることを確認します。
プロジェクトディレクトリを作成し、次のコマンドを使用してpackage.jsonファイルを初期化します。
<code>$ mkdir spbot $ cd spbot $ npm init</code>
プロジェクトの設定を設定するためにプロンプトに従ってください。
package.jsonファイルを生成した後、それを開き、スクリプトオブジェクトに開始プロパティを追加します。これにより、Herokuはどのコマンドを実行してアプリケーションを開始するかを知ることができます。プロジェクトのセットアップ中に、App.jsをアプリケーションのエントリポイントとして定義するため、node app.jsをStartの値として使用します。プロジェクトの設定に従ってこの設定を変更します。
<code>{ "name": "spbot", "version": "1.0.0", "description": "SPBot Server", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node app.js" }, "author": "Joyce Echessa", "license": "ISC" }</code>
次のノードパッケージをインストールします。
<code>$ npm install express request body-parser mongoose --save</code>
プロジェクトのルートディレクトリに.gitignoreファイルを作成し、node_modulesフォルダーを含めて、送信されないようにします。
<code>node_modules</code>
プロジェクトのルートディレクトリで、app.jsという名前のファイルを作成します(デフォルト名が使用されている場合はindex.js)。次のように変更してください:
var express = require("express"); var request = require("request"); var bodyParser = require("body-parser"); var app = express(); app.use(bodyParser.urlencoded({extended: false})); app.use(bodyParser.json()); app.listen((process.env.PORT || 5000)); // 服务器索引页面 app.get("/", function (req, res) { res.send("已部署!"); }); // Facebook Webhook // 用于验证 app.get("/webhook", function (req, res) { if (req.query["hub.verify_token"] === "this_is_my_token") { console.log("已验证 webhook"); res.status(200).send(req.query["hub.challenge"]); } else { console.error("验证失败。令牌不匹配。"); res.sendStatus(403); } });
最初のGet Handlerは、アプリケーションが正常に展開されたかどうかを確認するために、独自のテストに使用されます。 2番目のゲットハンドラーは、Facebookがアプリケーションを検証するために使用するエンドポイントです。コードは確認_TOKENを探し、検証リクエストに送信されたチャレンジで応答する必要があります。
コードに独自のトークンを貼り付けることができます。このタイプのデータは、環境変数で最もよく保存されています。これは、Herokuでプロジェクトを作成した直後に行います。
heroku
に展開しますFacebookプラットフォームがバックエンドアプリケーションに接続するためには、まずオンラインにする必要があります。
gitリポジトリを作成し、次のコマンドを使用してプロジェクトを送信します。
<code>$ git init $ git add . $ git commit -m "Initial commit"</code>まだいない場合は、無料のHerokuアカウントにサインアップしてください。
端末からHerokuにログインし、アプリケーションを作成します。
<code>$ heroku login $ heroku create $ git push heroku master $ heroku open</code>Heroku Openコマンドを実行した後、アプリケーションを実行するリンクはデフォルトのブラウザで開きます。すべてがうまくいけば、「展開!」というテキストのページが表示されます。
環境変数の作成
先に進む前に、Herokuの環境変数を作成して、アプリケーションの検証トークンを保存しましょう。
Herokuダッシュボードを開き、展開したばかりのアプリケーションを選択します。アプリケーションの
設定に移動し、[構成変数を表示] ボタンをクリックします。 keyとして確認_tokenを入力し、値としてトークンを入力し、をクリックしてを追加します。
コードで、トークン文字列( "this_is_my_token")をprocess.env.verification_tokenに変更します。変更を提出して、それらをHerokuにプッシュしてください。
Facebookページとアプリケーションを作成
サーバーが稼働しているときに、Facebookアプリケーションとその関連ページを作成します。新しいページを作成するか、既存のページを使用できます。
Facebookページを作成するには、Facebookにログインして作成ページに移動します。指定されたオプションからページタイプを選択します。私はエンターテイメントを選びました。
次に、ページのカテゴリと名前を選択します。
startをクリックした後、ページが作成され、アプリケーションに関するより詳細な情報(説明、ウェブサイト、プロフィール写真、ターゲットオーディエンスなど)を提供するよう求められます。これで、これらのセットアップ手順をスキップできます。
基本設定リンクをクリックして、以下を選択します。
[
製品設定
メッセンジャーのセクションでをクリックしてを開始します。以下に示すように、メッセンジャー設定ページに移動します。
メッセンジャーユーザーから送信されたメッセージやその他のイベントを受信するには、アプリケーションがWebhook統合を有効にする必要があります。次にこれを行います。 WebHook(以前はLive Update
webhookセクションで、[
の設定をクリックします 更新されたコールバックURL(バックエンドアプリケーションで定義されているエンドポイントURL、つまり/webhook)を入力し、検証トークン(バックエンドアプリケーションで使用されるトークン、つまりプロセスに保存されます。確認_token)を選択し、すべてのチェックボックスを選択します。これらは、アプリケーションがサブスクライブするイベントを指定します。後でこれらのイベントの役割について学びます。
webhookを正常に有効にした後、webhookセクションと購読されたイベントのリストに記入が表示されるはずです。エラーを受け取った場合は、Webhookエンドポイント( /webhookで終了)の正しいURLを入力していることを確認し、ここで使用されるトークンがノードアプリケーションで使用しているトークンと同じであることを確認してください。
Token Generationセクションで、ドロップダウンメニューからページを選択します。認証後、ページアクセストークンが生成されます。
キーをPage_access_tokenに設定し、値として生成されたトークンを取得します。生成されたトークンは、Facebookに表示されている現在のページに保存されていないことに注意してください。ページにアクセスするたびに、ページのドロップダウンメニューからFacebookページを選択すると、ページアクセストークンフィールドが空白になり、新しいトークンが生成されます。ただし、以前に作成されたトークンはすべて機能します。したがって、ページを閉じる前にトークンを必ずコピーしてください。
Webhookが特定のページでイベントを受信するには、アプリケーションをそのページに購読する必要があります。webhookセクションで、サブスクライブするページを選択します。
ユーザーがボットとの新しい会話を開始するときに最初に見ることは、ウェルカム画面です。この画面には、ページの名前、説明、プロフィール写真、カバー写真が表示されます。ページの説明の代わりに使用されるグリーティングテキストを設定して、画面をカスタマイズできます。これを使用して、入門メッセージをセットアップして、ユーザーがボットから何を得ることができるかを知らせることができます。
デフォルトでは、会話を開始するために、ユーザーは最初のメッセージをボットに送信します。ただし、スタートボタンを有効にして、ボットが最初のメッセージを送信できるようにすることができます。ボタンはイベントをサーバーに送信し、その後応答できます。
挨拶テキストを設定するには、ページを開き、
setに移動します。
メッセージを選択し、右のパネルにを開いて、メッセンジャーの挨拶を表示します。あなたの好みにメッセージを設定します。
<code>$ mkdir spbot $ cd spbot $ npm init</code>
上記の操作は、FacebookグラフAPIにリクエストを送信します。リクエストが成功した場合、スタートボタンは新しい会話のウェルカム画面に表示されます。ユーザーはこのボタンをクリックして、コールバックを受信したポストバックをトリガーします。その後、ボットはこのポストバックに応答できます。
ポストバックのコンポーネント、ポストバックボタン、スタートボタン、永続メニュー、または構造化されたメッセージなど、さまざまな種類のコンポーネントによってトリガーできます。任意の文字列をペイロードとして設定できます。バックエンドでは、この文字列を使用して、[スタート]ボタンをクリックするために送信されたポストバックを識別します。ポストバックメッセージを受信するには、アプリケーションがWebhookのPostbackを購読する必要があります。 Messaging_Postbacksチェックボックスを選択して、WebHookをセットアップするときに前にこれを行いました。
スタートボタンが正常に設定されている場合、次の応答が表示されます。
<code>{ "name": "spbot", "version": "1.0.0", "description": "SPBot Server", "main": "app.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node app.js" }, "author": "Joyce Echessa", "license": "ISC" }</code>
ウェルカム画面と開始ボタンは、新しい会話でのみ表示されることを忘れないでください。ボットをエンコードしてテストするときは、現在の会話を削除して新しい会話を開始できます。
ポストバックメッセージを処理するには、以下をノードアプリケーションに貼り付けます。
<code>$ npm install express request body-parser mongoose --save</code>
誰かがあなたのボットと対話したり、ページにメッセージを送信したりするたびに、WebHook統合を介して更新が送信されます。メッセージを取得するには、Webhookの投稿を聞く必要があります。すべてのコールバックはこのWebhookに送信されます。
上記のポストハンドラーでは、アプリケーションに送信されたメッセージエントリを反復します。メッセージがバッチで一緒に送信される場合があるため、エントリには複数のオブジェクトが含まれる場合があります。次に、各エントリのメッセージイベントを反復し、そのタイプを確認します。以下は、アプリケーションに送信できる異なるコールバックメッセージです。- メッセージコールバックを受信した - 人がボットにメッセージを送信すると、受信したメッセージコールバックが送信されます。 Webhookをセットアップするときは、メッセージイベントを購読する必要があります。
- 受信したポストバックコールバック - 人が構成されたボタンをクリックしてポストバックを送信すると、受信したポストバックコールバックが送信されます。 Postbackからコールバックを取得するには、Webhookを設定するときにMessaging_PostBacksイベントに購読する必要があります。
- 配信されたメッセージコールバック - このコールバックは、ページで送信されたメッセージが配信されたときに発生します。 Webhookをセットアップするときは、message_deliveriesイベントに登録する必要があります。
- 認証コールバック - このコールバックは、送信者プラグインがクリックされたときに発生します。 Webhookをセットアップするときは、Messaging_optinsイベントに登録する必要があります。
- 読み取りメッセージコールバック - このコールバックは、ページで送信されたメッセージがユーザーによって読み取られたときに発生します。 Webhookをセットアップするときは、message_readsイベントに登録する必要があります。
- メッセージエコーコールバック - このコールバックは、ページがメッセージを送信するときに発生します。添付ファイル(画像、ビデオ、オーディオ、テンプレート、または代替)を使用したテキストメッセージまたはメッセージを受信できます。 Webhookをセットアップするときは、message_echoesイベントに登録する必要があります。
- チェックアウトアップデートコールバック(beta) - このコールバックは、柔軟な量トランザクションで購入ボタンを使用するときに発生します。これにより、配送先住所に基づいて価格を更新できます。 WebHookをセットアップするときは、MESSAGING_CHECKOUT_UPDATESイベントを購読する必要があります。現在、この機能は米国以外では利用できません。
- 支払いコールバック(beta) - このコールバックは、購入ボタンで表示された[チェックアウト]ダイアログボックスの支払いボタンをクリックすると発生します。 Webhookをセットアップするときは、Messaging_Paymentsイベントに登録する必要があります。現在、この機能は米国以外では利用できません。
イベントがポストバックの場合、ProcessPostBack()関数を呼び出します。この関数では、ペイロード値を確認します。スタートボタンのペイロードに挨拶を設定したことを忘れないでください。ここでは、ボタンをクリックするためにメッセージイベントが送信されたかどうかを確認します。その場合、ユーザープロファイルAPIを使用してユーザーの名前を取得し、それを使用して送信されるメッセージをパーソナライズします。 APIから、名前、姓、プロフィール写真、ロケール、タイムゾーン、性別を取得できます。
次に、メッセージをsendmessage()関数に送信します。この関数は、メッセンジャープラットフォームに公開します。 WebHook Post Handlerでは、200のOK HTTP応答を返します。
できるだけ早く200を返すことは非常に重要です。 Facebookは次のメッセージを送信する前に200を待ちます。大容量のボットでは、200回のリターンの遅延により、FacebookがWebhookにメッセージを配信するための大幅な遅延が発生する可能性があります。
Webhookがエラー(つまり、2xx状態ではない)またはタイムアウト(つまり、応答時間が20秒を超える)を返し、15分以上続けている場合、警告アラートを受け取ります。
Webhookが8時間失敗し続けている場合、FacebookはWebhookが無効になり、アプリが登録解除されることを知らせるアラートを送信します。問題を修正した後、Webhookを再び添加し、アプリケーションをページに再登録する必要があります。
変更を送信して、それらをHerokuにプッシュします。
ボットをテストするには、Facebook.com、Facebookモバイルアプリのメッセンジャーショートリンクを使用するか、メッセンジャーショートリンクを使用できます https://www.php.cn/link/1fd37ce80d495bebcb35e0054d7384fe
Facebookとメッセンジャーでは、ページ名を検索してページを見つけることができます。
moreを選択してページ情報を編集します。
次に、ユーザー名を設定します。
@page_usernameを検索すると、正しいページが取得されます。また、
にアクセスして、インタラクションを開始することもできます。 以下に示すように、ウェルカム画面に設定したグリーティングテキストと start
ボタンを見ることができます。このボタンをクリックした後、サーバーから送信されたメッセージが表示されるはずです。
テキストを入力した場合、返信は届きません。次にこの問題を解決します。
データベースを設定します
ユーザーが映画名を入力すると、ロボットはオープンムービーデータベースAPIを使用して映画の詳細を取得します。使用するAPIリクエストは、最初の一致結果のみを取得するため、返された映画は常にユーザーが望むものではない場合があります。したがって、ロボットは最初にユーザーが正しい映画を取得したかどうかを確認し、その後、ユーザーは映画のプロット、キャスト、IMDB評価などの詳細情報を取得できます。また、別の映画名を入力して詳細を取得することもできます。
この前後の相互作用のため、ロボットはユーザーの現在の映画のエントリを覚えておく必要があります。 FacebookはWebhookでセッションを開いたままにしないため、セッションオブジェクトに保存するデータは次のリクエストで失われます。代わりに、このデータをデータベースに保存します。特にmonodb。 HerokuでMLABアドオンを使用します。
MLABは、MongoDBのデータベースとしてのデータベースです。 Herokuでは、無料のSandboxMLABプランを使用できますが、検証のためにクレジットカードをHerokuに保存する必要があります。カードの詳細を提供したくない場合は、MLAB Webサイトでアカウントを登録できます。このWebサイトでは、Sandboxデータベースの無料レイヤーを作成し、コードからそのデータベースにリンクします(詳細については後で詳しく説明します)。
Herokuでアドオンを使用するには、アプリケーションのダッシュボードに移動し、
Herokuの環境変数を確認すると、Mongodb URIセットの変数が表示されます。
MLAB Webサイト
MLAB WebサイトにMongoDBデータベースを設定する場合は、そこにアカウントを登録して、新しい展開ページの作成に移動します。
プラン設定を singleノードに変更し、標準ラインセクションから sandboxを選択します。
データベースの名前を設定し、
]ボタンをクリックしてプロセスを完了します。
次のページで、表示されたテーブルから作成したデータベースを選択します。データベースへのアクセス方法に関する指示があるページが開きます。
[
ユーザーデータベースユーザーを追加しますをクリックします。ユーザー名とパスワードを入力して、をクリックしてを作成します。これにより、アプリケーションがデータベースにアクセスできるようにするために使用できる新しい資格情報セットが作成されます。 ページの上半分で、データベースURIを見つけてコピーします。mongodb:// :@dsxxxxxx.mlab.com:55087/spbotのように見えます。作成したばかりのdbuser名とパスワードを挿入します。 Herokuでは、Mongodb_uriという名前の環境変数を作成し、データベースのURIをその値として貼り付けます。ノードアプリケーションに戻り、Movie.jsという名前のファイルを作成し、モデルという名前のフォルダーに保存します。以下をファイルに貼り付けます: ムービーデータベースモデルが上に作成されます。 user_idはメッセンジャープラットフォームから取得したユーザーIDとなり、他のフィールドは映画APIから取得されます。ユーザーが検索した最後の映画のみを保存するため、データベースにはユーザーごとに1つのレコードしかありません。 user_idフィールドを省略し、作成された各レコードの_IDとしてユーザーのIDのみを使用できます。ユーザーIDはFacebookページに固有のものであるため、これは機能します。これを行う場合は、ユーザーIDがページ全体であることを知っておく必要があります。これは、ユーザーのIDが指定されたページに固有のものであることを意味しますが、ユーザーは異なるページに対して異なるIDを持っている場合があります。 ボットが異なるページを提供する場合にのみこれを知る必要があります(はい、1つのボットが複数のページを提供できます)。したがって、ボットが複数のページを提供している場合、ユーザーIDのみでユーザーを識別できない可能性があり、_IDフィールドはレコードとしてユーザーIDを使用することも失敗します。これは一意でなければならず、ページ全体で一意性を保証します。
次に、メッセージがテキストまたは添付ファイル(画像、ビデオ、オーディオ)であるかどうかを確認します。後者の場合、ユーザーにエラーメッセージを送信します。テキストメッセージの場合、ユーザーが映画の詳細を示す特定のキーワードと一致するかどうかを確認します。この時点で、ユーザーは映画を照会し、映画はデータベースに保存されます。 getMoviedetail()関数はデータベースを照会し、特定のレコードを返します。
テキストに加えて、メッセンジャープラットフォームを使用すると、画像、ビデオ、オーディオ、ファイル、構造化されたメッセージを送信できます。構造化されたメッセージは、異なるユースケースをサポートするテンプレートです。ボタンテンプレートを使用すると、テキストとボタンを送信できます。ユニバーサルテンプレートを使用すると、画像、タイトル、字幕、ボタンを定義できます。アプリケーションでは、ユニバーサルテンプレートを使用します。 以下に示すようにProcessPostBack()関数を変更します。 モデルクラスを定義します
<code>$ mkdir spbot
$ cd spbot
$ npm init</code>
データベースとモデルが設定された後、チャットボットを完了することができます。コードはセクションでレンダリングされますが、プロジェクトにコード全体を貼り付けたい場合は、app.jsファイルへのリンクを次に示します。 <code>{
"name": "spbot",
"version": "1.0.0",
"description": "SPBot Server",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node app.js"
},
"author": "Joyce Echessa",
"license": "ISC"
}</code>
<code>$ npm install express request body-parser mongoose --save</code>
<code>node_modules</code>
var express = require("express");
var request = require("request");
var bodyParser = require("body-parser");
var app = express();
app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());
app.listen((process.env.PORT || 5000));
// 服务器索引页面
app.get("/", function (req, res) {
res.send("已部署!");
});
// Facebook Webhook
// 用于验证
app.get("/webhook", function (req, res) {
if (req.query["hub.verify_token"] === "this_is_my_token") {
console.log("已验证 webhook");
res.status(200).send(req.query["hub.challenge"]);
} else {
console.error("验证失败。令牌不匹配。");
res.sendStatus(403);
}
});
<code>$ git init
$ git add .
$ git commit -m "Initial commit"</code>
<code>$ mkdir spbot
$ cd spbot
$ npm init</code>
以上がNodeとHerokuでFacebookチャットボットを構築しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版
中国語版、とても使いやすい

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
