Jon-G blogs for Net-Entwicklung.de

08.06.2009

XSS – Infos and Tools

Filed under: Coding — Schlagwörter: , — Jonathan Gilbert @ 00:31

Hier nur kurz ein paar Links

http://www.thespanner.co.uk/2009/03/25/xss-rays/

XSS Tool in Python: http://wapiti.sourceforge.net/

Security Infos: http://ha.ckers.org und http://www.milw0rm.com

Advertisements

Captchas für den guten Zweck

Filed under: Coding — Schlagwörter: — Jonathan Gilbert @ 00:23

outlookWir alle kennen Captchas – es gibt gute und nicht so gute 😉 Knacken lassen sich beinahe alle – ist alles nur eine Frage des Aufwandes, was sich in den wenigstens Fällen aber „lohnen“ dürfte. Es fragt sich also, wieviel Aufwand man in die Erstellung stecken will… Wie ich mal für den Jungheinrich Profishop gemacht habe, kann ein Captcha optisch zur Website und Branding passen (s. Beispiel rechts).

Aber im Normalfall sind es einfach ein paar mehr oder weniger lesbare Buchstaben ohne besondere optische Wirkung. Für solche Fälle bietet sich reCaptcha an (http://recaptcha.net/) – Captchas werden zur digitalisierung von Büchern verwendet – ein sehr interessanter Ansatz und letztendlich sage ich, warum nicht?

28.05.2009

Coding Practices

Filed under: Coding — Schlagwörter: — Jonathan Gilbert @ 17:33

Habe gerade Ned Batchelder’s Blog entdeckt – ich sage nur Respekt, dass er diese Themen schriftlich aufbereitet hat:

Deleting Code
Fix error handling first
Erroneously empty code paths

– FULL ACK von mir

Mehr von Ned gibt’s hier.

21.05.2009

Das Model im Zend Framework

Filed under: Coding — Schlagwörter: , — Jonathan Gilbert @ 21:01

Holger Librenz hat ein netter Artikelzum Thema geschrieben. Den Ansatz, eine eigene Action-Klasse vom Zend_Controller_Action abzuleiten kann ich nur unterstützen. Aber ich halte nichts von der Idee, das Model per Reflection zu ermitteln und instanziieren – Refelection ist nicht performant und demnach für eine Produktionsumgebung nicht geeignet. Die Prüfung, ob die Klasse existiert ist m.E. auch überflüssig und kostet unnötig Performance – wer eine Anwendung baut hat dafür zu sorgen, dass die Klassen vorhanden sind. Ich finde, es gibt nur wenige Fälle, wo eine solche Prüfung stattfinden muss (z.B. in verteilten Systemen).

Im Übrigen vertrete ich auch der Meinung, dass Objekte nicht instanziiert werden müssen – Modelle mit statischen Methoden sind nach Möglichkeit zu bevorzugen – aber das ist ein anderes Thema.

Performance Optimierung (Frontend)

Filed under: Coding — Schlagwörter: , , — Jonathan Gilbert @ 20:22

Yahoo bietet wertvolle Tipps:
Best Practices for Speeding Up Your Web Site

Und hier ein Artikel bzw. Vortrag, den ich schon auf Grund des Titels erwähnen muss:
YUI Theater — Nicole Sullivan: „Design Fast Websites (Don’t Blame the Rounded Corners)“

18.05.2009

Zend Framework MVC mit Javascript (z.B. YUI) steuern

Filed under: Coding — Schlagwörter: , , , — Jonathan Gilbert @ 19:57

Mit dem Zend Framework hat man meistens URLs im Format:

http://www.net-entwicklung.de/controller/action

wobei „action“ oft weggelassen wird, um eine Standard-Action für den Controller aufzurufen. Es kommt also hin und wieder vor, dass man auf den einzelnen Unterseiten z.B. ein „Back“-Link erstellen möchte. Das ist kein Problem mit dem Viewhelper aber es ist etwas umständlich, wenn z.B. YUI verwendet wird und es soll ein „Back“-Button damit definiert werden. Vor allem, wenn dieser Button auf mehreren Seiten erscheinen soll stellt man sich die Frage, wie die aufzurufende URL generisch manipuliert werden kann. Eine Möglichkeit ist mit einem Regular Expression, um alles nach dem letzten Slash der URL zu entfernen:

window.location.href = document.location.href.replace(/(.*)\/([^\/]*)$/, '$1');

Das wird natürlich nicht für jeden Anwendungsfall passen aber wenn die URL’s der Unterseiten keine Parameter benutzen, z.B. weil die Inhalte per Ajax (YUI o.ä.) geladen werden, dann sollte es genügen.

09.05.2009

Nachfolger des BOFH?

Filed under: Fun stuff — Jonathan Gilbert @ 20:02

Was machen SysOps wirklich?

http://www.thewebsiteisdown.com/

Gehören alle Computerspiele verboten?

Filed under: Fun stuff — Schlagwörter: — Jonathan Gilbert @ 19:35

Gehören Computerspiele verboten?

08.05.2009

Autoincrement in Oracle DB mittels Sequence und Trigger

Filed under: Databases — Schlagwörter: , — Jonathan Gilbert @ 15:50

CREATE SEQUENCE [tablename]_SEQ

START WITH 1
MAXVALUE 9999999999
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER;

CREATE OR REPLACE TRIGGER [tablename]_trigger

BEFORE INSERT ON [tablename]

FOR EACH ROW

BEGIN

SELECT [tablename]_SEQ.NEXTVAL INTO :NEW.[primarykey] FROM DUAL;

END;

25.04.2009

Zend Framework und Performance

Filed under: Coding — Schlagwörter: , , , — Jonathan Gilbert @ 19:00

Es gibt viele Frameworks für PHP – es gibt einige Gründe, die für ZF sprechen: Es ist gut dokumentiert, gut getestet und es steht nun mal Zend dahinter. Nur Performance ist nicht optimal… Je nach Bedarf kann es sich lohnen, ein eigenes Framework zu entwickeln – es kostet aber viel Zeit und muss auch ständig weiterentwickelt werden (bei StudiVZ hat es sich aber gelohnt – das Phoenix Framework rockt – schöne Grüße nach Berlin!)

Ein erster Schritt ist, den Zend_Loader zu ersetzen – keep it simple! Einfaches autoloading mit str_replace, um die Pfade zu ermitteln reicht aus.

Gut strukturierter, lesbarer, erweiterbarer und dadurch wartbarer Code ist m.E. wichtiger als performanter Code. Performance kann man immer noch verbessern, wo es nötig ist. Oft liegen Performance Probleme anderswo, z.B. bei Datenbankzugriffen – diese bieten oft viel Spielraum für Optimierung. Und mit Caching, lassen sich auch viele DB-Zugriffe insgesamt einsparen.

Hier gibt es ein interessanter Artikel über Performance Bottlenecks.

Mehrere gute Tipps, gibt Till Klampaeckel hier und hier.

« Newer PostsOlder Posts »

Erstelle eine kostenlose Website oder Blog – auf WordPress.com.