iPhone NavigationController

Wer gerade erst mit der iPhone Programmierung anfängt, wird sicherlich auch am Anfang seine Pröblemchen mit der einen oder anderen Eigenheit von Objective C, XCode und InterfaceBuilder haben.

Um einen NavigationController inkl. 2 Views zu erstellen, kann man folgendermaßen vorgehen*:

  • Navigation-based Application erstellen
  • benötigte IBOutlets + IBActions erstellen
  • in -(void)viewDidLoad
    • self.title setzen
    • wenn in der RootView keine Navigationsleiste angezeigt werden soll: [[self navigationController] setNavigationBarHidden:YES] setzen
  • zweite View mit Classes -> New File erstellen
    • Cocoa Touch Class -> UIViewController subclass auswählen und einen Haken bei ‘With XIB for user interface’ setzen
  • im RootViewController.m die Header-Datei vom zweiten View einbinden und bei der gewünschten Methode das einfügen:
    Klasse-der-zweiten-View *nameDerEigenschaft = [[[Klasse-der-zweiten-View alloc] initWithNibName:@"NameDerXibDatei" bundle:nil] autorelease];

* Ich gehe generell davon aus, dass XCode 3.2.3+ und iOS 4.0.2+ benutzt werden.

PHP debuggen mit FirePHP

FirePHP enables you to log to your Firebug Console using a simple PHP method call.

All data is sent via response headers and will not interfere with the content on your page.

FirePHP is ideally suited for AJAX development where clean JSON and XML responses are required.

Da wir ja sowieso alle Firebug nutzen ist FirePHP eine ziemlich elegante Lösung um PHP zu debuggen. Bei normalen Seitenaufrufen mag es noch mit der Standardausgabe funktionieren, aber spätestens bei Ajax Requests wird das unmöglich. Einfach FirePHP in einer Include Datei einmalig ausführen und Loglevel angeben und freuen!

Tags: , , ,
Posted in PHP by frank. No Comments

Ajax Requests und Caching

Euer Ajax Request gibt immer den gleichen Content zurück obwohl das garnicht sein dürfte?

Möglicherweise cacht der Browser die per Ajax nachgeladene Datei und liefert euch keine aktuellen Daten. Dann einfach einen zufälligen Wert oder Zeit an die Request-URL anhängen und Caching verhindern.

new Ajax.Request('ajax.jsp?' + (new Date()).getTime(), {

....

});

Allowed memory limit

Falls WordPress oder irgendein WP-Plugin mal wieder meckern sollte, dass es mehr Speicher benötigt, einfach die default-constants.php im wp-includes/ Ordner suchen und diese Zeilen anpassen:

// set memory limits
if ( !defined('WP_MEMORY_LIMIT') ) {
  if( is_multisite() ) {
    define('WP_MEMORY_LIMIT', '64M');
  } else {
    define('WP_MEMORY_LIMIT', '64M');
  }
}

MD5 Hashes …

… sind nicht mehr so wirklich sicher. Wissen wir. Wer mal wieder einen MD5 Hash geknackt haben möchte, aber keine Lust hat, allzuviel Rechenzeit zu investieren sollte sich mal an der Reverse MD5 Hash Loopup Datenbank versuchen.

http://tools.benramsey.com/md5/

Tags: , ,
Posted in Sicherheit by frank. No Comments

Linkliste zu XSS, CSRF, SQL-Injection

Eine kleine aber feine Liste mit Artikeln und Dokumenten zu den Themen XSS, CSRF, SQL-Injection und Sicherheit allgemein.

http://board.protecus.de/t23636.htm

XSS

Meine WebApp ist XSS safe. Wirklich? Nein.

ha.ckers.org bietet mit beinahe unzähligen Beispielen und Generatoren einen Einblick in die Funktionsweise aber auch einen Überblick über die verschiedenen Möglichkeiten, die Cross Site Scripting bietet.

http://ha.ckers.org/xss.html

PHP Security

Die Bücherei des PHP Security Consortiums mit einigen lesenswerten Artikeln zum Thema Sicherheit. Ein Muss für alle, die PHP für ihre WebApps nutzen.

http://phpsec.org/library/

Meiner Meinung nach eine weitere Standardlektüre. Auch wenn die Artikel schon ein paar Jahre auf dem Buckel haben, zeigen sie doch einige wichtige Punkte auf die man als Webentwickler achten muss.

http://shiflett.org/articles

Tags: , , ,
Posted in PHP Sicherheit by frank. No Comments

JQuery Color Picker

Ein schöner und einfach zu verwendender Multifunktions-Colorpicker für JQuery:

http://www.eyecon.ro/colorpicker/

Tags: ,
Posted in JQuery by frank. No Comments

Yahoo’s Best Performance Practices

Die Standardlektüre für Lade- und Ausführungszeitoptimierung von Webapps.

http://developer.yahoo.com/performance/rules.html

Tags: , ,
Posted in Optimierung by frank. No Comments