Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/w00af25d/index.php:1) in /www/htdocs/w00af25d/wp-includes/feed-rss2.php on line 8
SemanticBlog » Programming http://www.semanticblog.eu Analytics of web innovation Tue, 27 Dec 2011 20:46:46 +0000 en hourly 1 http://wordpress.org/?v= Interessante Einsichten über Motivationsfaktoren am Arbeitsplatz http://www.semanticblog.eu/2011/12/06/interessante-einsichten-uber-motivationsfaktoren-am-arbeitsplatz/ http://www.semanticblog.eu/2011/12/06/interessante-einsichten-uber-motivationsfaktoren-am-arbeitsplatz/#comments Tue, 06 Dec 2011 13:43:24 +0000 Christian http://www.semanticblog.eu/?p=1823




Interessante Einsichten über Motivationsfaktoren am Arbeitsplatz
[youtube width="325" height="287"]http://www.youtube.com/watch?v=u6XAPnuFjJc[/youtube]


]]>
http://www.semanticblog.eu/2011/12/06/interessante-einsichten-uber-motivationsfaktoren-am-arbeitsplatz/feed/ 0
Google+ Ein kurzer Blick auf das neue soziale Netzwerk http://www.semanticblog.eu/2011/07/11/google-ein-kurzer-blick-auf-das-neue-soziale-netzwerk/ http://www.semanticblog.eu/2011/07/11/google-ein-kurzer-blick-auf-das-neue-soziale-netzwerk/#comments Mon, 11 Jul 2011 20:51:54 +0000 Christian http://www.semanticblog.eu/?p=1813

Ein kleines Video über google+. Wer Interesse daran hat teilzunehmen, möge mir eine eMail an info ät semanticblog.eu schicken.
Um teilnehmen zu können ist ein Konto bei Google erforderlich.

[youtube width="325" height="287"]http://www.youtube.com/watch?v=xwnJ5Bl4kLI[/youtube]

]]>
http://www.semanticblog.eu/2011/07/11/google-ein-kurzer-blick-auf-das-neue-soziale-netzwerk/feed/ 0
Event bubbling im DOM-Baum mit jquery verhindern http://www.semanticblog.eu/2011/01/26/event-bubbling-im-dom-baum-mit-jquery-verhindern/ http://www.semanticblog.eu/2011/01/26/event-bubbling-im-dom-baum-mit-jquery-verhindern/#comments Wed, 26 Jan 2011 12:06:10 +0000 Christian http://www.semanticblog.eu/?p=1424

Wieder was gelernt. Falls Sie Probleme mit Event Bubbling haben, kann dies verhindert werden.
Am einfachsten ist es eine neue css-Klasse anzulegen und mit event.stopPropagation() zu arbeiten.

HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="style.css" media="screen" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript" src="functions.js"></script>
</head>
<body>
<table align="center">
<tr onClick='function1()'>
<td onClick='function2()'>
<div class="content">Click me ... (event bubbling)</div>
</td>
<td onClick='function2()' class="prevent-event-bubbling">
<div class="content">Click me... (no event bubbling)</div>
</td>
</tr>
</table>
</body>
</html>

Javascript:

function function1(){
alert('tr event');
}

function function2(){
alert('td event');
}

$(document).ready(function() {
$(".prevent-event-bubbling").each(function() {
$(this).click(function(e) {
e.stopPropagation();
});
});
});

Hintergrund: jQuery API
Download Source Code.

]]>
http://www.semanticblog.eu/2011/01/26/event-bubbling-im-dom-baum-mit-jquery-verhindern/feed/ 0
Ruby 1.9.2 und Rails 3.0 unter Ubuntu 10.10 installieren [HD] http://www.semanticblog.eu/2011/01/06/ruby-1-9-2-und-rails-3-0-unter-ubuntu-10-10-installieren-hd/ http://www.semanticblog.eu/2011/01/06/ruby-1-9-2-und-rails-3-0-unter-ubuntu-10-10-installieren-hd/#comments Thu, 06 Jan 2011 12:04:02 +0000 Christian http://www.semanticblog.eu/?p=1397




Das Video erklärt die Installation von Ruby 1.9.2 und Rails 3.0 unter Ubuntu:
[youtube width="325" height="287"]http://www.youtube.com/watch?v=NmWYZVUln4E&hd=1[/youtube]



]]>
http://www.semanticblog.eu/2011/01/06/ruby-1-9-2-und-rails-3-0-unter-ubuntu-10-10-installieren-hd/feed/ 0
YouTube HTML5 http://www.semanticblog.eu/2010/12/12/youtube-html5/ http://www.semanticblog.eu/2010/12/12/youtube-html5/#comments Sun, 12 Dec 2010 16:50:35 +0000 Christian http://www.semanticblog.eu/?p=1332

HTML5 ein neuer Web-Standard, der rasch immer beliebter wird und mit einer Reihe neuartiger Features aufwartet. Vor allem für YouTube-Nutzer interessant ist die HTML5-Unterstützung der Video- und Audio-Wiedergabe. Auch Linux-Benutzer dürften sich über dieses Funktionalität freuen, da Flash unter Linux oftmals ein großer Performancefresser ist.
Der neue Standard erlaubt Nutzern mit einem kompatiblen Browser die ordnungsgemäße Wiedergabe von Audio-und Videocodecs, ohne dass ein Browser-Plugin heruntergeladen werden muss. Flash wird demzufolge in Zukunft für die Videowiedergabe nicht mehr in dem Maße erforderlich sein, wie es heute der Fall ist.
Bei YouTube ist die HTML5-Unterstützung noch im Experimentalstadium und es gibt einige Einschränkungen zu beachten. Es werden zur Zeit keine Videos mit Werbung, Beschriftungen oder Anmerkungen unterstützt.

Es können alle Browser benutzt werden, die das Video-Tag in HTML5 implementiert haben und entweder den h.264-Videocodec oder das WebM-Format unterstützen. Zu diesen zählen beispielweise:

Der YouTube HTML5 Videoplayer ist unter http://www.youtube.com/html5 zu finden.



]]>
http://www.semanticblog.eu/2010/12/12/youtube-html5/feed/ 0
FizzBuzz – Programmieraufgaben bei Einstellungstests http://www.semanticblog.eu/2010/12/08/fizzbuzz-programmieraufgaben-bei-einstellungstests/ http://www.semanticblog.eu/2010/12/08/fizzbuzz-programmieraufgaben-bei-einstellungstests/#comments Wed, 08 Dec 2010 21:08:57 +0000 Christian http://www.semanticblog.eu/?p=1311

Welche Fragen sollten bei einem Einstellungstest für Programmieranfänger gestellt werden?
Diese Frage wurde in abgewandelter Form vor einiger Zeit von Jeff Atwood gestellt.
Er vertritt die Meinung, dass Anfänger in der Lage sein sollten, einfache Probleme zu lösen.

Der FizzBuzz-Test ist so ein einfaches Problem, dass in ungefähr zehn bis fünfzehn Minuten lösbar sein sollte.
Die Aufgabe lautet folgendermaßen:

Schreibe ein Programm, dass die Zahlen von eins bis einhundert ausgibt.
Dabei sind drei Dinge zu beachten:
a) Wenn eine Zahl ein Vielfaches von Drei ist, soll “Fizz” ausgegeben werden.
b) Wenn eine Zahl ein Vielfaches von Fünf ist, soll “Buzz” ausgegeben werden.
c) Ist die Zahl sowohl ein Vielfaches von Drei als auch Fünf, soll die Ausgabe “FizzBuzz” lauten.

Es gibt unterschiedlichste Möglichkeiten, diese Aufgabe zu lösen. Anbei einige Beispiele in Java, PHP und Ruby:

Java:

package fizzbuzz;

public class Main {

public static void main(String[] args) {
fizzBuzzStart();
}

public static void fizzBuzzStart(){

for(int i = 1; i <101; i++ ){

if( (i%5 == 0) &amp;amp;amp;&amp;amp;amp; (i%3 == 0) ){
printFizzBuzz();
continue;
}

if(i%3 == 0){
printFizz();
continue;
}

if(i%5 == 0){
printBuzz();
continue;
}

System.out.println("Number:" + i);

}
}

public static void printFizz(){
System.out.println("Fizz");
}

public static void printBuzz(){
System.out.println("Buzz");
}

public static void printFizzBuzz(){
System.out.println("FizzBuzz");
}
}
}

PHP: Nachfolgend eine möglich Lösung in PHP:

<?php
class FizzBuzz{
private static $i = 1;

public static function start($startvariable){
self::$i = $startvariable;

$flag_fizz_buzzed = true;
while(self::$i < 101){

if( ((self::$i % 5) == 0) and ((self::$i %3) == 0)){
self::printFizzBuzz();
$flag_fizz_buzzed = false;
}

if( ((self::$i % 3) == 0) and $flag_fizz_buzzed){
self::printFizz();
$flag_fizz_buzzed = false;
}

if( ((self::$i % 5) == 0) and $flag_fizz_buzzed){
self::printBuzz();
$flag_fizz_buzzed = false;
}

if($flag_fizz_buzzed){
echo "Number: " . self::$i ."\n";
}

self::$i++;
$flag_fizz_buzzed = true;
}
}

public static function printFizz(){
echo "Fizz\n";
}

public static function printBuzz(){
echo "Buzz\n";
}

public static function printFizzBuzz(){
echo "FizzBuzz\n";
}

}

echo "***run 1 starting***\n";
fizzBuzz::start(1);
echo "***run 1 finished***\n";

echo "***run 2 starting***\n";
fizzBuzz::start(1);
echo "***run 2 finished***\n";
?>

Ruby: In Ruby existiert ein gem, welches verschiedene Lösungen enthält:
Dieses sollte zuerst installiert werden: sudo gem install fizzbuzz

require 'rubygems'
require 'fizzbuzz'
puts fizzbuzz

Quellen:

]]>
http://www.semanticblog.eu/2010/12/08/fizzbuzz-programmieraufgaben-bei-einstellungstests/feed/ 1
JQuery-Portierung nach PHP http://www.semanticblog.eu/2010/10/09/jquery-portierung-nach-php/ http://www.semanticblog.eu/2010/10/09/jquery-portierung-nach-php/#comments Sat, 09 Oct 2010 11:29:12 +0000 Christian http://www.semanticblog.eu/2010/10/09/jquery-portierung-nach-php/

Bei Google Code findet sich eine JQuery-Portierung nach PHP http://code.google.com/p/phpquery/.
Wer viel auf der Clientseite mit JQuery gearbeit hat, wird sicherlich Gefallen an dieser Bibliothek finden, wenn es darum geht mit Content fremder Seiten zu arbeiten.

Ein Biespiel findet sich hier: Mit Hilfe von phpquery fremde Seiten verarbeiten

Die Software ist auch über pear installierbar.

]]>
http://www.semanticblog.eu/2010/10/09/jquery-portierung-nach-php/feed/ 0
Neurale Netzwerke in PHP http://www.semanticblog.eu/2010/03/11/neurale-netzwerke-in-php/ http://www.semanticblog.eu/2010/03/11/neurale-netzwerke-in-php/#comments Thu, 11 Mar 2010 12:34:08 +0000 Christian http://www.semanticblog.eu/2010/03/11/neurale-netzwerke-in-php/




Bei phpclasses.org ist vor Kurzem ein interessanter Artikel zum Thema Neurale Netzerke und PHP veröffentlicht worden.
Ein Beispiel zu diesem Artikel findet sich hier. Die zugehörige Bibliothek kann bei neuralmesh downgeloaded werden.

]]>
http://www.semanticblog.eu/2010/03/11/neurale-netzwerke-in-php/feed/ 0
HipHop für PHP – Facebook entwickelt Software zur Beschleunigung von PHP http://www.semanticblog.eu/2010/02/04/hiphop-php-facebook-software-beschleunigung/ http://www.semanticblog.eu/2010/02/04/hiphop-php-facebook-software-beschleunigung/#comments Thu, 04 Feb 2010 19:34:44 +0000 Christian http://www.semanticblog.eu/?p=1181

Einem Blogeintrag bei Facebook Developers von Haiping Zhao zufolge hat Facebook eine Software zur Beschleunigung von PHP entwickelt.

Die Software namens HipHop transformiert PHP-Quellcode in C++. Der so neu entstandene Sourcecode kann danach mit einem C++-Compiler in hoch optimierten Maschinencode umgewandelt und ausgeführt werden. HipHop enthält neben einem Modul zur Transformation des Sourcecodes eine Neuimplementierung der PHP-Runtime. Weiterhin wurden die wichtigsten Erweiterungen von PHP neu geschrieben und können ebenfalls mit HipHop genutzt werden.

Die Vorteile liegen auf der Hand. PHP ist einfach zu lernen und C++ sehr schnell. Mit dieser Vorgehensweise könnten in Zukunft Server besser und weniger ressourcenintensiv genutzt werden. Die Software soll als Open-Source Projekt bei github veröffentlicht werden. Gefunden habe ich sie da jedoch noch nicht :-( .

Reblog this post [with Zemanta]
]]>
http://www.semanticblog.eu/2010/02/04/hiphop-php-facebook-software-beschleunigung/feed/ 0
Statistiken über SVN-Repositories http://www.semanticblog.eu/2010/02/03/statistiken-svn-repositories-loc/ http://www.semanticblog.eu/2010/02/03/statistiken-svn-repositories-loc/#comments Wed, 03 Feb 2010 19:39:01 +0000 Christian http://www.semanticblog.eu/?p=1056

Softwareentwickung ist im Grunde allein von der technischen Seite betrachtet kompliziert genug, doch es schweben immer mindestens zwei Fragen im Raum, welche mir bisher noch niemand genau beantworten konnte:

  • a) Wie lange wird es dauern, bis die Software fertiggestellt ist und fehlerfrei arbeitet?
  • b) Wieviel wird der Spaß kosten?

Viele Projektmanager, benutzten die Pi-Mal-Daumen Methode. Diese ist zwar meist verbunden mit einer genauen Spezifizierung und Analyse der Module, welche zu erstellen sind, aber ganz zum Schluß wird das Ergebnis mit dem Pi-Mal-Daumen-Faktor multipliziert, der zwischen 100% und 200% Prozent liegt. Nach Erfahrung des Projektleiters und natürlich der Größe des Projekts, der momentanen Konkurrenzsituation und der Art beziehungsweise dem Budget des Kunden, versteht sich.
Komplexere existierende Verfahren sind (für kleinere Projekte ) meist sehr zeitaufwändig. Doch dieser Einsatz ist erforderlich, um für größere Softwareprojekts die Dauer und die Kosten im Vorfeld berechnen oder zumindest schätzen zu können. Einige der gängigen Verfahren sind in der nachfolgenden Tabelle kurz beschrieben.

Methode Beschreibung Voraussetzungen Einsatzgebiet Aufwand Qualität der Ergebnisse
Delphi-Methode, Schätzklausur Gewinnung von Information durch Mehrfachbefragung Fachleute aus unterschiedlichen Gebieten große Projekte groß genau
Analogiemethode Vergleich ähnlicher Projekte zur Aufwandsschätzung Datensammlung bereits abgeschlossener Projekte Zu Beginn eines Projekts mittel eher ungenau
Function-Point-Methode Fachliche Anforderungen, Erfahrungswerte unter Berücksichtigung fest definierter Einflussfaktoren Messwerte große Projekte groß sehr genau
COCOMO2 Entwicklungsaufwand wird durch die Anzahl der Lines of Code (LOC) ermittelt. Der Basisaufwand wird mit Kostenfaktoren multipliziert. Messwerte große Projekte groß genau

Zumindest bei Cocomo2 und der Analogiemethode spielt die Größe eines Projektes – ausgedrückt in Lines of Code eine direkte oder indirekte Rolle.
Diese Metrik läßt sich für bestehende Projekte einfach ermitteln um für ähnliche Folgeprojekte eine Abschätzung der Größe zu treffen.
Ein interessantes Open-Source-Tool um dies zu bewerkstelligen ist statsvn.

Hierf muss sowohl java, als auch svn installiert sein. Eine Anleitung findet sich in der statsvn-wiki. Falls git benutzt wird, gibt es Möglichkeiten, die entprechenden Repositories zu exportieren und
später wieder in svn zu importieren.

Reblog this post [with Zemanta]
]]>
http://www.semanticblog.eu/2010/02/03/statistiken-svn-repositories-loc/feed/ 0