25.04.04 @ 14:35

MYIE2: Eine interessante Alternative zum Internet Explorer

[software] -  @

Mit dem Freeware Browser MYIE2 gibt es ein interessantes Produkt, um die Internet Explorer Rendering Engine weiter zu verwenden und alle Vorzüge eines Mozilla Firefox Browsers wie Tabbed Browsing, integriertes Suchfeld, etc. zu geniessen. Leider bin ich in der kurzen Zeit, in der ich diese Software installiert habe noch nicht hinter alle Möglichkeiten gekommen, jedoch gibt es auch Features wie PopUp Blocking, intelligentes Formmanagement, etc. Mein bevorzugter Browser ist jedoch immer noch der Mozilla Firefox, da er sehr stabil und schnell ist.

[1] http://www.myie2.com/

kommentar (0) permalink

21.04.04 @ 10:34

PHP im Vergleich zu Java/J2EE

[php] -  @

Zwei interessante Artikel habe ich auf den Weblogs von Java Entwicklern gefunden. Der erste Artikel auf Ian Kallen’s Weblog [1] beinhaltet eine Gegenüberstellung der Features von PHP im Vergleich zu Java’s J2EE Framework. Leider berücksichtigt diese Gegenüberstellung nicht alle möglichen Optionen, die für PHP verfügbar sind, wie z.B. Smarty oder Frameworks wie phrame. Auch auf die neueste Version PHP 5 wird nicht eingegangen.. Grundsätzlich ist der Autor dieses Artikels der Meinung, dass PHP sehr praktisch ist für kleinere, schnellere Projekte und dass J2EE die beste Lösung ist für Applikationen, die skalieren müssen.

Einen weiteren Artikel zu diesem Thema habe ich auf Bill Dehora’s Weblog [2] gefunden. Er beschreibt den Grund, warum PHP bei den meisten Providern für Shared Hosting Umgebungen beliebter ist als Java. Eines der Hauptgründe liegt in der Sicherheit (!). Laut Bill wurde Java’s VM nie für eine Multi-User Umgebung gebaut. Für die Provider ist es leichter die PHP Prozesse unter z.B. Apache zu überwachen, als den einzigen Prozess der JVM.

Ich bin der Meinung, dass es wichtig ist immer das Ziel des Kunden vor Augen zu haben. Bei der Integration von bestehenden Systemen auf Basis von Java macht es eindeutig mehr Sinn sich mit J2EE’s Web Technologien auseinander zu setzen. Bei Projekten, die jedoch ziemlich unabhängig von bestehenden IT Strukturen sind, steht PHP im Vergleich zu J2EE als ernstzunehmender Konkurrent zur Seite.

[1] http://www.arachna.com/roller/page/spidaman/20040414#php_versus_j2ee
[2] http://www.dehora.net/journal/2004/04/the_reason_php_is_more_popular_than_java_its_safer.html

kommentar (0) permalink

21.04.04 @ 10:19

Zend Studio in Version 3.5 als Beta verfügbar

[php/ software] -  @

Zend hat mit seiner Zend IDE ein sehr gutes Tool auf den Markt gebracht, was die Entwicklung von PHP Applikationen sehr vereinfacht dank eingebauten Debugger, Profiler und Code Syntax Checker. Seit einigen Tagen ist die neue Version 3.5 als Betaversion zum Download bereit gestellt worden. Ich habe die Betaversion parallel zu meiner alten Zend IDE Version installiert und bisher nur kleinere Bugs gefunden. Folgendes sind die Highlights von Version 3.5 :

PHP 5.0 Support:
Der interne Debugger, Code Analyzer und die Code Completion im Editor unterstützen nun alle PHP 5.

Verbesserte Benutzeroberfläche:
Eines der Nachteile der alten Version gegenüber anderen IDE’s und Editoren, war dass die Benutzeroberfläche in Java realisiert recht langsam und ab und zu etwas buggy war. Die neue Benutzeroberfläche basiert soweit ich gehört habe auf SWT, dem UI Toolkit mit dem auch die Open Source Java IDE Eclipse entwickelt worden ist. Die neue Benutzeroberfläche unterstützt nun Drag-and-Drop Funktionalität und ist insgesamt viel schneller und übersichtlicher geworden.

SFTP, FTP over SSH und FTP Unterstützung:
Eines der grössten Nachteile der alten Version war das Fehlen der SFTP und FTP over SSH Unterstützung. Da einige Projekte nur noch mit diesen Verfahren arbeiten, musste man externe Tools hinzuziehen. In der neuen Version sind diese Verfahren alle unterstützt.

Code Templates:
Ein sehr beliebtes Feature von IDE’s ist die Möglichkeit eigene Code Templates, d.h. kleinere Sourcecode Blöcke zu erstellen, die dann schnell und einfach über eine Abkürzung im Editor abgerufen werden können. Wenn man also z.B. „foreach“ in den Editor eingibt, hat man bei der Code Completion die Wahl zwischen dem Befehl oder eines kompletten foreach-Konstrukts.

Insgesamt arbeite ich jetzt seit über einer Woche mit der neuen Beta und muss sagen alles ist viel ausgereifter und vor allem schneller geworden. Eine kurze Umgewöhnungszeit habe ich für die neuen Icons auf der Benutzeroberfläche gebraucht. Auch das Verwenden der alten Konfigurationsdaten aus der Vorgängerversion war bei der Installation kein Problem. Alte Projektdateien lassen sich unproblematisch mit der neuen Version öffnen. Wenn die Betaversion als Upgrade erhältlich sein wird, werde ich auf jeden Fall auf die Version 3.5 umsteigen.

[1] http://www.zend.com/store/products/zend-studio-beta.php

kommentar (0) permalink

20.04.04 @ 10:10

Sehr guter CSS Online Validator

[webdesign] -  @

Neben dem standard Validation Tool von W3C [1] gibt es auch ein weiteres Online Tool auf der style-sheets.com Webseite [2]. Mit diesem Tool wird geprüft, ob das CSS Stylesheet auch auf verschiedenen Browser Versionen läuft. Diese kann man auch explizit auswählen. Anders als beim W3C CSS Validator wird nicht nur auf CSS Standardkonformität geprüft sondern auch auf diverse Browserbugs.

[1] http://jigsaw.w3.org/css-validator/
[2] http://www.style-sheets.com/validator.asp

kommentar (0) permalink

19.04.04 @ 09:06

Einfacher CSS Layout Manager online

[webdesign] -  @

Auf inknoise.com findet man Layout-o-matic [1] ein sehr einfaches Online Tool um sehr schnell CSS/XHTML Layouts für Webprojekte zu erstellen. Die erforderlichen Hacks für den Internet Explorer werden bei der Erstellung des CSS gleich mitberücksichtigt. Derzeit kann man aus 4 verschiedenen Layouts wählen: Full Page, Two Columns (left sidebar), Two columns (right sidebar), Three columns.

[1] http://www.inknoise.com/experimental/layoutomatic.php

kommentar (0) permalink

18.04.04 @ 11:45

Flexy als Smarty Alternative?

[php] -  @

Die Verwendung von Template Mechanismen in PHP sind ein stark debatiertes Thema. Viele meinen das PHP an sich schon der beste Template Mechanismus ist und die Verwendung eines weiteren Layers für die Trennung von Logik und Layout ist überflüssig. In der aktuellen Ausgabe des php architects [1] beschreibt John Coggeshall [2] wie man mit der Smarty Template Engine mehrsprachige Projekte realisieren kann. Anhand der phpcommunity.org zeigt er auf, wie mit einer eigenen Klasse, die von Smarty abgeleitet ist und der smarty_lang_prefilter() Funktion eine Realisierung möglich ist.

Auf dem blog von akbkhome.com [3] habe ich einen Artikel über die Template Engine Flexy gefunden, die als HTML_Template_Flexy in PEAR [4] zu finden ist. Laut Alan’s Bericht ist es mit Flexy wesentlich einfacher mehrsprachige Projekte zu realisieren, da schon einige Funktionalitäten eingebaut sind.

Grundsätzlich ist meine Meinung und Erfahrung, dass die Verwendung von Template Engines, die Erweiterung und Wartbarkeit von größeren Applikationen stark vereinfachen. Vor allem eventuell spätere Portierungen in andere Umgebungen wie z.B. Jakarta Struts können mit einer vernünftig gebauten PHP Applikation, die im Model-View-Controller Verfahren aufgebaut worden ist sehr einfach und schnell realisiert werden.

[1] http://www.phparchitect.com/issue.php?mid=28
[2] http://blog.coggeshall.org/archives/115_Extra_Extra.html
[3] http://blog.akbkhome.com/archives/33_Flexy__What_smarty_should_have_been.html
[4] http://pear.php.net/package/HTML_Template_Flexy

kommentar (0) permalink

17.04.04 @ 20:09

Alternative Datenbankabstraktion

[php] -  @

Eine weitere Alternative zur Datenbankabstraktion in PHP habe ich auf Sebastian Bergmann’s weblog [1] gefunden. Creole [2] und Propel [3], zwei Pakete mit denen man unter PHP5 sowohl eine Datenbankabstraktion, als auch ein O/R Mapping (Object Relational Mapping) realisieren kann. Das Paket Propel ist an das Apache Torque Projekt angelehnt.

Andere Pakete, mit denen man Datenbankabstraktion unter PHP realisieren kann findet man auf meinen Artikel [4] über die “PEAR DB Klasse”.

[1] http://www.sebastian-bergmann.de/blog/archives/325_Creole_and_Propel.html
[2] http://creole.phpdb.org/wiki/
[3] http://propel.phpdb.org/
[4] http://wordpress.dinokarl.com/index.php?p=92

kommentar (0) permalink

17.04.04 @ 19:59

Mit Elefanten auf Spatzen schießen

[php] -  @

Einen interessanten Artikel gibt es auf der phpPatterns() Website [1] von Harry Fuecks. Er beschreibt dort sehr anschaulich den HelloWorld Klassiker anhand von verschiedenen Patterns. Um die Anzeige von “Hello World !” zu implementieren verwendet er folgende Design Pattern: Model-View-Controller, Observer, Strategy, Decorator, Factory Method und Facade. Interessant ist der Artikel, da er zeigt wie man mit Design Patterns Probleme noch größer bzw. noch komplexer machen kann. Weitere Informationen über die schädlichen Nebenwirkungen von Design Pattern findet man auf “Design Patterns Considered Harmful” [2] einer Website, die diskutiert wann Design Patterns besser nicht verwendet werden sollten.

Man sollte also immer überlegen in welchen Situationen es sinnvoll ist Design Patterns zu verwenden. Jedoch sollte man vorsichtig sein, eine Applikation durch Design Patterns komplexer zu machen. Ein bisschen wie das Salz in der Suppe…

[1] http://www.phppatterns.com/index.php/article/articleview/103
[2] http://c2.com/cgi/wiki?DesignPatternsConsideredHarmful

kommentar (0) permalink

17.04.04 @ 19:46

Klasse für den CAPTCHA Test

[php] -  @

Eines der größten Probleme bei Formulardaten ist es herauszufinden, ob der Client ein Mensch oder ein automatisierter Script ist. Es kann vorkommen, dass man in bestimmen Bereichen einen Test haben möchte, der herausfindet, ob ein Formular von einem Menschen manuell abgeschickt wurde. Dieser Test nennt sich Turing Test bzw. CAPTCHA Test (Completely Automated Public Turing to tell Computers from Humans Apart). In diesem Test wird dem Benutzer eine Grafik mit einem Satz bzw. Wort angezeigt, dass er dann in ein Formularfeld eingeben muss. Ein automatisierter Script kann dieses Wort nur sehr schwer bzw. überhaupt nicht erkennen. Eine sehr gute Klasse um dieses Verfahren zu realisieren findet man mit der HN CAPTCHA Klasse auf phpclasses.org [1].

[1] http://www.phpclasses.org/browse/package/1569.html

kommentar (0) permalink

14.04.04 @ 18:32

PEAR DB in neuer Version

[php] -  @

Die PEAR DB Bibliothek [1] ist in einer neuen Version 1.6.2 verfügbar. Neben der Behebung einiger Fehler wurden auch einige neue Features hinzugefügt. Grundsätzlich ist die PEAR DB Bibliothek der PHP de facto Standard für Datenbankabstraktion. Ein weiteres und sehr beliebtes Paket zur Datenbankabstraktion ist die ADOdb Bibliothek [2]. Eine sehr gute Zusammenfassung der Unterschiede von PEAR DB und ADOdb kann man auf dem Blog von PHP Everywhere [3], dem Autor von ADOdb finden.

[1] http://pear.php.net/package/DB
[2] http://php.weblogs.com/ADODB
[3] http://php.weblogs.com/Compare_PEAR_DB_ADOdb

kommentar (0) permalink

14.04.04 @ 18:19

FeedDemon meine bevorzugte RSS Reader Applikation

[software] -  @

Heute habe ich mir die Vollversion von Bradbury Software’s FeedDemon [1] für ca. 30 Dollar gekauft und muss sagen, dass ist die beste RSS Reader Applikation, die ich seit langem gesehen habe. Die gesamte Bedienung ist super leicht gemacht. Mit Keywords kann man aus den abonnierten Newsfeeds (bei mir derzeit 100 Channels an der Zahl) sehr schnell die wichtigsten Informationen rausziehen und sich im Überblick anzeigen lassen. Der Import von RSS Channels kann einfach mittels OPML Files gemacht werden. Falls jemand Interesse hat schicke ich gerne meine Sammlung von RSS Channels als OPML Files zu.

[1] http://www.bradsoft.com/feeddemon/index.asp

kommentar (0) permalink

14.04.04 @ 18:08

MySQL goes Cluster

[php/ software] -  @

Die MySQL AB bringt die erste OpenSource Cluster Datenbanklösung auf den Markt. Mit dem Produkt MySQL Cluster [1] gibt es eine professionelle Datenbanklösung, die hauptsächlich für missionskritische Applikationen verwendet werden soll. Durch das Design soll eine 99,999% Verfügbarkeit garantiert werden, des weiteren soll die Datenbank auf Hochverfügbarkeit und Geschwindigkeit zu geschnitten worden sein.

MySQL wird durch solche Neuerungen immer interessanter für große Unternehmen. Derzeit findet die MySQL User Conference 2004 [2] statt, auf der auch mehrere Großunternehmen teilnehmen und Vorträge halten. Auf Jeremy Zawodny’s blog [3] gibt es einen Artikel über MySQL bei Sabre, dem internationalen Reservationssystem von American Airlines. Weitere große Unternehmen, die auf MySQL als Datenbankserver setzen sind unter anderem auch Amazon, Charles Schwab, Cisco, Corporate Express, FedEx, GE, Merrill Lynch, Motorola, Nokia, Sabre, SAP, and UPS.

[1] http://www.mysql.com/products/cluster/
[2] http://www.mysql.com/news-and-events/users-conference/
[3] http://jeremy.zawodny.com/blog/archives/001864.html

kommentar (0) permalink

14.04.04 @ 17:29

XML_Serialize und RSS Feeds

[php] -  @

Einen sehr interessanten Artikel über die Verwendung von XML Serialize habe ich auf Keith Devens weblog [1] gefunden. Dort beschreibt er wie er sehr schnell mittels der XML_Serialize [2] Klasse seine Weblog Einträge in einen RSS Feed verwandelt. Ein ähnliches Vorgehen aber mit XML_Unserialize habe ich in meiner eigenen RSS_Parser Klasse verwendet um RSS Feeds in Array zu verwandeln.

[1] http://keithdevens.com/weblog/archive/2004/Apr/14/XML-serialize
[2] http://pear.php.net/package/XML_Serializer/

kommentar (0) permalink

07.04.04 @ 14:33

Liste mit Datenbank Modellierungs Software

[php/ software] -  @

Eine sehr gute Liste mit einigen Programmen zur grafischen Erstellung von Datenbankschemata, kann man auf der PHPKitchen.com Website [1] finden. Darunter auch der von mir erwähnte DBDesigner von der Firma Fabforce [2]. Interessant für diejenigen, die mit der Eclipse IDE zu tun haben ist sicherlich auch der Plugin von azzuri [3], der innerhalb von Eclipse ein grafisches Erstellen von Datenbankschemas ermöglicht und zudem noch reverse enginering unterstützt, welches ermöglicht bestehende DB Schemata automatisch einzulesen und weiterzubearbeiten.

[1] http://www.phpkitchen.com/article.php?story=20040405143111242
[2] http://www.fabforce.net/dbdesigner4/
[3] http://www.azzurri.jp/en/index.jsp

kommentar (0) permalink

07.04.04 @ 10:02

Microsoft Windows Tweaking Guide

[software] -  @

Eine sehr große und übersichtliche Sammlung von Windows XP Hacks, Tipps und Tricks kann man auf der Webseite “The Tweaking Experience” [1] als interaktive Hilfedatei runterladen. Man findet in dem Guide auch nicht nur Tipps zum Betriebssystem sondern auch zu Office, Outlook, IIS, im Grunde zu allen bekannten Microsoft Applikationen.

[1] http://windowsxp.homedns.org/xp/

kommentar (0) permalink

07.04.04 @ 09:51

Sehr guter cross-browser WYSIWYG Editor Plugin mit Image Manager

[php/ webdesign] -  @

Über einen Artikel auf circle.ch [1] bin ich auf einen genialen DHTML Plugin für das editieren von HTML gestoßen, der auf einer Open Source Lizenz basiert. Zudem dem HTML Plugin gibt es auch einen eigenen Image Manager, der auf Basis von PHP und DHTML entwickelt wurde und als weiteres Highlight in diesem Plugin ins Auge sticht. Am besten ist es man probiert die vorgestellte Demo auf der Webseite von HTMLArea 3 mit Image Manager und Image Editor [2]. Serverseitig benötigt man PHP, GD oder NetPBM oder ImageMagick um die Image Management Funktionen nutzen zu können.

[1] http://www.circle.ch/blog/p1360.html
[2] http://www.zhuo.org/htmlarea/index.html

kommentar (0) permalink

[powered by WordPress]