Add practical examples to multiple files
- LF9-03 Virtualisierung: Docker Compose + Volume examples - LF6-02 Frontend: To-Do list practical example - LF8-04 ETL: Complete ETL pipeline example - LF6-04 Sicherheit: Express.js security headers - LF2-04 Nutzwertanalyse: Cloud provider selection example - LF9-04 Monitoring: Prometheus alerts + Python logging
This commit is contained in:
@@ -80,6 +80,73 @@ Laptop B:
|
||||
|
||||
---
|
||||
|
||||
## Praktisches Beispiel: Cloud-Anbieter Auswahl
|
||||
|
||||
### Szenario
|
||||
Ein Unternehmen muss sich zwischen AWS, Azure und Google Cloud entscheiden.
|
||||
|
||||
### 1. Kriterien definieren
|
||||
|
||||
| Kriterium | Bedeutung |
|
||||
|-----------|-----------|
|
||||
| Preis | Kosten pro Monat |
|
||||
| Leistung | Rechenleistung, Geschwindigkeit |
|
||||
| Sicherheit | Zertifizierungen, Features |
|
||||
| Support | Deutsche Ansprechpartner |
|
||||
| Skalierbarkeit | Einfache Erweiterung |
|
||||
|
||||
### 2. Gewichtung
|
||||
|
||||
| Kriterium | Gewichtung |
|
||||
|-----------|------------|
|
||||
| Preis | 25% |
|
||||
| Leistung | 30% |
|
||||
| Sicherheit | 25% |
|
||||
| Support | 10% |
|
||||
| Skalierbarkeit | 10% |
|
||||
| **Summe** | **100%** |
|
||||
|
||||
### 3. Bewertung (1-10)
|
||||
|
||||
| Kriterium | Gewichtung | AWS | Azure | Google Cloud |
|
||||
|-----------|------------|-----|-------|--------------|
|
||||
| Preis | 25% | 7 | 8 | 9 |
|
||||
| Leistung | 30% | 9 | 8 | 9 |
|
||||
| Sicherheit | 25% | 9 | 8 | 8 |
|
||||
| Support | 10% | 7 | 8 | 6 |
|
||||
| Skalierbarkeit | 10% | 9 | 8 | 9 |
|
||||
|
||||
### 4. Berechnung
|
||||
|
||||
```
|
||||
AWS:
|
||||
= 0,25×7 + 0,30×9 + 0,25×9 + 0,10×7 + 0,10×9
|
||||
= 1,75 + 2,70 + 2,25 + 0,70 + 0,90
|
||||
= 8,30
|
||||
|
||||
Azure:
|
||||
= 0,25×8 + 0,30×8 + 0,25×8 + 0,10×8 + 0,10×8
|
||||
= 2,00 + 2,40 + 2,00 + 0,80 + 0,80
|
||||
= 8,00
|
||||
|
||||
Google Cloud:
|
||||
= 0,25×9 + 0,30×9 + 0,25×8 + 0,10×6 + 0,10×9
|
||||
= 2,25 + 2,70 + 2,00 + 0,60 + 0,90
|
||||
= 8,45
|
||||
```
|
||||
|
||||
### 5. Ergebnis
|
||||
|
||||
| Anbieter | Nutzwert | Rang |
|
||||
|----------|----------|------|
|
||||
| Google Cloud | 8,45 | 1 |
|
||||
| AWS | 8,30 | 2 |
|
||||
| Azure | 8,00 | 3 |
|
||||
|
||||
**Empfehlung:** Google Cloud (aufgrund des besten Preis-Leistungs-Verhältnisses)
|
||||
|
||||
---
|
||||
|
||||
## Vorlage
|
||||
|
||||
### Nutzwertanalyse - Vorlage
|
||||
|
||||
@@ -6,13 +6,13 @@ Dieses Lernfeld behandelt die Entwicklung und Verwaltung von Datenbanken.
|
||||
|
||||
## Themen
|
||||
|
||||
| Nr. | Thema | Beschreibung |
|
||||
|-----|-------|-------------|
|
||||
| 3.1 | [[LF3-01-Datenbankgrundlagen|Datenbankgrundlagen]] | Grundbegriffe, DBMS, Datenmodelle |
|
||||
| 3.2 | [[LF3-02-Datenmodellierung|Datenmodellierung]] | ER-Modell, Normalisierung |
|
||||
| 3.3 | [[LF3-03-SQL-Grundlagen|SQL-Grundlagen]] | SELECT, INSERT, UPDATE, DELETE |
|
||||
| 3.4 | [[LF3-04-SQL-Abfragen|SQL-Abfragen]] | JOINs, Aggregatfunktionen, Unterabfragen |
|
||||
| 3.5 | [[LF3-05-Datenbankmanagement|Datenbankmanagement]] | Rechte, Sicherheit, Backup |
|
||||
| Nr. | Thema | Beschreibung | |
|
||||
| --- | ---------------------------- | --------------------- | ---------------------------------------- |
|
||||
| 3.1 | [[LF3-01-Datenbankgrundlagen | Datenbankgrundlagen]] | Grundbegriffe, DBMS, Datenmodelle |
|
||||
| 3.2 | [[LF3-02-Datenmodellierung | Datenmodellierung]] | ER-Modell, Normalisierung |
|
||||
| 3.3 | [[LF3-03-SQL-Grundlagen | SQL-Grundlagen]] | SELECT, INSERT, UPDATE, DELETE |
|
||||
| 3.4 | [[LF3-04-SQL-Abfragen | SQL-Abfragen]] | JOINs, Aggregatfunktionen, Unterabfragen |
|
||||
| 3.5 | [[LF3-05-Datenbankmanagement | Datenbankmanagement]] | Rechte, Sicherheit, Backup |
|
||||
|
||||
## Lernziele
|
||||
|
||||
|
||||
@@ -99,6 +99,45 @@ element.setAttribute("class", "neu");
|
||||
element.getAttribute("href");
|
||||
```
|
||||
|
||||
### Praktisches Beispiel: To-Do-Liste
|
||||
|
||||
```html
|
||||
<!-- HTML -->
|
||||
<input type="text" id="todo-input" placeholder="Neue Aufgabe">
|
||||
<button id="add-btn">Hinzufügen</button>
|
||||
<ul id="todo-list"></ul>
|
||||
```
|
||||
|
||||
```javascript
|
||||
// JavaScript
|
||||
const input = document.getElementById('todo-input');
|
||||
const button = document.getElementById('add-btn');
|
||||
const list = document.getElementById('todo-list');
|
||||
|
||||
button.addEventListener('click', () => {
|
||||
const text = input.value.trim();
|
||||
if (text) {
|
||||
// Neues Element erstellen
|
||||
const li = document.createElement('li');
|
||||
li.textContent = text;
|
||||
|
||||
// Löschen-Button
|
||||
const deleteBtn = document.createElement('button');
|
||||
deleteBtn.textContent = 'X';
|
||||
deleteBtn.onclick = () => li.remove();
|
||||
|
||||
li.appendChild(deleteBtn);
|
||||
list.appendChild(li);
|
||||
input.value = '';
|
||||
}
|
||||
});
|
||||
|
||||
// Enter-Taste Support
|
||||
input.addEventListener('keypress', (e) => {
|
||||
if (e.key === 'Enter') button.click();
|
||||
});
|
||||
```
|
||||
|
||||
### Events
|
||||
|
||||
```javascript
|
||||
|
||||
@@ -80,6 +80,29 @@ function escapeHtml(text) {
|
||||
Content-Security-Policy: default-src 'self'; script-src 'self'
|
||||
```
|
||||
|
||||
### Praktisches Beispiel: Express.js Sicherheits-Header
|
||||
|
||||
```javascript
|
||||
const helmet = require('helmet');
|
||||
const cors = require('cors');
|
||||
|
||||
app.use(helmet());
|
||||
|
||||
// CORS konfigurieren
|
||||
app.use(cors({
|
||||
origin: 'https://meine-app.de',
|
||||
credentials: true
|
||||
}));
|
||||
|
||||
// Rate Limiting
|
||||
const rateLimit = require('express-rate-limit');
|
||||
app.use('/api/', rateLimit({
|
||||
windowMs: 15 * 60 * 1000, // 15 Minuten
|
||||
max: 100, // Max 100 Anfragen
|
||||
message: 'Zu viele Anfragen, bitte später versuchen'
|
||||
}));
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## CSRF (Cross-Site Request Forgery)
|
||||
|
||||
Reference in New Issue
Block a user