MS SQL-Server: einfache Hochkammata escapen in SQL-Statement

nur am Rande: falls mal jemand ein Update-Statement auf einen char- oder text-Feld machen muss, dann ist es hilfreich zu wissen, dass eventuell vorkommende einfache Anführungszeichen nicht, wie man natürlich intuitiv vermuten würde, mit Backshlash maskiert werden,  sondern im Statement gedoppelt werden müssen. Der String für die Update-Anwesung muss ja ebenfalls in einzelne Anführungszeichen gesteckt werden, das verursacht das Problem. Hier ein Beispiel:

UPDATE TABLE SET MYTEXTFIELD = '<sometag someattribute=''something''></sometag><anothertag anotherattribute=''something''></anothertag>' WHERE PKID = 123

Beim Beispiel ist nur darauf zu achten, dass es sich hier um einfache Anführungszeichen handelt, nicht um die im Deutschen gebräuchlichen doppelten Anführungszeichen.

Javascript debuggen mit console.log und Firebug

Firebug ist ja bekannterweise eine äußerst hilfreiche Extension für den beliebten Browser Mozilla Firefox.
Wenn in Javascript-Werte zu debuggen sind, dann ist die Konsolen-Ansicht in Firebug sehr hilfreich, wie ich festgestellt habe. Anstelle des oft verwendeten Vorgehens, einen alert() einzubauen, kann man hier viel schöner mit console.log arbeiten.

Hier eine kurze Demo anhand des nachstehenden HTML-Codes:

<html>
<head>
<title>testpage</title>
</head>
<body>
<p>dies ist die Testseite</p>
<script language="javascript" type="text/javascript">
var i = 'ich bin der zu debuggende String';
console.log('i value is %d', i);
</script>
</body>
</html>

Mittels dieser Technik kann man gut Variablen-Werte unter Live-Bedingungen debuggen, ohne störende Alert-Fenster einzublenden. Im Firebug ist der jeweilige Wert dann direkt zu sehen:

console.log in Firebug

console.log in Firebug

Links:
Mozilla Firefox
Firebug Extension

Icons im Web ohne Grafiken mittels @font-face

Mit CSS3 ergeben sich viele neue Möglichkeiten: wie wäre es zum Beispiel, anstatt Grafiken auf einer Website nur noch Schrift zu verwenden? Ich finde die Idee cool. Und prinzipiell geht das so: zuerst wird @font-face im CSS verwendet, mit der nachfolgenden Deklaration werden alle Browser bedient, die Schriftart muss in mehreren Formaten vorliegen:

@font-face {
font-family: 'IconFont';
src: url('iconfont.eot');
src: local('IconFont'),
url('iconfont.woff') format('woff'),
url('iconfont.otf') format('opentype'),
url('iconfont.svg#IconFont') format('svg'); }

Nun wird wir die festgelegte Schriftart für eine Klasse definiert:

<style type="text/css">
.staricon { font-family: 'IconPack'; }
</style>

Um nun ein bestimmtes Icon aus dem Schriftsatz zu referenzieren,  wird die grade definierte Klasse normal auf ein Element angewendet:

<div class="staricon">a</div>

Einsatz von case when then in SQL (MS SQL Server)

Manchmal ist es notwendig, auch in einem SQL-Statement eine Fallunterscheidung durchzuführen.
Die generelle Syntax dafür sieht folgendermaßen aus:

SELECT ProductId,
ProductCat =
CASE ProductBehavorial
WHEN 'R' THEN 'Road'
WHEN 'M' THEN 'Mountain'
WHEN 'T' THEN 'Touring'
ELSE 'Not for sale'
END,
ProductName
FROM ProductItems
ORDER BY ProductId

Das kann auch schnell etwas verschachtelter aussehen, wenn Subselects und weitere Funktionen wie isNull() mit in das Statement kommen, hier noch ein weiteres Beispiel dazu mit Verwendung von Untescheidungen anhand von integer-Werten:

SELECT col1,col2,col3,
CASE
WHEN isnull((select value1 from table2 prti where col1 = value1),0) > 90 THEN 'sehr gut'
WHEN isnull((select value1 from table2 prti where col1 = value1),0) > 79 THEN 'gut'
WHEN isnull((select value1 from table2 prti where col1 = value1),0) > 69 THEN 'befriedigend'
WHEN isnull((select value1 from table2 prti where col1 = value1),0) > 59 THEN 'ausreichend'
WHEN isnull((select value1 from table2 prti where col1 = value1),0) > 49 THEN 'mangelhaft'
WHEN isnull((select value1 from table2 prti where col1 = value1),0) > 10 THEN 'ungenügend'
ELSE 'katastrophal'
END as myrating

Die CASE/WHEN Kombination kann auch in der ORDER BY-Klausel verwendet werden, das sieht dann so aus:

SELECT col1, col2
FROM HumanResources.Employee
ORDER BY
CASE col2 WHEN 1 THEN col1 END DESC,
CASE WHEN col2 = 0 THEN col1 END;

In einem UPDATE-Statement sieht die Verwendung so aus:

UPDATE table1
SET column1 =
( CASE
WHEN ((column1 - 10.00) < 0) THEN column1 + 15
ELSE (column1 + 20.00)
END
)
WHERE column2 = 0;

tolle Icons für alle Einsatz-Zwecke

Icons braucht man immer, deswegen kann man nie genug gute Bookmarks haben: unter der Adresse http://findicons.com/ findet sich eine Icon-Sammlung, die es in sich hat. Egal ob ganze Icon-Packs oder einzelne Symbole, hier seid Ihr echt gut bedient.

Die Suchemaske mit Suggest-Funktione ist schnell und funktioniert präzise – das Suchergebnis kann auch nochmals nach Keywords eingegrenzt werden, außerdem kann man Farbfilter verwenden oder die gewünschte Lizenz-Art auswählen.

Icons auf www.findicons.com

Darüberhinaus stehen weitere Filter wie Icons-Größe etc. zur Verfügung.

http://findicons.com/

Coldfusion: Dubletten in einer Liste entfernen (CFML)

Aus aktuellem Anlass, weil ich’s grad mal wieder benötigt habe: ein kleines Code-Snippet zum Eliminieren von Dubletten in Listen. Es kommt ja immer wieder vor, dass man eine Liste hat, die doppelte Werte enthält. Manchmal benötigt man aber zum Weiterverarbeiten eine Liste, in der keine doppelten Einträge mehr vorhanden sind.
Das geht einfach und fix mit einem Loop über ein Struct:

<cfset myListWithDoubles = "1,1,5,4,6,1,4,6,12,4,5" />
<!--- elimate double values via struct --->
<cfset myStruct = StructNew()>
<cfloop index="idx" list="#myListWithDoubles#">
<cfset myStruct[idx] = "">
</cfloop>
<!--- convert back to a list --->
<cfset myListWithoutDoubles = StructKeyList(myStruct)>

Dragoman: richtig cool Dateien konvertieren

Dragoman: Programm für Datei-Konvertierung

Dragoman: Programm für Datei-Konvertierung

Heute mal wieder ein Tipp aus der Abteilung praktische Tools: „Dragoman“ ist ein kleines und kostenloses Programm zum Konvertieren von Dateien. Dies passiert, wie es sich unter OS X gehört, bequem mittels Drag&Drop. Ihr zieht einfach die Datei, die Ihr umwandeln möchtet, aus dem Finder in das Dragoman-Fenster, dann bekommt Ihr sofort angezeigt, in welche Dateiformate umgewandelt werden kann.

Begeistert hat mich neben der intuitiven Bedienung auch die Vielzahl der unterstützen Dateiformate. Ob ZIP-Archiv in tar.gz oder PDG in PSD oder PNG, alles kein Problem für Dragoman. Egal, ob Ihr Bilder, Texte oder Musik in jeweils andere Dateiformate umwandeln möchtet, Dragoman ist sehr wahrscheinlich das Tool Eurer Wahl – hier könnt Ihr schonmal einen Blick auf die unterstützten Dateiformate werfen und hier gibt es das Programm zum Download.

Lauffähig ist Dragoman ab OS X 10.4 (Tiger), Snow Leopard wird voll unterstützt.
Viel Spaß beim fröhlichen Konvertieren.

Bildschirm sperren unter OS X (und aktive Ecke einrichten)

Windows-Benutzer sind das Bildschirm-Sperren mit der Tastenkombination „Windows + L“ oder alternativ mit „Strg+Alt+Entf und Enter“ gewohnt. Auf dem Mac gibt es diese Funktionalität zwar auch, man muss sich allerdings etwas umgewöhnen. Hierzu wird einfach der Bilschirmschoner in den Systemeinstellungen aktiviert und so eingestellt, dass beim Beenden des Bildschirmschoners ein Passwort verlangt wird. Hier kann man auch ein Zeitintervall einstellen, ab wann der Kennwortschutz greifen soll.

Bildschirmschoner mit Kennwortschutz aktivieren

Bildschirmschoner mit Kennwortschutz aktivieren

Dazu ruft man die Systemeinstellungen auf und wählt den Punkt „Sicherheit“ aus. Hier wird die Option “Kennwort erforderlich xxx Minuten nach Beginn des Ruhezustands oder Bildschirmschoners” aktiviert. Wenn man nun den Bildschirmschoner auch direkt aufrufen möchte, um die Sperrung zu aktivieren, richtet man sich am besten eine aktive Ecke ein. Dazu in den Systemeinstellungen den Punkt „Schreibtisch und Bildschirmschoner“ auswählen und da auf den Dialog „Aktive Ecken…“ klicken. Hier wird auf die gewünschte Ecke die passende Aktion „Ruhezustand für Monitor“ gelegt, fertig.

Exposé oder Dashboard unter OS X mit Slow-Effekt

Aus der Abteilung kleine Spielereien: dieses „Feature“ habe ich grade gestern zufällig durch das „Fat-Finger-Syndrome“ entdeckt: wenn man die Hochstell-Taste (Shift) drückt, während man mit F3 Exposé oder mit F4 das Dashboard aufruft, dann wird der Effekt, mit dem die Funktionen eingeblendet werden, extrem verlangsamt.

Dashboard-Screen

Dashboard-Screen

Lustige Sache, ziemlich lustig, zugegebenermaßen auch ziemlich sinnlos, aber wenigstens durchaus manchmal als Show-Effekt zu gebrauchen.

Duplikate und exakte Duplikate in iTunes anzeigen

Unerlässlich und praktisch für die große Musiksammlung ist das sehr nützliche „Duplikate anzeigen“ Feature von iTunes. Unter dem Menüpunkt „Ablage“ gibt es den Eintrag „Duplikate anzeigen“. Nach der Auswahl werden wie erwartet alle Duplikate in der Library angezeigt. Natürlich hat aber jeder Musikfan auch verschiedene Versionen seiner Lieblings-Songs im Repertoire (Live, Unplugged,Remix…), diese Titel werden unter dem Menüpunkt dann aber ebenfalls als Duplikate angezeigt.

exakte Duplikate in iTunes anzeigen

exakte Duplikate in iTunes anzeigen

Lösung des Problems: haltet einfach die Wahl-Taste (alt-Taste, die mit der Weiche) gedrückt, während Ihr den Menüpunkt auswählt, dann ändert sich der Menüpunkt zu „Exakte Duplikate anzeigen“und Ihr findet nur wirkliche Duplikate.