Archive for 2011
PHP Clouds und Platform as a Service (PaaS): cloudControl
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 »
PHP Clouds und Platform as a Service (PaaS): Übersicht
„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.
Diskrete begrenzte Glockenkurven-Verteilung?
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.
Linkpool Nummer 15
http://www.incloud.de/blog/2011/02/programming-professional-javascript-while-staying-sane
http://karrierebibel.de/suchthilfe-25-anzeichen-dass-sie-social-media-abhangig-sind/
http://www.dotdeb.org/2011/01/31/lets-monitor-your-php-applications-with-pinba/
http://www.harrieverveer.com/2011/02/01/benchmarking-xdebug/
SQL Injection:
Bild von http://bullshit.tumblr.com/post/3208223711/jacobjoaquin-r03-urban-sql-injection
Welche PHP-Feeds habt ihr in eurem Reader?
Da ich immer auf der Suche bin nach tollen Web-Blogs und speziell PHP-Artikeln (egal ob deutsch oder englisch) frage ich doch mal hier in die Runde nach eurer Liste der Feeds, die ihr gern lest.
Ich fasse dann alle hier oben zusammen, damit ihr euch auch interessante raussuchen könnt die ihr noch nicht kennt.
Weiterlesen »