Salesforce Apex ist eine objektorientierte Programmiersprache, die speziell für die Salesforce-Plattform entwickelt wurde. Sie ähnelt Java und wird hauptsächlich verwendet, um benutzerdefinierte Geschäftslogik, Automatisierungen und Integrationen in Salesforce zu implementieren.
Cloud-basiert: Läuft ausschließlich auf den Servern von Salesforce.
Syntaxähnlichkeit zu Java: Wer Java kennt, kann Apex schnell lernen.
Eng mit der Salesforce-Datenbank (SOQL & SOSL) verknüpft: Ermöglicht direkte Datenabfragen und Manipulationen.
Ereignisgesteuert: Wird oft durch Salesforce-Trigger (z. B. Änderungen an Datensätzen) ausgeführt.
Governor Limits: Salesforce begrenzt Ressourcenverbrauch (z. B. maximale Anzahl von SOQL-Abfragen pro Transaktion), um die Performance der Plattform zu sichern.
Triggers: Automatische Aktionen bei Änderungen an Datensätzen.
Batch-Prozesse: Verarbeitung großer Datenmengen in Hintergrundjobs.
Web Services & API-Integrationen: Kommunikation mit externen Systemen.
Custom Controllers für Visualforce & Lightning: Steuerung von Benutzeroberflächen.
Memcached ist ein verteiltes In-Memory-Caching-System, das häufig zur Beschleunigung von Webanwendungen eingesetzt wird. Es speichert häufig abgefragte Daten temporär im Arbeitsspeicher, um teure Datenbankabfragen oder API-Aufrufe zu vermeiden.
Schlüssel-Wert-Speicher: Daten werden als Key-Value-Paare gespeichert.
In-Memory: Läuft vollständig im RAM, daher extrem schnell.
Verteilt: Unterstützt mehrere Server (Cluster), um die Last zu verteilen.
Einfach: Bietet eine minimalistische API mit grundlegenden Operationen wie set
, get
, delete
.
Eviction (Ablaufstrategie): Verwendet LRU (Least Recently Used), um alte Daten bei Speicherüberlastung zu löschen.
Caching von Datenbankabfragen: Reduziert die Last auf Datenbanken wie MySQL oder PostgreSQL.
Session-Management: Speichert Benutzersitzungen bei skalierbaren Web-Apps.
Temporäre Datenspeicherung: Z.B. für API-Rate-Limiting oder kurze Zwischenspeicher.
Memcached: Schneller bei einfachen Key-Value-Speichern, skaliert gut horizontal.
Redis: Bietet mehr Features wie persistente Speicherung, Listen, Hashes, Sets und Pub/Sub.
sudo apt update && sudo apt install memcached
sudo systemctl start memcached
Mit PHP oder Python kann Memcached über entsprechende Libraries verwendet werden.
Ein Spider (auch Webcrawler oder Bot genannt) ist ein automatisiertes Programm, das das Internet durchsucht, um Webseiten zu indexieren. Diese Programme werden oft von Suchmaschinen wie Google, Bing oder Yahoo eingesetzt, um neue oder aktualisierte Inhalte zu entdecken und in den Suchindex aufzunehmen.
Startpunkt: Der Spider beginnt mit einer Liste von URLs, die gecrawlt werden sollen.
Analyse: Er ruft den HTML-Code der Webseite ab und analysiert die Inhalte, Links und Metadaten.
Folgen von Links: Er folgt den auf der Seite gefundenen Links, um neue Seiten zu entdecken.
Speicherung: Die gesammelten Daten werden an die Datenbank der Suchmaschine weitergeleitet, wo sie für die Indexierung verarbeitet werden.
Wiederholung: Der Vorgang wird regelmäßig wiederholt, um aktuelle Inhalte zu erfassen.
Suchmaschinenoptimierung (SEO)
Preisvergleichsportale
Webarchivierung (z. B. durch die Wayback Machine)
Automatische Inhaltsanalyse für KI-Modelle
Manche Webseiten setzen eine robots.txt-Datei ein, um festzulegen, welche Bereiche von einem Spider gecrawlt werden dürfen und welche nicht.
Ein Internationalized Resource Identifier (IRI) ist eine erweiterte Version eines Uniform Resource Identifier (URI), die Unicode-Zeichen außerhalb des ASCII-Zeichensatzes unterstützt. Dadurch können auch nicht-lateinische Schriftzeichen (z. B. chinesische, arabische oder kyrillische Zeichen) sowie Sonderzeichen in Webadressen und anderen Identifikatoren verwendet werden.
A-Z
, 0-9
, -
, .
und _
) beschränkt sind, erlauben IRIs Zeichen aus dem gesamten Unicode-Zeichensatz.https://de.wikipedia.org/wiki/Überblick
https://de.wikipedia.org/wiki/%C3%9Cberblick
Ü
als %C3%9C
kodiert)IRIs sind in RFC 3987 definiert und werden in modernen Webtechnologien wie HTML5, XML und RDF unterstützt.
IRIs machen das Internet sprachlich inklusiver, indem sie Webseiten und Ressourcen mit nicht-lateinischen Zeichen leichter zugänglich machen.
Ein SUT (System Under Test) ist das System oder die Komponente, die in einem Testprozess geprüft wird. Der Begriff wird häufig in der Softwareentwicklung und Qualitätssicherung verwendet.
Ein typischer Testprozess umfasst:
Die PHP-Bibliothek Whoops ist ein leistungsstarkes und benutzerfreundliches Fehlermanagement-Tool für PHP-Anwendungen. Sie sorgt dafür, dass Fehler in einer ansprechenden und übersichtlichen Weise dargestellt werden, was die Fehlersuche und -behebung erleichtert.
✅ Schöne, interaktive Fehlerseiten
✅ Detaillierte Stack-Traces mit Code-Vorschau
✅ Einfache Integration in bestehende PHP-Projekte
✅ Unterstützung für verschiedene Frameworks (Laravel, Symfony, Slim, etc.)
✅ Anpassbar durch eigene Handler und Logger
Whoops kann mit Composer installiert werden:
composer require filp/whoops
Hier ist ein einfaches Beispiel, wie du Whoops in deinem PHP-Projekt aktivieren kannst:
require 'vendor/autoload.php';
use Whoops\Run;
use Whoops\Handler\PrettyPageHandler;
$whoops = new Run();
$whoops->pushHandler(new PrettyPageHandler());
$whoops->register();
// Erzeugt einen Fehler (z. B. eine nicht definierte Variable aufrufen)
echo $undefinedVariable;
Falls ein Fehler auftritt, zeigt Whoops eine übersichtliche Debug-Seite an.
Du kannst Whoops auch erweitern, z. B. indem du eine eigene Fehlerbehandlung hinzufügst:
use Whoops\Handler\CallbackHandler;
$whoops->pushHandler(new CallbackHandler(function ($exception, $inspector, $run) {
error_log($exception->getMessage());
}));
Diese Variante loggt Fehler in eine Datei, anstatt sie direkt anzuzeigen.
Whoops wird oft in Entwicklungsumgebungen verwendet, um schnell auf Fehler zu reagieren. In Produktionsumgebungen sollte es jedoch deaktiviert oder durch eine benutzerdefinierte Fehlerseite ersetzt werden.
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.
CSS 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
).
Ein Bearer Token ist eine Art von Zugriffstoken, das zur Authentifizierung und Autorisierung in Webanwendungen und APIs verwendet wird. Der Begriff "Bearer" bedeutet „Inhaber“, was bedeutet, dass jeder, der dieses Token besitzt, Zugriff auf die geschützten Ressourcen hat – ohne zusätzliche Überprüfung.
Authorization: Bearer <token>
.GET /geschuetzte-daten HTTP/1.1
Host: api.example.com
Authorization: Bearer abcdef123456
💡 Tipp: Um die Sicherheit zu erhöhen, kann man Token mit kurzen Laufzeiten verwenden und sie nur über HTTPS übertragen.