MySQL auf Mac OS mit MAMP: SQL Dump importieren

Freitag, Mai 21st, 2010

Da mein Firefox Browser regelmäßig bei dem Import von großen SQL Dumps über phpMyAdmin abstürzt (der Dump war über 60 MB groß) und ein Upload dort auch nicht den gewünschten Erfolg bringt, gebe ich hier kurz die benötigten Befehl für das Mac Terminal und MySQL an:
(weiterlesen…)

HTC Desire – auspacken, anmachen, einrichten : Erster Schnell-Erfahrungsbericht

Mittwoch, Mai 5th, 2010

Da wir in der Agentur mit iPhone und iPad Apps einiges zu tun haben habe ich mein ausführlicheres Testing des neuen HTC Desire eigentlich auf heute Abend verschieben wollen.

Da ich natürlich seehr neugierig bin habe ich mir eben 10 Minuten Zeit genommen, wenigstens mein Google Konto, mein Exchange Konto und mein persönliches IMAP Konto einmal einzurichten, besonders weil das HTC Desire nach dem Einschalten mit einem “Installationsassistenten” aufwartet, der sehr übersichtlich und einfach zu sein scheint.
(weiterlesen…)

HTC Desire – Unboxing

Mittwoch, Mai 5th, 2010

Der nette Mann von UPS brachte mir vor 10 Minuten das gewonnene HTC Desire. Wie versprochen hier mein kleines Unboxing Video (Danke an Wolfram vom Spring-Blog für die großartige Kameraführung). Das Testing kann also beginnen.
(weiterlesen…)

HTC Desire: Countdown läuft

Montag, Mai 3rd, 2010

Ich bin echt überrascht, in welcher freudiger Erwartungshaltung ich mich aufgrund des bald eintreffenden Telefons befinde. Zwar setze ich dafür jetzt nicht extra ein neues Blog auf (wie mein Mitgewinner Hendrik aka @skywalka_de mit seiner guten Team Android Idee), aber gespannt bin ich trotzdem sehr.

Hierbei fällt mir im Übrigens besonders auf, wie man sich als iPhone Besitzer vom Mobiltelefon-Marktgeschehen abwendet. Interessiert mich nämlich generell nicht mehr die Bohne, was dort passiert oder vorgestellt wird, weil ich mit meinem iPhone so hervorragend zufrieden bin.

Die technischen Eigenschaften vom Desire klingen dennoch absolut vielversprechend:
(weiterlesen…)

HTC Desire zum Testen und Berichten gewonnen

Sonntag, Mai 2nd, 2010
Das HTC Desire - Ein Pressefoto von der Produktvorstellungsseite

Ich habe vor wenigen Minuten die freudige Nachricht von FlexiblesBüro erhalten, dass ich in den nächsten Tagen (evtl. stolzer) Besitzer eines HTC Desire Telefons sein werde und Euch darüber hier im Blog umfassende Testberichte liefern soll.
(weiterlesen…)

Facebook Fans mit Like Box Widget integrieren

Donnerstag, April 29th, 2010

Neben der Integration des Like Button (z.B. im Blog) gibt es auch im Rahmen der Facebook Social Plugins die Facebook Fan-Box (seit dem Umbenennen von “Fan werden” zu “mag ich” als Like Box) für die eigene Webseite.

Facebook stellt hierfür, wie für die anderen Plugins auch, einen Like Widget Codegenerator zur Verfügung. Leider baut der Facebook Generator für die Fan-Box / Like-Box den Code zur Integration falsch auf, das Ergebnis sähe bei unserer Firmen-Fanbox so aus:
(weiterlesen…)

Java 1.5 Fehler unter Mac OS X Snow Leopard

Donnerstag, Februar 18th, 2010

Wer hin und wieder mit Java Software arbeitet, die Java 1.5 benötigt, ist eventuell unter Mac OS X und Snow Leopard schon einmal über verschiedene, sonderbare Fehler gestossen. Wie man Java 1.5 unter Snow Leopard installieren kann, habe ich ja bereits geschrieben. Einige Probleme gibt es dabei aber hin und wieder doch noch.
(weiterlesen…)

Kostenfreies CakePHP Buch

Donnerstag, Juni 18th, 2009

Beim Pseudocoder gibt es für alle CakePHP Entwickler ein höchst interessantes kostenfreies CakePHP Buch im PDF Format.

For anyone who missed it, I released a free CakePHP book a month ago. Since then it’s been downloaded over 2500 times. I’ve also received some great feedback and have made a bunch of corrections to the code and grammar. The biggest change is that the table of contents is now links and will jump you right to the section. That’s reason enough alone to grab the updated version. The new permanent home page for the book is here.

Milliarden von SQL Queries am Tag

Dienstag, Juni 16th, 2009

Für alle Interessierten und Suchenden gibt es hier eine kleine Präsentation, in dem Dathan Vance Pattishall, dem “database guy” von meinem Lieblingsfotodienst Flickr beschreibt, auf welche Art und Weise täglich “billions of queries” abgehandelt werden.

DVPmysqlucFederation at Flickr: Doing Billions of Queries Per Day DVPmysqlucFederation at Flickr: Doing Billions of Queries Per Day dathan Federation at Flickr: Doing Billions of Queries Per Day

Debug Informationen in CakePHP

Mittwoch, Juni 10th, 2009

Debugging von Anwendungen, die auf PHP basieren, ist zwar mit Tools wie Zend / Eclipse leichter geworden als noch vor einigen Jahren, aber manchmal bedarf es auch nur einer einfachen Anzeige von Header-, Session- oder anderen Requestdaten während der Laufzeit im Frontend.

Bei der Entwicklung von CakePHP Anwendungen können von Haus aus Informationen z.B. zur Datenbankabfrage mithilfe der Konfigurationsvariable debug und des Befehls

Configure::write("debug", 1);

ausgegeben werden.

Es gibt insgesamt 4 Debug Level, die hier im Kontext einer älteren CakePHP Version (dort wird die Konstante DEBUG genutzt) folgendermaßen bezeichnet werden:

There are 4 levels of debug: 0-production, 1- development, 2- full debug with sql and 3- full debug with sql and dump of the current object. Specifying this setting to a non-zero value will force Cake to print out the results of pr( ) and debug( ) function calls, and stop flash messages from forwarding automatically. In production, the “flash messages” redirect after a time interval. With the other debug levels you get to click the “flash message” to continue. For example, if you want to set the debug level to “full debug with sql”, the line should look like this: define(‘DEBUG’, 2);

Da die Debug Informationen von Cake immer am unteren Seitenende gerendert und – sobald man vom CakePHP Standardlayout abweicht – auch äußerst hässlich werden, gibt es bei Snook.ca die folgenden CSS Klassendefinitionen, um diese Infos generell schicker zu gestalten:

.cake-sql-log {
	position:fixed;
	top:99%;
	z-index:10;
	width:100%;
	background-color:#000;
	color:#FFF;
	border-collapse:collapse;
}

.cake-sql-log caption {
	background-color:#900;
	color:#FFF;
}

.cake-sql-log:hover {
	top:auto;
	bottom:0;
}

.cake-sql-log td {
	padding:3px;
	border:1px solid #999;
	background-color:#EEE;
	color:#000;
}

Wer jetzt noch weitere Informationen braucht (wie oben bereits erwähnt u.a. zu Sessiondaten, Log-Aktivitäten, Timings etc.) der ist mit der CakePHP DebugKit Toolbar von Mark Story gut bedient.

Die Toolbar “versteckt” sich geradezu absolut positioniert in der rechten oberen Ecke der Webseite und öffnet sich blei Klick auf ein kleines Icon.

Was sie alles bietet, zeigt sich in den folgenden Screenshots:

DebugKit Toolbar in CakePHP
DebugKit Toolbar  in CakePHP - Timings der Prozesse
DebugKit Toolbar - Sessioninhalte, schön ausklappbar

Ich binde die Toolbar dynamisch je nach Umgebung auf folgende Art und Weise im app_controller ein:

	public function __construct(){
		parent::__construct();
		if(DEVELOPMENT_ENVIRONMENT){
			$this->components[] = 'DebugKit.Toolbar';
			Configure::write('debug', 2);
		} else {
			Configure::write('debug', 0);
		}
	}

Hier prüfe ich auf die Konstante DEVELOPMENT_ENVIRONMENT, die ich, wie alle anderen Variablen, die global für die App zur Verfügung stehen müssen, in der bootstrap.php definiere. Solche Variablen könnten eben serverseitig zur Auswahl der entsprechenden Pfade (z.B. für Logs oder temporäre Uploads) oder auch für die Auswahl der entsprechenden Datenbankverbindungen herangezogen werden.