From 751a531d5477a2576877bec9d84d42379ef912a4 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Wed, 3 Apr 2024 16:46:53 +0200 Subject: [PATCH 01/16] :memo: Extend description for example steps 1 to 3 --- docs/data-processing/apis/fastapi/example.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/data-processing/apis/fastapi/example.rst b/docs/data-processing/apis/fastapi/example.rst index 253df977..0c41db89 100644 --- a/docs/data-processing/apis/fastapi/example.rst +++ b/docs/data-processing/apis/fastapi/example.rst @@ -8,7 +8,7 @@ Beispiel 1. Erstellen ------------ -Erstellt die Datei :file:`main.py` mit: +Erstellt die Datei :file:`main.py` mit diesem Inhalt: .. code-block:: python @@ -32,7 +32,8 @@ Erstellt die Datei :file:`main.py` mit: 2. Ausführen ------------ -Startet den Server mit: +Startet den Server mit dem folgenden Aufruf (hier wieder am Beispiel von +`uvicorn `_): .. code-block:: console @@ -46,7 +47,7 @@ Startet den Server mit: 3. Überprüfen ------------- -Öffnet euren Browser unter http://127.0.0.1:8000/ und ihr werdet folgendes +Öffnet euren Webbrowser unter http://127.0.0.1:8000/ und ihr werdet folgendes sehen: .. figure:: fastapi-example.png From 54b57234bccfb878c8121763074357d10ef9a716 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Wed, 3 Apr 2024 16:54:47 +0200 Subject: [PATCH 02/16] :pencil2: Typo --- docs/data-processing/apis/fastapi/example.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-processing/apis/fastapi/example.rst b/docs/data-processing/apis/fastapi/example.rst index 0c41db89..efe850c6 100644 --- a/docs/data-processing/apis/fastapi/example.rst +++ b/docs/data-processing/apis/fastapi/example.rst @@ -105,7 +105,7 @@ zu erhalten: def update_item(item_id: int, item: Item): return {"item_name": item.name, "item_id": item_id} -Der Server sollte die Datei automatisch neu laden, da wir dem unicorn-Befehl +Der Server sollte die Datei automatisch neu laden, da wir dem uvicorn-Befehl ``--reload`` hinzugefügt haben. Auch die interaktive API-Dokumentation zeigt nun den neuen Body mit ``PUT``. Wenn ihr auf die Schaltfläche *Try it out* klickt und einen Wert für den Parameter ``item_id`` angebt, wird beim Klick auf die From a07c0bfe5d1a891fb6212ddc7ffd45b8ddf36beb Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Wed, 3 Apr 2024 17:11:48 +0200 Subject: [PATCH 03/16] :pencil2: Change grammar from passive to active --- docs/data-processing/apis/fastapi/example.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/data-processing/apis/fastapi/example.rst b/docs/data-processing/apis/fastapi/example.rst index efe850c6..410c56ba 100644 --- a/docs/data-processing/apis/fastapi/example.rst +++ b/docs/data-processing/apis/fastapi/example.rst @@ -105,9 +105,12 @@ zu erhalten: def update_item(item_id: int, item: Item): return {"item_name": item.name, "item_id": item_id} -Der Server sollte die Datei automatisch neu laden, da wir dem uvicorn-Befehl -``--reload`` hinzugefügt haben. Auch die interaktive API-Dokumentation zeigt nun -den neuen Body mit ``PUT``. Wenn ihr auf die Schaltfläche *Try it out* klickt +Der Server lädt die Datei automatisch neu, da wir den +`uvicorn `-Aufruf in Schritt 2 mit der Option +``--reload`` ausgeführt haben. + +Auch die interaktive API-Dokumentation zeigt nun den neuen Body mit +``PUT``. Wenn ihr auf die Schaltfläche *Try it out* klickt und einen Wert für den Parameter ``item_id`` angebt, wird beim Klick auf die *Execute*-Schaltfläche der Parameter vom Browser an das API übertragen und die Antwort auf dem Bildschirm angezeigt: From 6227967c336b51db68935303195ce8047bc4cbed Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Wed, 3 Apr 2024 18:41:49 +0200 Subject: [PATCH 04/16] :memo: Extend description for FastAPI example step 4 --- docs/data-processing/apis/fastapi/example.rst | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/data-processing/apis/fastapi/example.rst b/docs/data-processing/apis/fastapi/example.rst index 410c56ba..144f627f 100644 --- a/docs/data-processing/apis/fastapi/example.rst +++ b/docs/data-processing/apis/fastapi/example.rst @@ -106,14 +106,15 @@ zu erhalten: return {"item_name": item.name, "item_id": item_id} Der Server lädt die Datei automatisch neu, da wir den -`uvicorn `-Aufruf in Schritt 2 mit der Option +`uvicorn `_-Aufruf in Schritt 2 mit der Option ``--reload`` ausgeführt haben. -Auch die interaktive API-Dokumentation zeigt nun den neuen Body mit -``PUT``. Wenn ihr auf die Schaltfläche *Try it out* klickt -und einen Wert für den Parameter ``item_id`` angebt, wird beim Klick auf die -*Execute*-Schaltfläche der Parameter vom Browser an das API übertragen und die -Antwort auf dem Bildschirm angezeigt: +Auch die interaktive API-Dokumentation zeigt nun den neuen Body mit ``PUT``. +Wenn ihr auf die Schaltfläche *Try it out* (aus der Abbildung in Schritt 3) +klickt und einen Wert für den Parameter ``item_id`` angebt, wird beim Klick +auf die *Execute*-Schaltfläche der Parameter vom Browser an das API übertragen +und die Antwort auf dem Bildschirm angezeigt. Nachfolgend seht ihr die Ausgabe +für den beispielhaft eingetragenen Wert ``1234``: .. code-block:: javascript From 618c2f6c8bd18b62fc513eeec3b600e8f6ec8cf1 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 14:52:20 +0200 Subject: [PATCH 05/16] :memo: Add links to Pydantic, and Starlette --- docs/data-processing/apis/fastapi/install.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/data-processing/apis/fastapi/install.rst b/docs/data-processing/apis/fastapi/install.rst index 3e629df3..b8fa7a80 100644 --- a/docs/data-processing/apis/fastapi/install.rst +++ b/docs/data-processing/apis/fastapi/install.rst @@ -38,14 +38,14 @@ Für die Produktion benötigt ihr außerdem einen `ASGI Updated Pipfile.lock (051f02)! … -Pydantic kann die folgenden optionalen Abhängigkeiten verwenden: +`Pydantic `_ kann die folgenden optionalen Abhängigkeiten verwenden: `ujson `_ für schnelleres JSON-Parsing. `email_validator `_ zur E-Mail-Validierung. -Starlette kann die folgenden optionalen Abhängigkeiten verwenden: +`Starlette `_ kann die folgenden optionalen Abhängigkeiten verwenden: :doc:`httpx <../../httpx/index>` wenn ihr den ``TestClient`` verwenden wollt. From a1ff9c352274c90c1ab1a69337ae9524a26a8be2 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 15:02:42 +0200 Subject: [PATCH 06/16] :memo: Enhance introduction to design principles that are used --- docs/data-processing/apis/grpc/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-processing/apis/grpc/index.rst b/docs/data-processing/apis/grpc/index.rst index c1801815..f11bd5a8 100644 --- a/docs/data-processing/apis/grpc/index.rst +++ b/docs/data-processing/apis/grpc/index.rst @@ -18,7 +18,7 @@ aufgerufen werden können. Der Server implementiert dieses Interface, um die Client-Aufrufe zu verarbeiten. Für den Client wurde ein sog. *Stub* generiert, der dieselben Methoden wie der Server bereitstellt. -Im folgenden die wesentlichen Design-Prinzipien von gRPC: +gRPC liegen die folgenden Design-Prinzipien zu Grunde: * gRPC kann auf allen gängigen Entwicklungsplattformen und in vielen verschiedenen Sprachen erstellt werden. From e8ac36a865dc8fc8c7a2031e827d8cb1d520fb87 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 15:13:32 +0200 Subject: [PATCH 07/16] :memo: Add link to Apache Thrift --- docs/data-processing/apis/grpc/index.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/data-processing/apis/grpc/index.rst b/docs/data-processing/apis/grpc/index.rst index f11bd5a8..5d7a59e9 100644 --- a/docs/data-processing/apis/grpc/index.rst +++ b/docs/data-processing/apis/grpc/index.rst @@ -22,8 +22,8 @@ gRPC liegen die folgenden Design-Prinzipien zu Grunde: * gRPC kann auf allen gängigen Entwicklungsplattformen und in vielen verschiedenen Sprachen erstellt werden. -* Es ist auf Geräten mit geringer CPU- und Speicherfähigkeiten funktionsfähig - sein, so neben Android [#]_- und iOS-Geräten auch auf MicroPython-Boards und +* Es ist auf Geräten mit geringer CPU- und Speicherfähigkeit funktionsfähig, + so neben Android [#]_- und iOS-Geräten auch auf MicroPython-Boards und in Browsern [#]_ [#]_. * Es ist lizenziert unter Apache License 2.0 und nutzt offene Standards wie z.B. HTTP/2 und Quick UDP Internet Connections (QUIC). @@ -35,7 +35,8 @@ gRPC liegen die folgenden Design-Prinzipien zu Grunde: * gRPC unterstützt unterschiedliche Serialisierungsformate, u.a. :doc:`/data-processing/serialisation-formats/protobuf`, :doc:`/data-processing/serialisation-formats/json/index` [#]_, - :doc:`/data-processing/serialisation-formats/xml-html/index` und Thrift) + :doc:`/data-processing/serialisation-formats/xml-html/index` und + `Thrift `_) * Asynchrone und synchrone (blockierende) Verarbeitung werden in den meisten Sprachen unterstützt. * Das Streaming von Nachrichten in einem einzelnen RPC-Aufruf wird unterstützt. From e051d3a90e0fc152340429a9c96c4bf39ded1982 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 15:15:27 +0200 Subject: [PATCH 08/16] :pencil2: Remove unnecessary blank --- docs/data-processing/apis/grpc/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-processing/apis/grpc/index.rst b/docs/data-processing/apis/grpc/index.rst index 5d7a59e9..67683cec 100644 --- a/docs/data-processing/apis/grpc/index.rst +++ b/docs/data-processing/apis/grpc/index.rst @@ -109,7 +109,7 @@ gRPC liegen die folgenden Design-Prinzipien zu Grunde: Ausgehend von einer Schnittstellendefinition in einer ``.proto``-Datei bietet gRPC Protocol-Compiler-Plugins, die clientseitige und serverseitige APIs -generieren. Das `gRPC-Protokoll +generieren. Das `gRPC-Protokoll `_ gibt abstrakt die Kommunikation zwischen Clients und Servern an: From 1ad310ac108b7b0458d1e3b16a73d3d69d6c3207 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 15:19:19 +0200 Subject: [PATCH 09/16] :pencil2: Improve grammar --- docs/data-processing/apis/grpc/example.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/data-processing/apis/grpc/example.rst b/docs/data-processing/apis/grpc/example.rst index 514364b5..deae5500 100644 --- a/docs/data-processing/apis/grpc/example.rst +++ b/docs/data-processing/apis/grpc/example.rst @@ -13,8 +13,8 @@ Definieren der Datenstruktur ---------------------------- Der erste Schritt bei der Arbeit mit Protocol-Buffers besteht darin, die -Struktur für die Daten zu definieren, die Sie in einer ``.proto``-Datei -serialisieren möchten. Protocol-Buffers-Daten sind als *Nachrichten* +Struktur für die Daten zu definieren, die ihr in einer ``.proto``-Datei +serialisieren möchtet. Protocol-Buffers-Daten sind als *Nachrichten* strukturiert, wobei jede Nachricht ein kleiner logischer Datensatz ist, der eine Reihe von Name-Wert-Paaren enthält, die *fields* genannt werden. :download:`accounts.proto` ist ein einfaches Beispiel hierfür: From 080be8701479c97f53f84fc72737b7a54ccda5c5 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 15:23:37 +0200 Subject: [PATCH 10/16] :pencil2: Improve grammar, again --- docs/data-processing/apis/grpc/example.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-processing/apis/grpc/example.rst b/docs/data-processing/apis/grpc/example.rst index deae5500..ce38c81f 100644 --- a/docs/data-processing/apis/grpc/example.rst +++ b/docs/data-processing/apis/grpc/example.rst @@ -34,7 +34,7 @@ Reihe von Name-Wert-Paaren enthält, die *fields* genannt werden. Nachdem ihr eure Datenstruktur definiert habt, könnt ihr das Protocol-Buffer-Compiler-Protokoll ``protoc`` verwenden, um Deskriptoren in -eurer bevorzugten Sprache zu erzeugen. Diese bietet einfache Zugriffsfunktionen +eurer bevorzugten Sprache zu erzeugen. Dieses bietet einfache Zugriffsfunktionen für jedes Feld sowie Methoden zur Serialisierung der gesamten Struktur. Wenn eure Sprache z.B. Python ist, werden beim Ausführen des Compilers für das obige Beispiel Deklaratoren generiert, die ihr dann in eurer Anwendung zum Einpflegen, From cb2fec91f59bbcd8609e87517acf591a5e8977ec Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 15:25:40 +0200 Subject: [PATCH 11/16] :pencil2: Improve example description --- docs/data-processing/apis/grpc/example.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-processing/apis/grpc/example.rst b/docs/data-processing/apis/grpc/example.rst index ce38c81f..630aba34 100644 --- a/docs/data-processing/apis/grpc/example.rst +++ b/docs/data-processing/apis/grpc/example.rst @@ -83,7 +83,7 @@ Hierfür schreiben wir die Datei :download:`accounts_server.py`: Client erstellen ---------------- -Hierfür schreiben wir :download:`accounts_client.py`: +Hierfür schreiben wir die Datei :download:`accounts_client.py`: .. literalinclude:: accounts_client.py :caption: accounts_client.py From 4bf2a42cd856790d7c84cef53abefdd2b95a20dc Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 15:47:27 +0200 Subject: [PATCH 12/16] :pencil2: Improve grammar for example description --- docs/data-processing/apis/grpc/example.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/data-processing/apis/grpc/example.rst b/docs/data-processing/apis/grpc/example.rst index 630aba34..c14b10de 100644 --- a/docs/data-processing/apis/grpc/example.rst +++ b/docs/data-processing/apis/grpc/example.rst @@ -93,13 +93,13 @@ Hierfür schreiben wir die Datei :download:`accounts_client.py`: Client und Server starten ------------------------- -#. Starten des Server: +#. Starten des Servers in einem Terminal: .. code-block:: console $ pipenv run python accounts_server.py -#. Starten des Client von einem anderen Terminal aus: +#. Starten des Clients von einem anderen Terminal aus: .. code-block:: console From b8d7513c2e50bbe2affc158a58057a510fd0338d Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 15:55:16 +0200 Subject: [PATCH 13/16] :pencil2: Improve grammar for testing gRPC description --- docs/data-processing/apis/grpc/test.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/data-processing/apis/grpc/test.rst b/docs/data-processing/apis/grpc/test.rst index 1568189f..15f5949f 100644 --- a/docs/data-processing/apis/grpc/test.rst +++ b/docs/data-processing/apis/grpc/test.rst @@ -75,13 +75,13 @@ Wireshark --------- `Wireshark `_ ist ein Open-Source-Tool zur Analyse -von Netzwerkprotokollen. Im Folgenden zeigen wir Euch, wie ihr den `gRPC +von Netzwerkprotokollen. Im Folgenden seht ihr, wie ihr den `gRPC `_- und den `Protobuf -`_-Dissectors verwenden -könnt. Sie erleichtern Euch das Zerlegen (Dekodieren) von gRPC-Nachrichten, die +`_-Dissector verwenden +könnt. Sie erleichtern euch das Zerlegen (Dekodieren) von gRPC-Nachrichten, die im :doc:`Protobuf `- oder :doc:`/data-processing/serialisation-formats/json/index`-Format serialisiert -sind. Zudem könnt ihr damit das Server-, Client- und bidirektionales +sind. Zudem könnt ihr damit das Server-, Client- und bidirektionale gRPC-Streaming analysieren. .. note:: From 5f06222f8ffae225a18561f2b1c0dd86cd6cdf63 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 16:24:54 +0200 Subject: [PATCH 14/16] :pencil2: Typos --- docs/data-processing/postgresql/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-processing/postgresql/index.rst b/docs/data-processing/postgresql/index.rst index 630d7921..dd579201 100644 --- a/docs/data-processing/postgresql/index.rst +++ b/docs/data-processing/postgresql/index.rst @@ -99,7 +99,7 @@ Common Table Expression Multi-Version Concurrency Control (MVCC) `Multi-Version Concurrency Control `_ erlaubt, dass zwei - oder mehr Sessions gleicheitig auf dieselben Daten zugreifen ohne dabei die + oder mehr Sessions gleichzeitig auf dieselben Daten zugreifen, ohne dabei die Integrität der Daten zu gefährden. Cross Platform From d90c59897ceb910b002c67dc6d530431158bb597 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Thu, 4 Apr 2024 17:29:06 +0200 Subject: [PATCH 15/16] :memo: Rewrite article intro --- docs/data-processing/postgresql/fdw.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/data-processing/postgresql/fdw.rst b/docs/data-processing/postgresql/fdw.rst index fd8d6362..8b919b31 100644 --- a/docs/data-processing/postgresql/fdw.rst +++ b/docs/data-processing/postgresql/fdw.rst @@ -5,10 +5,10 @@ Foreign Data Wrappers (FDW) =========================== -2003 wurde SQL erweitert um SQL/MED (*SQL Management of External Data*). -PostgreSQL 9.1 unterstützte dies *read-only*, 9.3 dann auch schreibend. -Seitdem sind eine Reihe von Foreign Data Wrappers (FDW) für PostgreSQL -entwickelt worden. +2003 wurde SQL um SQL/MED (*SQL Management of External Data*) erweitert. +PostgreSQL 9.1 unterstützte dies *read-only*, ab der Version 9.3 dann +auch schreibend. Seitdem wurden eine Reihe von Foreign Data Wrappers (FDW) +für PostgreSQL entwickelt. Im Folgenden nur eine kleine Auswahl der bekanntesten FDW: From 2bdfbcf0746545248c9efd9ef4864e3d6fe7e556 Mon Sep 17 00:00:00 2001 From: Frank Hofmann Date: Fri, 19 Apr 2024 08:21:23 +0200 Subject: [PATCH 16/16] :pencil2: Typo --- docs/data-processing/apis/grpc/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data-processing/apis/grpc/index.rst b/docs/data-processing/apis/grpc/index.rst index 67683cec..d1a4e76f 100644 --- a/docs/data-processing/apis/grpc/index.rst +++ b/docs/data-processing/apis/grpc/index.rst @@ -18,7 +18,7 @@ aufgerufen werden können. Der Server implementiert dieses Interface, um die Client-Aufrufe zu verarbeiten. Für den Client wurde ein sog. *Stub* generiert, der dieselben Methoden wie der Server bereitstellt. -gRPC liegen die folgenden Design-Prinzipien zu Grunde: +gRPC liegen die folgenden Design-Prinzipien zugrunde: * gRPC kann auf allen gängigen Entwicklungsplattformen und in vielen verschiedenen Sprachen erstellt werden.