<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>David Marko píše ...</title>
	<atom:link href="http://davidmarko.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://davidmarko.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 13 Apr 2008 10:01:23 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='davidmarko.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>David Marko píše ...</title>
		<link>http://davidmarko.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://davidmarko.wordpress.com/osd.xml" title="David Marko píše ..." />
	<atom:link rel='hub' href='http://davidmarko.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Groovy a closures</title>
		<link>http://davidmarko.wordpress.com/2007/11/17/groovy-a-closures/</link>
		<comments>http://davidmarko.wordpress.com/2007/11/17/groovy-a-closures/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 20:04:14 +0000</pubDate>
		<dc:creator>davidmarko</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://davidmarko.wordpress.com/2007/11/17/groovy-a-closures/</guid>
		<description><![CDATA[Ještě do nedávné doby většina programátorů o nějakých &#8216;closures&#8217; neslyšela. Někteří neslyšeli dodnes Na programovacích jazycích je mimo jiné důležitá forma zápisu, který umožňují. Proto je například hodně populární Ruby, neboť napsaný kód je hodně popisný a dobře se čte. Groovy je v mnohém podobný a nabízí také některé zajímavé konstrukce vypíše hodnoty 0 až [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidmarko.wordpress.com&amp;blog=2145558&amp;post=4&amp;subd=davidmarko&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ještě do nedávné doby většina programátorů o nějakých &#8216;closures&#8217; neslyšela. Někteří neslyšeli dodnes <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Na programovacích jazycích je mimo jiné důležitá forma zápisu, který umožňují. Proto je například hodně populární <a href="http://www.ruby-lang.org" target="_blank">Ruby</a>, neboť napsaný kód je hodně popisný a dobře se čte. Groovy je v mnohém podobný a nabízí také některé zajímavé konstrukce</p>
<blockquote><p><span style="font-size:x-small;"><span style="color:#808080;"><code>vypíše hodnoty 0 až 2<br />
</code><code>### 3.times { println(it) }<br />
</code></span></span></p>
<p><code><span style="color:#808080;font-size:x-small;">vypíše jednotlivé hodnoty pole<br />
</span></code><code><span style="color:#808080;font-size:x-small;">### ['jedna','dva','tri'].each{item -&gt;<br />
</span></code><code><span style="font-size:x-small;"><span style="color:#808080;">println(item)<br />
<code>}</code></span></span></code></p>
<p><span style="font-size:x-small;"><span style="color:#808080;"><code>vypíše jednotlivé hodnoty 1 až 10<br />
</code><code>### (1..10).each{println(it)}</code></span></span></p>
<p><span style="font-size:x-small;"><span style="color:#808080;"><code>vypíše hodnoty 1 až 15<br />
</code><code>### 1.upto(15){println(it)}</code></span></span></p></blockquote>
<p><code> </code></p>
<p><span style="font-family:Verdana;">Taky se vám podobný zápis líbí. Jistě je to věc vkusu, ale je to dosti expresivní.</span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/davidmarko.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/davidmarko.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidmarko.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidmarko.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davidmarko.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davidmarko.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davidmarko.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davidmarko.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davidmarko.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davidmarko.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davidmarko.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davidmarko.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davidmarko.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davidmarko.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davidmarko.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davidmarko.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidmarko.wordpress.com&amp;blog=2145558&amp;post=4&amp;subd=davidmarko&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidmarko.wordpress.com/2007/11/17/groovy-a-closures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/668e7faa74d5e767e77d39518893c367?s=96&#38;d=identicon" medium="image">
			<media:title type="html">davidmarko</media:title>
		</media:content>
	</item>
		<item>
		<title>Zn&#225;te GRAILS?</title>
		<link>http://davidmarko.wordpress.com/2007/11/17/znate-grails/</link>
		<comments>http://davidmarko.wordpress.com/2007/11/17/znate-grails/#comments</comments>
		<pubDate>Sat, 17 Nov 2007 19:42:03 +0000</pubDate>
		<dc:creator>davidmarko</dc:creator>
				<category><![CDATA[grails]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://davidmarko.wordpress.com/2007/11/17/znate-grails/</guid>
		<description><![CDATA[GRAILs je webovým frameworkem založeným na jazyce Groovy. O Groovy se psalo na root.cz například zde. Myslím že Groovy se může stát populárním podobně jako Ruby právě díky webovému frameworku. Zajímaví je ovšem samotný framework GRAILS. V současnosti se blíží k verzi 1.0 a jedná se už o poměrně stabilní prostředí. GRAILS jsou založeny na [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidmarko.wordpress.com&amp;blog=2145558&amp;post=3&amp;subd=davidmarko&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><font size="2"><font face="verdana">GRAILs je webovým frameworkem založeným na jazyce </font><a href="http://groovy.codehaus.org/">Groovy</a><font face="verdana">. O Groovy se psalo na </font><a href="http://root.cz/">root.cz</a> například <a href="http://www.root.cz/clanky/groovy-java-ma-vzdaleneho-bratrance/">zde</a><font face="verdana">. Myslím že Groovy se může stát populárním podobně jako Ruby právě díky webovému frameworku. Zajímaví je ovšem samotný framework </font><a href="http://www.grails.org/">GRAILS</a><font face="verdana">. V současnosti se blíží k verzi 1.0 a jedná se už o poměrně stabilní prostředí. GRAILS jsou založeny na JAVA technologiích jako jsou <a href="http://www.springframework.org/">Spring Framework</a> a <a href="http://www.hibernate.org/">Hibernate </a>a v podstatě pomocí jazyka Groovy tvoří přívětivý uživatelský aparát pro práci s nimi. Přívětivý do té míry, že se v mnoha věcech &#8216;podobá&#8217; Ruby on Rails, který tvoří v současnosti určitou laťku pro rychlý webový vývoj. Podobnost je spíše filozofická než technická. Současní vývojáři si mohou vzít mnoho příkladů z uspěšných nástrojů frameworků jako jsou Ruby On Rails, Django atp. A GRAILS je to vidět.</font></p>
<p><font face="verdana">Na Grails se mi líbí několik vlastností:</font><br /></font></p>
<ul>
<li><font size="2">GORM = ORM založený na Hibernate pro práci s databází. Zvláště se mi libí možnost automatické aktualizace schématu databáze podle definice objektu v Grails. Způsob práce vychází z filozofie ActiveRecord<br /></font>
<li><font size="2">integrovaný scheduler &#8211; opět jako i jiné komponenty Grails je založen na existujícím projektu Quartz. Jednoduše si nadefinujete periodicitu spouštění a spouštěný kód má přistup k celému prostředí Grails.</font>
<li><font size="2"><a href="http://grails.org/Plugins"># systém pluginů</a> &#8211; už nyní najdete pluginy pro autentizaci, práci s obrázky atp. Zde je prostor pro celou komunitu rozšířovat celý systém. Pro Ruby On Rails dneska existují stovky pluginů.</font>
<li><font size="2">systém development, test a production prostředí, pro které si mohu nadefinovat připojení na jiné databáze. Mohu tam velmi lehce provozovat a přepínat mezi vývojovou verzí databáze z testovacími daty a produkční databází.<br /></font>
<li><font size="2"><font face="verdana">dokumentace &#8211; ta je psána průběžně již od počátku projektu. K sehnání je již i kniha &#8216;The Definite Guide to GRAILS&#8217; a pro Groovy jako takové k dispozici s nakladelství Manning &#8216;Groovy in Action&#8217;. Pěkný je i <a href="http://grails.org/doc/RC1/">reference guide.</a></font><br /></font></li>
</ul>
<p><font size="2"><font face="verdana">Z podstaty jazyka Groovy vychází možnost používat existující JAVA knihovny a implementovat je do vaší GRAILS aplikace. Pokud tak třeba chcete používate </font><a href="http://www.jfree.org/jfreechart/">JFreeChart</a><font face="verdana">, není to problém. To co je však vynikající je možnost celou aplikaci jednoduchým příkazem zabalit do WAR souboru( &#8216;grails war&#8217;) a nechat pak běžet na některém z celé řady JAVA serverů(Apache Tomcat, Jboos, Resin, WebSphere atp.) . Aplikaci v Grails je tak možno lehce integrovat do existujícího firemního JAVA prostředí. (pokud nějaké existuje).</font></p>
<p><font face="verdana">Zde jsem zmínil opravdu jen minimum z toho, co Grails nabízí. Zájemci mohou navštívit přímo stránky projektu na adrese </font><a href="http://www.grails.org/">www.grails.org</a> <font face="verdana">a projít si další detaily.</font></p>
<p><font face="verdana">Pro fajnšmekry uvádím i trochu kódu. Ten ukazuje jak definovat databázové objekty a jejich jednoduché vazby mezi sebou. Taktéž si zde v můžete nadefinovat různá omezení a podmínky pro jednotlivé položky modelu. Z vaší definice v Grails is systém vytvoří předpis pro Hibernate a provede aktualizaci databáze.</font></font></p>
<blockquote><p><font face="Courier New" color="#808080" size="2">// objekt dokumentu<br />class Document { <br />&nbsp; static hasMany = [ attachments : Attachment]<br />&nbsp; String title<br />&nbsp; String description<br />&nbsp; String category<br />&nbsp; Integer att_count<br /></font><font face="Courier New" color="#808080" size="2">&nbsp; String category1</p>
<p>&nbsp; static constraints = {<br />&nbsp;&nbsp;&nbsp; title(unique:true, blank:false)<br />&nbsp;&nbsp;&nbsp; category(blank:true)<br />&nbsp;&nbsp;&nbsp; category1(blank:true, nullable:true)<br />&nbsp;&nbsp;&nbsp; att_count(blank:true, nullable:true)<br />&nbsp; }<br />}</font></p>
<p><font face="Courier New" color="#808080" size="2">// příloha, která patří k dokumentu<br />class Attachment { <br />&nbsp; String title<br />&nbsp; String description<br />&nbsp; Document document</font></p>
<p><font face="Courier New" color="#808080" size="2">&nbsp; static constraints = {<br />&nbsp;&nbsp;&nbsp; title(blank:false)<br />&nbsp; }<br />}</font></p>
</blockquote>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/davidmarko.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/davidmarko.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/davidmarko.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/davidmarko.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/davidmarko.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/davidmarko.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/davidmarko.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/davidmarko.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/davidmarko.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/davidmarko.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/davidmarko.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/davidmarko.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/davidmarko.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/davidmarko.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/davidmarko.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/davidmarko.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=davidmarko.wordpress.com&amp;blog=2145558&amp;post=3&amp;subd=davidmarko&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://davidmarko.wordpress.com/2007/11/17/znate-grails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/668e7faa74d5e767e77d39518893c367?s=96&#38;d=identicon" medium="image">
			<media:title type="html">davidmarko</media:title>
		</media:content>
	</item>
	</channel>
</rss>
