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.
-
Konsole: prüfen ob ein Port geöffnet ist
Mit folgendem Befehl kann man aus der Konsole heraus schnell prüfen, ob ein Port zu einem Server geöffnet ist: nc -z <host> <port>; echo $? Der Rückgabewert 0 heißt der Port ist offen. 1 wird bei geschlossenem Port zurückgegeben.
-
MySQL: Tabellen in andere Datenbank kopieren
Mit nachstehenden MySQL-Befehlen lässt sich eine Tabelle recht einfach in eine andere Datenbank kopieren. In diesem Beispiel werden die Daten von db1 in db2 kopiert. Zunächst muss die neue Tabelle (mit gleicher Struktur) erstellt werden: Danach können die Daten in die neue Tabelle kopiert werden:
-
Objective C: selector in NSDictionary speichern und wieder auslesen
SEL ist einfach ein Pointer, der sich als NSValue speichern lässt: NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys: [NSValue valueWithPointer:@selector(foo)], @"foo", nil]; Zum Auslesen des Selectors hilft folgender Code: SEL aSel = [[dict objectForKey:@"foo"] pointerValue];
-
Anzahl der Codezeilen eines Projektes bestimmen (Lines of Code)
Zum Abschätzen der Komplexität eines Software-Projektes ist es von Vorteil, die Anzahl der Code-Zeilen (Lines of Code) zu bestimmen. Dazu gibt es verschiedene Möglichkeiten: wc Eine sehr einfache Variante ist der Konsolenbefehl wc (word count). Um diesen auf alle Dateien eines Verzeichnisses anzuwenden, kann folgende Befehlszeile verwendet werden: Dieser durchsucht *.c, *.h, *.php und *.pl…
-
Speicherbedarf von PHP Skripten mit xdebug analysieren
Nutzt man xdebug bereits für das Debugging von PHP Skripten, dann lässt sich mit weiteren Tools auch der Speicherbedarf von PHP Skripten ermitteln. Wichtig ist zunächst, dass xdebug bereits installiert und mit PHP zusammenarbeitet (siehe auch xdebug Installation unter Mac OS X). Zudem sollte man prüfen, ob in der verwendeten php.ini die folgenden Zeilen zu…
-
xdebug unter Mac OS X mit MacPorts installieren
xdebug ist ein großartiges Tool zum Debuggen von PHP. Um xdebug unter Mac OS X verwenden zu können, muss es zunächst installiert werden. Verwendet man bereits eine PHP-Version, welche über MacPorts installiert wurde, dann lässt sich xdebug sehr einfach hinzufügen und aktivieren. So geht’s xdebug mit MacPorts installieren: Das Aktivieren von xdebug geschieht anschließend über…
-
HTML5 Boilerplate – das Grundgerüst für HTML5
HTML5 Boilerplate bietet ein kompaktes Grundgerüst zum Gestalten von Webseiten oder wie auch ich es nicht besser ausdrücken kann: HTML5 Boilerplate ist ein professionelles HTML/CSS/JS-Template als Basis für eine schnelle, robuste und zukunftssichere Website.Nach mehr als zwei Jahren Entwicklung, bekommt ihr das beste der besten Techniken zusammengefasst: Cross-Browser-Normalisierung, Performance-Optimierungen und sogar optionale Features wie Cross-Domain…
-
CSS: vertikales und horizontales Zentrieren von Inhalten
In alten HTML-Zeiten hat man Inhalte noch über Frames oder auch Tabellen auf einer Webseite, sowohl horizontal, als auch vertikal zentriert. Da die Gestaltung und Anordnung von Webseiten nun vorwiegend mit CSS realisiert wird, braucht man manchmal ein paar besondere Kniffe, um bspw. Elemente/Inhalte auf einer Webseite zu zentrieren. Vertikales Zentrieren Die auf blog.themeforest.net beschriebenen…
-
MySQL-Variablen für Spaltennamen (und andere Identifier) verwenden
Variablen lassen sich in MySQL hervorragend für Strings, Zahlenwerte oder auch binäre Daten verwenden. Möchte man diese Variablen jedoch zum Adressieren von Spalten, Tabellen oder Datenbanken verwenden, dann erfordert dies ein etwas anderes Vorgehen. Dieser Artikel gibt eine kurze Zusammenfassung, wie man MySQL-Variablen in Abfragen einsetzt. Variablen für Daten (Grundsyntax) Zunächst einmal die allgemeine VerwendungFolgendes…
-
Nicht mehr unterstütze bzw. veraltete Tags in HTML5
Im folgenden sind HTML-Tags aufgelistet, welche laut thtml in HTML5 nicht mehr unterstützt werden. Dazu gehören auch Tags wie beispielsweise <font> oder <center>. Wer allerdings schon ausgiebig mit CSS arbeitet, der sollte diese Tags sowieso bereits nicht mehr verwendet haben. Es gibt aber auch andere Tags, welche unter umständen noch verwendet wurden. Aber keine Angst,…
-
HTML-Sonderzeichen in CSS content
CSS ‘content’ akzeptiert keine benannten oder numerischen HTML Sonderzeichen wie © oder ©, diese können wirklich nur in HTML-Quelltext verwendet werden. Um Sonderzeichen in CSS verwenden zu können, muss man auf die Text-Darstellung in ASCII oder Unicode zurückgreifen. In CSS sieht das Ganze dann wie folgt aus: Eine Tabelle mit allen möglichen Unicode-Zeichen (sortiert nach…
-
NSString to NSData / NSData to NSString
Helpful snippets to convert NSString to NSData and NSData to NSString: NSString to NSData NSData to NSString
-
Rekursive Deinstallation (uninstall) eines ports (Macports)
Um einen port (portname) und dessen abhängige ports zu deinstallieren ist folgende Zeile im Terminal notwendig. sudo port uninstall –follow-dependents portname
-
CSS: Blockelement in HTML5 zentrieren
Zum Zentrieren eines Blockelementes (<div>) konnte man in HTML4 noch das Attribut align verwenden: <div align=”center”> <div> … Damit wird der zweite div-Block bei Angabe einer festen Breite innerhalb des ersten Blocks zentriert. Mit HTML5 ist allerdings das align-Attribut für div-Elemente nicht mehr zulässig, d.h. das Zentrieren muss in HTML5 über CSS realisiert werden.
-
CSS: Problem beim Rendern von Schriftgrößen in Safari (iPhone)
Safari, welches in iOS (iPhone/iPodTouch/iPad) verwendet wird, “ignoriert” teilweise beim Render von Webseiten die mit font-size definierten Schriftgrößen bzw. passt diese automatisch an, um die Lesbarkeit zu verbessern. An bestimmten Stellen ist dies nicht schlecht, allerdings kann das auch zu unschönen Veränderungen am Design führen. Diese automatische Anpassung kann jedoch durch folgende CSS-Zeilen verhindert werden:…
-
jQuery: prüfen, ob ein Elemtent sichtbar (visible) ist
Verwendet man JQuery’s Effekte, wie beispielsweise JQuery.slideToggle(element), dann kann man die CSS-Eigenschaft visibility hier nicht nutzen, um zu ermitteln, ob das Element “ein- oder ausgeklappt” ist. Das Element ist dann möglicherweise ausgeblendet (minimiert), aber die Eigenschaft auf visibility:visible gesetzt.Wie lässt sich nun ermitteln, ob das Element ausgeblendet wurde? Folgender Code hilft weiter: oder
-
MySQL: INSERT … ON DUPLICATE KEY UPDATE …
MySQL bietet die Möglichkeit, beim Ausführen eines INSERT INTO ein UPDATE auszuführen, falls es beim Einfügen des Datensatzes zu einem dublicate key kommt. Dies lässt sich mit folgender Eingabe erzielen: INSERT INTO <table> (<field1>, <field2>) VALUES (<value1>, <value2>) ON DUPLICATE KEY UPDATE <field2> = <field2> + 1; Sollte es bei der Ausführung der INSERT-Anweisung zu…
-
Apache und “/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument”
Beim Versuch, den Apache-Server unter Mac OS X mittels sudo apache2ctl restart neu zu starten, trat folgender Fehler auf: Dies wurde durch ein Update des apachectl Scripts unter OS X 10.6.5 hervorgerufen. Um diesen Fehler zu beheben, reicht es, die Datei /usr/sbin/apachectl mit folgenden kleinen Änderungen zu versehen (in meinem Fall war dies Zeile 64):…
-
CSS: Abschneiden zu langer Texte
Des öfteren kommt es vor, dass man Text-Ausgaben (beispielsweise für Tabellen) nur gekürzt darstellen möchte. Dies würde sich zwar schon beim Zusammenstellen des HTML-Codes serverseitig realisieren lassen, allerdings führt ein einfaches Abschneiden des Textes nach n Zeichen (besonders bei Nicht-Monospace-Schriftarten) nicht zu einer einheitlichen “Textlänge”. Eine Möglichkeit bietet hierbei die CSS-Eigenschaft text-overflow. Dabei kann der…