PYTHON ヘルプ

deepstream io(開発者のための仕組み)

リアルタイムサーバーは、データに即座に応答するよう設計されており、すべてのユーザーの操作やシステムイベントに即座に反応します。 従来の遅延を伴う要求応答型サーバーとは異なり、リアルタイム[サーバー](https://en.wikipedia.org/wiki/Server_(computing)は、技術とプロトコルを使用して、情報の継続的な交換と即時の更新を保証します。 リアルタイムサーバーはライブコミュニケーションを必要とする複数のアプリケーションにとって重要です。これは、メッセージングシステム、オンラインゲーム、金融取引プラットフォーム、コラボレーションツールなどが含まれます。 この記事では、オープンリアルタイムサーバーのdeepstreamとIronPDFを使用してPDFを生成する方法を学びます。

イントロダクション

deepstream.ioは、データ同期と多対多メッセージングのためのスケーラブルなリアルタイムサーバーです。 データを簡単に扱い、多くのクライアントと非常に低遅延で同期を保ち、バイナリデータ転送をサポートできます。 deepstream.ioは、他のロードバランシングやバランサーの背後に配置されるように設計されており、データを同期し、リソースファイルを最新の状態に保つ効率的な方法を提供します。これにより、リアルタイムでデータを更新し、スケーラブルなサーバーソリューションを求めているアプリケーションに最適です。

deepstream io (開発者向けの仕組み): 図1 - deepstream.io

開発者によるdeepstream.ioの実装は、ゼロから開始することなく、リアルタイムでライブアップデート、共同アプリケーション、およびインタラクティブエクスペリエンスを簡単に可能にします。 それは高負荷と効率的なスケーリングのために設計されており、高並行性アプリケーションのための選ばれるソフトウェアになっています。 deepstream.io は柔軟であり、様々な方法であなたのスタックに完璧に追加できるかもしれません。 それは、ユーザーがリアルタイムで応答性の高いインタラクティブなWebおよびモバイルアプリを作成するための包括的なソリューションを提供します。

新しいNode.jsディレクトリを作成するには、コンソールで以下のコマンドを入力してください:

mkdir deepstream-project
cd deepstream-project
npm init -y
mkdir deepstream-project
cd deepstream-project
npm init -y
SHELL

deepstream.ioパッケージをインストールする

まず最初に、deepstream.ioをインストールする必要があります。 NPMを使用してインストールするか、公式ウェブサイトからバイナリをダウンロードすることができます。

npm install @deepstream/server
npm install @deepstream/server
SHELL

deepstream.ioの基本設定

const { Deepstream } = require('@deepstream/server')
//we can add modifying resource files as a parameter
const server = new Deepstream({})
// start the server
server.start()
js
JAVASCRIPT

以下は、Node.jsで@deepstream/serverパッケージを使用してdeepstream.ioサーバーをセットアップし起動する方法を示すコードスニペットです。 最初に、そのパッケージからDeepstreamクラスをインポートします。 次に、クラスのインスタンスを作成します。 この時点で、Deepstream の新しいインスタンスが初期化されます。 server.start()を呼び出すことで、サーバーが開始されるため、リアルタイムのデータバインド、メッセージング、プレゼンスバックエンドサービスを処理するための接続の受け入れ準備が整います。 この最小限のセットアップにより、サーバーはクライアント接続の準備が整い、データの管理からイベントの放送まであらゆることができるようになります。

Deepstream とクライアントの接続

const { DeepstreamClient } = require('@deepstream/client')
const client = new DeepstreamClient('127.0.0.1:6020')
client.login( null);
js
JAVASCRIPT

以下は、@deepstream/clientライブラリを使用してdeepstreamに接続する方法を示すコードです。 このスクリプトは、DeepstreamClientクラスをインポートし、IPアドレス127.0.0.1でポート6020でローカルに動作しているdeepstreamサーバーに接続するDeepstreamClientのインスタンスを作成します。最後に、client.login(null)でこのサーバーにログインする必要があります。 この場合、null が渡され、資格情報が提供されていないことを意味します。 サーバーが認証を全く使用しない場合や、いくつかのテストケースの場合、それで十分かもしれません。 次のセットアップでは、リアルタイムのデータ同期とコミュニケーションを行うパワーユーザーのために、deepstreamサーバーに接続するクライアントを初期化します。

サーバーノードに接続されると、サーバーコンソールに以下のようなメッセージが表示されます。

deepstream io(開発者向けの使い方):図2 - コンソールメッセージ

deepstream.ioでリスナーを使用する

以下は、リスナーを作成するために使用できるサンプルコードで、これはまた、deepstreamのコア概念の1つです。

const { DeepstreamClient } = require("@deepstream/client");
const client = new DeepstreamClient("127.0.0.1:6020");
client.login(null, (success, clientData) => {
  if (success) {
    const event = client.event;
    // Publish a custom event
    event.publish("custom-event", { message: "Hello, Deepstream!" });
  }
});
js
JAVASCRIPT

上記のコードでは、@deepstream/clientライブラリを使用して、127.0.0.1:6020でホストされているdeepstreamサーバーにログインします。 その後、接続を確立しログインした後に、ログインが成功したかどうかを確認します。 リアルタイムサーバーへの認証が成功した場合、{ message: "Hello, Deepstream!" } のメッセージペイロードを持つ「custom-event」というカスタムイベントを公開します。 以下の例は、deepstreamサーバーに接続し、メッセージとカスタムイベントを送信する方法を示します。

IronPDFの紹介

IronPDFは、PDFドキュメントの作成、編集、変換ができる非常に強力なNode.jsパッケージです。 それは、PDFに基づくプログラミングプロセスの大部分や、既存のPDFの修正やHTMLをPDFに変換するようなバックエンドプロセスで使用されるツールです。 動的なPDFの作成と処理が必要なアプリケーションでは、IronPDFが非常に役立ちます。 品質の高いPDF文書を生成するための、ユーザーフレンドリーで柔軟な方法を提供します。

deepstream io(開発者向けの仕組み):図3 - IronPDF

IronPDFパッケージをインストールする

NPMを使用して、Node.jsでIronPDF機能を有効にするためのパッケージをダウンロードしてインストールします。

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

PDF生成機能

IronPDFを使用してPDFを作成する関数を作成する:

const IronPdf = require('@ironsoftware/ironpdf');
const { PdfDocument } = IronPdf;
// Set IronPDF configuration
const config = IronPdf.IronPdfGlobalConfig;
config.setConfig({ licenseKey: 'YOUR_LICENSE_KEY' }); // Replace with your actual license key
async function generatePDF(title, content) {
  try {
    // Generate PDF from HTML content
    const pdf = await PdfDocument.fromHtml(`<html><body><h1>${title}</h1><p>${content}</p></body></html>`);
    return await pdf.saveAsBuffer();
  } catch (error) {
    console.error('Error generating PDF:', error);
    throw error;
  }
}
module.exports = generatePDF;
js
JAVASCRIPT

Deepstreamクライアントのセットアップ

今度は、リアルタイムでデータを監視し、そのデータに基づいてPDFを作成するPythonスクリプトを書いてください。

const { DeepstreamClient } = require('@deepstream/client');
const generatePDF = require('./generatePdf'); // Path to your PDF generation function
const client = new DeepstreamClient('127.0.0.1:6020');
client.login(null, async (success) => {
  if (success) {
    console.log('Deepstream connected successfully');
    // Listen for a custom event to trigger PDF generation
    const event = client.event;
    event.subscribe('generate-pdf', async (data) => {
      const { title, content } = data;
      if (!title 
 !content) {
        console.error('Missing title or content for PDF generation');
        return;
      }
      try {
        // Generate the PDF
        const pdfBuffer = await generatePDF(title, content);
        // Handle the PDF buffer (e.g., save to file, send over network)
        console.log('PDF generated successfully');
        // Example: Save PDF to a file (optional)
        const fs = require('fs');
        fs.writeFileSync('generated.pdf', pdfBuffer);
      } catch (error) {
        console.error('Error generating PDF:', error);
      }
    });
  } else {
    console.error('Failed to connect to Deepstream');
  }
});
js
JAVASCRIPT

イベントを公開してPDF生成をトリガーする

別のPythonスクリプトやアプリケーションの一部からPDF生成をトリガーするイベントを発行できます。

const { DeepstreamClient } = require('@deepstream/client');
const client = new DeepstreamClient('127.0.0.1:6020');
client.login(null, () => {
  const event = client.event;
  // Publish a custom event with title and content
  event.publish('generate-pdf', {
    title: 'Sample PDF Title',
    content: 'This is the content of the PDF document.'
  });
});
js
JAVASCRIPT

Deepstream.ioは、リアルタイムイベントをリッスンすることによって実装され、これがPDF生成をトリガーします。 generatePDF関数は、IronPDFを使用してDeepstream.ioイベントのデータに基づいてPDFドキュメントを作成します。 DeepstreamClientはこれらを購読し、関連するイベントが公開されるたびにPDF生成関数を呼び出します。 このような統合により、イベントの発生、リクエスト、またはデータの変更に基づいて、リアルタイムで動的にPDFを生成することができます。

deepstream io(開発者向けの仕組み):図4 - PDF出力

ライセンス

コードをコンパイルして透かしなしで機能させるには、ライセンスキーが必要です。 お試しライセンスを希望する開発者はこちらで登録できます。 クレジットカードの提示は不要です。 無料トライアルに登録するには、メールアドレスを入力するだけです。

結論

最も強力なリアルタイムデータ処理と動的ドキュメント生成ソリューションの1つは、deepstream.ioとIronPDFの組み合わせによって実現されます。 deepstream.ioは、変更を同期し、すべてのイベントをリアルタイムで記録するため、データの変更にすぐに反応できます。 IronPDFは、プロフェッショナルなドキュメントを即座に作成するための強力なメカニズムを提供します。 この統合により、アプリケーションはライブデータが変更されたときだけでなく、ユーザーがアプリケーションと対話するたびに、PDFドキュメントを自動的に作成および処理できるようになります。

レポート生成、請求書、またはその他のドキュメントタイプに関係なく、deepstream.ioと統合されたIronPDFは、ワークフローの簡素化、応答性のあるドキュメントの作成を可能にし、リアルタイム情報でアプリケーションをスリムで最新の状態に保ちます。 この組み合わせは、リアルタイムのドキュメント生成と管理サポートを要求するアジャイルでデータ駆動型、かつ応答性の高いアプリケーションに最適です。

Iron Softwareが提供するライブラリにより、Windows、Android、MAC、Linuxなど、さまざまなオペレーティングシステム、ブラウザー、プラットフォーム向けにプログラムを迅速かつ簡単に作成できます。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
次へ >
imageio Python(開発者向けの動作方法)