Schlüssel eines Objektes als feste Typen

Hier am Beispiel einer Localization-Klasse

TypeScript

/**
 * Localization class to manage translations and language settings.
 */


export default class Localization {
    private static translations = {
        en: {
            right: "That's correct.",
            wrong: "Unfortunately, this is wrong.",
            next: "Next Step",
            step: "Step"
        },
        de: {
            right: "Das stimmt.",
            wrong: "Das ist leider falsch.",
            next: "Nächster Schritt",
            step: "Schritt"
        }
    } as const;

    private static currentLang: keyof typeof Localization.translations = 'de';

    public static translate(key: keyof typeof Localization.translations['de']): string {
        return Localization.translations[Localization.currentLang][key];
    }

    public static setLanguage(lang: keyof typeof Localization.translations) {
        Localization.currentLang = lang;
    }

    public static getLanguage(): string {
        return Localization.currentLang;
    }
}
TypeScript

PHP deutsche Zeitangaben

Um die Ausgabe der Zeit, bspw. der deutschen Monate zu erhalten folgendes in PHP:

PHP
setlocale(LC_TIME, 'de_DE.UTF-8');
$formatter = new IntlDateFormatter(
        'de_DE', 
        IntlDateFormatter::LONG, 
        IntlDateFormatter::NONE
        );
$date = (new DateTime(VAR_CONTAINING_THE_DATE))->format('d. F Y');
$date = $formatter->format(new DateTime($date));
PHP

Python – Virtuelle Umgebung

Ähnlich wie mit Dockerumgebungen, kann man in Python Entwicklungsumgebungen kapseln bzw. isolieren. Damit hat man alle Abhängigkeiten innerhalb der Umgebung und kann flexibel zu globalen Pythoninstallation auch andere Paketversionen verwenden.

Außerdem lassen sich auf diese Weise eventuelle Versionskonflikte vermeiden und kann seine Systemumgebung schützen, weil diese unberührt bleibt.

Um eine solche Umgebung zu initialisieren folgendes:

Bash
python3 -m venv face_scrapper
Bash

Im Anschluss aktiviert man diese Umgebung und signalisiert damit, dass alle Aktionen wie Installationen von Abhängigkeiten etc. innerhalb der Umgebung passieren sollen.

Bash
source face_scrapper/bin/activate
Bash

Wichtig: Wenn die Umgebung aktiviert ist, sollte man auch eine Veränderung der Prompt im Bash sehen!
Bsp.: zsh:

Um sich aus der Umgebung auszuloggen folgt einfach ein

Bash
deactivate
Bash

lsd – LaunchService Deamon mit hoher CPU-Last

Ab und zu tritt auf dem Mac eine sehr hohe CPU-Last durch den LaunchService Deamon (lsd) auf. Das äußert sich durch permanente Lüfteraktivität.

Mit folgendem Befehl kann die LaunchService Datenbank neu aufgebaut werden, falls ein defekt vorliegt, was in den meisten Fällen Abhilfe schafft.

Bash
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
Bash