ActivityPub フレームワークである Fedify が、ついに最初の安定バージョン 1.0.0 をリリースしました!
フェディファイとは何ですか?
Fedify は、ActivityPub プロトコルに基づいたフェデレーション サーバー アプリケーションを簡単に作成できる TypeScript ライブラリです。 ActivityPub は、ソーシャル ネットワーキング サービスの相互通信を可能にするオープン標準プロトコルで、ユーザーがフェディバースと呼ばれる分散型ソーシャル ネットワーク内のさまざまなサービス間で対話できるようにします。
Fedify を使用すると、開発者は、ActivityPub プロトコル自体の複雑な詳細を実装することなく、高レベルの API を通じてフェデレーション サーバー アプリを簡単に構築できます。 Fedify は、ActivityPub オブジェクトのタイプセーフ インターフェイス、WebFinger、HTTP 署名、リンク データ署名、オブジェクト整合性証明など、ActivityPub の実装に必要な多くの機能をすぐに提供します。
さらに、Fedify には、Mastodon や Meta's Threads などの人気のある fediverse ソフトウェアとの相互運用性のための特別な処理が含まれており、開発者は既存の fediverse エコシステムと簡単に統合できるアプリケーションを作成できます。さらに、さまざまな Web フレームワークとの統合をサポートし、CLI ツールを提供することで、開発とデバッグのプロセスがさらに便利になります。
主な変更点
ハンドルという用語の廃止
このバージョンから、Fedify 全体での用語 ハンドル は、Fedify ハンドル (例: @hongminhee@fosstodon.org) を指す場合にのみ使用されます。アクターの内部固有 ID (例: b379dbdc-3b4f-4ef4-88c2-fc25632d1c22) は 識別子 と呼ばれ、WebFinger 名 (例: hongminhee) は ユーザー名.
API のハンドル という用語は、下位互換性のためにしばらく維持されますが、非推奨の警告がログに記録され、将来削除される予定です。
詳細については、関連ドキュメントを参照してください。リンクされたデータの署名
Linked Data Signatures は時代遅れの標準ですが、Mastodon などの主要なフェディバース実装では依然として依存されています。
HTTP 署名とオブジェクト整合性証明に加えて、Fedify はこのバージョンからリンク データ署名をサポートするようになり、フェディバースで使用されるすべてのタイプの署名メソッドをサポートします。これにより、Fedify は最高の相互運用性を備えた ActivityPub 実装になります。
ただし、Fedify ユーザーは、Linked Data Signatures を使用するために特別なことを行う必要はありません。受信アクティビティにリンク データ署名がある場合、その署名は自動的に検証され、すべての発信アクティビティには HTTP 署名、リンク データ署名、オブジェクト整合性証明の 3 つの形式の署名が含まれます。
詳細については、関連ドキュメントを参照してください。
アクティビティの転送
このバージョンからは、InboxContext.forwardActivity() メソッドを使用して、受信トレイで受信したアクティビティを他のアクターに転送できます。
一見すると、受信トレイで受信したアクティビティを Context.sendActivity() メソッドを使用して再送信できると思うかもしれません。ただし、これを行うと、アクティビティが受信トレイに配信される前に元の署名が削除され、送信時に代わりに転送アクターの署名が添付されるため、転送されたアクティビティの受信側がその署名を信頼できなくなります。
一方、InboxContext.forwardActivity() メソッドを使用すると、アクティビティは元の署名が保存された状態で転送されるため、この問題は回避されます。 (もちろん、元のアクティビティ自体は、リンクされたデータ署名またはオブジェクト整合性証明で署名されている必要があります。)
詳細については、関連ドキュメントを参照してください。
fedify 受信トレイの終了時に削除(アプリケーション)を送信します
このバージョンから、fedify inbox は、終了時に遭遇したすべてのピアサーバーに Delete(Application) アクティビティを送信します。これは通常、アカウントの削除時に送信されるアクティビティであり、一時的なアクターに関連する残留データが他のサーバーに残らないようにするのに役立ちます。
PostgreSQL ドライバー
KvStore および MessageQueue インターフェイス用の PostgreSQL ドライバーを実装する @fedify/postgres パッケージが、このバージョンとともにリリースされました。
PostgreSQL ドライバーは、運用環境で十分に使用できるバックエンドであり、既に PostgreSQL を使用しているプロジェクトに特に推奨されます。
さらに、PostgreSQL ドライバーを選択するオプションが fedify init コマンドに追加されました。
Fedify 1.0.0 を祝う
バージョン 1.0.0 のリリースにより、Fedify は API の下位互換性を可能な限り維持するようになりました。 (もちろん、長期的には、下位互換性が失われる 2.0.0 が登場する可能性があります。) これまで安定バージョンがなかったために Fedify の使用を躊躇していた人にとっては朗報でしょう!
Fedify 1.0.0 が JSR および npm で利用可能になりました:
deno add jsr:@fedify/fedify npm add @fedify/fedify
それでは、今後さらに多くのサービスが ActivityPub をサポートすることを願って、この投稿を締めくくります!
以上がActivityPub サーバー フレームワークである Fedify が v.0 に達しましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

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

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

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
