International Php Conference und Webtec Conference 2012 – Tag 3

Nach dem etwas schwächeren Tag gestern, hoffe ich, dass es heute am dritten und letzten Tag nochmal richtig gut wird.

Entwurfsmuster für mobile Javascript-Web-Apps
angular.js dient unter anderem zum Databinding, also der Verbindung zwischen DOM und Controller oller.
$scope wird zur Überwachung des Scopes benutzt anstatt this.
JQuery Mobile Angular Adapter koordiniert JQuery und angular.js.
Angular.js bietet auch DI mithilfe von Modulen und Factories.

Authentication with OAuth
Der komplette Request wird mit dem Consumer Secret als Salt gehasht und auf beiden Servern verglichen. Da dieses nur auf den beiden Servern bekannt ist, kann kein Man in the Middle erfolgen.
Das Access Token wird nach Anmeldung des Users auf dem Fremdserver und erneuter Server to Server Kommunikation erstellt.
Wird meist im Authentication http Header gesendet.
OAuth 1 hat das Problem, dass das Secret (schlecht zu. B. für Javascript) benötigt wird und dass es Browser Redirects gibt. Ausserdem ist die Normalisierung der Parameter vor der Hash Berechnung schwierig.
Bereits 31 Drafts für OAuth 2. Jetzt ist es final.
Neuheiten:
– Profile für verschiedene Clients
– keine Token Secrets
– einfacherer Flow
– SSL / TLS standardmäßig
– keine Signaturen, sondern Bearer Tokens
OAuth 2 Access Tokens sind nicht sehr langlebig. Daher wird meist noch ein Refresh Token mitgeliefert, mit welchem man sich ja ein neues Access Token holen kann.
Der State Parameter ist ein Random Parameter der beim Client gespeichert werden und nach der Authentifizierung wieder verglichen werden sollte um CSRF zu verhindern.
Im Javascript UserProfile gibt es kein Secret und das Access Token wird hinter das # geschrieben und so nie an den Server gesendet.
Die Same Origin Policy lässt sich mit Hilfe von JSONP umgehen.

The longest Journey – from Core to User
Mehr kleinere Requests in der Zukunft.
Daher Microframework.
Verteilte Businesslogic in Client und Server sind ein Wartungsproblem.
DevOps gerade wegen dem Cloud Hype weiterhin sehr wichtig.
Javascript als einziger Sprache, die in nahezu allen Clients funktioniert, wohl die Hype Sprache der nächsten Zeit.
Php hat realisiert, dass der Output mehr und mehr nicht HTML sondern z. B. JSON ist. Daher mehr in diese Richtung.
Im agilen Bereich müssen kombinierte Teams mit Entwicklern, Testern, Designer gebildet werden und man muss aufeinander zugehen, dass z. B. Designer das Html erstellen können.
Auf der anderen Seite muss vorallem der inkrementelle Ansatz durchgesetzt werden, dass zuerst eine funktionierende Basis Implentierung deployed wird. Auf dieser wird getestet, ob etwas funktioniert und dann inkrementell weiter entwickelt.

Die optimale Build-Pipeline
Anforderungen:
– Unabhängigkeit
– einfache Konfiguration
– erweiterbar
– Integration bekannter Tools
– Dependancy Management
– Unabhängigkeit
Das perfekte Build System gibt es nicht.
Maven erfüllt viele der Anforderungen.
Ant-Build-Commons als neues Projekt, dass alle Anforderungen erfüllen soll für PHP Projekte.
Auf Basis von Ant.
Konfiguration und Software Lebenszyklus nach Vorbild von Maven.
Viele Plugins.
http://abc.tools.qafoo.com

The dark side of traits
Die Aufgabe von Traits ist die Auslagerung von Boilerplate Code, welcher u. A. durch Komposition entsteht.
Ausserdem lässt sich z. B. das Singleton oder Observer Pattern in einen Trait auslagern.
Damit können solche Klassen private Methoden eines Traits überschreiben, ohne das man es zwingend merkt.
Eine Möglichkeit ist es wahrscheinlich alle Trait Methoden als final zu markieren.
Die Testbarkeit sinkt durch die Verwendung von Traits.
Eine gute Verwendung ist die Kombination aus Trait für den Boilerplate Code und Komposition für die eigentliche Funktionalität.
Sollten mit Interfaces kombiniert werden.

Agile Management Dashboard – Not only a Management Gaming Board
Die Velocity eines Teams wird nach einer gewissen Zeit stabil.
Aggregation der Scrum Metriken.
KPIs:
Happiness Index – Tag Zufriedenheit mit der Firma und dem Team. < alle 2 Wochen. Zusätzlich noch die Frage nach dem was macht dich zufrieden bzw unzufrieden. Inkl. der Wahlbeteiligung. Product Focus - Verhältnis zwischen der max. Zeit inkl. Offener Stellen in Relation zu der Zeit, die wirklich am Produkt gearbeitet wird. Qualität Performance Indikator - zusammengesetzt aus QA Zahlen: z. B. Coverage,... Jedes Team darf sich die Gesichtspunkte aussuchen. Liefert lediglich eine Tendenz über die Zeit. Nicht vergleichbar. Function Points - funktionale Komplexität, auch über die Zeit als Tendenz Business Value - Als Estimation innerhalb der PO, mit Poker. Inkl. Einer Metrik zur Erfolgsmessung. Dies wird vor und nach der Entwicklung durchgeführt. Kennzahlen zeigen Tendenz und sollen zur Kommunikation anregen. Fazit
Leider hat auch der dritte Tag nicht die Qualität des ersten erreichen können. Ich denke auch, dass 3 Tage fast zu lange sind und 2 Tage, dafür qualitativ hochwertiger, die bessere Alternative wären.
Gerade auch die Keynotes sind ziemlich überflüssig, meiner Meinung nach.
In PHP können private Methoden von Traits von implementierenden Klasse aufgerufen werden.

GD Star Rating
loading...

Kommentar verfassen