RSS Feed Google Facebook Mister Wong
Programmierung   Administration   Schulungen    Projekte   News   Kontakt|AGB|Impressum  Deutsch English

PHP 5 / MySQL 5 - Programmierung

thwien.de bietet...

die objektorientierte und template-basierte Programmierung web­basierter Applikationen unter PHP für Internet oder Intranet mit An­bindung an die Datenbank MySQL. Durch die kon­sequente objekt­orientierte Struktur sind kom­plexe An­wendungen zu­ver­lässig realisierbar und der template-basierte Aufbau von An­wendungen ermöglicht eine saubere Trennung von Daten, Code und Layout für eine flexible Anpassungsfähigkeit und ein Delegieren von Aufgaben auf mehrere Projekt­mitarbeiter bei großen Projekten. Die für die Anwendungen verwendete Template-Engine wie aber auch eine umfangreiche Klassen-Bibliothek sind vollständig von thwien.de selbst entwickelt.

Der häufigste Einsatz webbasierter Anwendungen liegt sicherlich in der Realisierung von Internetauftritten. Aber webbasierte Anwendungen werden wegen der Plattform­unab­hängigkeit auch oft im Intranet oder in heterogenen Netzwerken ein­gesetzt, da sie auf Seiten der Client-Rechner nur die Installation eines Browsers und eine Netzwerk­anbindung voraussetzen.

Projekte

Zur modernen Entwicklung...

von web­basierten Applikationen ge­hören heut­zu­tage strukturierte und standardisierte Maßnahmen zur Qualitätssicherung.

Die Dokumentation für die pro­gram­mierten Klassen und Module wird auto­matisch auf Basis des Source­code im HTML- und UML-Format generiert. Zur Verfolgung und priorisierten Beseitigung von Software-Fehlern wird eine web­basierte, kollaborative Bug-Tracking-Software eingesetzt. Um einzelne Änderungen am Sourcecode nachhalten zu können, werden gängige Versions­kontroll­systeme verwendet, und um die Qualität von Modulen zu gewährleisten, werden automatisierte Unit-Tests ent­wickelt und durchgeführt.

OOP?

MVC (Model View Controller)?

Bug-Tracking

Code-Standard?

Code-Versionierung?

Code-Dokumentation?

UML-Diagramme

GUI- + Unit-Tests?

Code-Coverage-Analyse

Validierung?

Profiling?

SEO Suchmaschinenoptimierung?

Programmierung von

PHP 5.x

HTML, XHTML, XML

SOAP, WSDL?

CSS, JavaScript

Ajax, jQuery?

Kryptographie mit X.509

 

Programmierung von dynamisch generierten Dateiformaten

PDF, GIF/JPEG/PNG

E-Mails

Microsoft-Excel/Word

CSV

 

Einsatz neuronaler Netze

Multilayer Perzeptron

Personalbedarfsvorhersage

Verkaufsvorhersage

Lagerbestandsvorhersage

 

Datenbankanbindung an

MySQL 5.x

 

Open Source

Das Open-Source-Projekt von thwien.de zur Implementierung eines neuronalen Netzes mit PHP.

ANN Logo

ann.thwien.de

 

Co-Autor

wikipedia.de - PHP

Code-Standard

Die Einhaltung eines Code-Standard ist Teil der Qualitätssicherung von Anwendungen. Durch den Code-Standard wird der Quelltext nach vorgegebenen Regeln formatiert. Durch die Formatierung wird ein Quelltext wesentlich besser lesbar, wodurch sich die Logik einer Anwendung leichter verstehen lässt und Fehler einfacher erkennbar werden. Es gibt verschiedene Code-Standards, die mehr oder minder restriktiv sind. Es gibt Software, die auf die Einhaltung des Code-Standards achten und entsprechende Fehlermeldungen ausgeben, wenn dieser nicht eingehalten wurde. Dadurch sind Programmierer in einem Team zum Beispiel gezwungen denselben Code-Standard einzuhalten, damit jeder Programmierer auch den Code des anderen verstehen kann.

Objektorientierte Programmierung

Die objektorientierte Programmierung (OOP) ist bei der Entwicklung großer Anwendungen unverzichtbar, um Funktionalität und Flexibilität zu gewährleisten. Erst durch die konsequente Nutzung von Klassen, Ableitungen, Namensräumen, Operationalisierung auf Methoden kann der Code sinnvoll dokumentiert, automatisiert getestet, Arbeitsteilung im Team realisiert und Nadelöhre in Anwendungen ausfindig gemacht werden.

Code-Versionierung

Die Code-Versionierung gehört zu einem unverzichtbaren Werkzeug heutiger Software-Entwicklung. Über die Versionierung werden Änderungen visualisiert und dokumentiert, wer, wann, warum, was geändert hat. Darüber hinaus können parallele Entwicklungszweige erstellt und später wieder zusammengeführt werden.

Code-Dokumentation

Dokumentation von Quelltext ist vielen Programmierern ein Dorn im Auge. Aber Dokumentation ist einfach unverzichtbar, um auch noch Monate später den Code verstehen zu können. Daher muss die Code-Dokumentation so gewählt werden, dass sie ihren größten Nutzen bringt, d.h. keine Romane, sondern kurze, sinnvolle Informationen. Da die Dokumentation direkt im Code durchgeführt wird, ist sie i.d.R. aktuell. Auf dieser Basis können dann Dokumentationen dynamisch z.B. in HTML generiert werden.

Unit-Tests / GUI-Tests

Automatisiertes Testen ist wesentlich effektiver als manuelles Testen, denn letzteres ist nicht einfach dokumentierbar. Durch die Automatisierung von Tests können hunderte von Fällen durchgespielt werden, um sicherzustellen, dass die Anwendung diese besteht, bevor sie in der Produktivumgebung eingesetzt wird.

Code-Validierung

Nur valider HTML/XHTML-Code wird von Browsern "richtig" verstanden. Auch Suchmaschinen analysieren diesen Code erst richtig, wenn dieser validiert ist. Daher ist die Validierung nach verschiedenen Standards ein wichtiger Bestandteil der Entwicklung von Webanwendungen.

Profiling

In komplexen Anwendungen laufen unter Umständen tausende von Prozesse ab. Wenn sich ein Teil einer Anwendung als Nadelöhr erweist, dann ist Profiling das Werkzeug, um genau die bekannte "Nadel im Heuhaufen" zu finden.

SEO Suchmaschinenoptimierung

Der Suchmaschinenoptimierung wird von Kunden oft wenig Wert beigemessen, dabei ist eine kontinuierliche Analyse von Suchbegriffen und eine geeignete Optimierung oft die wichtigste Arbeit, damit die Produkte und Dienstleistungen, für die geworben werden soll, auch wirklich im Internet gefunden werden.

MVC - Model View Controller

MVC ist ein Architekturmuster zur Trennung einer Anwendung in sogenannte Schichten, um die Layout-Steuerung vom Programmcode zu trennen. Erst solche Projekte sind flexibel, wenn es um Layoutänderungen, übersetzte Webseiten, Implementierung von neuen Funktionalitäten oder der Arbeitsteilung im Team geht.

Ajax / jQuery / Web 2.0

Um benutzerfreundliche Funktionalität und dynamische Layouteffekte auf Internetseiten zu implementieren, werden die wichtigsten Web-2.0-Techniken wie Ajax und jQuery als Lösung und Framework verwendet.

SOAP / WSDL

Um mit anderen Anwendungen und/oder Diensteanbietern über ein Protokoll unverschlüsselt oder verschlüsselt kommunizieren zu können, um z.B. automatisiert Bestellungen zu verarbeiten, kann das weitverbreitete Protokoll SOAP, das auf XML basiert, verwendet werden. Alle modernen Programmiersprachen unterstützen SOAP nativ und somit können Anwendungen verschiedenster Art mit einer Webseite kommunizieren oder umgekehrt.