<?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>Kubánek.org</title>
	<atom:link href="http://kubanek.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://kubanek.org</link>
	<description>Blog o programování, volejbale a zážitcích ze života</description>
	<lastBuildDate>Mon, 10 May 2010 20:50:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Další německé osmiminutovky</title>
		<link>http://kubanek.org/blog/dalsi-nemecke-osmiminutovky/</link>
		<comments>http://kubanek.org/blog/dalsi-nemecke-osmiminutovky/#comments</comments>
		<pubDate>Sat, 08 May 2010 09:56:52 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Volejbal]]></category>
		<category><![CDATA[turnaj]]></category>
		<category><![CDATA[Volksbank-Cup]]></category>

		<guid isPermaLink="false">http://kubanek.org/?p=301</guid>
		<description><![CDATA[7. května se opět po roce konal volejbalový turnaj smíšených družstev v Heidenau a já jsem byl spolu s českým mančaftem Hopfenstadt Saaz u toho. Tentokrát jsme na turnaji osmiminutovek nastoupili v následujícím složení: Petra, Marťa, já, taťka, Luďa, Tomík, Bára a Krpoš. Naším nejdůležitějším cílem bylo umístit se lépe než v loňském roce a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">7. května se opět po roce konal volejbalový turnaj smíšených družstev v Heidenau a já jsem byl spolu s českým mančaftem <em>Hopfenstadt Saaz</em> u toho. Tentokrát jsme na turnaji osmiminutovek nastoupili v následujícím složení: Petra, Marťa, já, taťka, Luďa, Tomík, Bára a Krpoš. Naším nejdůležitějším cílem bylo umístit se lépe než <a href="http://kubanek.org/blog/prijem-nahravka-smec-kdo-ze-to-chyta-krec/">v loňském roce</a> a to se nám povedlo!</p>
<p style="text-align: justify;">Posledním rokem byl naší přestupní stanicí pirenský internát. Odpoledne jsme tedy nejprve vyčkali českou delegaci, zaparkovali, odnesli spacáky a vyrazili pěšky na nádraží. A právě tam Tomík poprvé volal operátorce a snažil si domluvit levnější tarif. Zatím neúspěšně. Skoro jsme ani nepostřehli pětiminutovou cestu německou lokálkou a z heidenauského nádraží jsme se vydali do haly. Organizátoři nás šikovně umístili rovnou té finálové, takže jsme nemuseli uprostřed turnaje přebíhat.</p>
<div id="attachment_332" class="wp-caption alignright" style="width: 310px"><a href="http://kubanek.org/download/2010/05/DSC00405.JPG" rel="lightbox[301]"><img class="size-medium wp-image-332" title="Volksbank-Cup 2010" src="http://kubanek.org/download/2010/05/DSC00405-300x225.jpg" alt="Volksbank-Cup 2010" width="300" height="225" /></a><p class="wp-caption-text">Volksbank-Cup 2010</p></div>
<p style="text-align: justify;">Turnajem jsme procházeli bezproblémově. Vyhráli jsme základní skupinu nad Piranhou a loňskými vítězi. Bez prohry jsme se probojovali až do závěru turnaje, kde jsme bohužel v odvetě s loňskými vítězi prohráli. Bojovali jsme tedy o třetí medailové místo a aby to byla pořádná sranda, hráli jsme znovu proti družstvu pana Molína. Tomík napodával pořádný náskok a pak už jen stál a létaly kolem něj míče. Vedení jsme úspěšně udrželi a to byl obrovský důvod k radosti. Tentokrát se to prostě povedlo. Vyhráli jsme skleněný pohár, čekalo nás nějaké to <em>šoupenzí</em> a pan fotograf z německých novin si musel vyfotit Tomíkovy  kalhoty. Tomík je prostě celebrita. Turnaj jsme si parádně užili, složitý herní systém jsme pochopili, nic jsme nezničili a ostudu jsme taky neudělali. Je vidět, že jsme se od loňska poučili a zjistili, jak se to podle místního šystému hraje. Osmiminutovky vyhovovaly především Tomíkovi, protože párkrát pinknul do balonu a už se zase mohl jít vyvětrat. Po vyhlašování jsme naházeli všechny žetony do hitech sprch, sbalili se a připravili k odchodu. Pan Molín nám popřál pěknou oslavu a tak nám nezbývalo než vydat se to pěkně oslavit. Tomík chtěl ještě popřát paní operátorce dobrou noc, ale ejhle, nemohl najít svůj mobil. A přitom má ve svém batůžku takový pořádek!</p>
<p style="text-align: justify;">No a tuší někdo, kde jsme skončili? Správně, kde jinde než u Turka! Jako základ jsme si všichni objednali dürüma, protože nám po té náročné akci úplně vyhládlo. Tomík nám opět ukázal, jak ho sníst a pobavit tím zbytek stolu. Vysvětlil nám také, <em>ku </em>jaké příležitosti vymysleli zmrzlinu a hamburgry. Dali jsme si piňďakoládu, ledovou tříšť a zwei double-wodka mit džus. <em>„Luky, prosím, odveď mě tam k vám.“</em> zkoušel to na mě Tomík, ale potom sám vstal a odešel.  No a my jsme všichni lehli smíchy, když tatínek na Turka prohlásil legendární větu <em>„Zahlen Sie, bitte!“ </em>Turek už z nás nemohl a tak jsme se vydali na internátní afterparty. Ale postupně to usínalo a bylo čím dál větší mrtvo. Největší překvapení na nás ale čekalo ráno. Zjistili jsme totiž, že Tomíkovy nové boty už nevypadají jako nové.</p>
<p style="text-align: justify;"><em>True story.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/dalsi-nemecke-osmiminutovky/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aby to lépe vypadalo</title>
		<link>http://kubanek.org/blog/aby-to-lepe-vypadalo/</link>
		<comments>http://kubanek.org/blog/aby-to-lepe-vypadalo/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 20:12:31 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Nezařaditelné]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=219</guid>
		<description><![CDATA[Závěrem letošního roku jsem si pod stromeček nadělil nový vzhled a strukturu blogu. Hlavním důvodem pro tento razantní krok bylo zvednutí úrovně blogu, sjednocení grafiky s úvodní stránkou a oprava několika nedostatků. Stará verze totiž běžela na ne úplně dobře nasazeném redakčním systému WordPress. Celý blog byl spíchnut horkou jehlou a nadále nesplňoval mé požadavky. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Závěrem letošního roku jsem si pod stromeček nadělil nový vzhled a strukturu blogu. Hlavním důvodem pro tento razantní krok bylo zvednutí úrovně blogu, sjednocení grafiky s úvodní stránkou a oprava několika nedostatků. Stará verze totiž běžela na ne úplně dobře nasazeném redakčním systému WordPress. Celý blog byl <em>spíchnut</em> horkou jehlou a nadále nesplňoval mé požadavky. Z toho důvodu byla kompletně změněna celá struktura webu. Je možné, že některé odkazy na tento blog již nebudou funkční. Jedná se především o odkazy na kategorie a komentáře.</p>
<p style="text-align: justify;">Zde je přehled nejvýraznějších změn:</p>
<ul>
<li>grafika blogu byla kompletně předělána</li>
<li>přidána nová favicona</li>
<li>odběr RSS má nyní <a href="http://kubanek.org/feed">novou URL</a>, měla by ovšem fungovat i ta stará</li>
<li>byly zavedeny štítky</li>
<li>kategorie byly vytříbeny na 4 hlavní: <a href="kategorie/informacni-technologie/">Informační technologie</a>, <a href="kategorie/volejbal/">Volejbal</a>, <a href="kategorie/postrehy-ze-zivota/">Postřehy ze života</a>, <a href="kategorie/nezaraditelne/">Nezařaditelné</a></li>
<li>kategorie a štítky mají počeštěnou URL</li>
<li>v patičce je rychlý přehled posledních článků a nejfrekventovanějších štítků</li>
<li>blog disponuje drobečkovou navigací</li>
<li>vyhledávací engine podkresluje hledaný výraz přímo v nalezeném příspěvku</li>
<li>stránka <em>O mně</em> je nyní logicky připojena k blogu</li>
<li>nevhodné články byly z blogu odstraněny</li>
<li>komentáře jsou obohaceny o gravatar</li>
</ul>
<p style="text-align: justify;">Protože jsem ve svých volných chvílích pracoval na redesignu blogu, nezbýval mi čas na psaní článků. Aby jste si nemysleli, že nechávám blog umřít, musím vás uvést na pravou míru. Není tomu tak!</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/aby-to-lepe-vypadalo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Já bych všechny ty internety zakázala</title>
		<link>http://kubanek.org/blog/ja-bych-vsechny-ty-internety-zakazala/</link>
		<comments>http://kubanek.org/blog/ja-bych-vsechny-ty-internety-zakazala/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 21:31:58 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Informační technologie]]></category>
		<category><![CDATA[Objektově.cz]]></category>
		<category><![CDATA[WebExpo]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=135</guid>
		<description><![CDATA[Ve dnech 15. &#8211; 18. října 2009 jsem navštívil konferenci WebExpo 2009 a chtěl bych se s vámi podělit o své zážitky. Sepsal jsem tedy krátké shrnutí popisující nejedno dobrodružství, strach, radost a euforii. Jelikož byla konference rozšířena ze dvou na čtyři dny, bylo letos oproti loňskému ročníku zážitků o něco víc.
Čtvrtek
Říkal jsem si při [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ve dnech 15. &#8211; 18. října 2009 jsem navštívil konferenci <a href="http://webexpo.cz/">WebExpo 2009</a> a chtěl bych se s vámi podělit o své zážitky. Sepsal jsem tedy krátké shrnutí popisující nejedno dobrodružství, strach, radost a euforii. Jelikož byla konference rozšířena ze dvou na čtyři dny, bylo letos oproti loňskému ročníku zážitků o něco víc.</p>
<h2>Čtvrtek</h2>
<div id="attachment_136" class="wp-caption alignright" style="width: 200px"><img class="size-full wp-image-136 " title="Logo konference WebExpo 2009" src="http://kubanek.org/download/2009/12/webexpo.png" alt="Logo konference WebExpo 2009" width="190" height="187" /><p class="wp-caption-text">Logo konference WebExpo 2009</p></div>
<p style="text-align: justify;">Říkal jsem si při cestě na nádraží, proč vlastně <em>zahřívací</em> party? Když jsem se dozvěděl, že můj vlak bude asi o 15 minut opožděn a já se nalezeným spojem do Prahy nedostanu, vyběhl jsem na autobusové nádraží, abych byl v Praze přece jen včas. Pěkně jsem se zahřál. Na Dejvické jsem se setkal s Tomášem Jukinem a Markem Lenárdem. Vyrazili jsme do míst, ve kterých se občas pořádá mistrovství světa v orbě. Našli jsme naší kolej a ubytovali jsme se. Hned poté se razilo na již zmíněnou zahřívací party do centra Prahy. Zasedli jsme ke stolu Nettistů a začali jsme se seznamovat a řešit věci spojené s vývojem webových aplikací. Jsem strašně rád, že jsem se dal do rozhovoru s <a href="http://vavru.cz/">Vlastou Vávrů</a>. Probrali jsme problém a obecné zavrhování doménových objektů ve webových aplikacích. Vlasta je totiž jediný člověk, který tuto problematiku aktivně řešil již s příchodem webových frameworků pro PHP. Následně jsme ještě vyslechli krátkou přednášku na téma <em>Vliv psychotropních látek na kvalitu vývojáře</em> od Davida Grudla a Jirky Knesla. Líbilo se mi, jak zvládli provázat teorii s praxí! Pak už se ale razilo domů.</p>
<h2>Pátek</h2>
<div id="attachment_137" class="wp-caption alignright" style="width: 310px"><a href="http://kubanek.org/download/2009/12/molly.jpg" rel="lightbox[135]"><img class="size-medium wp-image-137   " title="Molly E. Holzschlag" src="http://kubanek.org/download/2009/12/molly-300x199.jpg" alt="Molly E. Holzschlag" width="300" height="199" /></a><p class="wp-caption-text">Molly E. Holzschlag</p></div>
<p style="text-align: justify;">V pátek ráno jsme s Markem vyrazili do centra dění. Po registraci jsme se usídlili v aule. Zjistil jsem, že existuje prototypování webů a že to vlastně občas taky dělám, ale pouze na papír a možná také v EA. Následovala horlivá diskuze o tom, zda mají mít tabulky hlavičku s typem sloupečku nebo ne. Kéž bych měl takové problémy <img src="http://kubanek.org/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /> . Určitě to má něco do sebe, zkoumat dojem uživatele, ale od toho jsou tu naštěstí jiní. Formát XML je prostě sám od sebe nezábavný, ale Jiří Kosek o něm dokázal vyprávět celkem zábavně. Teprve pak to ale začalo. Konečně přednáška, co měla koule. Molly Holzschlag je opravdu velmi hyperaktivní a vtipná. Kolik času dáme příchodu HTML5? Podle mě nejde o nutnost. Neodsuzuji přístup k otevřeným standardům, ale když ono to už všechno stejně šlape… Když potom otevřené standardy bojují proti technologiím, jakými jsou Silverlight, Flash nebo JavaFX, jde do tuhého. Zástupci zmíněných technologií se představili a mimo jiné nabídli posluchačům editory určené pro jednotlivé technologie. Molly pravila: <em>„To my máme v HTML textový editor.“</em>Tahle hláška mě opravdu dostala. Šili do sebe s nadhledem a na závěr si zástupci technologií Silverlight a Flash vyměnili tričko před celým sálem. Panelová diskuze mi přišla jako povedené zakončení série přednášek pátečního dne.</p>
<p style="text-align: justify;">Večer následoval raut v hospodě Na Farmě, na kterém měl každý návštěvník jediný cíl &#8211; ukořistit něco k jídlu a najít místo k sezení. Bylo to obtížné. Řešila se především vrstva UI a frameworky jako takové. Zajímavé byly rozhovory se Zendaři, a že jich tam nebylo málo. Ve večerních hodinách jsme si s Tomášem uvědomili, že ještě nemáme hotovou prezentaci na náš sobotní workshop. A tak jsme vyrazili na kolej o něco dříve, abychom prezentaci dodělali. Nastal problém. Zjistili jsme, že nám chybí internet. Naší prezentaci bylo možné upravovat pouze online, protože byla rozdělána v nástroji, který vytváří vysoce interaktivní prezentace, pro jejichž prohlížení se doporučuje, vzít si kinedryl. Rozhodli jsme se tedy, že prezentaci doděláme v sobotu v ranních hodinách. Šli jsme spát. Asi o půlnoci dorazil Martin Štěpař a začal se tetelit k Tomášovi na zem. Chvíli se prali o jeden spacák a pak už vše utichlo.</p>
<h2>Sobota</h2>
<p style="text-align: justify;">Vstali jsme v 5 hodin a vyrazili k aule, na lavičce se připojili na internet a začali prezentaci dodělávat. Můžu potvrdit, že to bylo velmi veselé. Odnesl jsem si dvě ponaučení &#8211; dělat věci včas a nešlapat ve tmě do záhonů! Vrátili jsme se na kolej a psychicky se připravovali na náš workshop.</p>
<p style="text-align: justify;">Kromě započaté <em>hospodové</em> evangelizace Unified Processu jsem neměl se školením žádné zkušenosti. Ale na to, že to byl můj první workshop v životě, si myslím, že se nám celkem vyvedl. Měli jsme k dispozici parádní konferenční místnost s dvěma projektory. Děkuji Vaškovi Stoupovi za obstarání slídování cheatsheetů. Za tři a půl hodiny se toho nedá moc stihnout, s tím jsme s Tomášem Jukinem počítali. Přesto jsme většinu informací povědět stihli. Když se za workshopem ohlédnu zpět, tak mě mrzí, že jsme účastníky skoro vůbec nezapojili do dění. Složité pro nás bylo také to, že účastníci byli na různých úrovních znalosti probírané problematiky. Za vaší zpětnou reakci v jakékoli podobě budeme velmi rádi. Materiály, použité na workshopu, uveřejníme na stránkách <a href="http://objektove.cz/">Objektově.cz</a>.</p>
<div id="attachment_138" class="wp-caption alignright" style="width: 310px"><a href="http://kubanek.org/download/2009/12/fuka.jpg" rel="lightbox[135]"><img class="size-medium wp-image-138  " title="František Fuka drží v ruce nanopodložku" src="http://kubanek.org/download/2009/12/fuka-300x199.jpg" alt="František Fuka drží v ruce nanopodložku" width="300" height="199" /></a><p class="wp-caption-text">František Fuka drží v ruce nanopodložku</p></div>
<p style="text-align: justify;">Po obědě jsem si uvědomil, že se náš workshop kryl s přednáškou o GTD, což mě velmi naštvalo. Vyrazil jsem na přednášku o frameworcích Symphony a Doctrine. Myslel jsem, že to bude jediná přednáška, na které nebudu nikoho znát. Potkal jsem ale Michalise Katapodise a společně jsme zhlédli psaní aplikace z příkazové řádky. Termíny jako doménové třídy a aplikační logika byly zaměněny s třídou reprezentující databázovou tabulku. Přesunul jsem se na setkání agilních vývojářů, abych se dozvěděl informace o jiném přístupu k vývoji softwarových systémů. Následovala přednáška Davida Grudla o ajaxových novinkách v Nette Frameworku, které byly přidány během našeho workshopu, na který byl David Grudl pozván! Jako vždy David obohatil přednášku vtipnými hláškami a jako vždy spotřeboval dvakrát víc času. Právě proto se celý Community Meeting PHP skládal pouze z jediného dotazu na přání pro PHP6. Krásný závěr pátečních přednášek završil František Fuka a diskuze na téma <em>Můj život s počítači</em>. Pověděl nám o jeho programátorských zkušenostech, osobním životě, využívání Google aplikací, překládání titulků a mimo jiné také fakt, že <em>má delší penis než Radek Hulán</em>. Musím přiznat, že má zábavné a romantické psi. <img src="http://kubanek.org/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" /> Překvapil mě Martin Hassman, který se na diskuzi velmi dobře připravil.</p>
<div id="attachment_269" class="wp-caption alignright" style="width: 310px"><a href="http://kubanek.org/download/2009/10/ux_party.jpg" rel="lightbox[135]"><img class="size-medium wp-image-269 " title="Náš stůl na UX party" src="http://kubanek.org/download/2009/10/ux_party-300x225.jpg" alt="Náš stůl na UX party" width="300" height="225" /></a><p class="wp-caption-text">Náš stůl na UX party</p></div>
<p style="text-align: justify;">Večer ale nekončil, následovala UX party v místním podniku. Osobně bych raději přivítal UP nebo UML party. Řešili jsme UX hospody. Návštěvník si musel dojít k baru pro pivo, zaplatit zálohu za sklenici a probrat se mezi stovky pizz zpátky ke stolu. Pořád to ale nemá na dveře od koleje nebo na Tomášem zmíněné balení salámu. Sešli jsme se u velkého stolu a mimo jiné s politologem Honzou Martínkem jsme řešili věci týkající se IT. Jako velmi dobrý nápad mi přišlo rapování o jednotlivých internetových stránkách. Mezi nejlepší večerní tweet bych zařadil: <em> <em>„Jsem zavřený v aule. Prosím, pusťte mě ven.</em></em><em><em>“ <img src="http://kubanek.org/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" /> </em></em>Chtěli jsme s Honzou odejít včas, ale půl hodiny jsme se loučili s Davidem Grudlem a další půl hodiny s Jirkou Kneslem. Odešli jsme tedy až teprve, když zavírali.</p>
<h2>Neděle</h2>
<p style="text-align: justify;">Neděli bych označil jako dojezd. Dorazil jsem na TDD od Jirky Knesla. On kupodivu dorazil také. Musím uznat, že  přístup, o kterém povídal, je zajímavý, ale úplně kompletně se liší od toho mého. Posadil jsem se na Community Meeting Agile Development. Dozvěděl jsem se spoustu užitečných informací, které lze bohužel reálně uplatnit až v praxi. Možná jsem postrádal nějaké oficiální zakončení konference. Pokračovalo se na oběd do pizzerky a tím bylo WebExpo 2009 v mých očích zakončeno.</p>
<h2>Shrnutí</h2>
<ul>
<li>nadšení, radost</li>
<li>dík za umožnění šíření správného objektového přístupu mezi vývojáře</li>
<li>přednášky nedělají konferenci, konferenci dělají after party</li>
<li>jídlo a pití zdarma <em>(naštvaly mě neplněné croissanty!)</em></li>
<li>organizace byla vydařená</li>
<li>rozšíření obzoru</li>
<li>stále nová dobrodružství!</li>
<li>k čemu slouží ta oranžová nanopodložka?</li>
</ul>
<p style="text-align: justify;">Buďme rádi, že nám tenkrát ta paní všechny ty internety a počítače nezakázala. Nesetkali bychom se. Těším se na vás na dalším ročníku!</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/ja-bych-vsechny-ty-internety-zakazala/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nosit dřevo do lesa</title>
		<link>http://kubanek.org/blog/nosit-drevo-do-lesa/</link>
		<comments>http://kubanek.org/blog/nosit-drevo-do-lesa/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 17:27:38 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Volejbal]]></category>
		<category><![CDATA[turnaj]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=126</guid>
		<description><![CDATA[V pátek 11.09.2009 jsme ještě s Petrou zaběhli na Schulfest, a pak jsme se odebrali na sraz s Roccem a německými spoluhráči z Vereinu. Odjížděli jsme na venkovní volejbalový turnaj do Žatce, který pořádal můj tatínek. Rocco jako obvykle přišel pozdě a my jsme si s Petrou zatím stačili všimnout basy německého piva, kterou naši [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">V pátek 11.09.2009 jsme ještě s Petrou zaběhli na Schulfest, a pak jsme se odebrali na sraz s Roccem a německými spoluhráči z Vereinu. Odjížděli jsme na venkovní volejbalový turnaj do Žatce, který pořádal můj tatínek. Rocco jako obvykle přišel pozdě a my jsme si s Petrou zatím stačili všimnout basy německého piva, kterou naši němečtí spoluhráči táhli s sebou. Vozit pivo do Žatce? Němcům jsem musel vysvětlit, že to je stejné, jako nosit dřevo do lesa. Když se ale pivo začalo otvírat v busu, tak jsem tedy nakonec uznal, že vzít tu basu, zas tak zbytečné nebylo. Po cestě jsem je připravoval na to, že předposlední místo pro nás bude úspěch a že se tam jedeme především bavit. Nějak si to ale nechtěli vzít k srdci. I po zapomenutém odbočení jsme do Žatce dojeli a večer jsme ještě ve tmě trénovali. Připomínalo mi to noční turnaj s tím rozdílem, že jsme hráli venku. Závěrem jsme šli do hospůdky na večeři a samozřejmě jsme si dali Žatecké pivo.</p>
<div id="attachment_127" class="wp-caption alignright" style="width: 310px"><a href="http://kubanek.org/download/2009/12/zatec2009_1.jpg" title="Vypadá to, že volíme taktické postavení" rel="lightbox[roadtrip]"><img class="size-medium wp-image-127" title="Vypadá to, že volíme taktické postavení" src="http://kubanek.org/download/2009/12/zatec2009_1-300x225.jpg" alt="Vypadá to, že volíme taktické postavení" width="300" height="225" /></a><p class="wp-caption-text">Vypadá to, že volíme taktické postavení</p></div>
<p style="text-align: justify;">V sobotu ráno jsme před devátou dorazili na hřiště, abychom se zaregistrovali. To už si ale protihráči u bufetu čistili zuby peprmintem. To já, když jsem nám šel pro snídaňová piva, tak jsem &#8211; ještě asi rozespalý &#8211; jim tam jedno vylil, asi kvůli nerovnosti na pultu. Pěkný začátek. I tak jsme ale všichni nastoupili s pivem v ruce. I když jsme základní skupinu prohráli, docela jsme si zahráli a já zavzpomínal na českou letní antuku. Richarda počůral kolem pobíhající pes a malému Alíkovi tam Basti asi hodinu v kuse házel aport v podobě kůry. V ubytovně tam z našich spoluhráčů měla pokojská málem smrt, když tam po sobě nechali extrémní nepořádek, který ale o přestávce doběhli uklidit. Posilněni jsme postoupili do další poloviny turnaje. Přiznejme si, kdo měl víc kontaktu s míčem než s kelímkem? Ani tak jsme ale neporazili starší, opilé a ani mančaft, který hrál v pěti. Uhráli jsme jen jeden set, ale užili jsme si to. Spoluhráčům jsme s Petrou vysvětlili, že nesmějí být zklamaní. Vždyť umístit se na 12. místě má ještě jednu výhodu. Můžeme v klidu říct, že příští rok skončíme na lepším místě.</p>
<div id="attachment_128" class="wp-caption alignright" style="width: 310px"><a href="http://kubanek.org/download/2009/12/zatec2009_2.jpg" title="Petra, Tomík, já, Bára a Kubík" rel="lightbox[roadtrip]"><img class="size-medium wp-image-128" title="Petra, Tomík, já, Bára a Kubík" src="http://kubanek.org/download/2009/12/zatec2009_2-300x226.jpg" alt="Petra, Tomík, já, Bára a Kubík" width="300" height="226" /></a><p class="wp-caption-text">Petra, Tomík, já, Bára a Kubík</p></div>
<p style="text-align: justify;">S Petrou, Tomíkem, Bárou a Kubou jsme si udělali fotku na památku. Nebudeme si nic nalhávat, ale Tomíkovy hlášky jsou prostě nejlepší. <em>„Soupeřům a rozhodčímu, kuř! Kuř!”</em> Takovým pozdravem se zdravil se soupeři. Nejvíc ale setřel Petru, když si tak nešikovně naběhla. Nechci to na ní už prozradit, chudinka, to bych jí neudělal. Mám já ty volejbalový lidi rád. Ale zpátky k naší prohře, vyhráli jsme šámpáňo a patřičně to oslavili. Já jsem se s tím mým hvězdným týmem rozloučil a popřál jim šťastnou cestu. Večer jsem ještě vytrvalcům naléval v bufíku rozličné lihoviny a nakonec jsem ještě tancoval na náměstí, ale o tam zase někdy příště.</p>
<p style="text-align: justify;">V Čechách za Němce, v Německu za Čechy! A tak to bude doufám i na příštím turnaji. Kdy a kde, to zatím není jisté. Jisté je však, že kompletní galerii fotek z žateckého turnaje si můžete prohlédnout na <a href="http://www.esv-lok-pirna.de/index.php?id=602&amp;tx_chgallery_pi1[dir]=8&amp;tx_chgallery_pi1[single]=1&amp;cHash=0c890dcb69#c1013">stránkách Lokotky</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/nosit-drevo-do-lesa/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>S objekty do světa</title>
		<link>http://kubanek.org/blog/s-objekty-do-sveta/</link>
		<comments>http://kubanek.org/blog/s-objekty-do-sveta/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 19:39:18 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Informační technologie]]></category>
		<category><![CDATA[Doctrine]]></category>
		<category><![CDATA[Enterprise Architect]]></category>
		<category><![CDATA[Nette Framework]]></category>
		<category><![CDATA[Objektově.cz]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[USDP]]></category>
		<category><![CDATA[WebExpo]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=123</guid>
		<description><![CDATA[Musím se přiznat, že jsem na prvním ročníku konference WebExpo postrádal přednášku o pravém objektovém programování webové aplikace. Smutnil jsem, že se žádná významná osoba touto problematikou nezajímala. Postupem času jsem si začal uvědomovat zatemnění především začínajících vývojářů při neúplném pochopení architektury MVC a především zanedbávání modelu, který byl často nahrazován databázovými dotazy přímo v [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Musím se přiznat, že jsem na prvním ročníku konference WebExpo postrádal přednášku o pravém objektovém programování webové aplikace. Smutnil jsem, že se žádná významná osoba touto problematikou nezajímala. Postupem času jsem si začal uvědomovat zatemnění především začínajících vývojářů při neúplném pochopení architektury MVC a především zanedbávání modelu, který byl často nahrazován databázovými dotazy přímo v controllerech. Pořekadla jako <em><em>„</em></em><em>Model je funkční základ aplikace.<em>“</em></em> nebo <em><em>„</em><em>N</em></em><em>a model lze napasovat několik různých UI<em>.“</em></em> se řadili pouze mezi teoretické poučky.</p>
<p style="text-align: justify;">Podobný problém zaznamenal i Tomáš Jukin a tak jsme se rozhodli vyrazit s objekty mezi lidi.  Na letošním WebExpu si v rámci našeho workshopu <a href="http://webexpo.cz/workshop/vyvoj-objektovych-webovych-aplikaci-v-php-metodikou-usdp-pomoci-uml/">Vývoj objektových webových aplikací v PHP metodikou USDP pomocí UML</a> povíme, že vývoj webových aplikací na základě bezhlavého psaní kódu už dnes neletí. Vysvětlíme si, jak efektivně modelovat webové aplikace pomocí objektové metodiky Unified Software Development Process a jako jednotný dorozumívací jazyk v rámci vývojového týmu (popř. přímo s klienty) používat UML. Nad obyčejný podřadný kód posadíme abstraktní rovinu, která nám pomůže udělat si obrázek o systému mnohem rychleji než marné orientování v kódu. Značnou výhodou hotové aplikace bude její velmi dobrá upravitelnost a rozšiřitelnost.</p>
<p style="text-align: justify;">Náš 3,5 hodinový workshop se koná v sobotu 17.10.2009 časně zrána. Workshop bude rozdělen do dvou částí. Nejprve si povíme něco málo nezábavného o teorii modelování informačních systémů, metodice Unified Software Development Process a notačním jazyku UML. V druhé části vás provedeme řízením reálného projektu na základě metodiky USDP. Budeme si hrát na vývojový tým a společnými silami vyvineme použitelnou objektovou webovou aplikaci. Účastníci si v rámci workshopu vyzkouší CASE nástroj Enterprise Architect, získají teoretické základy metodiky USDP a jazyka UML a pochopí jak správně nakládat s modelem z architektury MVC na reálném příkladu založeném na technologiích <em>Nette Framework </em>a <em>Doctrine</em>. Pište správné objektové webové aplikace a bude se vám lépe usínat!</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/s-objekty-do-sveta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Abstrakce použití webové aplikace</title>
		<link>http://kubanek.org/blog/abstrakce-pouziti-webove-aplikace/</link>
		<comments>http://kubanek.org/blog/abstrakce-pouziti-webove-aplikace/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 22:16:56 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Informační technologie]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[UML]]></category>
		<category><![CDATA[use case]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=117</guid>
		<description><![CDATA[Jak se používají dnešní webové aplikace? Mnozí uživatelé asi odpoví, že se do aplikace nejprve registrují, přihlásí se a pak v aplikaci naleznou příslušnou stránku, na které vyplní formulář a odešlou ho na webový server. Tuto činnost provádějí tak dlouho, dokud neukojí svých potřeb. Samozřejmě, každý vývojář se s podobnou výpovědí setkal a zná ji [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Jak se používají dnešní webové aplikace? Mnozí uživatelé asi odpoví, že se do aplikace nejprve registrují, přihlásí se a pak v aplikaci naleznou příslušnou stránku, na které vyplní formulář a odešlou ho na webový server. Tuto činnost provádějí tak dlouho, dokud neukojí svých potřeb. Samozřejmě, každý vývojář se s podobnou výpovědí setkal a zná ji ze své praxe. Představí si ji asi tak, že aplikace bude disponovat</p>
<ul style="text-align: justify;">
<li>registračním formulářem na stránce s registrací,</li>
<li>přihlašovacím formulářem na hlavní stránce,</li>
<li>a stránkami s <em>jinými </em>formuláři na <em>jiných </em>stránkách.</li>
</ul>
<p style="text-align: justify;">Taková představa je ovšem trochu urychlená, protože se váže na implementační detaily a především na návrh uživatelského rozhraní. V takovém znění by měla zajímat spíše koncového uživatele. V základních fázích vývoje webové aplikace nás vývojáře nebude zajímat rozvržení jednotlivých stránek ani jaké zvolit prvky do formulářů. Takové rozhodovaní odložíme na později. Zkusme se na to podívat z jiného úhlu a pojďme se nyní zamyslet nad vhodnou <em>abstrakcí použití naší aplikace</em> koncovým uživatelem.</p>
<p style="text-align: justify;">Uživatel přistupuje k aplikaci vždy s nějakým záměrem, tzn. že chce, aby vykonala něco v jeho zájmu. Interakci uživatele s webovou aplikací za určitým cílem budeme označovat jako <em>případ užití</em> (anglicky use case).  Případy užití můžou být podmíněny rolí uživatele (např. jen administrátor může měnit zásadní nastavení) nebo jinou výchozí podmínkou (např. zákazník musí mít v košíku nějaké zboží, aby mohl potvrdit objednávku) a často jsou variabilní (např. aby mohl uživatel změnit počet konkrétního zboží v košíku, musí být zboží dostupné na skladě). Důležitým faktem je, že webová aplikace disponuje konečným počtem případů užití.</p>
<blockquote>
<p style="text-align: justify;"><em>„Referenční příručka jazyka UML definuje případ užití jako specifikaci posloupností činností, včetně proměnných posloupností a chybových posloupností, které systém, podsystém nebo třída může vykonat prostřednictvím interakce s vnějšími aktéry.“</em> [USDP, strana 95]</p>
</blockquote>
<p style="text-align: justify;">Metodika Unified Software Development Process zaznamenává případy užití pomocí diagramů případu užití notačního jazyka UML. Ačkoli jazyk UML nepředepisuje konkrétní způsob textové specifikace, je ustálen zápis pomocí šablony [USDP, strana 99]. Na úrovni lidské řeči (pseudokódu, chcete-li) jsou zaznamenány veškeré možné použití aplikace koncovým uživatelem. Ptáte se k čemu to je dobré? Stačí prý naházet do šablon několik formulářů, provázat je controllery a nějak to napojit na databázi? Ten pravý důvod na nás stále čeká!</p>
<p style="text-align: justify;">Webovou aplikaci lze zjednodušeně definovat jako <a href="http://www.phpguru.cz/clanky/model-neni-pouze-databaze">model</a> a uživatelské rozhraní postavené nad modelem, které koncovému uživateli umožňuje s modelem komunikovat a manipulovat a tím realizovat případy užití. Velmi často je ve webových aplikacích externí uživatel v rámci modelu reprezentován a jako interní entita komunikuje se zbylou částí modelu.</p>
<p style="text-align: justify;">Návrh případů užití spočívá v transformaci modelu na úrovni lidské řeči (požadavků na webovou aplikaci) do modelu na úrovni komunikace objektů našeho modelu z MVC. V UML lze tuto komunikaci zachytit pomocí sekvenčních diagramů (je možné využít i další diagramy). Tím docílíme popsání úplné funkčnosti modelu.</p>
<p style="text-align: justify;">V rámci otázky implementace nás bude držet při zemi databáze jakožto úložiště dat. Naštěstí je možné postavit model na nějakém ORM a částečně se s nástrahami vypořádat. Teď, když už máme <em>čistě objektový perzistentní funkční základ</em> webové aplikace, který je schopný obstarat všechny případy užití externích uživatelů, je  teprve čas na natlačení uživatelského rozhraní do controllerů, šablon a formulářů!</p>
<p>[USDP]Jim Arlow, Ila Neustat: <em>UML 2 a unifikovaný proces vývoje aplikací</em>, Computer Press, 2007</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/abstrakce-pouziti-webove-aplikace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>K něčemu malému s velkou myšlenkou</title>
		<link>http://kubanek.org/blog/k-necemu-malemu-s-velkou-myslenkou/</link>
		<comments>http://kubanek.org/blog/k-necemu-malemu-s-velkou-myslenkou/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 12:12:58 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Informační technologie]]></category>
		<category><![CDATA[Nette Framework]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=114</guid>
		<description><![CDATA[Byl jsem zendařem. Už je tomu asi rok a půl zpátky. Hledal jsem vhodný PHP framework, který by mi ulehčil práci při psaní webových aplikací. Tenkrát jsem se rozhodl pro Zend Framework hlavně z toho důvodu, že ho vyvíjeli autoři PHP. Říkal jsem si, že asi bude psán kvalitně. Výběru napomohla také skutečnost, že frameworků [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Byl jsem <em>zendařem</em>. Už je tomu asi rok a půl zpátky. Hledal jsem vhodný PHP framework, který by mi ulehčil práci při psaní webových aplikací. Tenkrát jsem se rozhodl pro <a href="http://zendframework.com/">Zend Framework</a> hlavně z toho důvodu, že ho vyvíjeli autoři PHP. Říkal jsem si, že asi bude psán kvalitně. Výběru napomohla také skutečnost, že frameworků tenkrát ještě moc nebylo, nebo o nich aspoň nebylo tolik slyšet. To až v poslední době se s nimi roztrhl pytel. Pamatuji si, byla to verze 1.5, kterou jsem začal studovat. Naivně jsem si vytiskl <em>celou</em> dokumentaci. To se ještě vešla na pouhých 670 stránek. K tomu jsem si koupil <a href="http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1540">knihu</a>, která se vázala k verzi 1.5, a začal jsem se vzdělávat.</p>
<p style="text-align: justify;">Přechod na verzi 1.6 byl jediný přechod, který jsem stihl plně pochytit. S přechodem na verzi 1.7 mi toho hodně proklouzlo a další přechody už jsem sledovat nestíhal. Zend Framework byl hodně rozšířen do všech směrů a stalo se z něho obrovské <em>neovladatelné</em> monstrum. Kde zůstala ta základní kostra verze 1.5? S vytisknutou dokumentací a zakoupenou knihou si teď můžu tak akorát tak… Nezastavitelný bezmyšlenkovitý vývoj mě začal na frameworku vadit. To když začínáte s projektem na aktuální verzi frameworku, museli byste projekt před dokončením pořád upravovat na tu novou a novou verzi, abyste jeli pořád na té aktuální. Framework má přece práci ulehčovat, ne ztěžovat. Občas se najdou i celkem zásadní změny jako např. psaní bootstrapového souboru pomocí objektu třídy <em>Zend_Application</em> nebo třeba zavedení <a href="http://mirin.cz/blog/url-helpery">URL helperů</a>. Podle mého názoru by takové věci měly být stanoveny před počátkem vývoje frameworku. Jsou to základní kameny, na kterých by se mělo začít stavět. Kromě toho mě odradila rychlost frameworku. Je samozřejmé, že se to nabalování nových vlastností<em> </em>muselo někde projevit. Jednoduše Zend Framework už nesplňuje moji ideologii frameworku. Netuším, proč se vývojáři snaží, aby uměl úplně všechno.</p>
<p style="text-align: justify;">V tomto ohledu se mi zalíbil <a href="http://nettephp.com/cs/">Nette Framework</a>, který mi byl doporučen <a href="http://beta.dvojmo.cz/">Tomášem Jukinem</a>. Má totiž jasně vytyčenou myšlenku, se kterou ho David Grudl píše. Fascinující je, že je framework vyvíjen pouze jediným člověkem, který si dle vlastního uvážení řekne, ano, tohle tam dám nebo ne, tohle si tam dodej sám! Líbí se mi, že se framework nerozrůstá do maximálních rozměrů a zůstává jednoduchý, jasný a srozumitelný. Mimo to využívá rozhraní a kvalitního objektového přístupu. Další plus u mě získal tím, že nemá knihovnu pro práci s databázi a tak si v klídku můžu dodat mnou zvolený ORM nástroj a stavět na něm celý model. I když mám s tímto frameworkem zatím více méně nulové zkušenosti, tak splňuje moji ideologii frameworku a vypadá to, že budeme kamarádi!</p>
<p style="text-align: justify;">Chtěl jsem vám jenom oznámit, že přecházím od <em>něčeho velikého s malou myšlenkou</em> k <em>něčemu malému s velkou myšlenkou</em>, od Zend Frameworku k Nette Frameworku.</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/k-necemu-malemu-s-velkou-myslenkou/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Příjem, nahrávka, smeč, kdo že to chytá křeč?</title>
		<link>http://kubanek.org/blog/prijem-nahravka-smec-kdo-ze-to-chyta-krec/</link>
		<comments>http://kubanek.org/blog/prijem-nahravka-smec-kdo-ze-to-chyta-krec/#comments</comments>
		<pubDate>Sat, 16 May 2009 09:56:55 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Volejbal]]></category>
		<category><![CDATA[turnaj]]></category>
		<category><![CDATA[Volksbank-Cup]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=111</guid>
		<description><![CDATA[Napíšu ještě jednu větu? Ne, to už jí musí stačit, říkal jsem si při dopisování klauzury z fotomédií při posledních dvou pátečních hodinách. Kolena se mi třásla a radostí jsem mlátil rukou do stolu. Těšil jsem se totiž na tak dlouho očekávaný volejbalový turnaj v Heidenau. Po škole jsem zametl náš internátní pokoj (už taky [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Napíšu ještě jednu větu? Ne, to už jí musí stačit, říkal jsem si při dopisování klauzury z fotomédií při posledních dvou pátečních hodinách. Kolena se mi třásla a radostí jsem mlátil rukou do stolu. Těšil jsem se totiž na tak dlouho očekávaný volejbalový turnaj v Heidenau. Po škole jsem zametl náš internátní pokoj (už taky bylo na čase), připravil ležení pro starší část našeho týmu a s napětím je vyčkával. Dorazili v následujícím složení: Luďa, taťka, Tomík, Michal a Bára. Ještě s Petrou a Durym jsme vytvořili tým chmelařského města Žatec s názvem <em>Hopfenstadt Saaz</em>. Už před intrem na nás vytáhli všelijaké nádoby různých tvarů a hlavně obsahů, odnesli si zavazadla a pak se razilo na nádraží. Nejprve byli všichni zmatení a to samé říkali o mně, ale na nádraží jsme úspěšně trefili. Představili jsme jim komfort německých lokálek a pak jsme si to štrádovali z heidenauského <em>(nebo jak by se to jinak dalo říct)</em> nádraží do tělocvičny. Mapy se sice chopila Petra, ale i tak jsme na osudové místo dorazili.</p>
<p style="text-align: justify;">
<div id="attachment_278" class="wp-caption alignright" style="width: 310px"><a href="http://kubanek.org/download/2009/05/DSC00903.JPG" rel="lightbox[111]"><img class="size-medium wp-image-278  " title="Volksbank-Cup 2009" src="http://kubanek.org/download/2009/05/DSC00903-300x225.jpg" alt="Volksbank Cup" width="300" height="225" /></a><p class="wp-caption-text">Volksbank-Cup 2009</p></div>
<p style="text-align: justify;">Převlékli jsme se do tmavých dresů s červeným nápisem a logem přeškrtnutých čar, symbolizujících pivní účet. Po registraci jsme se ocitli v základní skupině s jedním z našich školních družstev, družstvem pana Molína a dalším, neznámým, družstvem. Turnaj byl vymyšlen podle mého názoru hodně nerozumně. Zápas se hrál totiž 1×8 minut a tak než jsme se stačili rozkoukat, byl už konec. To ale nic nemění na tom, že jsme základní skupinu vyhráli a porazili Piranhu, družstvo kterému šéfuje pan Molín. Po odehrání posledního balónu Michalovo medvědí tlapou a následné kruté bouchnutí o zem způsobilo hřejivý pocit uvnitř celého mého těla. Tím byl splněn první z mých cílů. Po stálém doplňování tekutin a dalších zápasech jsme splnili i můj druhý cíl, a to, postoupit a přesunout se do druhé tělocvičny. Trochu mě štvalo, že Rocco, který hrál za Lokotku a začínal v druhé hale, nepostoupil a hrál o útěchu v naší začáteční hale, takže jsme si haly vystřídali.</p>
<p style="text-align: justify;">Říkal jsem si, že hala, ve které se bojuje o první místo, se musí mít k světu, ale trochu jsem se zmýlil. V hale sice byla tribuna a geniální sprchy na žetony (na jejichž princip jsem prostě nepřišel a tak jsem musel nenápadně vlézt do Duryho sprchy), ale síť byla nízko a ještě prověšená. A k tomu na ní nebyly antény. Prostě z technické stránky jednoznačné zklamání. Nechme tyto věci ležet, vždyť síť byla na obou stranách stejná. Zkuste se zamyslet nad tím, s jakou pravděpodobností lze uhrát v zápase na 8 minut remízu. A ještě když 40 vteřin před koncem držíte náskok o tři body. Neměli jsme štěstí a hráli jsme dál o 7. místo. Kozlíci to na nás už zkoušeli s jejich umělohmotným &#8211; více méně vietnamským &#8211; míčem, ale my jsme se nedali a poslali je zpět do receptáře. V rozhodujícím zápase jsme už nebyli dostatečně motivováni a možná trochu zapracovali nervíci a tak jsme se umístili na (myslím si) krásném 8. místě z celkových 28 družstev (přítomných jich bylo jen 26, to je jenom, aby to vypadalo). O školních družstvech jsem neměl ani páru, protože se s námi do jiné haly nepřesouvali a hráli v druhé hale o 13. místo. Piranha se po finálovém boji s bezejmennými umístila na druhém místě. Takže se můžeme těšit z toho, že jsme porazili tým na 2. i na 3. místě. Své očekávání jsem splnil, ale až za rok jim teprve ukážeme, jak se to hraje. Třeba budeme mít i kapku toho štěstí, které jsme letos docela postrádali.</p>
<p style="text-align: justify;">Tím to ale (naštěstí/bohužel) nekončilo. Petra odjela s Petrem a my se vydali zpátky na intr. Mysleli jsme, že to na návsi (rozuměj náměstí) bude žít, ale žilo to pouze přípravou pódia, tak jsme zalezli k Turkovi do Kebap Hausu. Tomík nám ukázal základy stolování a po tom, co měl sósu úplně všude, si sedl a začal nás nenápadně tahat domu. Jak jinak by se dalo vysvětlit, že jsme měli 4 účty? Celková suma byla víc než solidní, ale i tak byl Tomík připraven si to u Turka nebo Turkyně odpracovat. Turek z nás už byl trochu na větvi a tak jsme to kolem druhý zalomili. S troškou rámusu jsme se vrátili na intr a tam byl teprve srandy kopec. Bitva o postele, krapet hudby a Tomíkovo mírné upouštění. Tyto činnosti naplňovali naší zábavu před tím než jsme ulehli. Pak už bylo slyšet jen řezání motorové pily… Nejlepší zjištění ale bylo, že Dury, který měl vstávat v 6 hodin kvůli závodům v pádlování, zaspal!</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/prijem-nahravka-smec-kdo-ze-to-chyta-krec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bootstrap file a nekoncepční třída</title>
		<link>http://kubanek.org/blog/bootstrap-file-a-nekoncepcni-trida/</link>
		<comments>http://kubanek.org/blog/bootstrap-file-a-nekoncepcni-trida/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 12:02:39 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Informační technologie]]></category>
		<category><![CDATA[bootstrap file]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=93</guid>
		<description><![CDATA[K tomuto příspěvku mě dotlačilo toto téma na českém ZF fóru, ale především tři noci prosezené u psaní a konečné formulace bootstrap file pro projekt My Town Game, o kterém vám v blízké době povím něco více. Zakrývám si oči pravou rukou, otáčím se a ulehám do kouta. Harvejsi, měl jsem bootstrap tak veliký a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">K tomuto příspěvku mě dotlačilo <a href="http://forum.zendframework.cz/index.php?topic=620.0">toto téma</a> na českém ZF fóru, ale především tři noci prosezené u psaní a konečné formulace bootstrap file pro projekt <a href="http://mtgame.net/">My Town Game</a>, o kterém vám v blízké době povím něco více. Zakrývám si oči pravou rukou, otáčím se a ulehám do kouta. Harvejsi, měl jsem bootstrap tak veliký a nepřehledný, že jsem byl donucen ho přepsat do nekoncepční třídy s originálním názvem <em>Application</em>. Kromě tebou <a href="http://forum.zendframework.cz/index.php?topic=620.msg3099#msg3099">zmiňované</a> přehlednosti má nekoncepční třída bootstrap filu ještě takovou výhodu, že se u každé metody dá napsat pěkný phpDoc komentář, který mi vždy připomene, co že se to teď vlastně louduje. Takže se ti předem omlouvám a nedivím se, proč je kolem vývoje třídy <a href="http://framework.zend.com/wiki/display/ZFPROP/Zend_Application+-+Ben+Scholzen">Zend_Application</a> takové vzrůšo. Dovolil bych si tedy tvrdit, že pokud se jedná o větší ZF projekt, jehož bootstrap file by byl v základním znění nepřehledný, je výhodné, naházet to všechno do nekoncepční třídy. Musím tedy přihmouřit své OOoči… <img src="http://kubanek.org/blog/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /></p>
<p style="text-align: justify;">Ehm, a co že to ta nekoncepční bootstrap třída vlastně je? Představte si, že váš bootstrap file <em>index.php (www/index.php)</em><strong> </strong>bude vypadat následovně a že statická metoda s divokým názvem <em>run()</em><strong> </strong>se postará o všechno, co je třeba:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:800px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// include class Application</span><br />
<span style="color: #b1b100;">require_once</span> <span style="color: #0000ff;">'..'</span> <span style="color: #339933;">.</span> <span style="color: #009900; font-weight: bold;">DIRECTORY_SEPARATOR</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'application'</span> <span style="color: #339933;">.</span> <span style="color: #009900; font-weight: bold;">DIRECTORY_SEPARATOR</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'Application.php'</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// execute the application</span><br />
Application<span style="color: #339933;">::</span><span style="color: #004000;">run</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p style="text-align: justify;">Přesuneme se dále do třídy <em>Application (application/Application.php)</em>, která implementuje návrhový vzor singleton, protože aplikaci přece nebudeme spouštět vícekrát najednou, a to i kdyby měla <a href="http://phpfashion.com/singleton-sofie-s">Sofie S.</a> zůstat sama samotinká. Tato metoda potom ve zkratce zavolá po sobě seřazenou většinu loudovacích metod, které jsou ve třídě dostupné. To je kalibr!</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:800px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* This method execute the application<br />
&nbsp;*<br />
&nbsp;* @return void<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">public</span> static <span style="color: #000000; font-weight: bold;">function</span> run<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> &nbsp;<span style="color: #009900;">&#123;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_setErrorReporting<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// error reporting level</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_setDefaultTimezone<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Europe/Prague'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// default timezone</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_setApplicationDir<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// application directory</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_setIncludePath<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// include path</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_registerAutoload<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// autoloader</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_netteDebug<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Nette debug</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_loadConfig<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// loading configuration</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_initCache<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// cache</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_doctrineConnect<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// database connection</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_initRouter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// router</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_initFrontController<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// front controller</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">getInstance</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span>_dispatch<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// dispatch</span><br />
<br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p style="text-align: justify;">Všechny takto volané metody jsou soukromé a vykonávají část bootstrap funkcionality, která se takto dá velmi jednoduše dokumentovat pomocí phpDoc u každé této metody a samozřejmě také rozšiřovat novými metodami. Třída pak může obsahovat ještě pomocné soukromé metody nebo veřejné metody pro přístup z pluginů nebo z controllerů. Na ukázku ještě detail metody pro připojení do databáze:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:800px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Doctrine lazy database connection<br />
&nbsp;* It creates a connection string by class Tools_Doctrine and it forwards this string<br />
&nbsp;* to Doctrine manager.<br />
&nbsp;*<br />
&nbsp;* @link http://www.doctrine-project.org/Doctrine_Manager/1_0#method_connection<br />
&nbsp;* @see class Doctrine_Manager<br />
&nbsp;* @see class Tools_Doctrine<br />
&nbsp;* @return void<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _doctrineConnect<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$connection</span> <span style="color: #339933;">=</span> Tools_Doctrine<span style="color: #339933;">::</span><span style="color: #004000;">getConnectionString</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_config<span style="color: #339933;">-&gt;</span><span style="color: #004000;">database</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; Doctrine_Manager<span style="color: #339933;">::</span><span style="color: #004000;">connection</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$connection</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$connection</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p style="text-align: justify;">No a konečně disponuje nekoncepční bootstrap třída výhodou, že si může všechno zapamatovat ve svých členských proměnných a o použití <em>Zend_Register</em> si můžete nechat během teplých letních nocích jen zdát. Následující kód zobrazuje příklad deklarace členských proměnných.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:800px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Single instance of class Application<br />
&nbsp;*<br />
&nbsp;* @staticvar Application<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> static <span style="color: #000088;">$_instance</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Application directory<br />
&nbsp;*<br />
&nbsp;* @var string<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_dir</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Configuration object<br />
&nbsp;*<br />
&nbsp;* @var Zend_Config<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_config</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Cache object<br />
&nbsp;*<br />
&nbsp;* @var Zend_Cache<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_cache</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Router<br />
&nbsp;*<br />
&nbsp;* @var Zend_Controller_Router_Rewrite<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_router</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Language<br />
&nbsp;*<br />
&nbsp;* @var string<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_language</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Application locale<br />
&nbsp;*<br />
&nbsp;* @var Zend_Locale<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_locale</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Translation object<br />
&nbsp;*<br />
&nbsp;* @var Zend_Translate<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_translator</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Instance of Front Controller<br />
&nbsp;*<br />
&nbsp;* @var Zend_Controller_Front<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_frontController</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">null</span><span style="color: #339933;">;</span></div></td></tr></tbody></table></div>
<p style="text-align: justify;">Vše co je libo je prostě přístupné a tak si ještě nakonec shrneme výhody a nevýhody nekoncepční bootstrap třídy. Mezi výhody patří:</p>
<ul>
<li>přehlednost</li>
<li>dokumentovatelnost</li>
<li>rozšiřovatelnost</li>
<li>přístupnost</li>
<li>znovupoužitelnost</li>
</ul>
<p>A mezi nevýhody patří:</p>
<ul>
<li>nekoncepčnost</li>
<li>rychlost (zanedbatelná)</li>
</ul>
<p style="text-align: justify;">Stejně jako jsem v <a href="http://kubanek.org/blog/prave-objektove-orientovane-programovani-v-php/">článku o kategorizaci přístupu k tvorbě PHP projektu</a> neodsuzoval žádný z přístupů, tak ani v tomto případě netvrdím, že některý způsob tvorby bootstrap filu je obecně nejlepší. Proč si myslíte, že to Zend Framework nechává otevřené a předává tuto starost na samotné programátory?</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/bootstrap-file-a-nekoncepcni-trida/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tak už si mě odvezli</title>
		<link>http://kubanek.org/blog/tak-uz-si-me-odvezli/</link>
		<comments>http://kubanek.org/blog/tak-uz-si-me-odvezli/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 06:01:22 +0000</pubDate>
		<dc:creator>Lukáš Kubánek</dc:creator>
				<category><![CDATA[Postřehy ze života]]></category>
		<category><![CDATA[nemocnice]]></category>

		<guid isPermaLink="false">http://localhost/kubanek.org/?p=84</guid>
		<description><![CDATA[Ano, je tomu tak. V pátek se mi celý den motala hlava a večer před spaním jsem měl pocit, že se nemůžu nadechnout. Nasadil jsem si tedy půlku kalhot a vyšplhal se do bytu paní Pokorné. Do nemocnice jsem se se Slayem projel sanitkou. Uvítali mě a provedli pár základních vyšetření. Mimo to mi do [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Ano, je tomu tak. V pátek se mi celý den motala hlava a večer před spaním jsem měl pocit, že se nemůžu nadechnout. Nasadil jsem si tedy půlku kalhot a vyšplhal se do bytu paní Pokorné. Do nemocnice jsem se se Slayem projel sanitkou. Uvítali mě a provedli pár základních vyšetření. Mimo to mi do pravé ruky zasadili speciální lidské rozhraní API, se kterým jsem komunikoval s infuzemi. Když mi dělali ultrazvuk, Slay při pohledu na flekatý displej s úžasem povídal: „Vidíš, bude to chlapeček.“ Chlapci ze mě byli nejprve trochu zmatení, ale nakonec mě uložili do jedné z postelí.</p>
<p style="text-align: justify;">Takový luxus a komfort, který jsem tam zažil, se celkem nedá srovnávat. Místo obyčejného lůžka jsem ovládal letecký simulátor a hodnoty letu se mi zobrazovali na parádní minitelevizi s rádiem. Jídlo se internátnímu také vůbec nevyrovnalo, všechno mi tam chutnalo. Během pobytu mě sice občas vyrušil nějaký ten doktor, který si na mě chtěl šáhnout, nebo mě odvedli na nějaké to vyšetření, ale stejně jsem měl na programu nejčastěji spánek. Programovat jsem bohužel mohl jen na papír, ale i tak to stálo za to. Celkem často se u mě střídaly návštěvy z intru, tak jsem si poslechl aspoň trochu češtiny. Mimo to, ty mladé sestřičky…</p>
<p style="text-align: justify;">No a v předposlední den mé nemocniční rekreace přivezli Goga, který se snažil napodobit Angeliku při chůzi po schodech. Vyvrknul si kotník a při sjezdu následujícího schodiště udělal 3 salta a 5 vrutů. Jenže jeho připojili do Matrixu. Vedle sebe měl speciální oscilátorový přístroj, který měřil, jak často dýchá. No a to by to nebyl Gogo, kdyby ty ladné křivky jeho dechu neupravoval a neukazoval všem. Nejlépe mu odpověděl pan Molín: „Filipe, až se budete umět podepsat, to bude teprve něco.“ A Gogo hned začal trénovat.</p>
<p style="text-align: justify;">Sice jsem po příjezdu trochu unavený z toho odpočívání a ruce mám jako feťák, ale řeknu vám jedno, kdyby tam měli internet, tak už mě odtamtud nedostanou!</p>
]]></content:encoded>
			<wfw:commentRss>http://kubanek.org/blog/tak-uz-si-me-odvezli/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
