Linux: Vorhandenes Skript bei der Ausführung nicht gefunden


Es kann vorkommen dass ein auf einem Windows-Rechner erstelltes und auf Linux übertragenes Skript nicht ausführbar ist, weil die Datei angeblich nicht gefunden werden kann. Bei der Ausführung mit

$ sudo ./myScript.bash

erscheint die Fehlermeldung

sudo: unable to execute ./myScript.bash: No such file or directory

Der Grund ist das falsche Zeilenendeformat (Dos\Windows). In den meisten Quellcode-Editoren wie Notepad++ oder Aptana Studio 3 kann die Zeilenendung für neue Dateien voreingestellt und bei vorhandenen Dateien konvertiert werden.

WLAN-Sicherheit erhöhen


wlan-denied_368x258
Durch die steigende Anzahl der Heimnetzwerkgeräte wie NAS-Server, Media-Server, Smartphones, Tablets etc. wächst auch die Notwendigkeit das eigene Heimnetzwerk besser zu schützen. Denn wird die WLAN-Verbindung gehackt, kann der Übeltäter nicht nur den Internetzugang missbrauchen, Schad- und Spionagesoftware installieren, sondern hat auch den Zugriff auf das lokale Heimnetzwerk und die persönlichen und privaten Daten.

Die regelmäßige Passwortänderung mit komplexen Passwörtern (Buchstaben, Zahlen und Sonderzeichen) erhöht die WLAN-Sicherheit enorm aber nicht 100-prozentig. Es gibt deswegen eine zusätzliche Möglichkeit die WLAN-Verbindung weitaus sicherer zu machen.

Aptana Studio 3 – Lokales Projekt mit dem Webserver synchronisieren


Aptana Studio 3 Logo

Bei der Webentwicklung mit Aptana Studio 3 ist es sinnvoll die erstellten Seiten und Anwendungen zu testen, bevor sie auf den Webserver hochgeladen werden. Ein beliebtes Werkzeug dafür ist der lokale Server XAMPP. Mit Apache, MySQL (MariaDB), FileZilla, Mercury und Tomcat liefert das Programmpaket die geeignete Testumgebung. Was aber lokal auf dem Entwicklungsrechner getestet wird, muss nicht unbedingt auf dem externen Webserver funktionieren. Da spielen die Server-Konfiguration oder die Zugriffsberechtigungen eine große Rolle. Aus diesen Gründen ist es vorteilhaft die Entwicklung in drei Schritte zu unterteilen:

  1. Ein Projekt lokal erstellen und in der XAMPP-Umgebung testen.
  2. Das Projekt auf den Entwicklungsserver übertragen und validieren.
  3. Das Projekt auf den Produktionsserver hochladen.

EPSON Scan Einstellungsnamen ändern


Epson Scan Setting Name

Die benutzerdefinierten Einstellungen in dem professionellen Modus des EPSON Scan Programms werden standardmäßig als durchnummerierte „Einstellung“ Einträge gespeichert. Es gibt keine Möglichkeit sie über die Benutzeroberfläche umzubenennen. Dafür muss man in die Windows-Registry eingreifen und den Namen manuell ändern.

WordPress: Hook Infos auslesen


Bei der Entwicklung eigener Themen oder Plugins mit WordPress ist es nützlich zu wissen, welche Callback-Funktionen an welchen Hooks hinzugefügt wurden. Viel wichtiger ist aber deren Priorität und der Typ, Action oder Filter. Denn mit add_action() und add_filter() sind sie als solche noch gar nicht endgültig definiert wie man weiter untern sehen wird. Diese Funktionen sind sogar vertauschbar, ohne einen Fehler zu generieren. So kann schnell eine Verwirrung entstehen, wenn der Programmierer die falsche Funktion benutzt. Man würde zum Beispiel anhand des Aufrufs einen Filter erwarten, der keiner ist.

In WordPress 4.7.0 wurde für die Verwaltung der Action- und Filter-Callbacks die neue WP_Hook-Klasse eingeführt. Die globale Variable $wp_filter ist seit dem ein eindimensionaler Array der WP_Hook-Klassenobjekte. Sowohl die Action- als auch Filter-Callbacks werden in diesen Objekten gespeichert. Vor der WordPress Version 4.7.0 war $wp_filter ein mehrdimensionaler Array der die Performance ziemlich belastet hat.

Was aber wenn man herausfinden möchte ob ein Hook-Callback ein Filter oder eine Aktion ist? Oder mit welcher Priorität sie ausgeführt werden? Aktionen werden beim Hinzufügen genauso behandelt wie die Filter. Man könnte einen Filter mit add_action() hinzufügen wie auch umgekehrt eine Aktion mit add_filter() und es würde keine Rolle spielen. Sie landen alle gleicherweise in dem $wp_filter-Array. Ohne Rücksicht auf den Typ. Die add_action()-Funktion ist nur ein Alias für add_filter().