Das Von-Neumann-Prinzip
Fast alle modernen Computer basieren auf einem Konzept, das John von Neumann 1945 beschrieben hat. Das Revolutionäre: Programme werden im Speicher abgelegt – genau wie Daten. Vorher musste man Computer physisch umverkabeln, um sie neu zu programmieren.
🔍 Von-Neumann-Architektur
Das Binärsystem – Nullen und Einsen
Computer kennen nur zwei Zustände: Strom an (1) und Strom aus (0). Mit diesen zwei Zuständen lässt sich trotzdem alles darstellen – Zahlen, Buchstaben, Bilder, Videos.
Ein einzelnes 0 oder 1 heißt Bit. 8 Bits zusammen ergeben 1 Byte – und ein Byte kann 256 verschiedene Werte darstellen (2⁸ = 256).
🔍 Ein Byte = 8 Bits – Beispiel: Buchstabe "A" = 01000001
0×128 + 1×64 + 0×32 + 0×16 + 0×8 + 0×4 + 0×2 + 1×1 = 65 → ASCII-Code für „A"
🔍 Datengrößen im Überblick
Was ist das Internet überhaupt?
Das Internet ist ein weltweites Netzwerk von Netzwerken – Milliarden von Geräten, die über Kabel, Glasfaser und Funk miteinander verbunden sind. Jedes Gerät hat eine eindeutige Adresse: die IP-Adresse.
🔍 IP-Adressen & Netzwerk-Topologie
HTTP & HTTPS – Die Sprache des Webs
HTTP (HyperText Transfer Protocol) ist das Regelwerk, nach dem Browser und Server miteinander sprechen. Jede Anfrage folgt einem festen Format: Methode, Adresse, Header, Body.
HTTPS = HTTP + Verschlüsselung (TLS). Das Schloss-Symbol im Browser zeigt: Die Verbindung ist sicher, niemand kann mitlesen.
🔍 HTTP Request & Response im Detail
Die wichtigsten HTTP-Methoden
GET – Daten abrufen
Du rufst eine Webseite auf, suchst bei Google, lädst ein Bild – alles GET. Keine Daten werden verändert, nur gelesen. Die Parameter stehen sichtbar in der URL: ?suche=adesso
POST – Daten senden / erstellen
Du füllst ein Formular aus, loggst dich ein oder schreibst einen Kommentar – das ist POST. Die Daten werden im Body der Anfrage mitgeschickt (nicht in der URL sichtbar).
PUT / PATCH – Daten aktualisieren
Du änderst deinen Benutzernamen oder bearbeitest einen Eintrag. PUT ersetzt den ganzen Eintrag, PATCH ändert nur Teile davon. Wird vor allem in APIs verwendet.
DELETE – Daten löschen
Du löschst deinen Account oder entfernst einen Eintrag. Der Server entfernt die Ressource. Zusammen mit GET, POST und PUT bildet DELETE die Basis von REST-APIs.
🔍 HTTP Status-Codes – Was antwortet der Server?
| Code | Kategorie | Bedeutung | Beispiel |
|---|---|---|---|
| 200 | ✅ Erfolg | OK – Alles hat geklappt | Seite wurde geladen |
| 201 | ✅ Erfolg | Created – Ressource wurde erstellt | Neuer Account angelegt |
| 301 | ↪️ Umleitung | Moved Permanently – Neue URL | http → https Weiterleitung |
| 400 | ❌ Client-Fehler | Bad Request – Ungültige Anfrage | Formular falsch ausgefüllt |
| 401 | ❌ Client-Fehler | Unauthorized – Nicht eingeloggt | Login erforderlich |
| 403 | ❌ Client-Fehler | Forbidden – Keine Berechtigung | Zugriff verweigert |
| 404 | ❌ Client-Fehler | Not Found – Seite nicht gefunden | Tippfehler in der URL |
| 500 | 🔥 Server-Fehler | Internal Server Error – Serverproblem | Bug im Server-Code |
HTTP vs. HTTPS
Bei HTTP werden alle Daten im Klartext übertragen – jeder im gleichen Netzwerk könnte mitlesen. HTTPS verschlüsselt alles mit TLS (Transport Layer Security). Das kleine Schloss-Symbol im Browser bedeutet: diese Verbindung ist sicher. Heute sollte jede Webseite HTTPS nutzen.
Warum gibt es so viele Sprachen?
Jede Programmiersprache wurde für einen bestimmten Zweck optimiert. Python ist einfach zu lesen und gut für Datenanalyse. JavaScript läuft im Browser. Java ist plattformunabhängig und stabil für große Systeme. Es gibt keine „beste" Sprache – nur die richtige Sprache für den jeweiligen Job.
🔍 Die Software-Entwicklungs-Landschaft
Die wichtigsten Sprachen im Detail
JavaScript / TypeScript
Die einzige Sprache, die nativ im Browser läuft. TypeScript ist JavaScript mit Typen – verhindert viele Bugs. Mit Node.js auch auf dem Server nutzbar. Riesiges Ökosystem.
Python
Sehr leserlicher Code, ideal zum Lernen. Marktführer in KI/ML (TensorFlow, PyTorch). Web-Frameworks: Django (groß) und Flask (klein). Wird bei adesso für KI-Projekte eingesetzt.
Java
„Write once, run anywhere" – Java läuft auf jeder Plattform. Sehr verbreitet in Unternehmen. Spring Boot ist das beliebteste Java-Framework. adesso-Kernkompetenz.
C# / .NET
Microsofts Antwort auf Java. Sehr mächtig für Windows-Anwendungen und Web-APIs (ASP.NET). Wird bei adesso in vielen Microsoft-Projekten eingesetzt.
SQL
Structured Query Language – die Sprache für relationale Datenbanken. Mit SQL liest, schreibt, filtert und verknüpft man Daten. Fast jede Anwendung nutzt irgendwo SQL.
React / Angular / Vue
Keine Sprachen, sondern Frameworks – Bibliotheken, die das Bauen von Web-UIs strukturieren. React (Meta), Angular (Google) und Vue sind die drei dominanten Optionen.
Framework vs. Bibliothek – was ist der Unterschied?
Bibliothek (Library)
Du rufst die Bibliothek auf, wenn du sie brauchst. Du hast die Kontrolle. Beispiel: moment.js für Datumsformatierung – du entscheidest, wann und wie du sie nutzt.
Framework
Das Framework ruft deinen Code auf. Das Framework hat die Kontrolle (Inversion of Control). Beispiel: Spring Boot – du schreibst die Logik, Spring übernimmt den Rest.
Was macht adesso? – Der typische Tech-Stack
adesso ist ein IT-Dienstleister und entwickelt Software für Kunden aus vielen Branchen. Typische Technologien: Java + Spring Boot für Backend-APIs, Angular oder React für Frontends, C# / .NET für Microsoft-Projekte, SQL-Datenbanken (Oracle, PostgreSQL, MS SQL), und zunehmend Python + KI-Frameworks für intelligente Anwendungen. In der Praxis: Fast immer ein Mix aus mehreren Technologien.
Empfohlener Lernpfad für Einsteiger
HTML & CSS lernen
Erstelle deine erste Webseite. Verstehe Tags, Struktur und Styling. Das geht in einem Wochenende. Gute Ressource: developer.mozilla.org
JavaScript Grundlagen
Variablen, Funktionen, Schleifen, DOM-Manipulation. Mach deine Seite interaktiv. Plattform: javascript.info – kostenlos und hervorragend.
Ein Framework wählen
React ist aktuell am meisten gefragt. Alternativ: Vue für einen sanfteren Einstieg. Jetzt kannst du echte Web-Apps bauen.
Backend & Datenbank
Lerne Node.js oder Python für das Backend, dazu SQL für Datenbanken. Jetzt kannst du vollständige Full-Stack-Anwendungen entwickeln.
Git & Teamarbeit
Kein Profi arbeitet ohne Versionskontrolle. Git ermöglicht es Teams, gemeinsam am gleichen Code zu arbeiten. Lerne git commit, push, pull request.