<?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>Software-Wahnsinn &#187; DbFinder</title>
	<atom:link href="http://www.software-wahnsinn.de/tag/dbfinder/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.software-wahnsinn.de</link>
	<description>Neues vom alltäglichen Wahnsinn (nicht nur) der Software-Technik</description>
	<lastBuildDate>Wed, 01 Dec 2010 19:00:29 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Symfony-Camp 2008 (II) &#8211; the day after</title>
		<link>http://www.software-wahnsinn.de/55-symfony-camp-2008-ii-the-day-after/</link>
		<comments>http://www.software-wahnsinn.de/55-symfony-camp-2008-ii-the-day-after/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 17:03:41 +0000</pubDate>
		<dc:creator>Ingo</dc:creator>
				<category><![CDATA[Symfony]]></category>
		<category><![CDATA[Symfony-Camp]]></category>
		<category><![CDATA[Admin Generator]]></category>
		<category><![CDATA[DbFinder]]></category>
		<category><![CDATA[Doctrine]]></category>
		<category><![CDATA[Folien]]></category>
		<category><![CDATA[Propel]]></category>
		<category><![CDATA[Refactoring]]></category>
		<category><![CDATA[Slideshare]]></category>
		<category><![CDATA[Vorträge]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.software-wahnsinn.de/55-symfony-camp-2008-ii-the-day-after/</guid>
		<description><![CDATA[Ich habe nach meinem letzten Eintrag nicht mehr &#252;ber das Symfony Camp gebloggt: Zum einen, weil ich den Vortr&#228;gen folgen wollte und zum anderen, weil ich mich abends lieber mit einem Bier in der Hand unterhalten wollte, anstatt vor dem Laptop zu h&#228;ngen. Aber nun zu den Details. Nach den ersten beiden Vortr&#228;gen am Donnerstag [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe nach meinem letzten Eintrag nicht mehr &#252;ber das Symfony Camp gebloggt: Zum einen, weil ich den Vortr&#228;gen folgen wollte und zum anderen, weil ich mich abends lieber mit einem Bier in der Hand unterhalten wollte, anstatt vor dem Laptop zu h&#228;ngen. Aber nun zu den Details.</p>
<p><span id="more-55"></span>Nach den ersten beiden Vortr&#228;gen am Donnerstag von Fabien, kam im Anschlu&#223; an die Mittagspause Dustin Whittle an die Reihe, der unter dem Titel &#8220;Lessons learned at Yahoo&#8221; &#252;ber die &#220;berlegungen bei Yahoo! berichtete, die zum Einsatz von Symfony in verschiedenen Yahoo!-Projekten f&#252;hrten. Ein sehr interessanter Einblick in die Arbeit von Yahoo!, die nun mal recht stark frequentierte Dienste anbieten <img src='http://www.software-wahnsinn.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Die Folien zu Dustins Vortrag gibt es <a href="http://dustinwhittle.com/symfonycamp_lessons_learned_at_yahoo.pdf" target="_blank">hier</a> (als PDF) und <a href="http://www.slideshare.net/dustin.whittle/symfonycamp-lessons-learned-presentation" target="_blank">hier</a>.</p>
<p><a href="http://blog.hma-info.de/" target="_blank">Fabian Lange</a> stellte in seinem Vortrag &#8220;<a href="http://blog.hma-info.de/2008/09/12/just-had-my-talk-on-symfony-performance-tuning-at-the-symfony-camp/" target="_blank">Full Stack Web Application Performance Tuning</a>&#8221; die verschiedenen Methoden und Ansatzpunkte vor, die bei der Optimierung von (nicht nur Symfony-basierenden) Websites zu beachten sind. Ein hochinteressantes Thema, da es eine Menge Stellschrauben gibt, an denen zu drehen es sich lohnt. Es w&#228;re nur sehr sch&#246;n gewesen, wenn die einzelnen Folien nicht ganz so vollgepackt gewesen w&#228;ren und die Schrift nicht so arg klein gewesen w&#228;re. Ich sa&#223; n&#228;mlich recht weit hinten w&#228;hrend Fabians Vortrag und <span style="text-decoration: line-through;">&#228;rgerte mich ein wenig</span> war traurig, dass ich kein Opernglas zur Hand hatte <img src='http://www.software-wahnsinn.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  So konnte ich die Folien (<a href="http://blog.hma-info.de/content/stuff/Full_Stack_Web_Application_Performance_Tuning.pdf" target="_blank">hier als PDF</a> und nat&#252;rlich auch <a href="http://www.slideshare.net/fabianlange/full-stack-web-application-performance-tuning-presentation?type=powerpoint" target="_blank">bei Slideshare</a>) erst hinterher richtig gelesen, nachdem sie im Netz ver&#246;ffentlicht waren <img src='http://www.software-wahnsinn.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>Jonathan Wage, Core Developer des OR-Mappers <a href="http://www.doctrine-project.org/" target="_blank">Doctrine</a>, brachte uns die Vorteile von Doctrine nahe. Vor allem die &#8211; als Doctrine Query Language (DQL) bezeichnete &#8211; Notation zur Formulierung der DB-Abfragen in PHP kann &#8211; im Vergleich zum Criteria-Gebastel bei der Verwendung von Propel als OR-Mapper in Symfony &#8211; &#252;berzeugen. Die Folien des Vortrages gibt es <a href="http://www.slideshare.net/guesta3af58/doctrine-php-object-relational-mapper-presentation" target="_blank">hier</a>.</p>
<p>Und damit n&#228;herte sich der erste Tag auch langsam seinem Ende. Die f&#252;r diesen Tag abschlie&#223;ende Diskussionsrunde zur besseren Beteiligung der Community habe ich <span style="text-decoration: line-through;">leider</span> absichtlich verpasst, da wir ins Bed &amp;Breakfast gefahren sind, um dort einzuchecken. Nachdem wir dort unser Zimmer bezogen haben fuhren wir wieder zur&#252;ck zum Camp, um uns dem Barbeque und Bier zu widmen <img src='http://www.software-wahnsinn.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Das BBQ war wieder reichlich vorhanden (und das Bier auch) und so konnte sich jeder ausgiebig mit den anderen Teilnehmernunterhalten oder halt auch Roulette oder Black Jack zocken. Es war n&#228;mlich ein kleines Casino eingerichtet worden, an dem man mit &#8220;<a href="http://www.flickr.com/photos/skoop/2851063342/" target="_blank">Symfony Dollars</a>&#8221; spielen konnte.</p>
<p>Der Samstag startete f&#252;r uns mit einem Vortrag von Lambert Beekhuis, der &#252;ber Plugins und deren Entwicklung informierte. Diesen Vortrag haben wir leider verpasst, da wir zu sp&#228;t am Camp eintrafen. Sobald die Folien im Netz verf&#252;gbar sind, werde ich sehen, wieviel ich verpasst habe. Ich hoffe nicht zuviel, da ich letztes Jahr schon den <a href="http://www.aide-de-camp.org/talk/6/symfony-camp-2007" target="_blank">Vortrag von Fabien Pontencier zum gleichen Thema geh&#246;rt</a> hatte. <strong>Update 15.09., 21:05 Uhr:</strong> Die <a href="http://www.slideshare.net/lambertbeekhuis/plugins-and-making-your-own-presentation" target="_blank">Folien</a> sind bei Slideshare zu finden.</p>
<p>Im Anschlu&#223; stellte <a href="http://redotheweb.com/" target="_blank">François Zaninotto</a> anhand seines neuen Symfony-Plugins <a href="http://redotheweb.com/category/dbfinder/" target="_blank">DbFinder</a> ein paar Dinge und Verfahrensmodelle vor, die vor allem bei der Entwicklung von Software f&#252;r Software-Entwickler (also auch und gerade f&#252;r Symfony-Plugins) wichtig sind. So fiel hier u.a. das Stichwort &#8220;Document Driven Development&#8221; (dokumentations-getriebene Entwicklung). Er arbeitete sch&#246;n den gesamten Entwicklungs-Zyklus von der initialen Idee bis hin zur Ver&#246;ffentlichung, Wartung und Erweiterung / Fehlerbehebung heraus. <span style="text-decoration: line-through;">Leider sind hierzu die Folien auch noch nicht online.</span> <strong>Update 15.09., 09:50 Uhr:</strong> Die <a href="http://www.slideshare.net/francoisz/developing-for-developers-presentation" target="_blank">Folien</a> sind bei Slideshare zu finden.</p>
<p>Fabien Potencier zeigte uns vor der Mittagspause dann anhand einer kleinen Beispiel-Applikation auf, wie man am besten beim <a href="http://de.wikipedia.org/wiki/Refactoring" target="_blank">Refactoring</a> bestehender Applikationen vorgehen sollte. Es kamen zwar relativ viele Aspekte zur Sprache, auf die normalerweise immer geachtet werden sollte, die aber oftmals im Tagesgesch&#228;ft gerne vergessen werden. So zeigte Fabien nochmal sehr sch&#246;n, wie man f&#252;r die vorhandene Applikation erst einmal die Test-F&#228;lle erstellt, um im Rahmen des Refactorings sicher zu stellen, dass die (gew&#252;nschte) Funktionalit&#228;t immer erhalten bleibt. Ich denke, dass es jedem klar wurde, dass das Testen &#252;ber die in Symfony enthaltenen M&#246;glichkeiten f&#252;r Funktions-Tests besser und einfacher ist, als nach jeder &#196;nderung das Ergebnis im normalen Webbrowser zu &#252;berpr&#252;fen.</p>
<p>Bei vielen der einzelnen Refactoring-&#220;berlegungen und Schritten glaubte ich in den Gesichtern der Anwesenden ablesen zu k&#246;nnen: &#8220;Ups, den Schnitzer habe ich auch in der ein oder anderen Applikation&#8221;. Er empfahl uns immer darauf zu achten, wo wir Datenbank-Abfragen platzieren oder auch die Daten des globalen User-Objektes abfragen. Es kann oft sinnvoller sein, die DB-Abfrage aus dem Controller heraus zu halten und lieber der entsprechenden DB-Klasse eine Custom-Methode hinzuzuf&#252;gen, die dann im Controller mit einer Code-Zeile aufgerufen wird. Ebenso verh&#228;lt es sich mit den Daten im User-Objekt. Auch hier empfiehlt es sich, die Klasse um eine zus&#228;tzliche Methode zu erweitern. Diese und auch die anderen Refactoring-Tips helfen den Code &#252;bersichtlicher und wiederverwendbar zu gestalten. Folien gibt es zu dem Track nicht, da Fabien (in einer stellenweise bemerkenswerten Geschwindigkeit) live alle Code-Erweiterungen und -&#196;nderungen durchf&#252;hrte.</p>
<p>Die Mittagspause fand etwas sp&#228;ter statt, da Fabien die Zeit doch arg &#252;berzogen hatte. Daher wurde die anschlie&#223;ende Pause ein wenig verk&#252;rzt und <a href="http://pookey.co.uk/blog/" target="_blank">Ian Christian</a> (aka Pookey) fuhr mit seinem <a href="http://pookey.co.uk/blog/archives/64-SymfonyCamp-Admin-Gen-Presentation.html" target="_blank">Vortrag</a> zu den Admin-Generatoren in Symfony fort. Es gab f&#252;r mich wenig Neues in dem Vortrag, da wir in <a href="http://www.eazyprintperformer.info/" target="_blank">unserer Web-to-Print-Anwendung</a> regen Gebrauch von den Admin-Generatoren machen. Ein wenig gewundert habe ich mich, warum im gesamten Vortrag nicht ein einziges <a href="http://de.wikipedia.org/wiki/Entity-Relationship-Modell#ER-Diagramme" target="_blank">ERD</a> abgebildet war. Ein ERD h&#228;tte sich vielleicht ein wenig erhellender erwiesen, da ich bis eben nicht wusste, was &#8220;Barn&#8221; auf englisch bedeutet <img src='http://www.software-wahnsinn.de/wp-includes/images/smilies/icon_neutral.gif' alt=':-|' class='wp-smiley' />  Wie dem auch sei: Die Folien hat Ian auf seiner Website <a href="http://pookey.co.uk/blog/uploads/presentation.pdf" target="_blank">ver&#246;ffentlicht</a>.</p>
<p>Mit Dustin Whittles Pr&#228;sentation zur <a href="http://developer.yahoo.com/yui/" target="_blank">Yahoo! User Interface Library</a> (YUI) erfuhr ich doch eine neue und f&#252;r mich interessante Fakten. Ich hatte mich bisher noch nicht mit YUI besch&#228;ftigt. Vielleicht auch, weil ich den <a href="http://www.slideshare.net/dustin.whittle/symfony-yui-professional-web-20" target="_blank">letztj&#228;hrigen Vortrag</a> von Dustin auf Grund eines parallelen Tracks verpasst hatte und aus den Folien nicht ganz so schlau geworden bin <img src='http://www.software-wahnsinn.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Auf jeden Fall werde ich mich mal intensiver mit YUI n&#228;her besch&#228;ftigen und auch mal einen Blick in das eine oder andere der vielf&#228;ltigen Tutorials werfen. <span style="text-decoration: line-through;">Ich hoffe, dass Dustin in den n&#228;chsten Tagen die Folien zu diesem sehr interessanten Thema online stellt.</span> <strong>Nachtrag 15.09., 09:00 Uhr:</strong> Mittlerweile sind die <a href="http://www.slideshare.net/dustin.whittle/symfonycamp-yui-2008-presentation/" target="_blank">Folien bei Slideshare</a> zu finden.</p>
<p>Der letzte Vortrag des diesj&#228;hrigen Camps kam von <a href="http://www.leftontheweb.com/" target="_blank">Stefan Koopmanschap</a>. Er ging im Detail auf die M&#246;glichkeiten zum Debugging von Symfony-Applikationen ein, die sich einem mit der Debugging-Toolbar von Symfony bieten. Interessant waren auch die M&#246;glichkeiten, um die Toolbar u.a. mit eigenen Erweiterungen anzupassen. Dieses Feature gibt es erst seit Symfony 1.1 ruft geradezu danach, sich mit den M&#246;glichkeiten zu spielen&#8230; Die Folien sind auch schon <a href="http://www.slideshare.net/skoop/debugging-with-symfony-presentation" target="_blank">bei Slideshare verf&#252;gbar</a>.</p>
<p>Dieser Blog-Eintrag ist jetzt doch wesentlich umfangreicher und damit l&#228;nger geworden, als ich urspr&#252;nglich vor hatte. Daher folgt mein Fazit zum diesj&#228;hrigen Symfony Camp im folgenden Blog-Eintrag.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.software-wahnsinn.de/55-symfony-camp-2008-ii-the-day-after/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

