Caching

Übungsaufgaben zu Build und Auslieferung einer Vue-App: Mitfahrgesuche im Intranet

Die Web-App des Mitfahrlabors soll zusätzlich im Intranet der Schule erscheinen, und die Ansicht der Mitfahrgesuche soll sich je Umgebung ein- und ausschalten lassen. In diesen Übungen liest Du die Ausgabe eines Produktions-Builds, entwickelst einen Schalter über eine Umgebungsvariable mit Tests, lieferst die App mit nginx in einem Unterordner aus und behebst eine Auslieferung, bei der Deep Links mit 404 enden und Nutzende alte Versionen sehen.

Übungsaufgaben zu Aktualisierung und Caching: die Gesuche-Seite lädt selbst nach

Die Seite mit den Mitfahrgesuchen soll sich wie der Flurmonitor selbst aktualisieren. In diesen Übungen ordnest Du Verfahren zum Aktualisieren zu und sagst voraus, wie das Skript auf Fehler reagiert, lieferst die Gesuche-Liste als Thymeleaf-Fragment aus, rüstest die Seite mit Takt und Störungshinweis zum Nachladen aus und findest heraus, warum ein Cache abgelaufene Gesuche auf dem Monitor stehen lässt.

Automatisch aktualisieren: Der Flurmonitor lädt seine Tabellen selbst nach

Bisher zeigt der Flurmonitor denselben Stand, bis jemand die Seite neu lädt. In diesem Artikel lädt die Seite zuerst per Meta-Refresh komplett neu, dann holt ein kleines Skript mit fetch alle 30 Sekunden nur den Bereich mit den Abfahrten. Der Controller liefert dafür ein Thymeleaf-Fragment unter einer eigenen Adresse. Scheitert das Nachladen, bleibt der letzte Stand mit einem Hinweis stehen. Damit vier Monitore die Datenbank nicht im Sekundentakt befragen, legt @Cacheable die Abfrage für 20 Sekunden in einen Caffeine-Cache, und @CacheEvict leert ihn, sobald sich ein Angebot ändert.