Category: Coding & Scripting
This category contains all posts about coding and scripting. It combines topics like programming and scripting languages, best practices for coding styles and documentation, and others.
-
Visual Studio / C#: “Für die angegebene Kultur oder die neutrale Kultur konnten keine Ressourcen gefunden werden.”
Dieser Fehler tritt normalerweise auf, wenn versucht wird, auf Ressourcen zuzugreifen, die nicht gefunden werden können. Ressourcen können in C#-Anwendungen verwendet werden, um lokalisierte Texte, Bilder oder andere Dateien zu speichern, die in verschiedenen Sprachen oder Regionen angezeigt werden sollen. Um den Fehler “Für die angegebene Kultur oder die neutrale Kultur konnten keine Ressourcen gefunden…
-
BASH: Nach jedem xten Zeichen ein Zeichen in einen String einfügen
Mit sed “s/.\{x\}/& /g” kann man in eine Zeichenkette alle x Zeichen ein Leerzeichen automatisiert einfügen. Aber auch andere Zeichen sind möglich. So kann man bspw. alle zwei Zeichen einen Doppelpunkt in einen String einfügen: Sollte das letzte Zeichen stören, kann man dies wie folgt entfernen:
-
Could NOT find mhd (missing: MHD_INCLUDE_DIR MHD_LIBRARY) / MHD lib: MHD_LIBRARY-NOTFOUND
When cmake complains about a missing MHD library, install the microhttpd library development files. On RHEL/CentOS: Or download the up-to-date release from https://www.gnu.org/software/libmicrohttpd/ and compile and install it with:
-
Swift: Audioaufnahmen mit AVAudioRecorder
In Swift lassen sich Audioaufnahmen sehr komfortabel und einfach über die Klasse AVAudioRecorder realisieren. Beim Initialisieren der Klasse lassen sich bereits Codec, Samplerate, Anzahl der Kanäle und einige andere wichtige Einstellungen festlegen. Hier ein einfaches Code-Beispiel:
-
Less (CSS) unter macOS installieren
Der einfachste Weg Less auf einem Rechner bzw. Server zu installieren ist über npm (dem node.js Paketmanager) mit: Wenn nicht vorhanden: Command Line Tools für Xcode installieren Wenn nicht vorhanden: HomeBrew installieren Wenn nicht vorhanden: Node.js installieren LessCSS installieren Nun lassen sich die lessc Befehle ausführen.
-
OpenCV Python: eigene Haar Cascade erstellen
Um eine Haar Cascade zu erstellen werden “positive” und “negative” Bilder benötigt. “Positive” Bilder enthalten das Objekt welches gefunden werden soll. Das können entweder Bilder sein, welche ausschließlich das Objekt enthalten oder Bilder, welche (neben anderen Inhalten) das Objekt enthalten, wobei hier die ROI (region of interest) angegeben werden muss. Mit diesen positiven Bildern wird…
-
JavaScript: String in String suchen
Eine Zeichenkette (String) lässt sich in einem anderen String mit verschiedenen Methoden suchen. Hier ein paar Beispiele: …oder über den Tilde-Operator*: Diese beiden Varianten berücksichtigen jedoch keine Groß- und Kleinschreibung! Die Berücksichtigung von Groß- und Kleinschreibung kann man erreichen mit: …oder über reguläre Ausdrücke: * Was macht der Tilde-Operator? Der Tilde-Operator kehrt eine Bit-Folge um, also 1…
-
Übersetzungsdateien umwandeln
Xliff in Gettext (po) oder Gettext (po) in Xliff umwandeln? Unter localise.biz gibt es ein sehr umfangreiches Tool, welches bei der Umwandlung verschiedenster Übersetzungsdateien hilft: https://localise.biz/free/converter/po-to-xliff
-
PHP: Wie bekommt man Gettext zum Laufen?
GNU gettext ist eine GNU-Programmbibliothek zur Internationalisierung von Software. Normalerweise wird sie zur Entwicklung von mehrsprachigen Programmen genutzt. Um diese in PHP zu nutzen, sind einige Informationen über die zu verwendende Sprache und der Speicherort der Sprachpakete notwendig. Dieser Artikel gibt eine kurze Beschreibung, wie man diese einrichten kann. Zunächst erstellt man sich ein Verzeichnis, z.B. locales/, in dem die…
-
Shell: Ausgabe aller Zeilen einer Datei bis auf die ersten x
Wenn man alle Zeilen einer Datei bis auf die ersten x auf der Konsole ausgeben möchte, kann man tail nutzen. Normalerweise kann man damit die letzten 10 Zeilen tail namesliste.txt bzw. die letzten Y Zeilen mit tail -n Y namesliste.txt ausgeben. Wenn man jedoch alles bis auf die ersten x Zeilen einer Datei ausgeben möchte,…
-
MacPorts: mehrere PHP-Versionen gleichzeitig
MacPorts unterstützt jegliche PHP-Versionen. Diese können auch ohne Probleme gleichzeitig installiert werden. Die Pakete werden in MacPorts unter php56, php70, php71, … usw. gelistet. Die notwendigen Befehle, um eine einzelne Version zu installieren: MacPorts aktualisieren: PHP Version (beispielsweise PHP 7.0) und ggf. erforderliche Module installieren: Nun zum Aktivieren der gewünschten PHP-Version: hier muss beachtet werden,…
-
Git: Unterschied zwischen ‘git pull’ und ‘git fetch’
Git stellt verschiedene Befehle bereit, um die Daten eines Repositories mit dem lokalen Stand abzugleichen. Dazu gehören unter anderen git pull und git fetch. Beide Befehle holen Daten vom entfernten Repository, besitzen aber einen kleinen Unterschied. Kurz gesagt: git pull führt ein git fetch und anschließend ein git merge aus. Ein git fetch kann man zu jeder Zeit machen, um die…
-
Java: Zufallszahlen in einem bestimmten Bereich erstellen
Angenommen, man möchte mit Java eine Zufallszahl innerhalb eines bestimmten Zahlenbereiches definieren. In den folgenden Beispielen soll eine Zufallszahl zwischen 5 (inklusive) und 15 (inklusive) erstellt werden. Hierfür definiere ich zunächst zwei Variablen, die in den nachfolgenden Code-Zeilen die Grenzwerte für Maximum und Minimum beinhalten: Zufallszahl mit Math.random() Die Methode Math.random() bietet eine Möglichkeit, um…
-
Cryptography: RSA Schlüsselpaar mit OpenSSL erstellen
RSA Schlüsselpaar mit einem privaten 2048 bit Schlüssel erstellen openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048 Um diese Datei vor unerwünschten Zugriffen zu schützen, sollten die Schreibrechte angepasst werden: chmod go-r private_key.pem Den öffentlichen Schlüssel aus einem RSA Schlüsselpaar extrahieren openssl rsa -pubout -in private.pem -out public.pem Damit wird die Datei public.key mit dem…
-
Composer global verwenden
In der Dokumentation zu Composer wird erläutert, wie man global auf composer.phar zugreifen kann, ohne permanent php composer.phar ins Terminal eingeben zu müssen: […] You can place the Composer PHAR anywhere you wish. If you put it in a directory that is part of your PATH, you can access it globally. On unix systems you…
-
Imagick und “libgomp: Thread creation failed: Resource temporarily unavailable”
Bei der Bildbearbeitung mit Imagick (PHP) kann es mitunter zu einem Timeout bzw. Internal Server Error kommen und die Grafik wird nicht erstellt. In meinem Fall immer dann, wenn man versucht einen Text in der Grafik mittels Imagick::annotateImage() darzustellen. Schaut man sich die error.log des Webservers an, dann stolpert man über den Fehler “libgomp: Thread…
-
C#: Variable in einen Type umwandeln (casten), welcher in einer anderen Variablen gespeichert ist
Hierfür hilft Convert.ChangeType weiter: object foo = GetFoo(); Type t = typeof(double); double bar = Convert.ChangeType(foo, t);