Borsh 安全高效的二进制序列化
第三届中国 Rust 开发者大会 安全高效的二进制序列化 Daniel Wang @ NEAR Borsh • 运行、编码效率 • 确定性 • 跨平台兼容性 二进制序列化的问题 Binary Object Representation Serializer for Hashing • 字节级别确定性 • 执行速度快 Borsh • 轻量级 • 每一个对象与其二进制表示之间都存在一个双射映射 中, borsh 并没有使用 serde • 全部逻辑原生实现 • 序列化、反序列化速度大幅领先其他解决方案 执行速度 执行速度 benchmark 执行速度 benchmark 执行速度 benchmark 执行速度 benchmark • 编译后的体积更小 • borsh 序列化后的二进制更精简 轻量级 序列化结果体积对比 Borsh 基本用法 Case Study NEAR NEAR 智能合约 Case Study Solana 智能合约 Case Study • non self-describing • 保证序列化后的二进制唯一性和确定性 • 主要序列化规则 Borsh 规范 • 整数采用低字节序( little endian) 存储 • 对于动态长度的集合,先用一个 u32 存储集合 size • 对于原本无序的集合(如 hashmap ),存储时使用0 码力 | 21 页 | 3.35 MB | 1 年前3PlantUML を使った UML の描き方 - PlantUML 言語リファレンスガイド(Version 1.2023.11)
PlantUML は、以下のようなダイアグラムを素早く作成するためのコンポーネントです。 • シーケンス図 • ユースケース図 • クラス図 • オブジェクト図 • アクティビティ図 • コンポーネント図 • 配置図 • 状態遷移図(ステートマシン図) • タイミング図 以下のような、UML 以外の図もサポートしてます。 • JSON Data • YAML Data • Network • アーキテクチャ図 • 仕様及び記述言語 (SDL) • Ditaa • ガントチャート • マインドマップ • WBS 図 (作業分解図) • AsciiMath や JLaTeXMath による、数学的記法 • ER 図 各ダイアグラムは、シンプルで直感的に書くことができます。 1 シーケンス図 1 シーケンス図 PlantUML によるシーケンス図の作成は、驚くほど簡 があるため、作成プロセスが単純化されるだけ でなく、大幅にスピードアップします。ユーザーは、時間のかかる修正や調整の必要性が少なくなり、 より合理的なプロセスの恩恵を受けることができます。 • 作図中の視覚化: テキストを下書きしながら、最終的なグラフィカルな仕上がりをイメージできる機能は、多くの人に とって貴重なものです。最初の草稿から最終的なプレゼンテーションへのスムーズな移行を自然に促0 码力 | 545 页 | 7.75 MB | 1 年前3PlantUML を使った UML の描き方 - PlantUML 言語リファレンスガイド(Version 1.2021.2)
PlantUML は、以下のようなダイアグラムを素早く作成するためのコンポーネントです。 • シーケンス図 • ユースケース図 • クラス図 • オブジェクト図 • アクティビティ図 • コンポーネント図 • 配置図 • 状態遷移図(ステートマシン図) • タイミング図 以下のような、UML 以外の図もサポートしてます。 • JSON Data • YAML Data • Network ワイヤーフレーム • アーキテクチャ図 • 仕様及び記述言語 (SDL) • Ditaa • ガントチャート • マインドマップ • WBS 図 (作業分解図) • AsciiMath や JLaTeXMath による、数学的記法 • ER 図 各ダイアグラムは、シンプルで直感的に書くことができます。 1 シーケンス図 1 シーケンス図 1.1 基本的な例 シーケンス -> する必要はありません。 点線の矢印を使う場合は、--> とします。 また、<- や <-- を使うこともできます。これらによって図の見た目が変わることはありませんが、可 読性を高めることができます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種 類の図には当てはまりません。 @startuml Alice -> Bob: Authentication Request Bob -->0 码力 | 399 页 | 4.33 MB | 1 年前3PlantUML を使った UML の描き方 - PlantUML 言語リファレンスガイド(Version 1.2021.1)
• シーケンス図 • ユースケース図 • クラス図 • オブジェクト図 • アクティビティ図 • コンポーネント図 • 配置図 • 状態遷移図(ステートマシン図) • タイミング図 以下のような、UML 以外の図もサポートしてます。 • JSON Data • Network diagram (nwdiag) • ワイヤーフレーム • アーキテクチャ図 • 仕様及び記述言語 仕様及び記述言語 (SDL) • Ditaa • ガントチャート • マインドマップ • WBS 図 (作業分解図) • AsciiMath や JLaTeXMath による、数学的記法 • ER 図 各ダイアグラムは、シンプルで直感的に書くことができます。 1 シーケンス図 1 シーケンス図 1.1 基本的な例 シーケンス -> を、2 つの分類子間のメッセージを描画するために使います。分類子を、明示的に宣言 する必要はありません。 点線の矢印を使う場合は、--> とします。 また、<- や <-- を使うこともできます。これらによって図の見た目が変わることはありませんが、可 読性を高めることができます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種 類の図には当てはまりません。 @startuml Alice -> Bob: Authentication Request Bob -->0 码力 | 393 页 | 4.27 MB | 1 年前3PlantUML 1.2021.3 言語リファレンスガイド
PlantUML は、以下のようなダイアグラムを素早く作成するためのコンポーネントです。 • シーケンス図 • ユースケース図 • クラス図 • オブジェクト図 • アクティビティ図 • コンポーネント図 • 配置図 • 状態遷移図(ステートマシン図) • タイミング図 以下のような、UML 以外の図もサポートしてます。 • JSON Data • YAML Data • Network ワイヤーフレーム • アーキテクチャ図 • 仕様及び記述言語 (SDL) • Ditaa • ガントチャート • マインドマップ • WBS 図 (作業分解図) • AsciiMath や JLaTeXMath による、数学的記法 • ER 図 各ダイアグラムは、シンプルで直感的に書くことができます。 1 シーケンス図 1 シーケンス図 1.1 基本的な例 シーケンス -> する必要はありません。 点線の矢印を使う場合は、--> とします。 また、<- や <-- を使うこともできます。これらによって図の見た目が変わることはありませんが、可 読性を高めることができます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種 類の図には当てはまりません。 @startuml Alice -> Bob: Authentication Request Bob -->0 码力 | 412 页 | 4.46 MB | 1 年前3PlantUML 1.2020.23 言語リファレンスガイド
ためのコンポーネントです。 • シーケンス図 • ユースケース図 • クラス図 • アクティビティ図 • コンポーネント図 • 状態遷移図(ステートマシン図) • オブジェクト図 • 配置図 • タイミング図 以下のような、UML 以外の図もサポートしてます。 • JSON Data • ワイヤーフレーム • アーキテクチャ図 • 仕様及び記述言語 (SDL) • Ditaa Ditaa • ガントチャート • マインドマップ • WBS 図 (作業分解図) • AsciiMath や JLaTeXMath による、数学的記法 各ダイアグラムは、シンプルで直感的に書くことができます。 1 シーケンス図 1 シーケンス図 1.1 基本的な例 シーケンス -> を、2 つの分類子間のメッセージを描画するために使います。分類子を、明示的に宣言 する必要はありません。 する必要はありません。 点線の矢印を使う場合は、--> とします。 また、<- や <-- を使うこともできます。これらによって図の見た目が変わることはありませんが、可 読性を高めることができます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種 類の図には当てはまりません。 @startuml Alice -> Bob: Authentication Request Bob --> Alice:0 码力 | 306 页 | 3.19 MB | 1 年前3PlantUML 1.2019.3 言語リファレンスガイド
は、以下のようなダイアグラムを素早く作成するためのコンポーネントです。 • シーケンス図 • ユースケース図 • クラス図 • アクティビティ図 • コンポーネント図 • 状態遷移図(ステートマシン図) • オブジェクト図 • 配置図 • タイミング図 以下のような、UML 以外の図もサポートしてます。 • ワイヤーフレーム • アーキテクチャ図 • 仕様及び記述言語 (SDL) • Ditaa • 。 1 シーケンス図 1 シーケンス図 1.1 基本的な例 シーケンス -> を、2 つの分類子間のメッセージを描画するために使います。分類子を、明示的に宣言 する必要はありません。 点線の矢印を使う場合は、--> とします。 また、<- や <-- を使うこともできます。これらは図を変更することなく、可読性を高めることができ ます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種類の図には当てはまりま 。ほかの種類の図には当てはまりま せん。 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response0 码力 | 160 页 | 1.80 MB | 1 年前3PlantUML 1.2019.2 言語リファレンスガイド
は、以下のようなダイアグラムを素早く作成するためのコンポーネントです。 • シーケンス図 • ユースケース図 • クラス図 • アクティビティ図 • コンポーネント図 • 状態遷移図(ステートマシン図) • オブジェクト図 • 配置図 • タイミング図 以下のような、UML 以外の図もサポートしてます。 • ワイヤーフレーム • アーキテクチャ図 • 仕様及び記述言語 (SDL) • Ditaa • 。 1 シーケンス図 1 シーケンス図 1.1 基本的な例 シーケンス -> を、2 つの分類子間のメッセージを描画するために使います。分類子を、明示的に宣言 する必要はありません。 点線の矢印を使う場合は、--> とします。 また、<- や <-- を使うこともできます。これらは図を変更することなく、可読性を高めることができ ます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種類の図には当てはまりま 。ほかの種類の図には当てはまりま せん。 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response0 码力 | 160 页 | 1.80 MB | 1 年前3PlantUML 1.2019.6 言語リファレンスガイド
は、以下のようなダイアグラムを素早く作成するためのコンポーネントです。 • シーケンス図 • ユースケース図 • クラス図 • アクティビティ図 • コンポーネント図 • 状態遷移図(ステートマシン図) • オブジェクト図 • 配置図 • タイミング図 以下のような、UML 以外の図もサポートしてます。 • ワイヤーフレーム • アーキテクチャ図 • 仕様及び記述言語 (SDL) • Ditaa • • ガントチャート • マインドマップ • WBS 図 (作業分解図) • AsciiMath や JLaTeXMath による、数学的記法 各ダイアグラムは、シンプルで直感的に書くことができます。 1 シーケンス図 1 シーケンス図 1.1 基本的な例 シーケンス -> を、2 つの分類子間のメッセージを描画するために使います。分類子を、明示的に宣言 する必要はありません。 点線の矢印を使う場合は、--> 点線の矢印を使う場合は、--> とします。 また、<- や <-- を使うこともできます。これらによって図の見た目が変わることはありませんが、可 読性を高めることができます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種 類の図には当てはまりません。 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication0 码力 | 174 页 | 1.99 MB | 1 年前3PlantUML 1.2019.4 言語リファレンスガイド
は、以下のようなダイアグラムを素早く作成するためのコンポーネントです。 • シーケンス図 • ユースケース図 • クラス図 • アクティビティ図 • コンポーネント図 • 状態遷移図(ステートマシン図) • オブジェクト図 • 配置図 • タイミング図 以下のような、UML 以外の図もサポートしてます。 • ワイヤーフレーム • アーキテクチャ図 • 仕様及び記述言語 (SDL) • Ditaa • シーケンス図 1 シーケンス図 1.1 基本的な例 シーケンス -> を、2 つの分類子間のメッセージを描画するために使います。分類子を、明示的に宣言 する必要はありません。 点線の矢印を使う場合は、--> とします。 また、<- や <-- を使うこともできます。これらによって図の見た目が変わることはありませんが、可 読性を高めることができます。ただし、以上の方法はシーケンス図だけに当てはまります。ほかの種 はまります。ほかの種 類の図には当てはまりません。 @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response0 码力 | 168 页 | 1.90 MB | 1 年前3
共 334 条
- 1
- 2
- 3
- 4
- 5
- 6
- 34