TDD mit Java
Auf developer.com habe ich diesen interessanten Artikel gefunden: A Test-Driven Development Stack for Java: Maven, Jetty, Mockito, and JAX-RS
WordPress nach Update kaputt
Nach einem WordPress-Update konnte ich mich nicht mehr in das Dashboard einloggen.
Lösung: Über den phpAdmin konnte ich mit dem folgendem SQL-Statement alle Plugins deaktivieren und somit auch das Plugin, welches zum Fehler führte.
UPDATE `wp_options` SET `option_value` = '' WHERE `option_id` =38 LIMIT 1 ;
Leider hat das sonst von mir sehr geschätze Chap Secure Login Plugin (1.5.3) das WordPress-Update von Version 3.0.4 auf 3.0.5 nicht überlebt.
Anzeige der Kalenderwoche in Outlook
Die Anzeige der Kalenderwoche muss in Outlook erst aktiviert werden, damit sie Sichtbar wird.
Folgendes ist zu tun:
- Im Menü “Extras” auf “Optionen“ klicken
- In der Lasche “Einstellungen” auf den Button “Kalenderoptionen” klicken
- Hacken bei “Wochennummern im Datumsnavigator anzeigen” setzen
Outlook’s Rechtschreibkorrektur
Ohne Worte….
Arrrrgh Outlook nervt!!
Jeder Hyperlink einer Email den ich in Outlook öffnen will, muss erst bestätigen. Eine Suchmaschinen Recherche lieferte folgende Lösung:
- Klicke im Menü Extras und wähle Optionen
- Klicke auf den Tab Einstellungen
- Klicke den Button Junk-E-Mail…
- Klicke auf den Tab Optionen
- Entferne den Haken im Kontrollkästchen: Aktivieren sie keine Links in Nachrichten, die auf unsichere oder nicht autorisierte Sites verweisen können. …
Quelle: http://www.docoutlook.de/
Beispiel Regular-Expression-Ersetzung mit Notepad++
Aus der folgenden Liste sollte ein XSD-Type erstellt werden:
- lebend
- lebend / kurzfristig / unterjährig
- ruhend / Anwartschaft
- storniert
- ruhend / Beitragsfrei
- beitragsfrei
- beitragsfrei durch Leistung
- Beitragsstundung
- Sonstiges
Der Inhalt der jeweiligen Zeile in den folgenden Text eingesetzt werden:
<enumeration value=”TEXT” />
Lösung:
Suche nach (.*), ersetzen durch <enumeration value=”\1″ />
Eine Datei in einem Jar ersetzen – Replace File in JAR Archive
Beim surfen bin ich auf ein praktisches ‘snippet’ von DZONE gestossen, mit dessen Hilfe eine einzelne Datei in einem Jar ersetzt werden kann.
… It replaces a file (in this case the content.xml) with a newer version of this file. To do this a new JAR archive is generated, all content (except the file which has to be replaced) of the old file is copied to the new archive, the newer version of the file is added to the archive, the old archive is deleted and the new archive gets the name of the old one.
Hier geht es zum ‘snippet‘.
Regular Expression um ein HTML-Object-Tag zu ‘matchen’
Als Vorbereitung für ein neues Bookmarklet habe ich den regulären Ausdruck für das ‘Matchen’ von Flash-Elementen innerhalb eines HTML-Dokumentes erarbeitet.
Eine hilfreiche Seite zur Evaluierung von regulären Ausdrücken ist http://regexpal.com/.
Mein erarbeiteter Ausduck:
<object\b[^>]*>(?:[\S\s](?!<object\b[^>]*>))*?</object>
Javascript dynamisch nachladen
Mit der folgenden JS-Methode lässt sich dynamisch ein Javascript von einer beliebigen Quelle laden beziehungsweise nachladen.
<script type="text/javascript"> function loadScript(scriptname) { var s = document.createElement('script'); s.setAttribute('type','text/javascript'); s.setAttribute('src',scriptname); document.getElementsByTagName('head')[0].appendChild(s); } loadScript('http://www.analysisfreaks.de/nachladeSkript.js'); </script>
Quelle: http://www.cmsr.sruttloff.de/home/tipps-und-tricks/js-und-css-dynamisch-nachladen.htm
Das oben beschriebene Script ist jedoch relativ ‘dumm’, da es nicht erkennt ob ein Skript eventuell schon geladen wurde. Dieses Manko läßt sich einfach abstellen, indem es vorher prüft, welche Skripte bereits geladen wurden. Das folgende JS-Snippet liest die Src-Attribute aller Script-Elemente und gibt diese aus.
var a=""; var b=document.getElementsByTagName("script"); for(i=0;i<b.length;i++){ a+=b[i].src+"\n" }; alert(a);
Beides zusammengeworfen und um das Nachladen von Css-Stylesheets erweitert, ergibt das folgende Skript:
function loadScript(scriptname) { if(checkAlreadyLoaded('script','src',scriptname)) return; var s = document.createElement('script'); s.setAttribute('type','text/javascript'); s.setAttribute('src',scriptname); document.getElementsByTagName('head')[0].appendChild(s); } function loadCss(stylename) { if(checkAlreadyLoaded('link','href',stylename)) return; var s = document.createElement('link'); s.setAttribute('type','text/css'); s.setAttribute('rel','stylesheet'); s.setAttribute('href',stylename); document.getElementsByTagName('head')[0].appendChild(s); } function checkAlreadyLoaded(name,att,val){ var b=document.getElementsByTagName(name); for(i=0;i<b.length;i++){ var attVal = b[i].getAttribute(att); if(attVal==val) return true; }; return false; }
Ein klick auf das "Try it" oben zeigt wie das nachgeladene Skript (delayedCssLoad.js) hinzugekommen ist.
Blogeintrag zu Thema WordPress Security Plugins
Den interessanten Artikel zum Thema WordPress-Sicherheit fand ich im Design Magazin Speckyboy.
20+ Powerful WordPress Security Plugins and Some Tips and Tricks