Fachinformatiker Anwendungsentwicklung

Prüfungsvorbereitung - 3. Lehrjahr | Klicke auf Themen zum Aufklappen

0
Abgeschlossen
0
Gesamt
0%

1. Objektorientierte Programmierung

Klassen und Objekte

Definition

  • Klasse = Bauplan/Schablone für Objekte. Definiert Attribute (Eigenschaften) und Methoden (Verhalten)
  • Objekt = Konkrete Instanz einer Klasse mit eigenen Werten

Beispiel

public class Auto {
    // Attribute
    private String marke;
    private int ps;

    // Konstruktor
    public Auto(String marke, int ps) {
        this.marke = marke;
        this.ps = ps;
    }

    // Methode
    public void fahren() {
        System.out.println(marke + " fährt!");
    }
}

// Objekt erstellen
Auto meinAuto = new Auto("BMW", 150);
Prüfungsrelevant: Unterschied Klasse vs. Objekt erklären können!

Vererbung (Inheritance)

Definition

Eine Klasse (Kindklasse) übernimmt Attribute und Methoden einer anderen Klasse (Elternklasse).

Vorteile

  • Code-Wiederverwendung
  • Hierarchische Strukturierung
  • Erweiterbarkeit

Beispiel

public class Fahrzeug {
    protected int geschwindigkeit;

    public void beschleunigen() {
        geschwindigkeit += 10;
    }
}

public class Auto extends Fahrzeug {
    private int anzahlTueren;

    public void hupen() {
        System.out.println("Huuup!");
    }
}
Schlüsselwort: extends für Vererbung
super = Zugriff auf Elternklasse

Polymorphismus

Definition

"Vielgestaltigkeit" - Objekte können je nach Kontext unterschiedliches Verhalten zeigen.

Arten

  • Überschreiben (Override): Kindklasse definiert Methode der Elternklasse neu
  • Überladen (Overload): Gleicher Methodenname, unterschiedliche Parameter
// Überschreiben
public class Hund extends Tier {
    @Override
    public void lpiaut() {
        System.out.println("Wuff!");
    }
}

// Überladen
public int addiere(int a, int b) { return a + b; }
public double addiere(double a, double b) { return a + b; }

Kapselung (Encapsulation)

Definition

Verbergen von Implementierungsdetails. Zugriff nur über definierte Schnittstellen (Getter/Setter).

Zugriffsmodifikatoren

  • private - Nur innerhalb der Klasse
  • protected - Klasse + Kindklassen + gleiches Paket
  • public - Von überall zugreifbar
  • (default) - Nur im gleichen Paket
public class Konto {
    private double kontostand;  // gekapselt

    public double getKontostand() {
        return kontostand;
    }

    public void einzahlen(double betrag) {
        if (betrag > 0) {
            kontostand += betrag;
        }
    }
}

Abstraktion (Interfaces & abstrakte Klassen)

Abstrakte Klasse

  • Kann nicht instanziiert werden
  • Kann abstrakte UND normale Methoden haben
  • Einfachvererbung

Interface

  • Nur Methodensignaturen (seit Java 8 auch default-Methoden)
  • Mehrfachimplementierung möglich
  • Definiert "Vertrag"
// Interface
public interface Fahrbar {
    void fahren();
    void bremsen();
}

// Abstrakte Klasse
public abstract class Fahrzeug {
    protected String name;

    public abstract void starten();  // muss implementiert werden

    public void info() {  // normale Methode
        System.out.println(name);
    }
}
Prüfung: Unterschied Interface vs. abstrakte Klasse!

2. Datenbanken & SQL

ER-Modell (Entity-Relationship)

Bestandteile

  • Entität = Objekt/Ding (Rechteck) - z.B. Kunde, Produkt
  • Attribut = Eigenschaft (Oval) - z.B. Name, Preis
  • Beziehung = Relation (Raute) - z.B. "kauft"

Kardinalitäten

  • 1:1 - Ein Mitarbeiter hat einen Ausweis
  • 1:n - Ein Kunde hat mehrere Bestellungen
  • n:m - Schüler besuchen mehrere Kurse, Kurse haben mehrere Schüler
Chen-Notation: Zahlen an den Linien (1, n, m)
Krähenfuß: Symbole (| für 1, < für n)
n:m Beziehungen werden durch Zwischentabelle aufgelöst!

Normalisierung

Ziel

Redundanzen vermeiden, Anomalien verhindern (Update-, Insert-, Delete-Anomalie)

Normalformen

  • 1NF: Alle Attribute sind atomar (keine Listen/Gruppen)
  • 2NF: 1NF + Alle Nicht-Schlüssel-Attribute voll funktional abhängig vom Primärschlüssel
  • 3NF: 2NF + Keine transitiven Abhängigkeiten
Beispiel 1NF-Verletzung:
Telefon: "0123, 0456" → aufteilen in separate Zeilen oder Tabelle
Beispiel 3NF-Verletzung:
Kunde → PLZ → Ort (transitiv) → Ort in eigene Tabelle

SQL Grundbefehle

-- Daten abfragen
SELECT spalte1, spalte2 FROM tabelle WHERE bedingung;
SELECT * FROM kunden WHERE ort = 'Berlin';
SELECT DISTINCT stadt FROM kunden;  -- ohne Duplikate

-- Daten einfügen
INSERT INTO kunden (name, ort) VALUES ('Müller', 'Hamburg');

-- Daten ändern
UPDATE kunden SET ort = 'München' WHERE id = 5;

-- Daten löschen
DELETE FROM kunden WHERE id = 5;

-- Sortieren und Limitieren
SELECT * FROM produkte ORDER BY preis DESC;
SELECT * FROM produkte LIMIT 10;

-- Aggregatfunktionen
SELECT COUNT(*) FROM bestellungen;
SELECT AVG(preis) FROM produkte;
SELECT SUM(menge), MAX(preis), MIN(preis) FROM produkte;

SQL JOINs

JOIN-Typen

  • INNER JOIN: Nur übereinstimmende Datensätze aus beiden Tabellen
  • LEFT JOIN: Alle aus linker Tabelle + passende aus rechter
  • RIGHT JOIN: Alle aus rechter Tabelle + passende aus linker
  • FULL JOIN: Alle aus beiden Tabellen
-- INNER JOIN
SELECT k.name, b.datum
FROM kunden k
INNER JOIN bestellungen b ON k.id = b.kunden_id;

-- LEFT JOIN (alle Kunden, auch ohne Bestellung)
SELECT k.name, b.datum
FROM kunden k
LEFT JOIN bestellungen b ON k.id = b.kunden_id;

-- Mehrere JOINs
SELECT k.name, p.bezeichnung, bp.menge
FROM kunden k
JOIN bestellungen b ON k.id = b.kunden_id
JOIN bestellpositionen bp ON b.id = bp.bestell_id
JOIN produkte p ON bp.produkt_id = p.id;
Prüfung: JOIN-Typ anhand der Anforderung wählen können!

GROUP BY & HAVING

-- Anzahl Bestellungen pro Kunde
SELECT kunden_id, COUNT(*) as anzahl
FROM bestellungen
GROUP BY kunden_id;

-- Mit Bedingung auf Gruppen (HAVING)
SELECT kunden_id, COUNT(*) as anzahl
FROM bestellungen
GROUP BY kunden_id
HAVING COUNT(*) > 5;

-- Umsatz pro Produkt, nur > 1000€
SELECT produkt_id, SUM(menge * preis) as umsatz
FROM bestellpositionen
GROUP BY produkt_id
HAVING SUM(menge * preis) > 1000
ORDER BY umsatz DESC;
WHERE filtert Zeilen VOR Gruppierung, HAVING filtert NACH Gruppierung!

ACID-Prinzipien

Transaktionseigenschaften

  • Atomicity (Atomarität): Transaktion ganz oder gar nicht
  • Consistency (Konsistenz): DB bleibt in gültigem Zustand
  • Isolation: Transaktionen beeinflussen sich nicht gegenseitig
  • Durability (Dauerhaftigkeit): Änderungen bleiben nach Commit erhalten
BEGIN TRANSACTION;
UPDATE konten SET saldo = saldo - 100 WHERE id = 1;
UPDATE konten SET saldo = saldo + 100 WHERE id = 2;
COMMIT;  -- oder ROLLBACK bei Fehler

3. Netzwerktechnik

OSI-Schichtenmodell

7 Schichten (von unten nach oben)

  • 1. Physical: Bits, Kabel, Stecker, Hub
  • 2. Data Link: Frames, MAC-Adresse, Switch
  • 3. Network: Pakete, IP-Adresse, Router
  • 4. Transport: Segmente, TCP/UDP, Ports
  • 5. Session: Sitzungsverwaltung
  • 6. Presentation: Verschlüsselung, Kompression
  • 7. Application: HTTP, FTP, SMTP, DNS
Merksatz: "Please Do Not Throw Salami Pizza Away"
Prüfung: Protokolle den Schichten zuordnen können!

TCP/IP-Modell

4 Schichten

  • 1. Netzzugang: Ethernet, WLAN (OSI 1+2)
  • 2. Internet: IP, ICMP (OSI 3)
  • 3. Transport: TCP, UDP (OSI 4)
  • 4. Anwendung: HTTP, FTP, DNS (OSI 5-7)

TCP vs UDP

  • TCP: Verbindungsorientiert, zuverlässig, langsamer (HTTP, FTP, SMTP)
  • UDP: Verbindungslos, schnell, keine Garantie (DNS, Streaming, Gaming)

IP-Adressierung & Subnetting

IPv4

  • 32 Bit, 4 Oktette (z.B. 192.168.1.1)
  • Netzklassen: A (1-126), B (128-191), C (192-223)
  • Private Bereiche: 10.x.x.x, 172.16-31.x.x, 192.168.x.x

Subnetting Beispiel

IP: 192.168.1.0/24
Subnetzmaske: 255.255.255.0 = /24 (24 Bits für Netz)

/24 = 256 Adressen (254 nutzbar)
/25 = 128 Adressen (126 nutzbar)
/26 = 64 Adressen (62 nutzbar)

Netzadresse: Erste IP (192.168.1.0)
Broadcast: Letzte IP (192.168.1.255)
Gateway: Oft erste nutzbare (192.168.1.1)

IPv6

128 Bit, 8 Blöcke à 16 Bit hexadezimal: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Wichtige Protokolle & Ports

Protokolle mit Ports

  • HTTP: 80 - Webseiten unverschlüsselt
  • HTTPS: 443 - Webseiten verschlüsselt (TLS)
  • FTP: 20/21 - Dateiübertragung
  • SSH: 22 - Sichere Fernwartung
  • SMTP: 25/587 - E-Mail senden
  • POP3: 110 - E-Mail empfangen
  • IMAP: 143 - E-Mail empfangen (synchronisiert)
  • DNS: 53 - Namensauflösung
  • DHCP: 67/68 - IP-Vergabe automatisch
Well-Known Ports: 0-1023

Netzwerkgeräte

  • Hub: OSI 1 - Verteilt Signal an alle Ports (veraltet)
  • Switch: OSI 2 - Lernt MAC-Adressen, sendet gezielt
  • Router: OSI 3 - Verbindet Netzwerke, routet nach IP
  • Firewall: OSI 3-7 - Filtert Pakete nach Regeln
  • Gateway: Verbindet verschiedene Protokolle/Netze
  • Proxy: Vermittler, Cache, Filterung
MAC-Adresse: 48 Bit, hardwaregebunden (AA:BB:CC:DD:EE:FF)
ARP: Ermittelt MAC zu IP-Adresse

4. Softwareengineering & Projektmanagement

Vorgehensmodelle

Wasserfallmodell

  • Phasen streng sequentiell
  • Anforderung → Entwurf → Implementierung → Test → Betrieb
  • + Gut planbar | - Unflexibel, spätes Feedback

V-Modell

  • Erweiterung Wasserfall mit Testphasen
  • Jede Entwicklungsphase hat korrespondierende Testphase

Spiralmodell

  • Iterativ mit Risikoanalyse
  • Prototypen in jeder Iteration

Scrum

Rollen

  • Product Owner: Verantwortlich für Product Backlog, Priorisierung
  • Scrum Master: Beseitigt Hindernisse, schützt Team
  • Development Team: Selbstorganisiert, 3-9 Personen

Artefakte

  • Product Backlog: Priorisierte Anforderungsliste
  • Sprint Backlog: Aufgaben für aktuellen Sprint
  • Increment: Fertiges Produktinkrement

Events

  • Sprint: Feste Zeitbox (1-4 Wochen)
  • Daily Standup: 15 Min täglich
  • Sprint Review: Demo am Ende
  • Sprint Retrospektive: Prozessverbesserung

UML-Diagramme

Strukturdiagramme

  • Klassendiagramm: Klassen, Attribute, Methoden, Beziehungen
  • Objektdiagramm: Konkrete Instanzen

Verhaltensdiagramme

  • Use-Case: Akteure und Anwendungsfälle
  • Sequenzdiagramm: Zeitlicher Ablauf von Nachrichten
  • Aktivitätsdiagramm: Ablauflogik (wie Flussdiagramm)
  • Zustandsdiagramm: Zustände und Übergänge

Klassendiagramm Beziehungen

  • Assoziation: Einfache Linie (kennt)
  • Aggregation: Leere Raute (hat, aber unabhängig)
  • Komposition: Gefüllte Raute (hat, existenzabhängig)
  • Vererbung: Leerer Pfeil (ist ein)

Softwaretests

Teststufen

  • Unit-Test: Einzelne Komponenten/Methoden
  • Integrationstest: Zusammenspiel von Komponenten
  • Systemtest: Gesamtsystem gegen Anforderungen
  • Abnahmetest: Durch Kunden/Auftraggeber

Testmethoden

  • Black-Box: Ohne Kenntnis des Codes (Eingabe → Ausgabe)
  • White-Box: Mit Kenntnis des Codes (Pfadabdeckung)
  • Grey-Box: Teilweise Kenntnis

Testverfahren

  • Äquivalenzklassen: Eingaben in Gruppen teilen
  • Grenzwertanalyse: Werte an Grenzen testen

Lastenheft vs. Pflichtenheft

Lastenheft (Auftraggeber)

  • WAS soll erreicht werden?
  • Fachliche Anforderungen
  • Aus Kundensicht geschrieben

Pflichtenheft (Auftragnehmer)

  • WIE wird es umgesetzt?
  • Technische Lösung
  • Konkrete Realisierung
Lastenheft = Anforderung | Pflichtenheft = Lösung

5. IT-Sicherheit & Datenschutz

Schutzziele

CIA-Triade

  • Confidentiality (Vertraulichkeit): Nur Berechtigte haben Zugriff
  • Integrity (Integrität): Daten sind korrekt und unverändert
  • Availability (Verfügbarkeit): System ist erreichbar

Erweitert

  • Authentizität: Echtheit nachweisbar
  • Verbindlichkeit: Handlungen nicht abstreitbar

Verschlüsselung

Symmetrische Verschlüsselung

  • Ein Schlüssel für Ver- und Entschlüsselung
  • Schnell, aber Schlüsselaustausch problematisch
  • Beispiele: AES, DES, 3DES

Asymmetrische Verschlüsselung

  • Schlüsselpaar: Public Key + Private Key
  • Public Key verschlüsselt, Private Key entschlüsselt
  • Langsamer, aber sicherer Schlüsselaustausch
  • Beispiele: RSA, ECC

Hybride Verschlüsselung

Asymmetrisch für Schlüsselaustausch, symmetrisch für Daten (z.B. HTTPS)

Hashing

  • Einwegfunktion, nicht umkehrbar
  • Für Passwörter, Prüfsummen
  • Beispiele: SHA-256, bcrypt, MD5 (unsicher!)

DSGVO Grundlagen

Grundsätze

  • Rechtmäßigkeit: Einwilligung oder gesetzliche Grundlage
  • Zweckbindung: Nur für festgelegten Zweck
  • Datenminimierung: Nur notwendige Daten
  • Speicherbegrenzung: Löschen wenn nicht mehr benötigt

Betroffenenrechte

  • Auskunftsrecht (Art. 15)
  • Recht auf Berichtigung (Art. 16)
  • Recht auf Löschung (Art. 17)
  • Recht auf Datenübertragbarkeit (Art. 20)

Personenbezogene Daten

Alle Infos, die sich auf eine identifizierbare Person beziehen: Name, E-Mail, IP-Adresse, Standort, etc.

Angriffe & Schutzmaßnahmen

Häufige Angriffe

  • SQL-Injection: SQL-Code in Eingabefelder → Prepared Statements nutzen
  • XSS: JavaScript in Webseiten einschleusen → Eingaben escapen
  • CSRF: Fremdanfragen im Namen des Users → Token verwenden
  • Phishing: Gefälschte E-Mails/Webseiten → Awareness schulen
  • DDoS: Überlastung durch Massenanfragen → Firewall, CDN
  • Brute Force: Passwörter durchprobieren → Rate Limiting, starke Passwörter

Backup-Strategien

Backup-Arten

  • Vollbackup: Alle Daten komplett
  • Differentiell: Alle Änderungen seit letztem Vollbackup
  • Inkrementell: Nur Änderungen seit letztem Backup

3-2-1-Regel

  • 3 Kopien der Daten
  • 2 verschiedene Medientypen
  • 1 Kopie extern (Offsite)

RAID-Level

  • RAID 0: Striping, schnell, keine Redundanz
  • RAID 1: Spiegelung, volle Redundanz
  • RAID 5: Striping + Parität, 1 Platte darf ausfallen
  • RAID 6: Wie RAID 5, 2 Platten dürfen ausfallen

6. Wirtschaft & Geschäftsprozesse (WiSo)

Vertragsarten

Wichtige Vertragstypen

  • Kaufvertrag: Ware gegen Geld, Eigentum geht über
  • Werkvertrag: Erfolg geschuldet (z.B. Softwareentwicklung)
  • Dienstvertrag: Tätigkeit geschuldet (z.B. Beratung)
  • Mietvertrag: Gebrauchsüberlassung gegen Entgelt
  • Lizenzvertrag: Nutzungsrecht an Software
Werkvertrag: Auftragnehmer haftet für Erfolg!
Dienstvertrag: Nur Bemühen geschuldet!

Kaufvertragsstörungen

Arten

  • Nicht-Lieferung: Ware kommt nicht
  • Schlechtleistung (Mangel): Ware hat Fehler
  • Falschlieferung: Andere Ware als bestellt
  • Mengenfehler: Zu viel oder zu wenig
  • Zahlungsverzug: Käufer zahlt nicht pünktlich

Rechte bei Mängeln

  1. Nacherfüllung (Reparatur oder Ersatz)
  2. Minderung (Preisnachlass)
  3. Rücktritt vom Vertrag
  4. Schadensersatz
Gewährleistung: 2 Jahre bei Verbrauchern
Garantie: Freiwillige Leistung des Herstellers

Kostenrechnung

Kostenarten

  • Fixkosten: Unabhängig von Auslastung (Miete, Gehälter)
  • Variable Kosten: Abhängig von Menge (Material, Strom)
  • Einzelkosten: Direkt zuordenbar
  • Gemeinkosten: Nicht direkt zuordenbar

Deckungsbeitrag

Deckungsbeitrag = Erlös - variable Kosten

Stückpreis: 100€
Variable Kosten: 60€
→ Deckungsbeitrag: 40€ pro Stück

Gewinn = Deckungsbeitrag - Fixkosten

Break-Even-Point

Gewinnschwelle: Ab welcher Menge kein Verlust mehr?

BEP = Fixkosten / Deckungsbeitrag pro Stück
BEP = 10.000€ / 40€ = 250 Stück

Arbeitsrecht Basics

Arbeitsvertrag

  • Schriftform empfohlen (Nachweisgesetz)
  • Wesentliche Inhalte: Parteien, Tätigeit, Vergütung, Arbeitszeit, Urlaub

Kündigungsfristen

  • Probezeit: 2 Wochen
  • Grundfrist: 4 Wochen zum 15. oder Monatsende
  • Verlängert sich mit Betriebszugehörigkeit

Besonderer Kündigungsschutz

  • Schwangere und Mütter
  • Schwerbehinderte
  • Betriebsratsmitglieder
  • Auszubildende (nach Probezeit)

JArbSchG (Jugendarbeitsschutz)

  • Max. 8 Stunden/Tag, 40 Stunden/Woche
  • Keine Nachtarbeit (20-6 Uhr)
  • Mindestens 30 Werktage Urlaub

Qualitätsmanagement

PDCA-Zyklus (Deming-Kreis)

  • Plan: Planen, Ziele setzen
  • Do: Umsetzen, testen
  • Check: Überprüfen, messen
  • Act: Verbessern, standardisieren

ISO 9001

Internationale Norm für Qualitätsmanagementsysteme. Fordert dokumentierte Prozesse und kontinuierliche Verbesserung.

KVP (Kontinuierlicher Verbesserungsprozess)

Stetige, kleine Verbesserungen statt großer Umbrüche. Einbeziehung aller Mitarbeiter.

7. Hardware & Zahlensysteme

Zahlensysteme umrechnen

Dezimal → Binär

25 : 2 = 12 Rest 1
12 : 2 = 6  Rest 0
6  : 2 = 3  Rest 0
3  : 2 = 1  Rest 1
1  : 2 = 0  Rest 1
→ 25₁₀ = 11001₂ (von unten lesen)

Binär → Dezimal

11001₂ = 1×2⁴ + 1×2³ + 0×2² + 0×2¹ + 1×2⁰
       = 16 + 8 + 0 + 0 + 1 = 25₁₀

Hexadezimal

0-9 und A=10, B=11, C=12, D=13, E=14, F=15

Binär → Hex: Je 4 Bits gruppieren
1101 0011₂ = D3₁₆

Hex → Dezimal:
2F₁₆ = 2×16¹ + 15×16⁰ = 32 + 15 = 47₁₀

Von-Neumann-Architektur

Komponenten

  • CPU (Prozessor): Steuerwerk + Rechenwerk (ALU)
  • Speicher: Programm und Daten im gleichen Speicher
  • Ein-/Ausgabe: Peripheriegeräte
  • Bus-System: Datenbus, Adressbus, Steuerbus

CPU-Bestandteile

  • Steuerwerk: Holt und dekodiert Befehle
  • ALU: Führt Berechnungen durch
  • Register: Schneller Zwischenspeicher

Von-Neumann-Flaschenhals

Daten und Befehle teilen sich den Bus → Engpass

Speicherarten

Flüchtig (Volatile)

  • RAM: Arbeitsspeicher, schnell, verliert Daten ohne Strom
  • Cache: Noch schneller, zwischen CPU und RAM (L1, L2, L3)

Nicht-flüchtig (Non-Volatile)

  • ROM: Nur lesbar, Firmware
  • HDD: Magnetische Festplatte
  • SSD: Flash-Speicher, schneller als HDD

Speicherhierarchie (schnell → langsam)

Register → Cache → RAM → SSD → HDD

Speichereinheiten

1 Bit = 0 oder 1
1 Byte = 8 Bit
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB

Virtualisierung & Cloud

Virtualisierung

  • Hypervisor Typ 1: Direkt auf Hardware (VMware ESXi, Hyper-V)
  • Hypervisor Typ 2: Auf Betriebssystem (VirtualBox, VMware Workstation)
  • Container: Teilen sich Kernel (Docker) - leichtgewichtiger als VMs

Cloud-Service-Modelle

  • IaaS: Infrastructure - VMs, Speicher, Netzwerk (AWS EC2)
  • PaaS: Platform - Entwicklungsumgebung (Heroku, Azure App Service)
  • SaaS: Software - Fertige Anwendung (Office 365, Salesforce)

Cloud-Deployment

  • Public Cloud: Öffentlich, geteilt
  • Private Cloud: Eigene, dedizierte Infrastruktur
  • Hybrid Cloud: Kombination aus beiden

8. Design Patterns & Clean Code

SOLID-Prinzipien

  • S - Single Responsibility: Eine Klasse = eine Aufgabe
  • O - Open/Closed: Offen für Erweiterung, geschlossen für Änderung
  • L - Liskov Substitution: Kindklassen müssen Elternklasse ersetzen können
  • I - Interface Segregation: Viele kleine Interfaces statt einem großen
  • D - Dependency Inversion: Abhängigkeit von Abstraktionen, nicht Implementierungen

Wichtige Design Patterns

Erzeugungsmuster

  • Singleton: Nur eine Instanz einer Klasse (z.B. Datenbankverbindung)
  • Factory: Objekt-Erzeugung auslagern

Strukturmuster

  • Adapter: Inkompatible Schnittstellen verbinden
  • Decorator: Funktionalität dynamisch erweitern

Verhaltensmuster

  • Observer: Objekte über Änderungen benachrichtigen
  • Strategy: Algorithmen austauschbar machen

Architekturmuster

  • MVC: Model (Daten) - View (Anzeige) - Controller (Logik)
// Singleton Beispiel
public class Database {
    private static Database instance;

    private Database() {}

    public static Database getInstance() {
        if (instance == null) {
            instance = new Database();
        }
        return instance;
    }
}

Git Versionskontrolle

Grundbefehle

git init              # Repository erstellen
git clone URL         # Repository kopieren
git status            # Status anzeigen
git add datei         # Datei stagen
git add .             # Alle Änderungen stagen
git commit -m "Msg"   # Commit erstellen
git push              # Hochladen
git pull              # Herunterladen + Merge
git fetch             # Nur herunterladen

Branching

git branch            # Branches anzeigen
git branch feature    # Branch erstellen
git checkout feature  # Branch wechseln
git checkout -b feat  # Erstellen + wechseln
git merge feature     # Branch zusammenführen

Workflow

  1. Branch erstellen (feature/bugfix)
  2. Änderungen committen
  3. Pull Request / Merge Request
  4. Code Review
  5. Merge in main/master

Meine Notizen

Automatisch gespeichert