Eine kurze Einführung in Protobuf und ein Installationstutorial in der Ubuntu 16.04-Umgebung

Eine kurze Einführung in Protobuf und ein Installationstutorial in der Ubuntu 16.04-Umgebung

Eine kurze Einführung in protobuf

Protobuf ist Googles Open-Source-Framework für Serialisierungsprotokolle, dessen Struktur XML und JSON ähnelt. Seine bemerkenswerten Merkmale sind Binärität und hohe Effizienz. Es wird hauptsächlich in Kommunikationsprotokollen und Datenspeichern verwendet und gilt als Methode zur Darstellung strukturierter Daten.

Vorteile von Protobuf

  • Jeder benutzt es, zumindest die "Anmaßenden" benutzen es [Wir müssen mit der Zeit gehen]
  • Andere sagen, dass die Leistung gut ist, Binärformat [große Projekte verwenden dies nicht, es ist beschämend]
  • Plattformübergreifende Unterstützung für verschiedene Sprachen sowie Vorwärts- und Rückwärtskompatibilität sind sehr leistungsstark [schließlich nutzt Google sie]

Nachteile von Protobuf

  • Binäres Format, normale Leute können es nicht lesen
  • Fehlende Selbstbeschreibung

XML ist selbstbeschreibend, das Protobuf-Format jedoch nicht. Wenn Sie eine Binärdatei erhalten, können Sie nicht sagen, was sie tut.

Schritte zur Verwendung von Protobuf

  • Definieren Sie Ihr eigenes Datenstrukturformat (.pro) für die Quelldatei
  • Kompilieren Sie die Quelldatei mit dem von protobuf bereitgestellten Compiler
  • Verwenden Sie die API von protobuf go zum Lesen und Schreiben von Informationen

Definieren Sie beispielsweise eine strukturierte Datenperson, einschließlich Name und E-Mail-Attributen

Definiert in XML

<Person>
 <Name>Zhangsan</Name>
 <E-Mail>[email protected]</E-Mail>
<Person>

protobuf definiert dies

Person{
 Name: „zhangsan“
 E-Mail: „[email protected]“
}

Dies ist in JSON definiert

{
 "Person":{
  "Name": "zhangsan",
  "E-Mail":"[email protected]"
 }
}

Syntax von protobuf

Nachrichtendefinition

Ein Nachrichtentyp definiert ein Anforderungs- oder Antwortnachrichtenformat und kann mehrere Typen enthalten.

Service

Wenn Sie den Nachrichtentyp auf RPC verwenden müssen, müssen Sie eine RPC-Dienstschnittstelle in der .proto-Datei definieren. Der Protokollpuffer-Compiler generiert Dienstschnittstellencode basierend auf der ausgewählten Sprache.

Protobuf ist in Ubuntu installiert [Version 16.04]

Offizielle Adresse: https://github.com/google/protobuf/blob/master/src/README.md

Die Installationsbefehlszeile lautet wie folgt:

$ sudo apt-get installiere autoconf automake libtool curl make g++ entpacken
$ git clone https://github.com/google/protobuf.git
$ cd protobuf
$ git Untermodul-Update --init --recursive
$ ./autogen.sh
$ ./konfigurieren
$ machen
$ Scheck ausstellen
$ sudo make installieren
$ sudo ldconfig # Cache der gemeinsam genutzten Bibliothek aktualisieren.

Screenshot nach der Erstellung

宛十八微服務

Die Kompilierung verlief reibungslos und ohne Probleme. Schauen wir uns die Version unten an.

$ protoc --version12

宛十八微服務

Zusammenfassen

Das Obige ist eine kurze Einführung in Protobuf und das Installationstutorial in der Ubuntu 16.04-Umgebung. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Detailliertes Tutorial zur Installation von Protobuf 3 unter Ubuntu

<<:  Detaillierte Erläuterung der Konfigurationsmethode der Lese-/Schreibtrennung bei der MySQL-Master-Slave-Replikation

>>:  Detaillierte Erläuterung der allgemeinen Verwendungsmethoden von weixin-js-sdk in vue

Artikel empfehlen

So schreiben Sie speichereffiziente Anwendungen mit Node.js

Inhaltsverzeichnis Vorwort Problem: Kopieren groß...

Detaillierte Erklärung des Kopierobjekts von jQuery

<!DOCTYPE html> <html lang="de"...

Kompatibilität mit der Inline-Block-Eigenschaft

<br />Vor einem Jahr gab es im Internet kein...

Die Lösung von html2canvas, dass Bilder nicht normal erfasst werden können

Frage Lassen Sie mich zunächst über das Problem s...

So führen Sie JavaScript in Jupyter Notebook aus

Später habe ich auch hinzugefügt, wie man Jupyter...

TD-Breitenproblem beim Zusammenführen von TD-Zellen

Im folgenden Beispiel ist die Anzeige normal, wenn...

Detaillierte Erklärung des Vue2 Cube-UI-Zeitwählers

Inhaltsverzeichnis Vorwort 1. Anspruch und Wirkun...