Benny's Blog
Navigation: Home » Archives for Mai 2011
15. Mai 2011

Für das Debugging von Java-Applikationen wird während der Entwicklung oft Gebrauch von system.out.println() gemacht. Das ist eine schnelle Möglichkeit, um sich Werte des eigenen Programms ausgeben zu lassen. Für wirklich produktive Projekte sollte darauf aber verzichtet werden, da system.out.println() das Multithreading behindert.

Statt der Ausgabe auf der Kommandozeile, empfiehlt sich der Logger aus dem Package java.util.logging. Dieser ist außerdem konfigurierbar, leicht abschaltbar und bietet mehrere Logstufen.

…weiterlesen

12. Mai 2011

Beim Zugriff auf eine Datenbank sollte man mit PHP immer auf PDO (PHP Data Objects) zurückgreifen. Durch diese Abstraktionsstufe ist das Datenbank-System später einfacher austauschbar und Prepared Statements lassen sich auch ganz leicht realisieren. Hierzu ein exemplarischer Beispielcode.

…weiterlesen

12. Mai 2011

Der Avatar-Service von Gravatar ist sehr beliebt und mit PHP lässt sich ganz einfach ein Gravatar einer bestimmten Email-Adresse anzeigen:

1
2
3
4
5
6
7
8
9
10
function show_gravatar($email)
{
	$size = 40;
	$default = "http://localhost/image_not_found.png";	
	$gravatar = "http://www.gravatar.com/avatar/".md5(strtolower(trim($email)))."?d=".urlencode($default)."&s=".$size;	
	$image = '<img src="'.$gravatar.'" alt="Gravatar" width="'.$size.'" height="'.$size.'" />';
	return $image;
}	
 
echo show_gravatar('bn@bennyn.de');
12. Mai 2011

WordPress stellt zu jeder Kategorie einen RSS 2.0 Feed zur Verfügung. Man muss dazu nur die Permalink-URL gefolgt von einem /feed/ eingeben.

Beispiel: http://www.bennyn.de/downloads/
RSS-Feed: http://www.bennyn.de/downloads/feed/
Alternativ: http://www.bennyn.de/downloads/?feed=rss2

Das Datum des jeweiligen Feed-Eintrags wird nach RFC822 Spezifikation angegeben (Beispiel: Sun, 06 Sep 2009 16:10:34 +0000). In der Programmiersprache PHP habe ich eine Funktion geschrieben, die dieses Format in ein MySQL-kompatibles DATETIME umwandelt.

…weiterlesen

8. Mai 2011

Hier ein kleiner Beispielcode, welcher 4 Tabellen (bestellung, kunde, anschrift, stammkunde) einer MySQL-Datenbank über die Primärverschlüssel mit einem JOIN-Befehl verbindet:

1
2
3
4
5
6
7
8
9
10
11
12
SELECT 
  *
FROM 
  (bestellung b INNER JOIN kunde k ON b.kundennr = k.kundennr)
  INNER JOIN
    anschrift a ON a.anschriftid = k.rechnungsanschrift
    INNER JOIN
      stammkunde s ON k.KUNDENNR = s.KUNDENNR
WHERE
  s.rechnungsart = 'M'
    AND b.rechnungid IS NULL
    AND b.bestelldatum LIKE '2011-04-%'
6. Mai 2011

Konfigurationen für eine Anwendung sollte man nach Möglichkeit in einer externen Datei auslagern. Java unterstützt dieses Konzept durch sog. “Properties”, die in einer Datei gespeichert werden und nach dem Key/Value-Prinzip ausgelesen werden können. Eine einfache .properties-Datei könnte wie folgt aussehen:

connection.properties

1
2
3
4
5
user=root
password=my-secret-password
host=localhost
port=3306
database=my-database

Den Wert “root” des Schlüssels “user” kann man dann mit folgendem Code-Schnippsel auslesen:

1
2
3
4
5
6
7
8
9
10
File propertiesFile = new File("./src/resources/connection.properties");
Properties properties = new Properties();
 
if(propertiesFile.exists())
{
  BufferedInputStream bis = new BufferedInputStream(new FileInputStream(propertiesFile));
  properties.load(bis);
  bis.close();
  System.out.println(properties.getProperty("user"));
}