<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DAVID GEBHARDT</title>
	<atom:link href="http://www.davidgebhardt.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidgebhardt.de</link>
	<description></description>
	<lastBuildDate>Fri, 10 May 2013 16:20:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Newsmap.jp</title>
		<link>http://www.davidgebhardt.de/2012/10/newsmap-jp/</link>
		<comments>http://www.davidgebhardt.de/2012/10/newsmap-jp/#comments</comments>
		<pubDate>Thu, 11 Oct 2012 12:24:39 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Generelles]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Information Visualization]]></category>
		<category><![CDATA[Newsmap]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=930</guid>
		<description><![CDATA[Ich möchte Euch kurz meine Entdeckung des Tages vorstellen. Ein Projekt von Marcos Weskamp: Newsmap.jp. Die Beschreibung der Idee bzw. des Projektes bringt den Hintergund auf den Punkt: A treemap visualization algorithm helps display the enormous amount of information gathered &#8230; <a href="http://www.davidgebhardt.de/2012/10/newsmap-jp/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="attachment_931" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.davidgebhardt.de/wp-content/uploads/2012/10/newsmap.jpg"><img class="size-full wp-image-931" title="Newsmap" src="http://www.davidgebhardt.de/wp-content/uploads/2012/10/newsmap.jpg" alt="Newsmap" width="550" height="150" /></a><p class="wp-caption-text">Newsmap</p></div>
<p>Ich möchte Euch kurz meine Entdeckung des Tages vorstellen. Ein Projekt von <a href="http://marumushi.com/projects/newsmap">Marcos Weskamp</a>: <a title="Newsmap.jp" href="http://newsmap.jp/">Newsmap.jp</a>.</p>
<p>Die Beschreibung der Idee bzw. des Projektes bringt den Hintergund auf den Punkt:</p>
<blockquote><p>A treemap visualization algorithm helps display the enormous amount of information gathered by the aggregator. Treemaps are traditionally space-constrained visualizations of information. Newsmap&#8217;s objective takes that goal a step further and provides a tool to divide information into quickly recognizable bands which, when presented together, reveal underlying patterns in news reporting across cultures and within news segments in constant change around the globe.</p>
<p><a title="Newsmap.jp" href="http://newsmap.jp/">Newsmap&#8217;s</a> objective is to simply demonstrate visually the relationships between data and the unseen patterns in news media.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/10/newsmap-jp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rekursives Kopieren von Dateien von Server zu Server (via LFTP/Linux)</title>
		<link>http://www.davidgebhardt.de/2012/09/rekursives-kopieren-von-dateien-von-server-zu-server-via-lftplinux/</link>
		<comments>http://www.davidgebhardt.de/2012/09/rekursives-kopieren-von-dateien-von-server-zu-server-via-lftplinux/#comments</comments>
		<pubDate>Sat, 22 Sep 2012 13:20:45 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Generelles]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Kopieren]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Serverumzug]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=924</guid>
		<description><![CDATA[Nachdem ich bereits über das Übertragen von großen Datenbanken zwischen zwei Servern geschrieben habe, will ich nun auch noch die Übertragung auf Dateisystem-Ebene beschreiben. Auch hier lässt sich der manuelle Weg (mittels FTP-Client und Zwischenspeicherung auf dem eigenen Rechner) leicht &#8230; <a href="http://www.davidgebhardt.de/2012/09/rekursives-kopieren-von-dateien-von-server-zu-server-via-lftplinux/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="attachment_925" class="wp-caption alignleft" style="width: 310px"><a href="http://www.davidgebhardt.de/wp-content/uploads/2012/09/Ubuntu_Shell.jpg"><img class="size-medium wp-image-925" title="Ubuntu_Shell" src="http://www.davidgebhardt.de/wp-content/uploads/2012/09/Ubuntu_Shell-300x201.jpg" alt="" width="300" height="201" /></a><p class="wp-caption-text">Terminal unter Ubuntu Desktop</p></div>
<p>Nachdem ich bereits über das <a title="Kopieren großer Datenbanken von Server zu Server (via Shell oder MySQLDumper)" href="http://www.davidgebhardt.de/2012/09/kopieren-groser-datenbanken-von-server-zu-server-via-shell-oder-mysqldumper/">Übertragen von großen Datenbanken zwischen zwei Servern</a> geschrieben habe, will ich nun auch noch die Übertragung auf Dateisystem-Ebene beschreiben. Auch hier lässt sich der manuelle Weg (mittels FTP-Client und Zwischenspeicherung auf dem eigenen Rechner) leicht umgehen. Das sparrt Zeit und Ressourcen.</p>
<p><span id="more-924"></span></p>
<p>Auch hier führt der Weg über die Konsole bzw. das Terminal. Über <a title="aptitude wiki" href="http://wiki.ubuntuusers.de/aptitude" target="_blank">aptitude</a> habe ich <a title="LFTP Webseite" href="http://lftp.yar.ru/" target="_blank">lftp</a> installiert. LFTP ist in der Lage rekursiv von einem Quellserver auf einen Zielserver zu kopieren.</p>
<p>Dies geht wie folgt: Zuerst navigiert man via Shell auf dem Zielserver in den entsprechenden Ordner, in den kopiert werden soll. Danach verbindet man sich via lftp mit dem Quellserver.</p>
<pre class="brush: plain; title: ; notranslate">

lftp -u ftp_user,ftp_passwd hostname

</pre>
<p>Dies sieht dann beispielsweise so aus:</p>
<pre class="brush: plain; title: ; notranslate">

lftp -u testuser,123456 davidgebhardt.de

</pre>
<p><strong>Hinweis:</strong> Es ist auch möglich einen Unterordner auszuwählen, indem z.B. als Hostname davidgebhardt.de/demo/ angegeben wird.</p>
<p>Nach dem erfolgreichen Aufbau der Verbindung kann das Übertragen der Dateien und Ordner gestartet werden.</p>
<pre class="brush: plain; title: ; notranslate">

lftp -c mirror

</pre>
<p>Das Kopieren wird dann begonnen und wird rekursiv (also inklusive aller Unterordner) ausgeführt. Danach müssen mittels <em>chown</em> die Besitzrechte für die übertragenen Dateien richtig gesetzt werden. Auch dies kann rekursiv gemacht werden.</p>
<pre class="brush: plain; title: ; notranslate">

chown -R user:name:user_group ./*

</pre>
<p>Mehr Informationen zu chown findet ihr im <a title="chown ubuntu" href="http://wiki.ubuntuusers.de/chown" target="_blank">Ubuntu-Wiki</a>. Danach sind alle Dateien kopiert und die Rechte richtig gesetzt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/09/rekursives-kopieren-von-dateien-von-server-zu-server-via-lftplinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kopieren großer Datenbanken von Server zu Server (via Shell oder MySQLDumper)</title>
		<link>http://www.davidgebhardt.de/2012/09/kopieren-groser-datenbanken-von-server-zu-server-via-shell-oder-mysqldumper/</link>
		<comments>http://www.davidgebhardt.de/2012/09/kopieren-groser-datenbanken-von-server-zu-server-via-shell-oder-mysqldumper/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 11:10:53 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Generelles]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Datenbanken]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Serverumzug]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=920</guid>
		<description><![CDATA[Da ich gerade meine Webseiten auf einen neuen Server übertrage, bin ich bei einer der Datenbanken (mit etwa 1GB) an die Grenzen von phpMyAdmin gestoßen. Der Export wollte gerade noch so gehen, jedoch der Import nicht. In diesem Beitrag möchte &#8230; <a href="http://www.davidgebhardt.de/2012/09/kopieren-groser-datenbanken-von-server-zu-server-via-shell-oder-mysqldumper/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.davidgebhardt.de/wp-content/uploads/2010/08/kivio.png"><img class="alignleft size-full wp-image-301" title="Tools" src="http://www.davidgebhardt.de/wp-content/uploads/2010/08/kivio.png" alt="" width="128" height="128" /></a>Da ich gerade meine Webseiten auf einen neuen Server übertrage, bin ich bei einer der Datenbanken (mit etwa 1GB) an die Grenzen von phpMyAdmin gestoßen. Der Export wollte gerade noch so gehen, jedoch der Import nicht. In diesem Beitrag möchte ich zwei Wege vorstellen diesem Problem zu begegnen.</p>
<p><span id="more-920"></span></p>
<h3>Für Server mit Shell-Zugriff</h3>
<p>Wenn es sich um einen dedizierten Server oder einen vServer handelt, so ist ein Zugriff über die Konsole möglich. In diesem Fall kann mit einfachen MySQL-Befehlen auf der Shell ein Backup der Datenbank erstellt werden (als gzip) und anschließend auf dem anderen Server hochgeladen und eingespielt werden.</p>
<p>Zum Erstellen eines Backups kann folgender Befehl genutzt werden:</p>
<pre class="brush: plain; title: ; notranslate">

mysqldump --quick db_name | gzip &gt; database_backup.sql.gz

</pre>
<p>Danach kann die Datei aus dem Ordner heruntergeladen und auf dem Zielserver hochgeladen werden. Danach verbindet man sich mit dem Zielserver und navigiert zu dem Verzeichnis mit dem Dump und führt folgenden Befehl aus:</p>
<pre class="brush: plain; title: ; notranslate">

gunzip &lt; database_backup.sql.gz | mysql db_name -h localhost -u db_user -p

</pre>
<p>Danach erfolgt eine Abfrage des Passworts und der Dump wird eingespielt. Mit dem Parameter -f (mysql -f) ist es weiterhin möglich Fehler anzeigen zu lassen, die Bearbeitung des Scriptes aber bis zum Ende fortzusetzen. Die Variante hat den Vorteil, dass die Bearbeitung sehr schnell erfolgt.</p>
<h3>Für Server ohne Shell-Zugriff</h3>
<p>In diesem Fall kann ein Tool namens <a title="MySQLDumper Webseite" href="http://www.mysqldumper.de/">MySQLDumper</a> abhilfe schaffen. MySQLDumper kann Backups erstellen und einspielen und speichert diese auf dem Server. Auch hier muss der Transport der Datei per Hand durchgeführt werden. MySQLDumper muss auf beiden Systemen installiert sein. MySQLDumper liest dann inkrementell das Backup ein und bewältigt so auch große Datenmengen. Leider ist das Verfahren recht langsam.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/09/kopieren-groser-datenbanken-von-server-zu-server-via-shell-oder-mysqldumper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OwnCloud: Dropbox auf dem eigenen Server II</title>
		<link>http://www.davidgebhardt.de/2012/09/owncloud-dropbox-auf-dem-eigenen-server-ii/</link>
		<comments>http://www.davidgebhardt.de/2012/09/owncloud-dropbox-auf-dem-eigenen-server-ii/#comments</comments>
		<pubDate>Wed, 19 Sep 2012 07:44:37 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[OwnCloud]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=917</guid>
		<description><![CDATA[Gesagt, getan. Ich habe mir meine eigene Instanz von OwnCloud installiert und in der Zwischenzeit auch schon etwas getestet. In diesem Post möchte ich einige Gedanken und Erfahrungen mit meiner Installation zusammenfassen. Die Installation von OwnCloud lief reibungslos. Die erforderlichen &#8230; <a href="http://www.davidgebhardt.de/2012/09/owncloud-dropbox-auf-dem-eigenen-server-ii/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Gesagt, getan. Ich habe mir meine eigene Instanz von <a title="OwnCloud" href="http://owncloud.org/">OwnCloud</a> installiert und in der Zwischenzeit auch schon etwas getestet. In diesem Post möchte ich einige Gedanken und Erfahrungen mit meiner Installation zusammenfassen.</p>
<p><span id="more-917"></span></p>
<p>Die Installation von <strong>OwnCloud</strong> lief reibungslos. Die erforderlichen Pakete habe ich auf dem Server nachinstalliert (soweit noch nicht vorhanden) und danach die Installation über das Web-Frontend vorgenommen. Gut dabei ist vor allem, dass OwnCloud die Möglichkeit bietet den Ordner für die Dateiablage frei zu bestimmen (Pfad und Ordnername) und somit ein systematischer Angriff auf die Dateien schwieriger wird.</p>
<p><strong>OwnCloud</strong> im Web-Frontend bietet neben der Dateiablage auch die Möglichkeit Kalender zu pflegen und zu synchronisieren, Kontakte zu verwalten, Bilder in einer Diashow anzuzeigen sowie Musik in einem Mediaplayer wiederzugeben. Hinzu kommen zahlreiche Features, die über Plugins hinzugefügt werden können. Dazu zählen z.B. Bookmarks für einen &#8220;Read Later&#8221;-Service.</p>
<p>Neben dem schon beschriebenen Web-Frontend bietet OwnCloud auch Apps für das iPhone sowie für Android (dort sogar mit Instant-Upload von Bildern). Leider sind beide Apps nicht sonderlich reif: Der Upload funktioniert recht passabel, eine Dateiansicht in der App ist fast unmöglich. Dazu wird auf andere Apps zugegriffen (manchmal sogar auf Dropbox).</p>
<p>Wie auch bei Dropbox gibt es zusätzlich einen Windows, Linux und Mac Client. Bei diesem sind die Ordner zum Synchronisieren (im Gegensatz zu Dropbox) frei wählbar und die Übertragung funktioniert ganz gut. Probleme entstehen erst bei der maximalen Dateigröße für den Upload (die ist jedoch konfigurierbar).</p>
<p><strong>Fazit:</strong> OwnCloud ist eine gute Alternative, gerade wenn es um Datensicherheit geht. Dennoch ist an den Apps, Web-Frontend und Clients noch nicht alles erreicht. Es bleibt noch viel Arbeit &#8211; wer will kann aber dank Open Source selbst eingreifen und verbessern.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/09/owncloud-dropbox-auf-dem-eigenen-server-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OwnCloud: Dropbox auf dem eigenen Server</title>
		<link>http://www.davidgebhardt.de/2012/09/owncloud-dropbox-auf-dem-eigenen-server/</link>
		<comments>http://www.davidgebhardt.de/2012/09/owncloud-dropbox-auf-dem-eigenen-server/#comments</comments>
		<pubDate>Tue, 04 Sep 2012 17:35:06 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Dropbox]]></category>
		<category><![CDATA[OwnCloud]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Sicherheit]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=911</guid>
		<description><![CDATA[Ein Freund von mir hat mich auf das Projekt aufmerksam gemacht. OwnCloud ist für das Thema Cloud was Diaspora für das Thema Soziale Netzwerke ist: Es überlässt dem Anwender die volle Kontrolle. Mit OwnCloud kann ein Dienst &#8211; ähnlich dem &#8230; <a href="http://www.davidgebhardt.de/2012/09/owncloud-dropbox-auf-dem-eigenen-server/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ein Freund von mir hat mich auf das Projekt aufmerksam gemacht. <a title="OwnCloud" href="http://owncloud.org/">OwnCloud</a> ist für das Thema <em>Cloud</em> was <a title="Diaspora Social Network" href="https://joindiaspora.com/">Diaspora</a> für das Thema <em>Soziale Netzwerke</em> ist: Es überlässt dem Anwender die volle Kontrolle. Mit <strong>OwnCloud</strong> kann ein Dienst &#8211; ähnlich dem von <strong>Dropbox</strong> &#8211; auf dem eigenen Server installiert werden. Dies ist <em>kostenlos</em> und bietet neben der einfachen Dateiablage auch Versionierung, Verschlüsselung der Daten, Einbindung von Kalendern, LDAP und Listen. Alle Daten können leicht synchronisiert werden. Außerdem gibt es die vollständige Einbindung für Mac und Windows als Client, sowie Android- und iPhones-Apps.</p>
<p><span id="more-911"></span></p>
<p>Für die Installation ist PHP5 zwingende Vorraussetzung. Ansonsten benötigt man den gewünschten Speicherplatz und etwas Know-How für das Aufsetzen der Umgebung. Dies ist jedoch auch <a title="Install OwnCloud" href="http://owncloud.org/support/install/">auf der Webseite erläutert</a>.</p>
<div id="attachment_912" class="wp-caption alignleft" style="width: 310px"><a href="http://www.davidgebhardt.de/wp-content/uploads/2012/09/oc4-files.png"><img class="size-medium wp-image-912 " title="OwnCloud" src="http://www.davidgebhardt.de/wp-content/uploads/2012/09/oc4-files-300x119.png" alt="OwnCloud" width="300" height="119" /></a><p class="wp-caption-text">OwnCloud Web-Interface (Image by OwnCloud)</p></div>
<p>Mehr Features und Anregungen zur Nutzung können auf der <a title="OwnCloud Features" href="http://owncloud.org/features/">OwnCloud-Webseite</a> eingesehen werden. Ich persönlich werde mir diese Lösung genauer ansehen und auch eine Instanz installieren, um die Alltagstauglichkeit zu prüfen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/09/owncloud-dropbox-auf-dem-eigenen-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flexible/Fluid Grid als Grundlage für Webdesign</title>
		<link>http://www.davidgebhardt.de/2012/09/flexiblefluid-grid-als-grundlage-fur-webdesign/</link>
		<comments>http://www.davidgebhardt.de/2012/09/flexiblefluid-grid-als-grundlage-fur-webdesign/#comments</comments>
		<pubDate>Mon, 03 Sep 2012 19:39:29 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Grid]]></category>
		<category><![CDATA[Layout]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=903</guid>
		<description><![CDATA[Um Webseiten schnell auf Grundlage von CSS zu erstellen und dabei so viel Freiheiten wie möglich zu erhalten, dienen häufig CSS-Frameworks, die eine flexible Gestaltung zulassen und gleichzeitig vorgefertigte Klassen anbieten, die zur Gestaltung genutzt werden können. Dabei geht es &#8230; <a href="http://www.davidgebhardt.de/2012/09/flexiblefluid-grid-als-grundlage-fur-webdesign/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Um Webseiten schnell auf Grundlage von CSS zu erstellen und dabei so viel Freiheiten wie möglich zu erhalten, dienen häufig <strong>CSS-Frameworks</strong>, die eine flexible Gestaltung zulassen und gleichzeitig vorgefertigte Klassen anbieten, die zur Gestaltung genutzt werden können. Dabei geht es vor allem um die Anordnung von Elementen. Als ich kürzlich den Markt dazu wieder einmal durchforstete, bemerkte ich einen starken Anstieg an Frameworks auf diesem Gebiet. In diesem Post möchte ich einige &#8211; meiner Meinung nach sehr gute &#8211; Frameworks vorstellen.</p>
<p><span id="more-903"></span></p>
<h3>A. Less Framework</h3>
<p>Auf <a title="Less Framework" href="http://lessframework.com/">lessframework.com</a> gibt es das gleichnamige Framework zum Download. Es handelt sich dabei um ein Grid-Framework für adaptives Webdesign. Technisch ist dies gut auf dem Webseite beschrieben:</p>
<p><em>The idea is to first code the Default Layout (992 px), and then use CSS3 media queries to code seve­ral child layouts: 768, 480, and 320 px. The Default Layout will be served to any browsers that do not support media queries, whereas the child layouts will be served, as appropriate, to browsers that do. They will also inherit all styles given to the Default Layout, so coding them is very fast.</em></p>
<h3>B. Simple Grid</h3>
<p>Ein etwas einfacheres <a title="Simple Grid" href="http://simplegrid.info/">Framework</a>, dennoch sehr wirkungsvoll. Dieses Grid besteht aus sechs s.g. &#8220;Slots&#8221;. Dabei werden die Klassen (von links nach recht) .slot-0 bis .slot-5 verwendet. Somit können sechs Spalten erzeugt werden. Durch Kombination der Slot-Nummern können auch Spalten zusammengelegt werden (z.B. .slot-0-1-2 legt die ersten drei Spalten zusammen). Mehr Infos zu dem sehr simplen (aber mächtigen) Ansatz gibt es auf <a title="Simple Grid" href="http://simplegrid.info/">der Webseite</a>.</p>
<h3>C. Columnal</h3>
<p><a title="Columnal Webseite" href="http://www.columnal.com/">Columnal</a> ist eine Zusammenführung verschiedener Frameworks und ein echter Alleskönner. Es werden Webbrowser von Windows und Mac sowie mobile Endgeräte und deren Browser unterstützt. Gleichzeitig bietet das Framework alle Vorteile der oben vorgestellten Frameworks und gleichzeitig noch einige nette Features. <a title="Columnal Demo" href="http://www.columnal.com/demo/">Die Demo</a> zeigt diese anschaulich.</p>
<p>Für meinen Fall hat <strong>Simple Grid</strong> alle notwendigen Features abgedeckt, jedoch werde ich mir auch die anderen beiden Frameworks noch einmal genauer ansehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/09/flexiblefluid-grid-als-grundlage-fur-webdesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress: Kategorie nicht auf Startseite anzeigen und ausgliedern in eigene Sektion</title>
		<link>http://www.davidgebhardt.de/2012/08/wordpress-kategorie-nicht-auf-startseite-ausgliedern-in-menupunkt-und-anzeige-von-links-und-bildern-in-der-kategorieansicht/</link>
		<comments>http://www.davidgebhardt.de/2012/08/wordpress-kategorie-nicht-auf-startseite-ausgliedern-in-menupunkt-und-anzeige-von-links-und-bildern-in-der-kategorieansicht/#comments</comments>
		<pubDate>Sun, 26 Aug 2012 14:36:54 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Exclude Categorie]]></category>
		<category><![CDATA[Kategorie Ausschließen]]></category>
		<category><![CDATA[Kategorie einzeln darstellen]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=889</guid>
		<description><![CDATA[Da ich gerade dabei bin einige inhaltliche Änderungen an der Struktur des Blogs zuzunehmen, bin ich mit diesem Thema konfrontiert worden. Es geht dabei um folgende Problemstellung: In WordPress eine Kategorie von der Startseite ausschließen, diese Kategorie als Menüpunkt einpflegen &#8230; <a href="http://www.davidgebhardt.de/2012/08/wordpress-kategorie-nicht-auf-startseite-ausgliedern-in-menupunkt-und-anzeige-von-links-und-bildern-in-der-kategorieansicht/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Da ich gerade dabei bin einige inhaltliche Änderungen an der Struktur des Blogs zuzunehmen, bin ich mit diesem Thema konfrontiert worden. Es geht dabei um folgende Problemstellung: In WordPress eine <strong>Kategorie von der Startseite ausschließen</strong>, diese <strong>Kategorie als Menüpunkt einpflegen</strong> und die dortigen Artikel der Kategorie mit Links und Bildern (standardmäßig ist das in WordPress nicht vorgesehen) darzustellen. Es folgt eine kurze Anleitung dazu.</p>
<p><span id="more-889"></span></p>
<h3>Schritt 1: Kategorie Ausschließen</h3>
<p>Das Ausschließen einer Kategorie kann über am einfachsten über &#8220;<a title="Simply Exclude Plugin WordPress" href="http://wordpress.org/extend/plugins/simply-exclude/">Simply Exclude</a>&#8221; vorgenommen werden. Dazu einfach das Plugin installieren, in den Einstellungen unter &#8220;Category&#8221; die Möglichkeit wahrnehmen auf &#8220;Exclude&#8221; umzustellen und abschließend in der Kategorie selbst den Haken bei &#8220;Frontpage&#8221; setzen. Dann werden alle Kategorien, außer die mit dem Haken auf der Startseite gezeigt. Alternativ kann dies auch im Quellcode des Templates gemacht werden über die Funktion <a title="query_posts WordPress" href="http://codex.wordpress.org/Template_Tags/query_posts">query_posts</a>.</p>
<h3>Schritt 2: Kategorie im Menü anzeigen</h3>
<p>Dazu einfach in WordPress ein Menü anlegen (unter &#8220;Appearance/Menu&#8221;) und die bisherigen Menüpunkte hinzufügen. Dort habt ihr auch die Möglichkeit eine Kategorie hinzuzufügen. Dies könnt ihr mit der eben von der Startseite verbannten Kategorie machen.</p>
<h3>Schritt 3: Bilder und Links anzeigen</h3>
<p>Wer nun die Kategorie über das neu gestaltete Menu aufruft, wird sehen, dass es keinerlei Links oder Bilder in den Posts gibt. Dies ist in WordPress für die Kategorie-, Archiv- und Suchergebnisansicht nicht vorgesehen. Dazu müsst ihr in eurem Template die loop.php bearbeiten. Dort sucht ihr (etwas Zeile 132) folgenden Ausdruck:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?&gt;

</pre>
<p>und ersetzt ihn mit:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;?php if ( is_search() ) : // Only display excerpts for search. ?&gt;

</pre>
<p>Dies hat zur Folge, dass WordPress nur für Suchergebnisse die Excerpt-Funktion nutzt und eure neu gestaltete Sektion in WordPress nun vollständig dargestellt wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/08/wordpress-kategorie-nicht-auf-startseite-ausgliedern-in-menupunkt-und-anzeige-von-links-und-bildern-in-der-kategorieansicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CPE: Biggest Tech Event in the World Wide World</title>
		<link>http://www.davidgebhardt.de/2012/08/cpe-biggest-tech-event-in-the-world-wide-world/</link>
		<comments>http://www.davidgebhardt.de/2012/08/cpe-biggest-tech-event-in-the-world-wide-world/#comments</comments>
		<pubDate>Sat, 25 Aug 2012 17:03:48 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[Generelles]]></category>
		<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Campus Party Europe]]></category>
		<category><![CDATA[CPE]]></category>
		<category><![CDATA[Event]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=877</guid>
		<description><![CDATA[CPE (Campus Party Europe) ist laut eigenen Aussage das größte Tech-Event weltweit und findet an diesem Wochenende in Berlin-Tempelhof statt. Also ein Tipp für spontane Leser des Blogs. CPE findet in Tempelhof statt und benennt als Hauptsprecher Sir Tim Berners-Lee &#8230; <a href="http://www.davidgebhardt.de/2012/08/cpe-biggest-tech-event-in-the-world-wide-world/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="attachment_878" class="wp-caption alignleft" style="width: 310px"><a href="http://www.davidgebhardt.de/wp-content/uploads/2012/08/25.08.12-1.jpg"><img class="size-medium wp-image-878" title="CPE" src="http://www.davidgebhardt.de/wp-content/uploads/2012/08/25.08.12-1-300x225.jpg" alt="CPE" width="300" height="225" /></a><p class="wp-caption-text">CPE Plakat in Berlin</p></div>
<p>CPE (Campus Party Europe) ist laut eigenen Aussage das größte Tech-Event weltweit und findet an diesem Wochenende in Berlin-Tempelhof statt. Also ein Tipp für spontane Leser des Blogs.</p>
<p><span id="more-877"></span></p>
<p><a title="CPE Website" href="http://www.campus-party.eu/2012/index.html">CPE</a> findet in Tempelhof statt und benennt als Hauptsprecher Sir Tim Berners-Lee (Erfinder des HTML und Begründer des World Wide Web), Den Tapscott (Vorsitzender des Think-Tanks nGenera Insight), Yossi Vardi (israelischer High-Tech-Unternehmer) und Paulo Coelho (brasilianischer Bestseller-Autor). Ein Besuch lohnt sich allein wegen dieser Beteiligung auf der Hauptbühne. Nebenher gibt es jedoch noch vieles mehr zu entdecken.</p>
<p>Also: Heute Abend und morgen ist noch Zeit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/08/cpe-biggest-tech-event-in-the-world-wide-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 Download Attribut</title>
		<link>http://www.davidgebhardt.de/2012/08/html5-download-attribute-rename-file-on-download/</link>
		<comments>http://www.davidgebhardt.de/2012/08/html5-download-attribute-rename-file-on-download/#comments</comments>
		<pubDate>Thu, 23 Aug 2012 08:57:06 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Attribut]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Forced Download]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=870</guid>
		<description><![CDATA[HTML5 bietet viele neue Attribute und Features, die helfen das Web einfacher zu machen, für den Anwender und den Entwickler. Ein solches Feature ist auch das Attribut Download, das in einem Link-Element verwendet werden kann. Wenn es dazu kommt, dass &#8230; <a href="http://www.davidgebhardt.de/2012/08/html5-download-attribute-rename-file-on-download/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>HTML5</strong> bietet viele neue Attribute und Features, die helfen das Web einfacher zu machen, für den Anwender und den Entwickler. Ein solches Feature ist auch das Attribut <strong>Download</strong>, das in einem Link-Element verwendet werden kann.</p>
<p><span id="more-870"></span></p>
<p>Wenn es dazu kommt, dass in der Laufzeit Dateien zum Download generiert und dann zur Verfügung gestellt werden, ist es notwendig, dass diese eine eindeutige Referenz auf dem Webserver haben. Dabei kann man sich bei Hash-Funktionen bedienen &#8211; doch was bleibt ist ein für den Menschen &#8220;wirrer&#8221; Dateiname. Nehmen wir als Beispiel: <em>2012-08-23-ab467832b73279ncgtd7982.pdf</em> in der wir Daten aus einer Datenbank aufbereitet, aggregiert und dargestellt haben. Diese soll nun heruntergeladen werden, ohne dass der Nutzer den Deeplink ohne weiteres Stöbern erfährt (über den Quelltext ist das nach wie vor möglich) und ohne die Datei manuell umbenennen zu müssen.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;a href=&quot;/reports/2012-08-23-ab467832b73279ncgtd7982.pdf&quot;
download=&quot;report&quot;&gt;Download Report&lt;/a&gt;
</pre>
<p>Der Download wird gestartet und die Datei wird als report.pdf heruntergeladen. Die Funktion ist derzeit nur in Chrome unterstützt, wird zeitnah aber auch in Firefox erwartet. Dieses Attribut hat jedoch einen weiteren wichtigen Vorteil: Es handelt sich bei dem Link dann um einen Forced Download. Wird zum Beispiel eine .txt verlinkt, so wird diese standardmäßig im Browser angezeigt. Mit dem Download-Attribut ist dies unterbunden, die Datei wird als Download behandelt und in jedem Fall heruntergeladen und nicht direkt im Browser angezeigt.</p>
<p>Ein Beispiel könnt ihr Euch <a title="HTML5 Download Attribut Demo" href="http://html5-demos.appspot.com/static/a.download.html" target="_blank">hier</a> ansehen. Achtung: Auch diese Demo funktioniert derzeit nur in <a title="Google Chrome Download" href="http://www.google.de/chrome" target="_blank">Google Chrome</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2012/08/html5-download-attribute-rename-file-on-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL: GROUP_CONCAT() &#8211; Mächtige Funktion zum Auslesen von unbestimmt vielen Werten</title>
		<link>http://www.davidgebhardt.de/2011/10/mysql-group_concat-machtige-funktion-zum-auslesen-von-unbestimmt-vielen-werten/</link>
		<comments>http://www.davidgebhardt.de/2011/10/mysql-group_concat-machtige-funktion-zum-auslesen-von-unbestimmt-vielen-werten/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 18:37:40 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.davidgebhardt.de/?p=833</guid>
		<description><![CDATA[In einigen Situationen muss auf gegebenen Datenquellen aufgebaut werden. Dabei hat man nicht immer die Crème de la Crème der normalisierten, standardisierten und durchdachten Datenaufbewahrung vor sich, sondern zweifelsohne auch deutlich andere Geschichten zu erzählen. Erst kürzlich ist mir wieder &#8230; <a href="http://www.davidgebhardt.de/2011/10/mysql-group_concat-machtige-funktion-zum-auslesen-von-unbestimmt-vielen-werten/">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>In einigen Situationen muss auf gegebenen Datenquellen aufgebaut werden. Dabei hat man nicht immer die Crème de la Crème der normalisierten, standardisierten und durchdachten Datenaufbewahrung vor sich, sondern zweifelsohne auch deutlich andere Geschichten zu erzählen. Erst kürzlich ist mir wieder ein Fall untergekommen, bei dem ich einen neuen Helfer entdeckte, der in dieser Situation Gold wert war.</p>
<p><span id="more-833"></span>Die Daten, die ich vor mir hatten, waren automatisch erzeugt und äußerst ungünstig in der Datenbank abgelegt. Die erste Abbildung zeigt schematisch wie die Daten aufbereitet waren.</p>
<p><a href="http://www.davidgebhardt.de/wp-content/uploads/2011/10/table.jpg"><img class="aligncenter size-full wp-image-835" title="Tabelle" src="http://www.davidgebhardt.de/wp-content/uploads/2011/10/table.jpg" alt="Ausgangstabelle" width="261" height="303" /></a>Die Tabelle enthält Daten zu Veranstalungen (Beispiel ist fiktiv). Das erste Element (ID=1) hat zwei Einträge zu component_ID=1. Dies sind die Redner. Hier Peter und Hans. Die Komponente 2 beinhaltet die Information, ob eine Kostenübernahme stattfindet, die Komponente 3 die Veranstaltungsorte/den Veranstaltungsort und die Komponente 4 die Anzahl der möglichen Gäste.</p>
<p>Das &#8220;Problem&#8221; liegt auf der Hand: Zu einzelnen Komponenten liegen mehrere Werte/Einträge vor. Will man diese Daten unkompliziert auslesen mit Hilfe von MySQL und dabei folgende Darstellungsform erreichen, ist eine kreative Lösung oder eine gute Funktion gefragt.</p>
<p><a href="http://www.davidgebhardt.de/wp-content/uploads/2011/10/zieltabelle.jpg"><img class="aligncenter size-full wp-image-836" title="Zieltabelle" src="http://www.davidgebhardt.de/wp-content/uploads/2011/10/zieltabelle.jpg" alt="Zieltabelle" width="583" height="82" /></a>Um dies zu erreichen, habe ich die MySQL-Funktion GROUP_CONCAT() genutzt und in meinen PHP-Code zum Auslesen der Daten eingebaut.</p>
<pre class="brush: sql; title: ; notranslate">

SELECT

`parent`.`id` AS `id`,

(SELECT GROUP_CONCAT(content) FROM `events` `child` WHERE `child`.`id` = `parent`.`id` AND component_ID = 1) AS &quot;Redner&quot;,
(SELECT GROUP_CONCAT(content) FROM `events` `child` WHERE `child`.`id` = `parent`.`id` AND component_ID = 2) AS &quot;Kostenuebernahme&quot;,
(SELECT GROUP_CONCAT(content) FROM `events` `child` WHERE `child`.`id` = `parent`.`id` AND component_ID = 3) AS &quot;Kostenuebernahme&quot;,
(SELECT GROUP_CONCAT(content) FROM `events` `child` WHERE `child`.`id` = `parent`.`id` AND component_ID = 4) AS &quot;Anzahl&quot;

FROM events `parent`
group by id

</pre>
<p>Mehr Informationen und Beispiele zu den Funktion befinden sich in der <a title="MySQL Hilfe" href="http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat">MySQL Hilfe</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davidgebhardt.de/2011/10/mysql-group_concat-machtige-funktion-zum-auslesen-von-unbestimmt-vielen-werten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
