Code in LUA schnell testen

Möchte man mal schnell ein LUA Statement testen bzw. ein kleines Programm ausprobieren so kann man natürlich eine LUA IDE benutzen. Die meisten dieser IDE’s arbeiteten dann aber nicht so wie ich es wollte und es fiel immer eine Installation an. Ziemlich viel Aufwand für einen kleinen Test. Unter http://www.lua.org/cgi-bin/demo kann man das ganze unkompliziert und ohne Stress testen. Sehr schön wenn man nur mal etwas probieren möchte.

SQLite unter Visual Studio 2008 kompilieren

Möchte man SQLite unter Visual Studio kompilieren, ist das nicht so einfach wenn man die falsche Version wählt :) Unter http://www.sqlite.org/download.html sollte man sich die sqlite-amalgamation-*_*_*.zip herunterladen.

In dieser Datei befindet sich der Sourcecode von SQLite. Im Gegensatz zum normalen Sourcecode ist die Amalgamation bereits preprozessiert. Wenn man die Datei entpackt findet man folgende Dateien vor:

– sqlite3.c
– sqlite3.h
– sqlite3ext.h

Möchte man SQLite mit einer Shell kompilieren so benötigt man die shell.c welcche unter http://www.sqlite.org/cvstrac/rlog?f=sqlite/src/shell.c zu finden ist. Danach hat man alle Dateien beisammen.

Nun legt man im Visual Studio ein neues Projekt an. Man wählt die Win32 Console Application und bestätigt das ganze. Anschließend öffnet sich ein Assistent. Dort wählen wir Console Application und Empty Project aus.

Nun müssen wie die Dateien zum Projekt hinzufügen. Dazu gehen wir im Projekt auf den Ordner Source Files und fügen die sqlite3.c sowie die shell.c hinzu. Das gleiche muss dann mit den Headedateien gemacht werden. Dazu gehen wir auf den Ordner Header Files und fügen die Dateien sqlite3.h und sqlite3ext.h hinzu.

Nun muss das ganze noch kompiliert werden und fertig ist die SQLite Bibliothek.

Weitere Informationen gibt es unter:
http://www.sqlite.org/
http://de.wikipedia.org/wiki/SQLite

Land einer IP Adresse in PHP ermitteln

Um die IP Adresse des aufrufenden Hosts in PHP zu ermitteln reicht folgendes Skript:

$ip=getenv("REMOTE_ADDR");
echo "Ihre IP ist: " . $ip;

Möchte man nun auch das Land ermitteln wird die ganze Sache schwieriger. Die IP Adresse an sich sagt nämlich nichts über den Standort aus. Also brauchen wir Informationen welche die IP Adresse mit Standortinformationen verknüpft. Eine solche Tabelle können wir unter http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip .

Nachdem wir diese Datei heruntergeladen haben müssen wir sie in eine Datenbank importieren. Dazu müssen wir in der Datenbank erst eine neue Tabelle erstellen. Dies geschieht in phpMyAdmin mittels folgender SQL Anweisung:

CREATE TABLE `IPtoCountry` (
`IP_FROM` DOUBLE NOT NULL ,
`IP_TO` DOUBLE NOT NULL ,
`ISO3166-2` CHAR( 2 ) NOT NULL ,
`ISO3166-1` CHAR( 3 ) NOT NULL ,
`Name` VARCHAR( 255) NOT NULL
)

Danach kann die CSV Datei auch mittels phpMyAdmin in die Tabelle importiert werden. Dabei sollte darauf geachtet werden das das , (Komma) als Trenner eingestellt wird. Um das ganze dann zu nutzen benötigen wir noch eine Funktion welche die Datenbank abfragt und das ganze zurück gibt. Am Ende könnte das so aussehen:

 function IPtoCountry($IP)
{
$db_host="seeseekey.net";
$db_username="geheim";
$db_password="geheim";
$db_name="IpSelectDb";

$IP = sprintf("%u", ip2long($IP));

mysql_connect($db_host, $db_username, $db_password);
mysql_select_db($db_name);

$sql = "SELECT * FROM IPtoCountry WHERE IP_FROM <= $IP AND IP_TO >= $IP LIMIT 1";
$result = mysql_query($sql);

if (mysql_num_rows($result) == 0)
{
return "nicht bekannt";
}
else
{
$row = mysql_fetch_array($result);
return $row['Name'];
}
}

$ip = getenv("REMOTE_ADDR");
echo "Ihre IP ist: " . $ip . "
";
echo "Ihr Standort: " . IPtoCountry($ip);
?>

Die Variablen $db_host, $db_username, $db_password und $db_name müssen natürlich auf die richtigen Werte gesetzt werden. Wer das ganze in echt sehen möchte kann dies unter http://myip.jerilynn.net/ tun.

XPath online

Wer bei der Softwareentwicklung eine XML Datei parsen möchte und dazu XPath als Abfragesprache benutzt steht manchmal vor dem Problem das er sehen möchte was genau durch diesen XPath Ausdruck aus der XML Datei geholt wird. Da ich nicht allzu oft XML Dateien parse, wollte ich mir auch keine extra Software installieren sondern suchte nach einer Onlinelösung.

Diese habe ich dann unter http://www.zrinity.com/xml/xpath/index.cfm gefunden. Mit dem Tool kann man eigene XML Dateien mittels XPath abfragen und sich das Ergebnis anzeigen lassen. Um schnell mal einen XPath Ausdruck zu testen ist das ganze ideal.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/XPath

Code Formatierung

Wie ich ja schon beiläufig erwähnt hatte, habe ich in letzter Zeit ein wenig in PHP und JavaScript entwickelt. Das ich das ganze nur mit einem Texteditor gemacht habe und meinen Code trotzdem formatieren wollte, musste ein Code Formatierer her. Am Ende war es nicht einer sondern zwei :)

Der erste Formatierer den ich benutze war der PHP Formatter welcher unter http://www.phpformatter.com/ zu finden ist. Sehr schön an diesem finde ich die Möglichkeit sich den Formatierungsstil auszusuchen. Der zweite Formatierer war ein simpler JavaScript Formatierer welcher unter http://blog.djh5e.org/wp-content/jsf.html zu finden ist.

Jetzt sieht der Quellcode wesentlich gesitteter aus :)