Michael Mächtel 7 年之前
父節點
當前提交
f340cd787a
共有 2 個檔案被更改,包括 19 行新增19 行删除
  1. 7
    7
      hw9/task1/README.md
  2. 12
    12
      hw9/task2/README.md

+ 7
- 7
hw9/task1/README.md 查看文件

@@ -51,8 +51,8 @@ Beispiele:
51 51
 
52 52
 ### 1.2.3 CONTROL
53 53
 
54
-Das CONTROL-Kommando überträgt eine CONTROL Kommando an den Server. Das
55
-Kommando darf selbst keine newline enthalten. Es ist erlaubt, eine
54
+Das CONTROL-Kommando überträgt ein CONTROL Kommando an den Server. Das
55
+Kommando darf selbst keine newline enthalten. Es ist erlaubt, ein
56 56
 _leeres_ Kommando zu schicken.
57 57
 
58 58
 Beispiele:
@@ -81,7 +81,7 @@ Die Trennung der Eingabe in einzelne Zeilen ist dem aufrufenden Code
81 81
 überlassen.
82 82
 
83 83
 Enthält der Input mehrere newlines, darf der Rest ohne Fehler verworfen
84
-weden.
84
+werden.
85 85
 
86 86
 Folgendes öffentliche Interface ist vorgegeben:
87 87
 
@@ -104,11 +104,11 @@ Daten verloren gehen!
104 104
 
105 105
 ### 2.2.3 Fehlerbehandlung und Rückgabetyp
106 106
 
107
-Finden Sie einen geeigneten Rückgabetyp, der das gefundene Kommando, als
108
-auch eventuelle Fehler kommuniziert. Kombinieren Sie dies mit einer
109
-geeigneten Darstellung des Kommandos.
107
+Finden Sie einen geeigneten Rückgabetyp, der sowohl das gefundene
108
+Kommando, als auch eventuelle Fehler kommuniziert. Kombinieren Sie dies
109
+mit einer geeigneten Darstellung des Kommandos.
110 110
 
111
-Allokieren Sie die gefunden Daten als `String`.
111
+Allokieren Sie die gefundenen Daten als `String`.
112 112
 
113 113
 ## 3.1 Hilfen
114 114
 

+ 12
- 12
hw9/task2/README.md 查看文件

@@ -21,8 +21,8 @@ hw9:task1 implementiert.
21 21
 
22 22
 Zuvor legen wir ein [Rust Workspace][] an, in welchem wir komfortabel
23 23
 unsere eigenen Bibliotheken und ein Binary (den Server) verwalten.
24
-Nutzen Sie die in hw9:task1 geschriebene Bibliothek, in dem Sie diese
25
-als `srv-commands` Bibliothek in task2 benutzen, um die Kommandos an den
24
+Nutzen Sie die in hw9:task1 geschriebene Bibliothek, indem Sie diese als
25
+`srv-commands` Bibliothek in task2 benutzen, um die Kommandos an den
26 26
 Server zu parsen. Kopieren Sie dazu Ihre Dateien aus task1 in das
27 27
 `srv-commands` Verzeichnis.
28 28
 
@@ -36,7 +36,7 @@ Sorgen Sie in dieser ersten Ausbaustufe dafür, dass der Server 'Orders'
36 36
 gibt, in der Sie gesendet wurden. ([FIFO][fifo])
37 37
 
38 38
 Der Server darf beim Herunterfahren alle Daten verlieren. In dieser
39
-Version Ihres Servers genügt es, wenn der Server nur immer eine Anfrage
39
+Version Ihres Servers genügt es, wenn der Server immer nur eine Anfrage
40 40
 zu jeder Zeit beantwortet.
41 41
 
42 42
 ### 2.1.1 Optionen beim Aufruf
@@ -128,9 +128,9 @@ Test3
128 128
 
129 129
 ### 2.1.3 Ausgaben des Servers auf der Konsole
130 130
 
131
-Eventuell Auftretende Fehler gibt der Server auf der Konsole aus, ohne
131
+Eventuell auftretende Fehler gibt der Server auf der Konsole aus, ohne
132 132
 das Programm zu beenden. So wird z.B bei einem unbekannten Kommando der
133
-Entsprechende Errors Ihrer `srv-commands` Bibliothek ausgegeben, die
133
+entsprechende Error Ihrer `srv-commands` Bibliothek ausgegeben, die
134 134
 folgende Form haben könnte:
135 135
 ```text
136 136
 ...
@@ -138,7 +138,7 @@ Error occurred: ParseError(UnknownCommand)
138 138
 ...
139 139
 ```
140 140
 
141
-Wird die Option -v angegeben, dann gibt der Server zusätzlichen
141
+Wird die Option -v angegeben, dann gibt der Server zusätzliche
142 142
 Informationen aus (siehe obiges Kapitel dazu).
143 143
 
144 144
 ### 2.1.4 Unit Tests / Integration Tests
@@ -149,12 +149,12 @@ in Ihren Libraries und Ihrem Server zu testen.
149 149
 ## 3.1 Fehlerbehandlung 
150 150
 
151 151
 Wie bereits mehrfach erwähnt, geschieht auch in Rust die
152
-Fehlerbehandlung wie mit Javas checked Exceptions, in dem spezielle
152
+Fehlerbehandlung wie mit Javas checked Exceptions, indem spezielle
153 153
 Fehler und Ergebnisse in generische Fehler und Ereignisse umgeformt
154
-werden, um diese dann nach 'oben' durch zureichen. Auf der höchsten
154
+werden, um diese dann nach 'oben' durch zu reichen. Auf der höchsten
155 155
 Ebene werden dann die Fehler behandelt. Bei Rust kommt noch dazu, dass
156 156
 man Results auch lokal in einer Funktion kombiniert, um dann alle Fehler
157
-innerhalb dieser Funktion (Top-level Handler) behandelt.
157
+innerhalb dieser Funktion (Top-level Handler) zu behandeln.
158 158
 
159 159
 Als Basiswerkzeug haben Sie dazu bereits die Traits
160 160
 `[std::convert::From][]` und `[std::convert::Into][]` kennen gelernt. Es
@@ -172,7 +172,7 @@ res.map(....).map_err(....)
172 172
 ```
173 173
 
174 174
 Das ist derzeit noch 'aufwendig' als Syntax zu schreiben, entsprechende
175
-RFC's um dies zu vereinfachen existieren bereits (vgl. Evolution der
175
+RFC's, um dies zu vereinfachen existieren bereits (vgl. Evolution der
176 176
 Fehlerbehandlung in Rust: match()->try!->?).
177 177
 
178 178
 Ihre Lösung dieser Aufgabe hat somit idealerweise einen eigenen
@@ -182,8 +182,8 @@ den/die in dieser Aufgabe auftretende Fehlertypen enthält.
182 182
 ## 4.1 Tipps
183 183
 
184 184
 * Zum Speichern eignet sich die [VecDeque][vecdeque], mit der sich das oben genannte FIFO-Verhalten gut abbilden lässt.
185
-* Früher an später denken: gut Aufteilung von Aufgaben in Funktionen,
186
-  Module und Bibliotheken macht die folgenden Aufgaben einfacher.
185
+* Früher an später denken: gute Aufteilung von Aufgaben in Funktionen,
186
+  Module und Bibliotheken machen die folgenden Aufgaben einfacher.
187 187
 * Zum Testen eignet sich **netcat**:
188 188
 
189 189
 ```

Loading…
取消
儲存