PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for Februar, 2011

Slides der PHP Unconference Europe 2011 in Manchester

with 4 comments

Ich habe schwer überlegt, nach Manchester zu fliegen und an der europäischen PHP Unconference teilzunehmen, die Hamburger Unconference ist ja ein Highlight jedes Jahr. Doch Kosten von knapp 250 Euro (Flüge, Hotelzimmer, Eintritt etc.) für 2 Tage haben mich dann doch abgeschreckt. Man merkte auch deutlich, dass die Resonanz recht gering war, die Tickets waren auch Wochen nach dem Start des Ticketverkaufs noch zu haben, beim Hamburger Event sind sie nach wenigen Tagen vergeben.

Nichts desto trotz hier die Agenda inklusive Links zu den Präsentationen, die ich gefunden habe. Wie auf einer Unconference üblig gab es viele Diskussionen oder improvisierte Talks, zu denen es keine Slides gibt:

Feb 19, 2011

Real Single Sign On (SSO)
Oliver Mueller
Wiki Eintrag

Speaking Tips for Developers
Lorna Mitchell

Dealing with Errors
James
Wiki Eintrag

Template-Based DOCX, DOC & PDF Generation with Zend Framework
Jonathan Maron

Memory Management, Garbage Collection, destruct(), debugging memory
Derick Rethans and James Baster
Wiki Eintrag

Clean Code: Stop wasting my time
Volker Dusch

Running a Project with Github
Lorna Mitchell

Web-Site Performance: Getting the Page to Appear Quickly
Jonathan Maron

Tools for Code Audit
Lorna Mitchell

PHPDox – an alternative to PHPDocumentor
Kore Nordman

Feb 20, 2011
Weiterlesen »

Written by Michael Kliewe

Februar 27th, 2011 at 12:46 pm

Posted in PHP

Tagged with , ,

PHP Clouds und Platform as a Service (PaaS): cloudControl

with 6 comments

Wie bereits gestern in der PHP-PaaS-Übersicht angekündigt hier nun die Nutzung eines PHP-PaaS-Dienstes anhand von cloudControl, dem aktuell einzigen am Markt befindlichen Anbieter für PHP-Clouds (2 weitere stehen bereits in den Startlöchern, siee Übersicht). Ein weiterer Vorteil ist dass cloudControl eine deutsche Firma ist und aktuell auf den Amazon EC2 Servern in Irland hostet, und mit Servern in der EU hat man tendentiell weniger rechtliche Probleme als außerhalb.

Dann mal los, wir wollen als Beispiel hier ein kleines Script deployen damit es online verfügbar ist. Es geht natürlich genauso mit größeren eigenen Applikationen oder WordPress-Installationen, Typo3, was auch immer, solange die technischen Einschränkungen uns keinen Strich durch die Rechnung machen. Mein kleines Script soll einfach nur die Serverzeit als JSON zurückgeben:

<?php
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');

echo json_encode(array('serverTime' => time()));

Je nach Betriebssystem muss man nun die benötigten Tools installieren, eine Anleitung für Windows, Mac OS X und Linux ist vorhanden und leicht durchzuführen. In meinem Fall habe ich Windows und brauche nur den cctrl Kommandozeilen Client für cloudControl installieren, Git und Putty sind bereits vorhanden.

Was wir als erstes benötigen ist ein Account bei cloudControl. Nach nicht mal 30 Sekunden ist der Account erstellt und aktiviert, es kann losgehen. Alternativ kann man das auch mit dem Kommandozeilen Client erledigen:

cctrluser create
cctrluser activate <username> <activationcode>

Dann benötigen wir einen SSH-Key, den wir mit puttygen.exe erstellen (genaue Schritte siehe Anleitung für das entsprechende Betriebssystem).

Den public Key fügen wir dann dem cloudControl Account hinzu:
Weiterlesen »

Written by Michael Kliewe

Februar 23rd, 2011 at 10:40 am

Posted in PHP

Tagged with , ,

PHP Clouds und Platform as a Service (PaaS): Übersicht

with 6 comments

„Claudia hat in der Cloud Klaus das Herz geklaut“. Die Cloud ist mittlerweile kein reiner Hype mehr, sondern scheint sich zu manifestieren, und es gibt mehr und mehr Anbieter mit interessanten Angeboten, wo in bestimmten Situationen eine Cloud Sinn macht. Wir sollten uns aber klar machen, dass die Cloud nicht die Lösung für alles ist, denn es gibt technische und (datenschutz) rechtliche Probleme und Beschränkungen.

Die Cloud-Angebote kann man grob in 3 Teilbereiche gliedern:

  • Infrastructure-as-a-Service (IaaS): Der Anbietet gibt mir Hardware soviel ich möchte, und damit kann ich anfangen was ich möchte. Ich darf (bzw. muss) mit das Betriebssystem selbst installieren und kann tun was immer ich möchte. Es gibt häufig fertig vorkonfigurierte Images, die als Startpunkt dienen.
  • Platform-as-a-Service (PaaS): Der Anbieter gibt mir Zugriff auf eine Umgebung, in der ich mich nicht um das Betriebssystem kümmern muss, sondern nur meine Software hochladen muss damit sie läuft. Diese Anbieter sind spezialisiert auf eine bestimmte Programmiersprache (.NET, Python, Java, PHP), und ich erhalte beispielsweise einen klassischen LAMP-Stack inklusive Datenbank-Diensten.
  • Software-as-a-Service (SaaS): Der Anbieter gibt mir Zugriff auf eine bestimmte Software, die ich nutzen kann. Ich habe keinen Zugriff auf die darunter liegenden Schichten, kann also nur die Software nutzen, sonst nichts, um alles andere kümmert sich der Anbieter.

Weiterlesen »

Written by Michael Kliewe

Februar 23rd, 2011 at 10:36 am

Posted in PHP

Tagged with , , ,

Diskrete begrenzte Glockenkurven-Verteilung?

with 22 comments

An der Überschrift kann man schon erkennen dass ich nicht genau weiß wie der Terminus lautet, zu dem ich eine Lösung suche. Ich versuche es mal zu erklären:

Ich habe einen Zahlenbereich, beispielsweise die ganzen Zahlen zwischen 10 und 15 (beide inklusive). Nun benötige ich eine Funktion, um einen Zufallswert in diesem Bereich zu erhalten, der aber „normalverteilt“ sein soll. Klarer wird es vielleicht mit Hilfe zweier Beispielgrafiken:

Beispiel 1:

Beispiel 2:

Im zweiten Beispiel soll also zu 30% die Zahl 3 zurückgeliefert werden, zu jeweils 20% die 2 oder 4 usw.

Ich benötige also eine Funktion, der ich einen Minimal- und einen Maximalwert übergebe, und ich erhalte eine Zahl aus dem Bereich, jedoch „glockenkurvenverteilt“, sprich die mittleren Werte haben eine höhere Wahrscheinlichkeit, zurückgegeben zu werden.

Irgendwie ist das mit der Gauss’schen Glockenkurve verwandt, allerdings ist die Gaussverteilung nicht „nach rechts und links“ begrenzt und liefert zu einem gegebenen X einen Y-Wert. Ich benötige einfach nur Zufallszahlen.

Meine erste (und bisher einzige) Idee ist die folgende (siehe auch auf GitHub):

https://github.com/PHPGangsta/RandomDiscreteGaussianNumbers/blob/master/script1.php

Es werden also Zufallszahlen aus dem Bereich ermittelt, und davon der Durchschnitt errechnet. Mit Hilfe der $_iterations kann ich die Kurve flacher oder steiler machen (beispielsweise liefert $_iterations=50 nur noch die Zahlen 3 und 4). Nach wie vor weiß ich aber nicht den Fachbegriff für das Problem und wie normalerweile ein Algorithmus dazu aussieht.

Written by Michael Kliewe

Februar 21st, 2011 at 9:56 am

Posted in PHP

Tagged with , ,

Linkpool Nummer 15

with 2 comments

Written by Michael Kliewe

Februar 20th, 2011 at 12:35 pm

Posted in Javascript,PHP

Tagged with , ,