SSH (Secure Shell) ist ein Netzwerkprotokoll, das eine verschlüsselte Verbindung zwischen zwei Computern herstellt. Es wird hauptsächlich verwendet, um sich sicher auf entfernte Systeme (z. B. Server) einzuloggen und Befehle auszuführen.
ssh benutzername@server-ip
scp datei.txt benutzername@server-ip:/zielverzeichnis/
ssh-copy-id benutzername@server-ip
SSH wird oft von Entwicklern und Administratoren genutzt, um Server zu verwalten oder sichere Verbindungen für andere Anwendungen aufzubauen.
Swift ist eine von Apple entwickelte, leistungsstarke und benutzerfreundliche Programmiersprache für die Entwicklung von Apps für iOS, macOS, watchOS und tvOS. Sie wurde 2014 als moderne Alternative zu Objective-C vorgestellt und zeichnet sich durch ihre Geschwindigkeit, Sicherheit und einfache Syntax aus.
Swift wird hauptsächlich für Apple-Plattformen genutzt, kann aber auch für Server-Anwendungen oder sogar Android- und Windows-Apps eingesetzt werden.
TortoiseGit ist eine grafische Benutzeroberfläche (GUI) für Git, die speziell für Windows entwickelt wurde. Es handelt sich um eine Erweiterung für den Windows Explorer, mit der sich Git-Repositories direkt per Kontextmenü verwalten lassen.
✅ Integration in den Windows Explorer → Kein separates Tool nötig, alles über das Rechtsklick-Menü erreichbar
✅ Einfache Bedienung → Ideal für Nutzer, die sich mit der Git-Kommandozeile nicht auskennen
✅ Visuelle Unterstützung → Änderungen, Diffs, Logs und Branches werden grafisch dargestellt
✅ Push, Pull, Commit & Merge → Standard-Git-Funktionen über eine Benutzeroberfläche
✅ Unterstützung für mehrere Repositories → Verwaltung mehrerer Projekte parallel
TortoiseGit benötigt eine Git-Installation (z. B. Git for Windows), um zu funktionieren.
➡ Download & Infos: https://tortoisegit.org/
Die Fetch API ist eine moderne JavaScript-Schnittstelle für das Abrufen von Ressourcen über das Netzwerk, z. B. für HTTP-Requests an eine API oder das Laden von Daten von einem Server. Sie ersetzt weitgehend die ältere XMLHttpRequest-Methode und bietet eine einfachere, flexiblere und leistungsfähigere Möglichkeit, Netzwerkabfragen zu verwalten.
fetch('https://jsonplaceholder.typicode.com/posts/1')
.then(response => response.json()) // Antwort als JSON umwandeln
.then(data => console.log(data)) // Daten ausgeben
.catch(error => console.error('Fehler:', error)); // Fehlerbehandlung
Ein Request mit POST-Methode
fetch('https://jsonplaceholder.typicode.com/posts', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ title: 'Neuer Beitrag', body: 'Inhalt des Beitrags', userId: 1 })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Fehler:', error));
✅ Einfachere Syntax als XMLHttpRequest
✅ Unterstützt async/await für bessere Lesbarkeit
✅ Flexibles Handling von Requests und Responses
✅ Bessere Fehlerbehandlung durch Promises
Die Fetch API ist mittlerweile in allen modernen Browsern verfügbar und eine essentielle Technik für die Webentwicklung.
Eine Single Page Application (SPA) ist eine Webanwendung, die vollständig innerhalb einer einzigen HTML-Seite läuft. Statt bei jeder Benutzerinteraktion eine neue Seite vom Server zu laden, werden Inhalte dynamisch über JavaScript aktualisiert. Dies führt zu einer schnellen, flüssigen Benutzererfahrung, ähnlich wie bei nativen Apps.
✅ Schnelle Ladezeiten nach dem ersten Aufruf
✅ Bessere Benutzererfahrung (keine Seiten-Neuladungen)
✅ Offline-Funktionalität durch Service Worker möglich
❌ Erster Ladevorgang kann langsam sein (größerer JavaScript-Bundle)
❌ SEO-Probleme (da Inhalte oft erst per JavaScript geladen werden)
❌ Komplexere Implementierung, insbesondere bei Sicherheit und Routing
Typische Frameworks für SPAs sind React, Angular und Vue.js.
Backbone.js ist ein leichtgewichtiges JavaScript-Framework, das Entwicklern hilft, strukturierte und skalierbare Webanwendungen zu erstellen. Es basiert auf dem Model-View-Presenter (MVP)-Entwurfsmuster und bietet eine minimalistische Architektur zur Trennung von Daten (Modelle), Benutzeroberfläche (Views) und Geschäftslogik.
✔ Einfach und flexibel
✔ Gute Integration mit RESTful APIs
✔ Modular und leichtgewichtig
✔ Reduziert Spaghetti-Code durch Trennung von Daten und UI
Obwohl Backbone.js früher sehr beliebt war, haben neuere Frameworks wie React, Vue.js oder Angular mittlerweile viele seiner Anwendungsfälle übernommen. Dennoch ist es in bestehenden Projekten und für minimalistische Anwendungen weiterhin relevant. 🚀
Puppet ist ein Open-Source-Configuration-Management-Tool, das zur Automatisierung der IT-Infrastruktur verwendet wird. Es hilft dabei, Server und Software automatisch bereitzustellen, zu konfigurieren und zu verwalten. Puppet wird häufig in DevOps- und Cloud-Umgebungen eingesetzt.
✅ Deklarative Sprache: Infrastruktur wird in einer eigenen DSL (Domain-Specific Language) beschrieben.
✅ Agent-Master-Architektur: Zentraler Puppet-Server verteilt Konfigurationen an Clients (Agents).
✅ Idempotenz: Änderungen werden nur durchgeführt, wenn sie nötig sind.
✅ Plattformunabhängig: Unterstützt Linux, Windows, MacOS und Cloud-Umgebungen.
✅ Modularität: Große Community mit vielen vordefinierten Modulen.
Ein Puppet-Manifest (.pp-Datei) könnte so aussehen:
package { 'nginx':
ensure => installed,
}
service { 'nginx':
ensure => running,
enable => true,
require => Package['nginx'],
}
file { '/var/www/html/index.html':
ensure => file,
content => '<h1>Hello, Puppet!</h1>',
require => Service['nginx'],
}
🔹 Dieses Puppet-Skript sorgt dafür, dass Nginx installiert ist, läuft, beim Systemstart aktiviert ist und eine einfache HTML-Seite enthält.
1️⃣ Schreiben eines Manifests (.pp-Dateien) mit den gewünschten Konfigurationen.
2️⃣ Puppet Master sendet Konfigurationen an die Puppet Agents (Server/Clients).
3️⃣ Puppet Agent überprüft den Zustand des Systems und nimmt nur notwendige Änderungen vor.
Puppet wird häufig in großen IT-Umgebungen genutzt, um Server konsistent und effizient zu verwalten.
Jest ist ein JavaScript-Testing-Framework, das von Meta (Facebook) entwickelt wurde. Es wird hauptsächlich zum Testen von JavaScript- und TypeScript-Anwendungen verwendet, insbesondere für React-Anwendungen, eignet sich aber auch für Node.js-Backends.
// sum.js
function sum(a, b) {
return a + b;
}
module.exports = sum;
// sum.test.js
const sum = require('./sum');
test('addiert 1 + 2 und ergibt 3', () => {
expect(sum(1, 2)).toBe(3);
});
Um den Test auszuführen, nutzt du:
jest
Oder falls du es in einem Projekt installiert hast:
npx jestCSS Media Queries sind eine Technik in CSS, mit der sich das Layout einer Webseite an verschiedene Bildschirmgrößen, Auflösungen und Gerätetypen anpassen lässt. Sie sind ein zentraler Bestandteil des Responsive Web Designs.
@media (Bedingung) {
/* CSS-Regeln, die nur unter dieser Bedingung gelten */
}
1. Anpassung an verschiedene Bildschirmbreiten:
/* Für Bildschirme mit maximal 600px Breite (z. B. Smartphones) */
@media (max-width: 600px) {
body {
background-color: lightblue;
}
}
2. Unterscheidung zwischen Hoch- und Querformat:
@media (orientation: landscape) {
body {
background-color: lightgreen;
}
}
3. Spezielle Stile für Druckausgabe:
@media print {
body {
font-size: 12pt;
color: black;
background: none;
}
}
✅ Mobile-First-Design: Webseiten für kleine Displays optimieren und dann für größere Bildschirme erweitern.
✅ Dark Mode: Stile je nach Nutzerpräferenz anpassen (prefers-color-scheme).
✅ Retina-Displays: Hochauflösende Bilder oder spezielle Stile für Displays mit hoher Pixeldichte (min-resolution: 2dppx).
Responsive Design ist eine Technik im Webdesign, bei der sich eine Website automatisch an verschiedene Bildschirmgrößen und Geräte anpasst. Dadurch bleibt die Benutzerfreundlichkeit sowohl auf großen Desktop-Monitoren als auch auf Tablets und Smartphones erhalten, ohne dass separate Versionen der Website erforderlich sind.
Responsive Design wird durch folgende Techniken umgesetzt:
1. Flexible Layouts
2. Media Queries (CSS)
@media (max-width: 768px) {
body {
background-color: lightgray;
}
}
→ Dieser Code ändert die Hintergrundfarbe für Bildschirme kleiner als 768px.
3. Flexible Bilder und Medien
img {
max-width: 100%;
height: auto;
}
4. Mobile-First Ansatz
✅ Bessere Nutzererfahrung auf allen Geräten
✅ SEO-Vorteile, da Google mobilfreundliche Seiten bevorzugt
✅ Keine doppelte Wartung für Desktop- und Mobile-Versionen
✅ Höhere Conversion-Rate, weil Nutzer die Seite einfacher bedienen können
Responsive Design ist heute Standard im modernen Webdesign, da es eine optimale Darstellung und Bedienbarkeit auf allen Geräten ermöglicht.