Baustein 5: Praxisaufgaben mit Anhaengen und Abnahme
- Status offen / in Arbeit / zur Abnahme / abgenommen, mit Zeitstempeln - Notizfeld fuer den Azubi, Dateianhaenge bis 25 MB - Speicherpfad nur aus selbst erzeugter UUID, nie aus dem Dateinamen - Auslieferung ueber /anhaenge/<kennung> mit Rechtepruefung bei jedem Abruf, CSP sandbox und nosniff; SVG ausdruecklich nicht erlaubt - Anhaenge haengen an Aufgabe UND Azubi - Ausbilder hakt Kriterien einzeln ab, Note und Rueckmeldung, Abnahme sperrt - Zurueckgeben zur Nacharbeit - "Was auf dich wartet" zeigt offene Abnahmen - Abgenommene Aufgaben zaehlen im Wochenfortschritt mit Behoben: Next.js deckelt Serveraktionen ab Werk bei 1 MB - damit waere kein Handyfoto durchgekommen. bodySizeLimit jetzt 30 MB, Vorabpruefung im Browser, client_max_body_size im Proxy-Beispiel auf 30m. Geaendert: Seiten verweigern fremde Daten mit 404 statt mit einem Fehler. Eigene Seiten fuer "Nicht gefunden" und Stoerfaelle. 24 neue Tests, insgesamt 157. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
bb592ad2bd
commit
ffbca01bdc
@@ -7,6 +7,40 @@ Format: `HH:MM–HH:MM (Dauer) · was gemacht wurde`
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-10 · Baustein 5 – Praxisaufgaben
|
||||
|
||||
| Von | Bis | Dauer | Tätigkeit |
|
||||
|---|---|---|---|
|
||||
| 11:55 | 12:05 | 0:10 | Datenmodell für Aufgabenstand und Anhänge, Migration, Schema |
|
||||
| 12:05 | 12:20 | 0:15 | Dateiregeln (Typen, Größe, Namenssäuberung, Speicherpfad) und 24 Tests dazu |
|
||||
| 12:20 | 12:35 | 0:15 | Repositories, Serveraktionen, Ausliefer-Route mit Rechteprüfung |
|
||||
| 12:35 | 13:00 | 0:25 | Aufgabenliste, Aufgabenseite, Bewertungsformular, Abnahme |
|
||||
| 13:00 | 13:20 | 0:20 | Durchstich – dabei den 1-MB-Deckel gefunden und behoben |
|
||||
| 13:20 | 13:35 | 0:15 | Fremdzugriff geprüft, Seiten auf 404 umgestellt, Screenshots, Dokumente |
|
||||
|
||||
**Summe Baustein 5: rund 1 h 40 min**
|
||||
|
||||
### Was aufgefallen ist
|
||||
|
||||
- **Der wichtigste Fund des Tages:** Next.js begrenzt Serveraktionen ab Werk auf
|
||||
1 MB Rumpfgröße. Meine eigene Grenze von 25 MB war damit nie erreichbar –
|
||||
jedes Handyfoto (2 bis 5 MB) wäre stillschweigend gescheitert, mit einem
|
||||
Fehler nur im Serverprotokoll. Genau das Abnahmekriterium „eine Praxisaufgabe
|
||||
mit Foto abgeben" hätte nicht funktioniert. Gefunden hat den Fehler nur der
|
||||
Durchstich mit einer echten Datei, nicht die Testdatei mit 200 Byte.
|
||||
Gegenprobe danach: 3,8-MB-Foto hochgeladen, kommt mit 3 987 781 Byte zurück.
|
||||
- Die eigene Fehlerseite für „kein Zugriff" hat nicht funktioniert, weil
|
||||
Next.js Fehlermeldungen im Produktionsbetrieb schwärzt – der Text kommt nie
|
||||
im Browser an. Statt daran herumzubasteln liefern die Seiten jetzt 404. Das
|
||||
ist ohnehin die bessere Antwort: Ob es die Daten gibt, geht einen Unbefugten
|
||||
nichts an. Die Anhang-Route machte das von Anfang an so.
|
||||
- Anhänge hängen an Aufgabe **und** Azubi. Beim ersten Entwurf hätte ein
|
||||
zweiter Azubi die Fotos des ersten an derselben Aufgabe gesehen.
|
||||
- Geprüft mit einem eigens angelegten zweiten Ausbilderkonto: fremder Anhang
|
||||
404, eigener 200, der zuständige Ausbilder 200. Danach wieder gelöscht.
|
||||
|
||||
---
|
||||
|
||||
## 2026-09-10 · Baustein 4 – Merkkarten
|
||||
|
||||
| Von | Bis | Dauer | Tätigkeit |
|
||||
|
||||
Reference in New Issue
Block a user