Ein Cronjob ist ein geplanter, wiederkehrender Hintergrundprozess auf Unix- oder Linux-basierten Systemen. Er wird vom Dienstprogramm cron ausgeführt, das regelmäßig überprüft, ob Aufgaben (Jobs) laut Zeitplan auszuführen sind.
Automatisierung: Aufgaben wie Backups, Updates, E-Mail-Versand oder Skript-Ausführungen laufen automatisch.
Zeitsteuerung: Du legst genau fest, wann und wie oft ein Job ausgeführt werden soll (z. B. täglich um 3:00 Uhr oder jeden Montag).
Konfiguration: In sogenannten Crontabs (Cron-Tabellen) wird der Zeitplan definiert.
0 3 * * * /usr/bin/php /var/www/mein-skript.php
Bedeutung:
0 3 * * *
→ Jeden Tag um 03:00 Uhr
/usr/bin/php /var/www/mein-skript.php
→ Das auszuführende Kommando
* * * * * (Minute Stunde Tag Monat Wochentag)
Spart Zeit durch Automatisierung
Verringert menschliche Fehler
Ideal für regelmäßige Aufgaben
Ein Daemon (ausgesprochen wie „dä-mon“, nicht wie das englische „demon“) ist ein Hintergrundprozess, der auf einem Computersystem läuft – meist ohne direkte Benutzerinteraktion.
Startet automatisch beim Hochfahren des Systems.
Läuft dauerhaft im Hintergrund.
Erledigt Aufgaben, ohne dass der Benutzer direkt mit ihm arbeitet.
Hört auf Anforderungen von anderen Programmen oder Netzwerken.
cron
-Daemon: Führt zeitgesteuerte Aufgaben aus (z. B. tägliche Backups).
sshd
: Behandelt SSH-Verbindungen von außen.
httpd
oder nginx
: Webserver-Dienste.
cupsd
: Druckaufträge verwalten.
In Unix/Linux endet ein Daemon-Prozessname oft mit „d“ (z. B. httpd
, systemd
).
Ein Daemon wird oft beim Systemstart durch Init-Systeme wie systemd
oder init
gestartet.
Der Begriff stammt aus der griechischen Mythologie, wo „Daimon“ eine Art Geist oder übernatürliches Wesen war, das im Hintergrund wirkte – passend zur Funktion im Betriebssystem.
Perl Compatible Regular Expressions (PCRE) sind eine Implementierung von regulären Ausdrücken, die sich an der Syntax und Funktionalität der Programmiersprache Perl orientiert. Sie bieten eine sehr mächtige, flexible und erweiterte Syntax, die über einfache reguläre Ausdrücke hinausgeht.
Perl war eine der ersten Sprachen, die besonders leistungsstarke reguläre Ausdrücke eingeführt hat. Die PCRE-Bibliothek wurde entwickelt, um diese Funktionen auch in anderen Programmiersprachen und Tools verfügbar zu machen – zum Beispiel in:
Python (teilweise, re
-Modul ähnelt PCRE)
JavaScript (mit leichten Abweichungen)
grep-Varianten wie pcregrep
Texteditoren wie VS Code, Sublime Text etc.
✅ Lookahead & Lookbehind:
(?=...)
– positive Lookahead
(?!...)
– negative Lookahead
(?<=...)
– positive Lookbehind
(?<!...)
– negative Lookbehind
✅ Nicht-gierige Quantifizierer:
*?
, +?
, ??
, {m,n}?
✅ Benannte Gruppen:
(?P<name>...)
oder (?<name>...)
✅ Unicode-Support:
\p{L}
für Unicode-Buchstaben usw.
✅ Assertions und Grenzen:
\b
, \B
, \A
, \Z
, \z
✅ Modifikatoren:
(?i)
für case-insensitive
(?m)
für multiline usw.
(?<=\buser\s)\w+
Dieser Ausdruck findet Wörter, die nach "user " stehen (Lookbehind).
PCRE sind die "Deluxe-Version" regulärer Ausdrücke – sie sind leistungsfähig, weit verbreitet und flexibel. Wenn du in einem Tool oder einer Sprache arbeitest, die „PCRE unterstützt“, kannst du dich auf die mächtige Perl-ähnliche Syntax freuen.
„Link Juice“ ist ein Begriff aus der Suchmaschinenoptimierung (SEO) und bezeichnet den Wert oder die Kraft, die ein Hyperlink von einer Webseite auf eine andere überträgt. Diese „Kraft“ beeinflusst, wie gut eine Seite in den Suchmaschinenergebnissen (vor allem bei Google) rankt.
Wenn eine Webseite A auf Webseite B verlinkt, gibt sie etwas von ihrem „Ruf“ oder ihrer Autorität weiter – das ist der „Link Juice“. Je vertrauenswürdiger und themenrelevanter Seite A ist, desto mehr Link Juice wird übertragen.
Autorität der verlinkenden Seite (z. B. eine große Nachrichtenseite vs. ein kleines Blog)
Anzahl der ausgehenden Links: Je mehr Links auf einer Seite sind, desto weniger „Juice“ bekommt jeder einzelne.
Follow vs. Nofollow: Nur „dofollow“-Links übertragen Link Juice; „nofollow“-Links (z. B. mit rel="nofollow"
) tun das in der Regel nicht.
Platzierung des Links: Ein Link im Haupttext ist stärker als einer in der Fußzeile oder Seitenleiste.
Relevanz: Ein Link von einer thematisch passenden Seite zählt mehr.
Ein Backlink von Wikipedia auf deine Website gibt dir enorm viel Link Juice – Google wertet das als Zeichen von Vertrauenswürdigkeit. Ein Link von einer unbekannten oder spammy Seite dagegen bringt wenig bis gar nichts oder kann sogar schaden.
Die Levenshtein-Distanz ist ein Maß für den Unterschied zwischen zwei Zeichenketten (Strings). Sie gibt an, wie viele einzelne Bearbeitungsschritte (Operationen) notwendig sind, um eine Zeichenkette in eine andere zu überführen. Dabei sind die folgenden Operationen erlaubt:
Einfügen eines Zeichens
Löschen eines Zeichens
Ersetzen eines Zeichens durch ein anderes
Die Levenshtein-Distanz zwischen den Wörtern "Haus"
und "Maus"
ist 1, weil nur ein Buchstabe (H → M) geändert werden muss.
Die Levenshtein-Distanz wird in vielen Bereichen verwendet, z. B.:
Rechtschreibprüfung (Vorschlag ähnlicher Wörter)
DNA-Sequenzvergleiche
Plagiaterkennung
Fuzzy-Suche in Datenbanken oder Suchmaschinen
Für zwei Strings a
und b
, mit Längen i
und j
:
lev(a, b) = min(
lev(a-1, b) + 1, // löschen
lev(a, b-1) + 1, // einfügen
lev(a-1, b-1) + cost // ersetzen (cost = 0, wenn Zeichen gleich; sonst 1)
)
Es gibt auch effizientere dynamische Programmieralgorithmen, um diese Distanz zu berechnen.
SVG steht für Scalable Vector Graphics und ist ein XML-basiertes Dateiformat, das verwendet wird, um 2D-Grafiken zu beschreiben. Es ermöglicht die Darstellung von Vektorgrafiken, die sich ohne Qualitätsverlust skalieren lassen. SVG wird häufig in Webdesigns verwendet, da es eine hohe Auflösung bei jeder Größe bietet und leicht in Webseiten integriert werden kann.
Ein paar wichtige Merkmale von SVG:
Vektorbasiert: SVG-Grafiken bestehen aus Linien, Kurven und Formen, die mathematisch definiert sind, im Gegensatz zu Rastergrafiken (wie JPEG oder PNG), die aus Pixeln bestehen.
Skalierbarkeit: Da SVG-Grafiken auf Vektoren basieren, können sie ohne Verlust der Bildqualität auf jede Größe skaliert werden, was sie besonders für responsive Designs geeignet macht.
Interaktivität und Animation: SVG unterstützt Interaktivität (z. B. durch JavaScript) und Animationen (z. B. durch CSS oder SMIL).
Suchmaschinenfreundlich: Der Inhalt einer SVG-Datei ist textbasiert und kann von Suchmaschinen indexiert werden, was SEO-Vorteile bieten kann.
Kompatibilität: SVG-Dateien können in den meisten modernen Webbrowsern angezeigt werden und eignen sich hervorragend für Logos, Icons und Diagramme.
Der "Happy Path" (auch "Happy Flow" genannt) bezeichnet in der Softwareentwicklung oder im Testing den idealen Ablauf eines Prozesses oder Programms, bei dem alles wie geplant funktioniert, keine Fehler auftreten und alle Eingaben gültig sind.
Wenn du z. B. ein Online-Formular zur Registrierung entwickelst, sieht der Happy Path so aus:
Der Benutzer gibt alle Daten korrekt ein (z. B. gültige E-Mail, sicheres Passwort).
Er klickt auf „Registrieren“.
Das System erstellt erfolgreich einen Account.
Der Benutzer wird zur Willkommensseite weitergeleitet.
➡️ Keine Validierungsfehler, keine Serverprobleme, kein unerwartetes Verhalten.
Erstes Testziel: Beim Entwickeln oder Testen schaut man sich oft zuerst den Happy Path an, um sicherzugehen, dass das Grundgerüst funktioniert.
Basis für Use Cases: In der Dokumentation von Anforderungen oder Prozessen ist der Happy Path oft der zentrale Anwendungsfall, bevor man Sonderfälle beschreibt.
Abgrenzung zu Edge Cases / Error Paths: Alles, was vom Happy Path abweicht (z. B. leeres Passwortfeld, Serverfehler), gehört zu den „unhappy paths“ oder „alternate flows“.
In der Softwareentwicklung bezeichnet ein Guard (auch Guard Clause oder Guard Statement) eine Art von Schutzmechanismus innerhalb einer Funktion oder Methode, der sicherstellt, dass bestimmte Bedingungen erfüllt sind, bevor der restliche Code ausgeführt wird.
Ein Guard ist wie ein Türsteher: Er lässt nur das durch, was erlaubt ist – und alles andere wird frühzeitig beendet.
def divide(a, b):
if b == 0:
return "Division durch null nicht erlaubt" # Guard Clause
return a / b
In diesem Beispiel schützt der Guard davor, dass eine Division durch null passiert.
Frühes Beenden bei ungültigen Zuständen
Verbesserte Lesbarkeit durch weniger verschachtelte if-else-Strukturen
Saubererer Codefluss, da der "Happy Path" (also der normale Ablauf) nicht durch viele Sonderfälle unterbrochen wird
function login(user) {
if (!user) return; // Guard
// Weiter mit Login-Logik
}
Swift (hat sogar ein eigenes Schlüsselwort guard
):
func greet(person: String?) {
guard let name = person else {
print("Kein Name übergeben")
return
}
print("Hallo, \(name)!")
}
SLD (Styled Layer Descriptor) ist ein XML-basiertes Standardformat, das von der Open Geospatial Consortium (OGC) entwickelt wurde. Es dient dazu, die Darstellung (also das Styling) von georäumlichen Daten in Web-Kartendiensten wie WMS (Web Map Service) zu beschreiben.
SLD beschreibt wie bestimmte Geodaten auf einer Karte visualisiert werden sollen – also Farben, Linien, Symbole, Beschriftungen usw. Du kannst damit zum Beispiel festlegen:
Straßen sollen rot dargestellt werden.
Gewässer in Blau, mit einer bestimmten Transparenz.
Punkte mit Symbolen anzeigen, die je nach Attributwert (z. B. Bevölkerung) unterschiedlich aussehen.
Texte (Labels) über Features schreiben.
SLD ist eine XML-Datei mit einer bestimmten Struktur.
Sie kann von WMS-Servern wie GeoServer oder MapServer gelesen werden.
Die Datei enthält Rules, Filters und Symbolizer, z. B. LineSymbolizer
, PolygonSymbolizer
oder TextSymbolizer
.
<Rule>
<Name>Wasserflächen</Name>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#0000FF</CssParameter>
</Fill>
</PolygonSymbolizer>
</Rule>
Um Karten individuell zu gestalten (z. B. thematische Karten).
Um Styling unabhängig vom Client zu definieren – der Server liefert die Karten gleich richtig gestylt.
Für interaktive Web-GIS-Anwendungen, die flexibel auf Attributwerte reagieren.
Wenn du mit Geodaten arbeitest – z. B. in QGIS oder GeoServer – wirst du früher oder später auf SLD stoßen, vor allem wenn du das Kartenbild präzise kontrollieren willst.
Die SLD (Second Level Domain) ist der Teil eines Domainnamens, der direkt links von der Top-Level-Domain (TLD) steht.
In der Domain
👉 example.com
.com
ist die TLD (Top-Level-Domain).
example
ist die SLD (Second-Level-Domain).
Ebene | Beispiel |
---|---|
Top-Level-Domain | .com |
Second-Level-Domain | example |
Subdomain (optional) | www. oder z. B. blog. |
Domain | SLD | TLD |
---|---|---|
google.de |
google |
.de |
wikipedia.org |
wikipedia |
.org |
meinshop.example.com |
example |
.com |
Die SLD ist meist der individuell gewählte Teil, z. B. der Name eines Unternehmens, einer Marke oder eines Projekts – also der wichtigste Teil für die Wiedererkennung.