Bei Menschen und Produktsignalen beginnen
Eine Produktionsfunktion hat einen Zweck und braucht ein Signal, um ihren Nutzen zu verstehen. Analytics führt diese Messebene ein: relevante Aktivitäten erkennen und zur Orientierung von Produktentscheidungen verwenden, statt erhobene Zahlen zum Selbstzweck zu machen.
Dienste in ein stimmiges Erlebnis integrieren
KI-APIs und Stripe bringen unterschiedliche externe Fähigkeiten ein: Die eine kann modellgestütztes Verhalten ermöglichen, der andere Zahlungsabläufe unterstützen. In beiden Fällen braucht die Integration einen klaren Platz im Produkt, vorhersehbares Verhalten und eine sorgfältig verwaltete Konfiguration.
Verstehen, was die Anwendung am Laufen hält
Eine Funktion ist nicht fertig, sobald sie auf dem Rechner einer Entwicklerin oder eines Entwicklers läuft. VPS-Grundlagen zeigen die Serverumgebung, auf der eine Anwendung live bereitgestellt werden kann, und den dazugehörigen Betriebskontext. Die Stufe verbindet Produktabsicht, externe Dienste und Deployment-Überlegungen.
Vom Konzept zu funktionierendem Code
Diese Ausschnitte zeigen, wie die Inhalte jeder Stufe in echten Projekten aussehen. Sie sind Ausgangspunkte zum Lesen, Hinterfragen, Anpassen und Testen — kein Code zum blinden Kopieren.
Zugangsdaten auf dem Server behalten
Die Route prüft die Anfrage vor dem Aufruf des KI-Dienstes. Der API-Schlüssel stammt aus einer Server-Umgebungsvariable, externe Fehler werden kontrolliert beantwortet und das Geheimnis gelangt nicht in den Browser.
export async function POST(request) {
const { prompt } = await request.json();
if (typeof prompt !== "string" || !prompt.trim()) {
return Response.json({ error: "Prompt is required." }, { status: 400 });
}
const upstream = await fetch(process.env.AI_API_URL, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.AI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ prompt: prompt.trim() }),
});
if (!upstream.ok) {
return Response.json({ error: "The service is unavailable." }, { status: 502 });
}
return Response.json(await upstream.json());
}Die Laufzeit reproduzierbar machen
Das Dockerfile installiert fixierte Abhängigkeiten, baut in einer getrennten Stufe und läuft im Produktionsmodus ohne Root-Rechte. Für den Betrieb sollten Healthcheck, festgelegtes Basis-Image und sicher injizierte Geheimnisse hinzukommen.
FROM node:22-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM node:22-alpine AS runtime
ENV NODE_ENV=production
WORKDIR /app
COPY --from=build /app .
EXPOSE 3000
USER node
CMD ["npm", "start"]Lesen und selbst anpassenÄndere eine Anforderung, überlege dir das Ergebnis und überprüfe deine Annahme durch Ausführen. Erkläre im Review deine Entscheidung und eine mögliche nächste Verbesserung.