Einige einfache Methoden wie man E-Mail Links schützen kann. Aber die richtig guten Ideen sind dann in einem Kommentar-Link zu finden.
E-Mail Links wirksam schützen
February 18, 2010
- Programming, Tech
- 0 Comments
Google Closure Compiler with PHP
Today Google released their new Closure Compiler, you can use it to optimize and minify your javascripts.
November 7, 2009
- Programming, Tech
- 11 Comments
PHP 5.3 fertig!
Die neue PHP Version ist nun endgültig fertig und freigegeben. Zu den neuen Funktionen gehören Closures, Funktionsobjekte und Lambda-Funktionen, die native MySQL Library, namespaces und late static binding. Aber für mich am wichtigsten sind die Performance-Verbesserungen, PHP 5.3 wird ca. 1,5x so schnell sein wie 5.2 und durch den neuen Garbage Collector deutlich weniger Speicher verbrauchen.
June 30, 2009
- Programming, Tech
- 0 Comments
Einstieg: Zend_Service_Twitter
Einen eigenen Twitter-Client schreiben geht mit der richtigen Library ganz schnell. Im aktuellen Zend Framework ist die Komponente Zend_Service_Twitter enthalten die sehr einfach zu verwenden ist.
Zuerst mal anmelden und die Daten des angemeldeten Benutzers ausgeben:
require_once 'Zend/Service/Twitter.php'; $twitter = new Zend_Service_Twitter($username, $password); if ($user = $twitter->account->verifyCredentials()) { foreach($user as $k => $v) { echo "$k: $v<br />"; } }
Die Leute denen man folgt inkl. Bild und Link ausgeben:
foreach($twitter->user->friends() as $user) { printf('<div class="l"><a href="http://twitter.com/%s"><img width="48" height="48" src="%s" /></a></div>', $user->screen_name, $user->profile_image_url); }
Und so einfach kann man seine eigenen Replies ausgeben lassen:
foreach($twitter->status->replies() as $message) { echo "<div>"; printf('<a href="http://twitter.com/%s"><img width="48" height="48" src="%s" /></a><p>%s %s</p>', $message->user->screen_name, $message->user->profile_image_url, $message->text, $message->created_at); echo "</div>"; }
Für so ziemlich alles gibt es bereits die Methoden die man nur mehr aufrufen muss und dann SimpleXML-Objekte zurückbekommt. Ein etwas größeres Beispiel könnt ihr unter folgenden URL finden: http://bohuco.net/dev/twitter.php
Natürlich werden die Twitter-Zugangsdaten nicht mitgespeichert! (siehe Quelltext)
June 14, 2009
- Programming, Tech
- 0 Comments
LOC and Author Stats with Subversion
Very, very simple author and LOC statistic with Subversion blame function and PHP. So you can see how many lines are already in the repository and which user coded it.
[sourcecode language="php"]
// include only this folders
$dirs[] = '/var/www/portal/application';
$dirs[] = '/var/www/portal/html/scripts/k2';
$dirs[] = '/var/www/portal/html/scripts/service';
$dirs[] = '/var/www/portal/html/styles';
// function from php.net
function listFiles( $from = '.') {
if(! is_dir($from))
return false;
$files = array();
$dirs = array( $from);
while( NULL !== ($dir = array_pop( $dirs))) {
if( $dh = opendir($dir)) {
while( false !== ($file = readdir($dh))) {
if( $file == '.' || $file == '..')
continue;
$path = $dir . '/' . $file;
if( ! is_dir($path)) {
$ext = substr($file, strrpos($file, '.')+1);
// include file extensions
if (in_array($ext, array('html','php','phtml','inc','js','css'))) {
$files[] = $path;
}
} else {
// exclude subdirs
if (! in_array($file, array('fckeditor'))) {
$dirs[] = $path;
}
}
}
closedir($dh);
}
}
return $files;
}
$files = array();
foreach($dirs as $dir) {
$files = array_merge($files, listFiles($dir));
}
$stats = array();
foreach($files as $file) {
$tmpFile = '/tmp/blame.tmp';
exec("svn --non-interactive --username myuser --password mypass blame $file > $tmpFile”, $o, $r);
$output = file($tmpFile);
foreach($output as $line) {
$parts = split(‘[ ]‘, trim($line));
$author = $parts[1];
if (! isset($stats[$author])) {
$stats[$author] = 0;
}
$stats[$author]++;
}
}
var_dump($stats);
var_dump(count($files));
[/sourcecode]
January 23, 2009
- Programming, Tech
- 0 Comments
Zend Framework 1.7 released
Wohhh … da geht was weiter … schon wieder ein neues Release von Zend Framework. Mit Twitter und jQuery Support. Da hab ich schon wieder was zu tun die nächsten Abende.
Außerdem gibt’s einen neuen Performance-Guide in der Doku.
November 26, 2008
- Programming, Tech
- 0 Comments
PHP Arrays: "power set" and all permutations
Found in the online-version of PHP Cookbook from O’Reilly.
“Power set” = combinations of all or some elements
On one of our development servers (php 5.2.0) we had a problem with the original version of this function, it looked like an endless loop till memory limit exceeded. Here is the rewritten version from Srdjan:
[sourcecode language='php']
public function powerSet($array) {
$results = array(array());
foreach ($array as $j => $element) {
$num = count($results);
for($i=0; $i<$num; $i++) {
array_push($results, array_merge(array($element), $results[$i]));
}
}
return $results;
}
[/sourcecode]
All permutations
[sourcecode language='php']
function pc_permute($items, $perms = array( )) {
if (empty($items)) {
print join(‘ ‘, $perms) . “\n”;
} else {
for ($i = count($items) – 1; $i >= 0; –$i) {
$newitems = $items;
$newperms = $perms;
list($foo) = array_splice($newitems, $i, 1);
array_unshift($newperms, $foo);
pc_permute($newitems, $newperms);
}
}
}
[/sourcecode]
November 4, 2008
- Programming, Tech
- 0 Comments
PHP Support for Google App Engine
Google hat ja bereits neue Runtime Engines angekündigt jetzt gehts nur mehr darum welche am meisten gebraucht werden. Dazu gibts bereits ein Issue auf Google Code, am besten gleich “starren” damit Google sieht wie notwendig die PHP Unterstützung gebraucht wird.
October 30, 2008
- Programming, Tech
- 0 Comments
PHPler werden …
… ein Vollzeit Profi in einem Angestelltenverhältnis, ohne Freizeit dafür mit sattem, stattlichem, magerem, durchschnittlichen, überdurchschnittlichen Gehalt und interessanten Aufgaben. beziehungsweise aus der anderen Perspektive … einen zukünftigen PHPler finden der seine Aufgaben schnell und zuverlässig erledigt, ins Team passt, nicht zuviel kostet und überdurchschnittlich engagiert ist. Beides sicher lösbare Aufgaben, aber je nach Konjunktur- und Ausgangslage ist eine der Beiden mitunter schwerer als die Andere.
Dave Marshall hat einen kurzen Artikel darüber verfasst was ein PHPler können sollte (Hard Facts), mit einigen weiterführenden Links auf joelonsoftware.com der sich immer wieder mal mit dem Recruiting von PHP-Programmierern befasst.
Suche PHPler:
A Field Guide to Developers – SUPER – Warum braucht der Programmierer ein eigenes Büro und anderes Zeugs.
Finding Great Developers – Warum man sehr gute Programmierer nie in den Jobboards findet.
Sorting Resumes – Bewerbungen aussortieren
The Guerrilla Guide to Interviewing – so führt der Joel seine Bewerbungsgespräche.
Hitting the High Notes – warum ist es eigentlich so wichtig gute Programmierer einzustellen?
You Can’t find Programmers? – was tun?
Bin PHPler:
Getting your Resume read
Einige Artikel sind schon Jahre alt und sind trotzdem noch aktuell bzw. vielleicht wieder aktuell. Andere wiederum scheinen aus einem anderen Universum zu sein, wo es ganz viele Bewerber gibt
Auch interessant … 12 Steps to Better Code
September 11, 2008
- Programming, Tech
- 0 Comments
Schrift-Problem adee
facelift (FLIR) ist ein Javascript/PHP-Lösung die on-the-fly Bilder mit Schriftzügen in den gewünschten Schriften erzeugt. FLIR benötigt im Gegensatz zu sIFR, kein Flash. Die Bilder werden serverseitig mittels PHP (GD-Library) erzeugt und dann automatisch in die Seite eingefügt.
August 11, 2008
- Programming, Tech
- 0 Comments