<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;DU4ER3o9fCp7ImA9WhRQFko.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266</id><updated>2011-12-12T09:18:26.464+01:00</updated><category term="Auta" /><category term="WebServices" /><category term="život" /><category term="JBoss" /><category term="IDEA" /><category term="Internet" /><category term="Politika" /><category term="oRESTování" /><category term="ITapikování" /><category term="Linux" /><category term="špeky" /><category term="Školství" /><category term="Hibernate" /><category term="knížky" /><category term="Wesnoth" /><category term="Kultura" /><category term="Grails" /><category term="geocaching" /><category term="Java" /><category term="Oracle" /><title>Tapikování</title><subtitle type="html">Tapikův více či méně soukromý blog.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>125</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/tapikovani" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="tapikovani" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;C04CR3c8eCp7ImA9WhdaEk0.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-2987790833358297403</id><published>2011-10-21T14:59:00.000+02:00</published><updated>2011-10-21T14:59:26.970+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-21T14:59:26.970+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Grails" /><title>Grails, Searchable plugin a org.hibernate.NonUniqueObjectException</title><content type="html">Podařilo se mi při testování Searchable plugin získat org.hibernate.NonUniqueObjectException při Create operaci. Je to způsobeno chybou při vkládání do složeného indexu. Tvůrce pluginu s tím má nějaké potíže, takže je potřeba použít workaround: je potřeba během save() vypnout mirorring a občas pro jistotu reindexovat.&lt;br /&gt;
&lt;verbatim&gt;&lt;br /&gt;
    def searchableService&lt;br /&gt;
    def save = {&lt;br /&gt;
        def polozkaInstance = new Polozka(params)&lt;br /&gt;
        searchableService.stopMirroring()&lt;br /&gt;
        if (polozkaInstance.save(flush: true)) {&lt;br /&gt;
            flash.message = "${message(code: 'default.created.message', args: [message(code: 'polozka.label', default: 'Polozka'), polozkaInstance.id])}"&lt;br /&gt;
            redirect(action: "edit", id: polozkaInstance.id)&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            render(view: "create", model: [polozkaInstance: polozkaInstance])&lt;br /&gt;
        }&lt;br /&gt;
        searchableService.startMirroring()&lt;br /&gt;
    }&lt;br /&gt;
&lt;/verbatim&gt;  &lt;br /&gt;
&lt;br /&gt;
Třeba to někomu pomůže.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-2987790833358297403?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/2987790833358297403/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=2987790833358297403" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/2987790833358297403?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/2987790833358297403?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/10/grails-searchable-plugin.html" title="Grails, Searchable plugin a org.hibernate.NonUniqueObjectException" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEMGQnkyeSp7ImA9WhdVF0U.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-8012955402506729942</id><published>2011-09-23T14:41:00.002+02:00</published><updated>2011-09-23T16:00:23.791+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T16:00:23.791+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><title>Generování PDF v grails - chybějící české znaky</title><content type="html">&lt;span class="Apple-style-span" style="background-color: white; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;PDF plugin do Grails je rychlé a šikovné řešení, ale, samozřejmě jako se vším, co udělají kluci v USA, neřeší korektně kódování. Takže je potřeba embedovat font, který obsahuje patřičné znaky. Zde je ukázka, jak to udělat.&lt;/div&gt;&lt;div&gt;Třeba to někomu pomůže.&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&amp;lt;style&amp;gt;
    @page {
        size: 210mm 297mm;
    }
    @font-face {
        src: url(file:///c:/windows/fonts/arialuni.ttf);
        -fs-pdf-font-embed: embed;
        -fs-pdf-font-encoding: Identity-H;
    }
    body {
        font-family: "Arial Unicode MS", Arial, sans-serif;
    }
    &amp;lt;/style&amp;gt;
&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-8012955402506729942?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/8012955402506729942/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=8012955402506729942" title="Počet komentářů: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8012955402506729942?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8012955402506729942?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/09/generov-pdf-v-grails-chybejici-ceske.html" title="Generování PDF v grails - chybějící české znaky" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;Dk8GSHkyeyp7ImA9WhdVF0o.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-4224232651100893519</id><published>2011-09-23T12:47:00.000+02:00</published><updated>2011-09-23T12:47:09.793+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-23T12:47:09.793+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Politika" /><title>Kdy konečně svět pochopí. že celým problémem terorismu je Izrael</title><content type="html">Chápu, že je to velmi kontroverzní názor, ale bojím se, že je tomu přesně tak.&lt;br /&gt;
Před odsouzením tohoto názoru doporučuji přečíst &lt;a href="http://procislam.webovastranka.cz/wiki/299/1809"&gt;http://procislam.webovastranka.cz/wiki/299/1809&lt;/a&gt;&lt;br /&gt;
Co si myslím o terorismu jsem psal již dříve, takže prosím neobviňovat z jeho podpory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-4224232651100893519?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/4224232651100893519/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=4224232651100893519" title="Počet komentářů: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/4224232651100893519?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/4224232651100893519?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/09/kdy-konecne-svet-pochopi-ze-celym.html" title="Kdy konečně svět pochopí. že celým problémem terorismu je Izrael" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;DkYMRHw9fyp7ImA9WhdTFUs.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-2411717399740029914</id><published>2011-07-13T15:36:00.000+02:00</published><updated>2011-07-13T15:36:25.267+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-13T15:36:25.267+02:00</app:edited><title>Rychlejší než světlo</title><content type="html">Tak jsem se dnes, 13.7.2011, díval na ČT 2 na pořad Hranice času. A jen tak mimochodem se zmínili o tom, že se vědcům podařilo prolomit bariéru rychlosti světla a to dokonce 4,7 krát. Ano, existuje &lt;a href="http://cs.wikipedia.org/wiki/%C4%8Cerenkovovo_z%C3%A1%C5%99en%C3%AD"&gt;Čerenkovovo záření&lt;/a&gt;, které vzniká tak, že gama-záření prochází průhlednou látkou, ve které se světlo pohybuje pomaleji než ve vakuu. Tady ale o tento případ nejde.&lt;br /&gt;
Jedná se o poměrně složitou teorii, kterou jednoduše shrnuje název Kvantové Tunelování. Klasická fyzika vychází z teorie kauzality. Představte si to jako domino. Dominové kostky máte v řade jednu za druhou. Když cvrnknete do první, postupně, jedna po druhé, rychlostí, kterou lze spočítat, začnou padat. Kvantové tunelování by mělo umožnit kauzalitu porušit. Představte si to tak, že necvrnknete jenom do jedné kostky, ale do všech. Rychlost šíření pádu tedy odpovídá rychlostí vaší ruky. Je tedy možné, že při správném způsobu cvrnknutí se poslední dominová kostka pohne ještě dříve, než by první narazila do druhé.&lt;br /&gt;
Profesor Günther Nimtz a jeho skupina z Univerzity v Cologne publikovali zprávu, v níž popisují přenos mikrovlnného signálu o frekvenci 8,7GHz na vzdálenost 11,4 centimetru rychlostí 4,7-krát vyšší než je rychlost světla. Tímto signálem byla Mozartova 40. symfonie.&lt;br /&gt;
&lt;br /&gt;
Víc viz třeba &lt;a href="http://www.npl.washington.edu/AV/altvw75.html"&gt;tady&lt;/a&gt; nebo česky &lt;a href="http://natura.baf.cz/natura/2001/5/20010506.html"&gt;zde&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-2411717399740029914?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/2411717399740029914/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=2411717399740029914" title="Počet komentářů: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/2411717399740029914?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/2411717399740029914?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/07/rychlejsi-nez-svetlo.html" title="Rychlejší než světlo" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;C0YMSHg-cSp7ImA9Wx9aGUo.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-1928008479097550073</id><published>2011-03-12T23:06:00.002+01:00</published><updated>2011-03-13T00:06:29.659+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-13T00:06:29.659+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>Jak málo někdy rozhoduje při souboji cechů</title><content type="html">Za poslední dva dny jsme my v kofola_teamu na Shakes&amp;Fidget zaznamenali tři naprosto rozdílné bitvy cechů.&lt;br /&gt;
První jsme prohráli velice těsně. Dobře si prohlédněte souboj druhého nejlepšího hráče protivníka a naše nejlepšího - Highlandera. Polomrtvá dá kritický zásah, který ubere víc než polovinu životů :-(&lt;br /&gt;
Tady je: &lt;a href="http://www.youtube.com/watch?v=HTso6_ryqDU"&gt;http://www.youtube.com/watch?v=HTso6_ryqDU&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Oproti tomu zase Highlander sám vymlátil téměř půlku cechu:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.youtube.com/watch?v=lg1Bz8k--3E"&gt;http://www.youtube.com/watch?v=lg1Bz8k--3E&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
A poslední je o tom, že když se spojí síly celého cechu, tam jdou vymlátit i daleko silnější soupeři: &lt;a href="http://www.youtube.com/watch?v=z0g_i_S8cv0"&gt;http://www.youtube.com/watch?v=z0g_i_S8cv0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-1928008479097550073?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/1928008479097550073/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=1928008479097550073" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/1928008479097550073?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/1928008479097550073?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/03/jak-malo-nekdy-rozhoduje-pri-souboji.html" title="Jak málo někdy rozhoduje při souboji cechů" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0QMRnY-fSp7ImA9Wx9aE0s.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-517368277850572609</id><published>2011-03-05T22:35:00.001+01:00</published><updated>2011-03-05T23:49:47.855+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-05T23:49:47.855+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>Onlajnovky a zamindrákované děti</title><content type="html">Je zvláštní, jak "moderní" on-line hry zasáhly svět. Desítky různých her, desítky různých principů, a přitom vše o jednom. Chcete-li něčeho dosáhnout, musíte si zaplatit speciální bonusy. &lt;br /&gt;
Kde jsou staré dobré zlaté časy MUDů, neboli MultiUserBungeonů, jako byla Moria. Nedokážu si představit, že bych si kupoval lepší zbraně. Proto je zvláštní, že většinu hráčů tvoří děti.&lt;br /&gt;
&lt;br /&gt;
Synovec, který hraje bůhvíco o mezihvězdných válkách, se mě z vážnou tváří zeptal, jestli si myslím, že by tuto hru hrál i takový stařík, který má, považte, třicet tři let! Bylo pro něj naprosto nepředstavitelné. Teprve když jsem mu připomněl, že já také občas pařím nějakou tu onlajnovku, zarazil se a řekl, že teda asi jo. A tyto děti podle mne tvoří také většinu platících účastníků. Podle mého průzkumu si to platí SMSkama z mobilu. A to buď tajně a nebo když jim přesvědčí dědečka či babičku.&lt;br /&gt;
&lt;br /&gt;
Je to pěkný výchovný hnus, ale daleko horší vliv na ně má ona anonymita. Každý si hned myslí, že když nikdo neví, kdo on je, tak že si může dovolit urážet a být sprostý. A pak se to přenese do běžného života. Každopádně dnes nad ránem jsem si užil úžasný otřesný zážitek.&lt;br /&gt;
&lt;br /&gt;
Jeden devítiletý kluk, říkejme mu Pepa Vařák, mně (účet Telcontar) a ještě jednomu důstojníkovi (říkejme mu dust) cechu kofola_team na S4.sfgame.cz, pod účtem josef120 napsal asi toto: "Pošli mi pozvánku"&lt;br /&gt;
&lt;br /&gt;
Žádné prosím, please ani PLZ nebo můžu a tak. Prostě příkaz. Protože podmínka byla úroveň 60 a on měl jen 48, odespal jsem mu ve stejném stylu: "MUHAHAHAHAHÁÁÁÁÁ!!! AHAHAHAHA!!!!!"&lt;br /&gt;
&lt;br /&gt;
Na to napsal: "Tak jo odešli mi tu pozvánku." A v dalším mailu přidal, že je houbičkář. Řekl jsem si, že ho přijmu, protože je cechu třeba každého houbičkáře (toho, kdo si kupuje bonusy (houbičky)), protože jenom za houbičky je možné vylepšovat vlastnosti cechu.&lt;br /&gt;
&lt;br /&gt;
Součástí Shakes &amp; Fidget je cechovní chat neboli kecátko. Když se přihlásil do cechu, rozvinula se na chatu následující debata:&lt;br /&gt;
:ahoj&lt;br /&gt;
Telcontar: cus&lt;br /&gt;
:čus&lt;br /&gt;
josef120: Ahoj čus cus co to jako má bejt?&lt;br /&gt;
: pozdrav?&lt;br /&gt;
josef120: Si mislíte že sem číňan? Debilové!&lt;br /&gt;
Telcontar: No nic&lt;br /&gt;
&lt;br /&gt;
A dál to pokračovalo v podobném duchu.  Mezi tím jsme si s mým prvním důstojníkem povídali, co si o něm myslíme. A protože ono kecátko umožňuje posílat zprávy taky samotnému hráči, psali jsme si to přímo v chatu a prokládali tím veřejnou komunikaci. Takže to v jednu chvíli vypadalo takto:&lt;br /&gt;
&lt;br /&gt;
josef120: Jak se menuješ?&lt;br /&gt;
dust: A proč to chceš vědět?&lt;br /&gt;
josef120: si pičus? to je jasn. ja sem pepa v.&lt;br /&gt;
dust-&gt;Telcontar: Co si o něm myslíš?&lt;br /&gt;
Telcontar-&gt;dust: Asi pěkné pako.&lt;br /&gt;
dust-&gt; Je to houbičkář?&lt;br /&gt;
dust: Aha. Můžeš mi říct, kolik je ti let?&lt;br /&gt;
Telcontar-&gt;dust: tvrdil že jo&lt;br /&gt;
josef120: devět a neser kreténe&lt;br /&gt;
dust: Myslel jsem si to. Víš o tom, že by tu někteří z nás mohli být tvoji taťkové? Tak by ses měl chovat slušně.&lt;br /&gt;
Telcontar-&gt;dust: Hmmm. Kolik hub z něho vytáhneme, než ho vykopneme? :-D&lt;br /&gt;
dust-&gt;Telcontar: :D Podívej se na jeho profil, já se zasmál, až jsem se za břicho popadal.&lt;br /&gt;
josef120: Pošuku!&lt;br /&gt;
Telcontar-&gt;dust: Tý brďo, on píše, že je pod ochranou hráče s levelem o jedna vyšším!&lt;br /&gt;
Telconar: josefe, kdy dodáš slibované houbičky a kolik?&lt;br /&gt;
dust-&gt;Telcontar: Dost dobrá otázka.&lt;br /&gt;
Telcontar-&gt;dust: Ty, ten hráč, pod kterého je ochranou, je asi on sám. Jmenuje se varak12...&lt;br /&gt;
&lt;br /&gt;
A pak jsem dostal poštu od josef120:&lt;br /&gt;
žekni tim tvem pitomem hraču klidně tet.&lt;br /&gt;
&lt;br /&gt;
A pak opustil cech.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-517368277850572609?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/517368277850572609/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=517368277850572609" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/517368277850572609?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/517368277850572609?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/03/onlajnovky-zamindrakovane-deti.html" title="Onlajnovky a zamindrákované děti" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A04NQ3Y_fCp7ImA9Wx9bEk4.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-8204377509172543041</id><published>2011-02-20T23:13:00.000+01:00</published><updated>2011-02-20T23:13:12.844+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-20T23:13:12.844+01:00</app:edited><title>kofola_team_druhe_podzemi_s4.mpeg</title><content type="html">Tak jsem se po dlouhé době rozhodl zkusit si další onlajnovku. V tomto případě &lt;a href="http://s4.sfgame.cz/index.php?rec=55633"&gt;Shakes &amp; Fidget&lt;/a&gt; (pokud se rozhodnete to zkusit, použijte tento odkaz, dostanu za to plusové bodíky :-)). U ní není nutné trávit dny i noci jako u Travianu, i když to taky nějaký čas schlamstne.&lt;br /&gt;Princip je v to, že jste hrdina (válečník, kouzelník nebo průzkumník) jedné z osmi ras (člověk, elf, temný elf, trpaslík, gnóm, ork, skřítek a démon) a tak jako každý správný hrdina chodíš po hospodách a necháváš se najímat na různé úkoly. Každý úkol trvá nějakou dobu a na každý den máš vyhrazeno 100 minut na dobrodružství.&lt;br /&gt;Celé je to pěkně vymyšlené. Ovládání není ve skutečnosti nic jiného než pěkně graficky ztvárněné menu. V menu si vybereš "Hospoda", tam si klikneš na zadavatele úkolu, vybereš jedno ze tří dobrodružství a pak už jen čekáš, jak ono dobrodružství dopadne. Až uplyne doba dobrodružství, zobrazí se dva obrázku - jeden s tvojí podobiznou a jeden z nepřítelem. A ty jenom sedíš a koukáš, jak se tvůj hrdina ohání mečem, střílí z kuše, vysílá blesky nebo řeže motorovou pilou svého nepřítele a doufáš, že na konci zbyde tvému hrdinovi aspoň nějaký život, kdežto protivníkovi žádný.   &lt;br /&gt;&lt;br /&gt;Postupně jsem se dostal do cechu kofola_team, který momentálně vedu.&lt;br /&gt;Tady zkusím dávat nějaké videa z výprav cechů do podzemí.&lt;br /&gt;&lt;br /&gt;&lt;iframe width="425" height="344" src="http://www.youtube.com/embed/8SMHtgt7R_8?fs=1" frameborder="0" allowFullScreen=""&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-8204377509172543041?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/8204377509172543041/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=8204377509172543041" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8204377509172543041?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8204377509172543041?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/02/kofolateamdruhepodzemis4mpeg.html" title="kofola_team_druhe_podzemi_s4.mpeg" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/8SMHtgt7R_8/default.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0UBQn87fCp7ImA9Wx9UFk0.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-1674349237559653717</id><published>2011-02-13T14:54:00.000+01:00</published><updated>2011-02-13T14:54:13.104+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-13T14:54:13.104+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>Jak nastavit GMail jako výchozí mailer pro mailto: v Google Chrome</title><content type="html">Postupně přecházím na svět Google+Linux. Pořídil jsem si Android, na Ubuntu používám jako výchozí prohlížeč Google Chrome, poštu čtu na GMailu, Kalendář mám v Google Aps, dokumenty tam začínám mít také. Jenom mne pořád štvalo, že se mi při kliknutí na &lt;tt&gt;mailto:&lt;/tt&gt; vždy spustí evolution místo otevření GMailu. Ale to je již minulostí.&lt;br /&gt;
Hledal jsem v nastavení, jestli mi to neumožní, nic. Trochu jsem Gůglil a našel jsem rozšíření, které to umí. Kde stažení je zde: &lt;a href="https://chrome.google.com/extensions/detail/dgkkmcknielgdhebimdnfahpipajcpjn"&gt;https://chrome.google.com/extensions/detail/dgkkmcknielgdhebimdnfahpipajcpjn&lt;/a&gt; .&lt;br /&gt;
Instalace jednoduchá, funkcionalita perfetní.&lt;br /&gt;
Třeba to někomu pomůže.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-1674349237559653717?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/1674349237559653717/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=1674349237559653717" title="Počet komentářů: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/1674349237559653717?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/1674349237559653717?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/02/jak-nastavit-gmail-jako-vychozi-mailer.html" title="Jak nastavit GMail jako výchozí mailer pro mailto: v Google Chrome" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DEANRHoyeip7ImA9Wx9VFE4.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-1179397484611520705</id><published>2011-01-31T01:10:00.002+01:00</published><updated>2011-01-31T02:19:55.492+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-31T02:19:55.492+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="IDEA" /><title>První potkání s Grails</title><content type="html">Tak jsem se po dlouhém odkládání konečně dostal k tomu vyzkoušet si Grails. Na tento framework jsem četl poměrně hodně chvalozpěvů, jak moc je to jednoduché v něm něco udělat, a tak jsem si říkal, že by to snad ani nemuselo být nijak složité.&lt;br /&gt;
&lt;div&gt;Stáhl jsem si Grailsy a protože vím, že IntelliJ IDEA má pro Grailsy podporu, zkusil jsem bez jakékoli přípravy to zkusit rozjet.&lt;/div&gt;&lt;div&gt;To, že IDEA je naprosto fantastická, jsem věděl už dávno. Ale to, co jsem právě prožil, to je prostě fantazie.&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;V prvé řadě vytvoříte Grailsový projekt. Tady není co zkazit, jenom odklikáte from scratch, název a cestu (tak jak jste zvyklí), jenom místo Java projektu zvolíte Grails.&lt;/li&gt;
&lt;li&gt;Otevře se Vám místo klasického stromečku Project stromeček GrailsView, které obsahuje logicky uspořádané objekty. V tuto chvíli jsem naprosto nevěděl, co dělat, i sáhl jsem po Gůglu a vygůglil tutoriál &lt;a href="http://www.infoq.com/minibooks/grails-getting-started"&gt;Getting&amp;nbsp;Started&amp;nbsp;with&amp;nbsp;Grails&lt;/a&gt; od &lt;i&gt;Scotta Davise&lt;/i&gt; a &lt;i&gt;Jasona Rudolpha&lt;/i&gt;. Je zdarma ke stažení na infoq.com, ale vyžaduje registraci. Tam jsem se dočetl o tom, co je doménová třída, controller a view (skončil jsem na straně 27 u "Hello World")&lt;/li&gt;
&lt;li&gt;Přes pravé tlačítko na &lt;i&gt;Domain classes&lt;/i&gt; jsem si vytvořil první doménovou třídu &lt;tt&gt;Race&lt;/tt&gt; a nakopíroval do ní seznam atributů z tutoriálu.&lt;/li&gt;
&lt;li&gt;Klikl jsem na &lt;i&gt;RaceController&lt;/i&gt; - Generate controller, čímž se vygeneroval zajímavě vypadající CRUD Controller.&lt;/li&gt;
&lt;li&gt;Klikl jsem na &lt;i&gt;Race Views&lt;/i&gt; - Generate views, čímž se vygenerovaly čtyři soubory GSP.&lt;/li&gt;
&lt;li&gt;Ze srandy jsem klikl na Run. Otevřel se prohlížeč a v něm uvítací stránka Grailsů a v ní odkaz na RaceController.&lt;/li&gt;
&lt;li&gt;Klikl jsem na něj a BINGO! Otevřela se mi velice hezky vypadající jednoduchá, ale plnohodnotná webová aplikace - evidence mých objektů Race! &amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;V tuto chvíli mi spadla čelist..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;Všechno je to pěkně popsáno i s ukázkami &lt;a href="http://wiki.jetbrains.net/intellij/Creating_a_simple_Grails_application_with_IntelliJ_IDEA"&gt;zde&lt;/a&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Příště popíšu další zkušenosti s touto na první pohled geniální dvojicí - Grails a IDEA.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-1179397484611520705?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/1179397484611520705/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=1179397484611520705" title="Počet komentářů: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/1179397484611520705?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/1179397484611520705?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2011/01/prvni-potkani-s-grails.html" title="První potkání s Grails" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CE8AQng5fip7ImA9WxFaGEo.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-7311329927628455273</id><published>2010-07-23T10:14:00.000+02:00</published><updated>2010-07-23T10:14:03.626+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-23T10:14:03.626+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="život" /><title>Tož totok je spomínka na moje mládí...</title><content type="html">&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px;"&gt;Dneskaj sem si přečet báječný článeček. Čtěte také:&amp;nbsp;&lt;a href="http://vetvicka.blog.idnes.cz/c/147886/Zje-mrtvy-Lehni-nebo-nehraju-2.html"&gt;http://vetvicka.blog.idnes.cz/c/147886/Zje-mrtvy-Lehni-nebo-nehraju-2.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="color: #333333; font-family: 'lucida grande', tahoma, verdana, arial, sans-serif; font-size: 13px;"&gt;A je pravda pravdúcí! A né že nae! Akorát u nás pod sídliskem byl sad kerý nebýl nikeho, tož sme tam ožírali střešně o sto šest! A ty jabka! Zimáky ontária už v srpnu - to sa po nich huba tak krásno krútila! A koprovka? Ta by u nás musela mňet gulomet, aby vydržala do druhého dňa. Ale gdyž babička navařili kotel kyselice... ta byla najlepčí teprv až sa v ní rozležely klobáse!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-7311329927628455273?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/7311329927628455273/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=7311329927628455273" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/7311329927628455273?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/7311329927628455273?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/07/toz-totok-je-spominka-na-moje-mladi.html" title="Tož totok je spomínka na moje mládí..." /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0UNRHs7eyp7ImA9WxFaFk4.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-3756894779399100609</id><published>2010-07-20T16:14:00.000+02:00</published><updated>2010-07-20T16:14:55.503+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-20T16:14:55.503+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Zastaralé Lotus Notes and A gdk Window is being destroyed out of DestroyWindow</title><content type="html">Taky se vám po čase přestal zobrazovat obsah tabů v Lotus Notes?&lt;br /&gt;
No mně se to stalo. Spustím si Notesy z příkazové řádky a najdu tam:&lt;br /&gt;
&lt;br /&gt;
A gdk Window is being destroyed out of DestroyWindow &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
&lt;code&gt;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;/opt/ibm/lotus/notes/libemulator.so [0xb569c315] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/libemulator.so [0xb5665bb1] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/usr/lib/libgobject-2.0.so.0 [0xb47edb41] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
/usr/lib/libglib-2.0.so.0(g_datalist_id_set_data_full+0x386) [0xb4e08d86] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
/usr/lib/libgobject-2.0.so.0 [0xb47ee1f9] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
/usr/lib/libgobject-2.0.so.0(g_object_unref+0xd8) [0xb47ee378] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/usr/lib/libgdk-x11-2.0.so.0(gdk_window_destroy+0x3a) [0xb48fc0fa] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/libemulator.so [0xb567d20b] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/libemulator.so [0xb567d0a0] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/libemulator.so(DestroyWindow+0x183) [0xb567d3e7] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
/opt/ibm/lotus/notes/notes(Quit+0x20e) [0x83ff77a] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/notes(EndSession+0x47f) [0x8400845] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/notes(MainWndProc+0x14a2) [0x834f406] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/libemulator.so(CallWindowProcW+0xc0) [0xb566b472] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/libemulator.so [0xb5680b83] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/opt/ibm/lotus/notes/libemulator.so(DispatchMessageW+0x13) [0xb5680bc9] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
/opt/ibm/lotus/notes/notes(NEMMainLoop+0x3f5) [0x8365977] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
/opt/ibm/lotus/notes/notes(WinMain+0x5e1) [0x832507e] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
/opt/ibm/lotus/notes/notes(main+0x1b6) [0x83284ac] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;
/lib/libc.so.6(__libc_start_main+0xfe) [0xb4ee4ace] &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;br /&gt;
No a tak jsem zjišťoval, čím by to asi mohlo být a našel jsem&amp;nbsp;&lt;a href="https://bugs.launchpad.net/ubuntu/+bug/427949"&gt;toto&lt;/a&gt;&amp;nbsp;. Problém je v nekompatibilitě nového GTK s tím, které chtějí Notesy. Ať už je to chybou GTK či Notesů (spíš bych podezíral vývojáře GTKčka), obejít se to dá lehce. Stáhněte si z&amp;nbsp;&lt;a href="http://www.freetechie.com/upload/lotus_notes/"&gt;http://www.freetechie.com/upload/lotus_notes/&lt;/a&gt;&amp;nbsp;starší verze knihoven pro GTK, nahrajte je k ostatním knihovnám Notesů (typicky /opt/ibm/lotus/notes) a máte to!&lt;br /&gt;
&lt;br /&gt;
Nebudou sice Notesy vypadat tak krásně jako dřív, ale aspoň něco...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-3756894779399100609?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/3756894779399100609/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=3756894779399100609" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/3756894779399100609?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/3756894779399100609?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/07/zastarale-lotus-notes-and-gdk-window-is.html" title="Zastaralé Lotus Notes and A gdk Window is being destroyed out of DestroyWindow" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUcGR3Y8eCp7ImA9WxFVF0s.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-2244805574633606222</id><published>2010-06-17T11:14:00.001+02:00</published><updated>2010-06-17T11:30:26.870+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-17T11:30:26.870+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Wesnoth" /><title>Znovuzrození Obnoveného řádu</title><content type="html">Wesnothu Zdar!&lt;br /&gt;
&lt;br /&gt;
Tak už je to tady. Po dalších dlouhých měsících a letech jsem zase něco malého udělal pro komunitu nás Wesnoťáků. Jedno z nejzajímavějších tažení, Obnovený řád (v originále A New Order) od Arkadiusze Danielckiho, které napsal pro Wesnoth verzi 0.9.3 a které bylo naposledy funkční pod Wesnothem 1.2, je spravováno a je hratelné v nejčerstvějším vydání (nyní 1.8.2) této naprosto báječné a jedinečné strategie. Ano, milí přátelé, zajisté jste pochopili, spravuji je já a mám na svědomí jeho vzkříšení.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://svn.berlios.de/wsvn/wescamp-i18n/branches/1.8/A_New_Order/A_New_Order/images/story_images/story_zima_grupa.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://svn.berlios.de/wsvn/wescamp-i18n/branches/1.8/A_New_Order/A_New_Order/images/story_images/story_zima_grupa.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Hrajte, jak je vám libo. Nechte se vtáhnout do děje, zabíjejte, kecejte, vyslýchejte, mučte, zkrátka kochejte se.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aktuálně je vydána verze 1.1.98 . Verze, která by měla beze zbytku fungovat a být v plné míře naportována na jedna-osmičkový stroj, bude 1.2 . Do té doby sháním všechny možné i nemožné beta testovače.&lt;br /&gt;
&lt;br /&gt;
Užijte si to ve zdraví.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-2244805574633606222?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/2244805574633606222/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=2244805574633606222" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/2244805574633606222?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/2244805574633606222?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/06/znovuzrozeni-obnoveneho-radu.html" title="Znovuzrození Obnoveného řádu" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CkQCQXo8eip7ImA9WxFVFk0.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-9062533021966686923</id><published>2010-06-15T13:12:00.000+02:00</published><updated>2010-06-15T13:12:40.472+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-15T13:12:40.472+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><category scheme="http://www.blogger.com/atom/ns#" term="Hibernate" /><title>Jak vyřešit ORA-01591: zámek uplatněný spornou distribuovanou transakcí</title><content type="html">Tak jsem si jednou hrál s Hibernate a automatickým vytvářením tabulek nad skoro produkční databází Oracle 10 a dostal jsem se do jedné poněkud choulostivé situace. Při deployi earu jsem dostával&lt;br /&gt;
&lt;blockquote&gt;ORA-01591: zámek uplatněný spornou distribuovanou transakcí&lt;/blockquote&gt;Chvíli jsem si myslel, že to má na svědomí špatně navržený deployment Hibernate. Po čase jsem začal Gůglit ve vodách mimo Javu a dostal jsem se k &lt;a href="http://ora-01591.ora-code.com/"&gt;jednoduchému řešeni&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
Jedná se o problém, kdy transakce selhala v okamžiku, kdy se dostala do stavu &lt;code&gt;prepared&lt;/code&gt;. Jediné řešení je ji odstranit. A řešení jsou dvě: buď se k ní připojit a rollbacknout, nebo ji smahnout přímo v databázi.&lt;br /&gt;
&lt;br /&gt;
Druhé řešení je poměrně elegantní. Oracle definuje SQL příkaz ROLLBACK FORCE a jemu odpovídající PL/SQL funkci dbms_transaction.rollback_force(xid). V tabulce "SYS"."PENDING_TRANS$" je uložen záznam o všech čekajících transakcích. Ve sloupci LOCAL_TRAN_ID je XID.&lt;br /&gt;
&lt;br /&gt;
Stačí se tedy přihlásit jako uživatel SYSTEM s funkcí SYSDBA (například v sqlplus), spustit &lt;blockquote&gt;exec dbms_transaction.rollback_force(moje_xid)&lt;/blockquote&gt;a je vymalováno.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-9062533021966686923?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/9062533021966686923/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=9062533021966686923" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/9062533021966686923?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/9062533021966686923?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/06/jak-vyresit-ora-01591-zamek-uplatneny.html" title="Jak vyřešit ORA-01591: zámek uplatněný spornou distribuovanou transakcí" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0cAQHw_eSp7ImA9WxFWEkU.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-8608420444323260740</id><published>2010-05-31T07:50:00.000+02:00</published><updated>2010-05-31T07:50:41.241+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-31T07:50:41.241+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Hibernate" /><title>Hibernate error - identifier altered from 1 to 1</title><content type="html">Nějakou dobu jsem laboroval s toto poněkud podivnou hláškou - jak může změna z 1 na 1 vygenerovat chybu? A kde se vůbec ta změna bere, když jedinou operaci, kterou dělám, je session.save()?&lt;br /&gt;
&lt;br /&gt;
Nakonec jsem chybu našel. Při laborování s formátem dat v databázi a ručním copy&amp;paste psaní hbm.xml jsem zavlekl typovou nekonzistenci do dat. V databázi (PostgreSQL) jsem měl u ID Integer (což onu chybu ale nevyvolá), v hbm.xml java.lang.Integer, ale ve třídě java.lang.Long. No a protože long nelze bez přetypování uložit do intu, ona alterace byla na světě.&lt;br /&gt;
&lt;br /&gt;
Řešení tohoto problému je tedy prosté. Zkontrolujte si, že vám PŘESNĚ sedí jednotlivé typy v Javě a v hbm.xml&lt;br /&gt;
&lt;br /&gt;
Kéž to někomu pomůže.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-8608420444323260740?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/8608420444323260740/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=8608420444323260740" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8608420444323260740?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8608420444323260740?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/05/hibernate-error-identifier-altered-from.html" title="Hibernate error - identifier altered from 1 to 1" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkQNRXw6eyp7ImA9WxFRGEo.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-4194549398271634122</id><published>2010-05-03T10:11:00.001+02:00</published><updated>2010-05-03T10:13:14.213+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-03T10:13:14.213+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Jak ignorovat skryté adresáře v doplňování v bashi</title><content type="html">bash completion, neboli inteligentní doplňování v bashi, je strašně mocná zbraň. Poměrně hodně mi ale vadilo, že mi bash při průchodu zdrojáků uložených v Subversion permanentně nabízel v možnostech pro příkaz cd i adresář .svn . Tak jsem Gůglil, až jsem zjistil, jak se s tím vypořádat.&lt;br /&gt;
Nabízení skrytých adresářů je vlastnost knihovny readline, která je v bashi použita. A tu lze vypnout jednoduše pomocí nastavení readline. Do ~/.inputrc přidáte&lt;br /&gt;
set et match-hidden-files off&lt;br /&gt;
a je to. Eqivalentem pro právě běžící bash je použití interního příkazu bind:&lt;br /&gt;
bind 'set match-hidden-files off'&lt;br /&gt;
Třeba to někomu pomůže.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-4194549398271634122?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/4194549398271634122/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=4194549398271634122" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/4194549398271634122?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/4194549398271634122?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/05/jak-odstranit-skryte-adresare-z-bash.html" title="Jak ignorovat skryté adresáře v doplňování v bashi" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEYASHg4eip7ImA9WxBUFEk.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-1044050161880360885</id><published>2010-02-26T18:13:00.007+01:00</published><updated>2010-03-01T12:15:49.632+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-01T12:15:49.632+01:00</app:edited><title>Valná Hromada TJ Sokol Přílepy</title><content type="html">Výbor TJ Sokol Přílepy zve všechny své členy na valnou hromadu Tělocvičné Jednoty, která se koná ve čtvrtek 11.3. 2010 v 18:00 v budově obecního úřadu v Přílepích.&lt;br /&gt;
&lt;br /&gt;
Program Valn&amp;eacute; Hromady &lt;div&gt;1) Zah&amp;aacute;jen&amp;iacute; a volba p&amp;#345;edsednictva&lt;/div&gt;&lt;div&gt;2) Volba mand&amp;aacute;tov&amp;eacute; komise&lt;/div&gt;&lt;div&gt;3) Volba n&amp;aacute;vrhov&amp;eacute; komise&lt;/div&gt;&lt;div&gt;4) Volba volebn&amp;iacute; komise&lt;/div&gt;&lt;div&gt;5) Schv&amp;aacute;len&amp;iacute; programu&lt;/div&gt;&lt;div&gt;6) Zpr&amp;aacute;va starosty&lt;/div&gt;&lt;div&gt;7) Zpr&amp;aacute;vy cvi&amp;#269;itel&amp;#367;&lt;/div&gt;&lt;div&gt;8) Zpr&amp;aacute;va hospod&amp;aacute;&amp;#345;ky o hospoda&amp;#345;en&amp;iacute; jednoty za rok 2009&lt;/div&gt;&lt;div&gt;9) Volba starosty&lt;/div&gt;&lt;div&gt;10) Volba &amp;#269;len&amp;#367; v&amp;yacute;boru&lt;/div&gt;&lt;div&gt;11) Volba kontroln&amp;iacute; komise&lt;/div&gt;&lt;div&gt;12) Volba deleg&amp;aacute;t&amp;#367; na &amp;#382;upn&amp;iacute; valnou hromadu&lt;/div&gt;&lt;div&gt;13) Diskuse&lt;/div&gt;&lt;div&gt;14) Z&amp;aacute;v&amp;#283;r&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Navrženou kandidátkou na post starostky je Anna Petrášová, na jednatele Ivana Sehnalová, hospodářky Růžena Staňková, na další členy výboru Helena Kuchařová a .&lt;br /&gt;
&lt;br /&gt;
Za výbor Oto Buchta, starosta TJ Sokol Přílepy&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-1044050161880360885?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/1044050161880360885/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=1044050161880360885" title="Počet komentářů: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/1044050161880360885?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/1044050161880360885?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/02/program-valne-hromady-tj-sokol-prilepy.html" title="Valná Hromada TJ Sokol Přílepy" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;DUQNRnszcCp7ImA9WxBWGEQ.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-808412480461136536</id><published>2010-02-11T12:47:00.003+01:00</published><updated>2010-02-11T15:09:57.588+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-11T15:09:57.588+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Blokování nájezdů na server přes SSH</title><content type="html">Dnes jsem řešil, jak více zabezpečit SSH před možným průnikem. Po chvilce Gůglení jsem narazil na &lt;a href="http://en.opensuse.org/SSH_systematic_attack_protection"&gt;podrobný popis&lt;/a&gt;, jak to zařídit na OpenSuSE 11.1 .&lt;br /&gt;
Použití sshguardu je rychlé, pěkné a účinné. K danému odkazu ještš přidám, že existuje OpenSuSE repository csbuild, které sshguard obsahuje. &lt;br /&gt;
Stačí tedy &lt;br /&gt;
&lt;br /&gt;
sudo zypper ar http://download.opensuse.org/repositories/home:/csbuild/openSUSE_11.1/ csbuild&lt;br /&gt;
&lt;br /&gt;
sudo zypper in sshguard&lt;br /&gt;
&lt;br /&gt;
a nakonfigurovat podle onoho návodu na stránkách OpenSuSE.&lt;br /&gt;
&lt;br /&gt;
POZOR! Pokud nemáte korektně rozchozený AppArmor, nechejte jej být. Při jeho nastartování vám syslog-ng zařve "Broken Pipe" na odeslání dat do roury sshguardu, takže Vám to nebude fungovat.&lt;br /&gt;
&lt;br /&gt;
Snad to někomu pomůže&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-808412480461136536?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/808412480461136536/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=808412480461136536" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/808412480461136536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/808412480461136536?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/02/blokovn-njezd-na-server-pes-ssh.html" title="Blokování nájezdů na server přes SSH" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DkIMQXc-fip7ImA9WxBWF0w.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-4337391840296541172</id><published>2010-02-09T10:50:00.001+01:00</published><updated>2010-02-09T12:23:00.956+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-09T12:23:00.956+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="JBoss" /><title>JBoss 4.2 a kumulující se instance Stateless EJB</title><content type="html">Asi týden jsem si hrál s J2EE aplikací &lt;a href="http://demo.westico.com"&gt;Westico Visibility Platform&lt;/a&gt; a každou chvíli mi aplikace sletěla na OutOfMemoryError. Asi memory leak, řekl jsem si.&lt;br /&gt;
Stáhl jsem si tedy NetBeansy (qůli profileru) a začal hledat, kde tesař nechal v paměti díru. Zjistil jsem, že mi permanentně narůstá počet instancí dvou Session Stateless EJB, které volám z MDB ihned po sobě, těsně před ukončením zpracování zprávy. Protože provádím JMS ack ihned po příchodu zprávy, říkal jsem si, že si asi lookup vytvoří nové instance fazolí, ale požadavek neskončí a proto to bobtná. Dlouho jsem trasoval onu Message Driven Beanu, dokud jsem si opravdu nebyl jistý, že požadavek skončil a tudíž GC by měl odstranit "nepotřebné" instance a v poolu by měly zůstat jenom "potřebné". Tak jsem se zaměřil na pool a zjistil následující:&lt;br /&gt;
JBoss má oddělené pooly pro MDB a stateless EJB. Pro obejítí klasické Javovské synchronizace používá JBoss ThreadLocal pool. A v tom je právě šutr úrazu. Díky klasickému implicitnímu chování MDB se stane, že každý požadavek je zpracován jiným vláknem a tedy pool pro bezestavové fazole bobtná, přestože má nastaven maximální počet instancí v poolu.&lt;br /&gt;
Pokud tedy chcete v JBossu volat stateless EJB z MDB, musíte patřičné bezestavové fazoli nastavit jiný typ poolu. Ideálně org.jboss.ejb3.StrictMaxPool, a to třeba pomocí JBossí anotace @PoolClass, jak je popsáno &lt;a href="http://www.jboss.org/ejb3/docs/reference/build/reference/en/html/session-bean-config.html"&gt;zde&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Třeba to někomu zachrání kupu nervů.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-4337391840296541172?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/4337391840296541172/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=4337391840296541172" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/4337391840296541172?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/4337391840296541172?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/02/jboss-42-kumulujici-se-instance.html" title="JBoss 4.2 a kumulující se instance Stateless EJB" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A0IFSXwyeSp7ImA9WxBQGEU.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-8888427622980908620</id><published>2010-01-19T09:16:00.001+01:00</published><updated>2010-01-19T09:25:18.291+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-19T09:25:18.291+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>Jak rozchodit Joomla! pod Microsoft Windows</title><content type="html">Nedávno jsem musel po telefonu a FTP rozchodit Joomla! na Widlích 2003, kde už navíc běží Lotus Notes. Pro příští generace tu zanechám minimalistický postup, jak to udělat:&lt;br /&gt;
&lt;br /&gt;
Nejdřív si stáhneme Joomla!, MySQL, Apache a PHP (5.2.11)&lt;br /&gt;
&lt;br /&gt;
V prvé řadě nainstalujte MySQL - stačí spustit instalátor a proklikat se na konec. V nastavení samozřejmě zvolte Server a Multilingual, zadejte heslo.&lt;br /&gt;
Potom v okně příkazového řádku&lt;br /&gt;
cd \Program Files\mysql\bin&lt;br /&gt;
mysql -u root -p&lt;br /&gt;
Password: sem zadejte heslo z instalace&lt;br /&gt;
mysql&gt; CREATE USER 'joomla'@'localhost' IDENTIFIED BY 'heslo';&lt;br /&gt;
mysql&gt; GRANT ALL PRIVILEGES ON *.* TO 'joomla'@'localhost'&lt;br /&gt;
-&gt;     WITH GRANT OPTION;&lt;br /&gt;
mysql&gt; \q&lt;br /&gt;
&lt;br /&gt;
A tím je databáze připravena.&lt;br /&gt;
Potom nainstalujte Apache. Ponechejte základní nastavení.&lt;br /&gt;
Jako volbu při instalaci zvolte samostatnou aplikaci místo servisy - nastavíte ji až nakonec, až bude vše chodit. Nastavte port 8080.&lt;br /&gt;
&lt;br /&gt;
Potom nainstalujte PHP. Doporučuji nainstalovat do adresáře C:\Program Files\Apache Software Foundation\PHP5.2.11 , protože pak je možné říct FileZille, aby Vám jako root spřístupnila pouze C:\Program Files\Apache Software Foundation a máte k dispozici jak httpd.conf, tak php.ini . V rámci instalace zvolte instalaci do Apache 2.2 jako modul (modul je rychlejší, pro testy je ale lepší použít CGI - nemusí se pořád restartovat Apache při změně php.ini).&lt;br /&gt;
&lt;br /&gt;
V httpd.conf odkomentujte LoadModule pro moduly proxy, proxy_http a rewrite, v DirectoryIndex změňte na &lt;br /&gt;
DirectoryIndex index.php index.html&lt;br /&gt;
&lt;br /&gt;
V sekci &lt;directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"&gt;&lt;br /&gt;
změňte AllowOverride z None na All&lt;br /&gt;
&lt;br /&gt;
A to by mělo být prozatím vše.&lt;br /&gt;
&lt;br /&gt;
Otestujte konfiguraci pomocí Test Configuration ve Startmenu Apache.&lt;br /&gt;
&lt;br /&gt;
V php.ini nastavte date.timezone na hodnotu, kterou považujete za rozumnou, například Europe/Prague&lt;br /&gt;
&lt;br /&gt;
Přímo do adresáře C:\Program Files\Apache Software Foundation\Apache2.2\htdocs nakopírujte obsah adresáře joomla z instalačního balíku Joomla!&lt;br /&gt;
Přejmenutje htaccess.txt na .htaccess a odkomentujte v něm řádek&lt;br /&gt;
RewriteBase /&lt;br /&gt;
&lt;br /&gt;
V danou chvíli je vše nachystáno ke konfiguraci Joomla!&lt;br /&gt;
&lt;br /&gt;
Objevil se problém&lt;br /&gt;
&lt;blockquote&gt;Call stack &lt;br /&gt;
# Function Location &lt;br /&gt;
1 JSite-&gt;dispatch() C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\index.php:68 &lt;br /&gt;
2 JComponentHelper-&gt;renderComponent() C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\includes\application.php:124 &lt;br /&gt;
3 JError-&gt;raiseError() C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\libraries\joomla\application\component\helper.php:95 &lt;br /&gt;
4 JError-&gt;raise() C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\libraries\joomla\error\error.php:171 &lt;br /&gt;
5 JException-&gt;__construct() C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\libraries\joomla\error\error.php:136&lt;/blockquote&gt;&lt;br /&gt;
Řešení je jednoduché: &lt;br /&gt;
http://discussion.accuwebhosting.com/joomla-issue-404-component-not-found_blog_by_ryan_125.html&lt;br /&gt;
&lt;br /&gt;
Nakonec je třeba poslední věc: co s porty?&lt;br /&gt;
Jsou dvě možnosti - buď budete akceptovat, že na Joomla! půjdete přes port 8080 a necháte vše tak, nebo budete muset přesunout LotusNotes na jiný stroj a z Apache udělat reverzní proxy pro notesy.&lt;br /&gt;
&lt;br /&gt;
Pokud to druhé, tak nejdříve Lotus Notes přemigrujte (to nechám na Vás jak).&lt;br /&gt;
&lt;br /&gt;
Shoďte Notesy a Apache. V httpd.conf Apache změňte Listen 8080 na Listen 80 a restartujte Apache.&lt;br /&gt;
&lt;br /&gt;
Pak je třeba nastavit mod_rewrite a mod_proxy.&lt;br /&gt;
&lt;br /&gt;
TBD.&lt;br /&gt;
&lt;br /&gt;
A je to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-8888427622980908620?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/8888427622980908620/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=8888427622980908620" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8888427622980908620?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8888427622980908620?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/01/jak-rozchodit-joomla-pod-microsoft.html" title="Jak rozchodit Joomla! pod Microsoft Windows" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEUNRngyeCp7ImA9WxBQEE4.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-4427876239821655594</id><published>2010-01-09T12:23:00.001+01:00</published><updated>2010-01-09T12:24:57.690+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-09T12:24:57.690+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="život" /><title>Připozamrzlá zima</title><content type="html">Včera večer jsem jel pro Káťu do lidušky a cestou zpátky jsem mezi Holešovem a Přílepama dvakrát zastavoval (jednou skoro ve škarpě) a oškrabával okno, protože jsem nic neviděl. Všude kupa sněhu, pršelo a ten déšť ihned zamrzal. Protože mi auto stálo asi hodinu na takovém počasí, kompletně mi zamrzlo a s tím i stěrače, takže jsem je nemohl použít - ani se nehnuly. A než se auto tak zahřálo, aby rozumně fungovalo vyhřívání předního skla ofukem, byl jsem doma. Tak jsem jel téměř poslepu, v milimetrových průhledech, kde se na ledu na okně světlo lámalo jenom minimálně, jsem jel podle stop na cestě a popaměti. Auto pak ráno vypadalo asi takto:&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Z97iAB9VR2I/S0hkt95fcHI/AAAAAAAAAGM/p6G5HMaTE4Y/s1600-h/zamrzlyscenic.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Z97iAB9VR2I/S0hkt95fcHI/AAAAAAAAAGM/p6G5HMaTE4Y/s640/zamrzlyscenic.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
Jenomže to nebylo všechno. Tak jsem se dneska ráno probudil a nevěřil jsem vlastním očím. Stromy kompletně obalené ledem! Však se podívejte sami.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Z97iAB9VR2I/S0hmh2kkzCI/AAAAAAAAAGc/CdoRNUVip4E/s1600-h/zamrzlyker.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Z97iAB9VR2I/S0hmh2kkzCI/AAAAAAAAAGc/CdoRNUVip4E/s640/zamrzlyker.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Z97iAB9VR2I/S0hmmGX5PvI/AAAAAAAAAGk/mF5Zd0B5rwU/s1600-h/zamrzlykerdetail.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Z97iAB9VR2I/S0hmmGX5PvI/AAAAAAAAAGk/mF5Zd0B5rwU/s640/zamrzlykerdetail.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Z97iAB9VR2I/S0hmcVqjiYI/AAAAAAAAAGU/AtJEuRyzEnA/s1600-h/zamrzlajablon.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Z97iAB9VR2I/S0hmcVqjiYI/AAAAAAAAAGU/AtJEuRyzEnA/s640/zamrzlajablon.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Z97iAB9VR2I/S0hm8oj3DbI/AAAAAAAAAGs/E_HFpkpmxBE/s1600-h/zamrzlahaluzka.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Z97iAB9VR2I/S0hm8oj3DbI/AAAAAAAAAGs/E_HFpkpmxBE/s640/zamrzlahaluzka.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-4427876239821655594?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/4427876239821655594/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=4427876239821655594" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/4427876239821655594?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/4427876239821655594?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/01/pripozamrzla-zima.html" title="Připozamrzlá zima" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_Z97iAB9VR2I/S0hkt95fcHI/AAAAAAAAAGM/p6G5HMaTE4Y/s72-c/zamrzlyscenic.jpg" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEEMQXs8eyp7ImA9WxBRGU0.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-8141986068514498124</id><published>2010-01-07T23:18:00.000+01:00</published><updated>2010-01-07T23:18:00.573+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-07T23:18:00.573+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Kultura" /><title>Zlínské nastudování Goldoniho Sluhy dvou pánů</title><content type="html">Dneska jsme byli s Jaruškou na Goldoniho Sluha dvou pánů ve Zlínském Městském Divadle. Už jsem na něm byl tamtéž před 18lety a viděl jsem i záznam z Národního s Mirkem Donutilem. Dneska to ale mělo šmrnc.&lt;br /&gt;
&lt;br /&gt;
Doktor Lombardi v perfektním provedení Luďka Randára, jehož 90% replik byla rčení (Například když pan Pantalone spojil ruce Beatrice a Florinda a k tomu Lombardi dodal - "Kdo maže, ten jede!"&lt;br /&gt;
Úžasný byl také "telefonát" Lombardiho Pantalonovi z automatu. Scéna, kdy Lombardi Pantalona uráží, si nejdříve "před nosem" přivírají fiktivní dveře, až se to nic podaří Pantalonovi zavřít a tak Randár utíká k fiktivnímu telefonímu automatu, pulzně vytáčí, Pantalone zvedá mobil z palce a malíčku, ... Dál se na to musíte podívat sami, to byste přišli o pointu.  &lt;br /&gt;
&lt;br /&gt;
Dál to posouvají hlášky typu: "Kdo se směje nejlépe, ten se směje naposled!" nebo "Kde byste sehnali dašlího takového, tady ve Zlíně!" ... taky občasné prokládání jinými nářečími (např Brněnské Hantec).&lt;br /&gt;
&lt;br /&gt;
Moc se mi líbilo postelové zakončení shledání Beatricce a Florinda...&lt;br /&gt;
&lt;br /&gt;
Kdo jste poblíž, vřele doporučuji!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-8141986068514498124?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/8141986068514498124/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=8141986068514498124" title="Počet komentářů: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8141986068514498124?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/8141986068514498124?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2010/01/zlinske-nastudovani-goldoniho-sluhy.html" title="Zlínské nastudování Goldoniho Sluhy dvou pánů" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;CEcDRX07cCp7ImA9WxBTEko.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-915544186961869970</id><published>2009-12-08T12:34:00.000+01:00</published><updated>2009-12-08T12:34:34.308+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-08T12:34:34.308+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Invalid checksum na UDP paketech</title><content type="html">Nějakou dobu jsem laboroval s tím, že mi javovská aplikace běžící na IBM xSeries x3650 s OpenSuSE 11.0 generovala invalidní UDP pakety. Hlásil mi to WireShark (dříve ethreal).&lt;br /&gt;
Firmware jednočipu G2 to nebyl sto sežrat a pokud jsem na něj chtěl data dostat, musel jsem to vyřešit. Tak jsem Gůglil a zkoušel...&lt;br /&gt;
&lt;br /&gt;
Výsledek mého snažení lze shrnout do těchto bodů:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Je to víc jak rok známý problém a řeší se, ale ještě není vyřešen.&lt;/li&gt;
&lt;li&gt;Problém není v Javě, ale někde mezi jádrem a síťovkou. Stejný kernel na jiné síťovce funguje, jsou prý kernely, které s těmito síťovkami fungují. V tomto případě to nechodí na &lt;i&gt;Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Na vině je chybné generování checksumu síťovkou, neboť při použití Raw Socket (což Java dělá), generuje checksum právě síťovka (nebo její modul, nevím, ve zdrojácích jsem nebyl)&lt;/li&gt;
&lt;li&gt;Řešením je použití &lt;i&gt;TCP checksum offload&lt;/i&gt;, které vypíná ono generování kontrolního součtu.&lt;/li&gt;
&lt;li&gt;Na Linuxu se k vypnutí použije &lt;code&gt;ethtool -K ethN rx off tx off&lt;/code&gt;, kde ethN odpovídá konkrétní síťovce, kde to chcete vypnout (tedy eth0, eth1,...)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Třeba to někomu pomůže...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-915544186961869970?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/915544186961869970/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=915544186961869970" title="Počet komentářů: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/915544186961869970?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/915544186961869970?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2009/12/invalid-checksum-na-udp-paketech.html" title="Invalid checksum na UDP paketech" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEAFSXY6fyp7ImA9WxNaF0k.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-662329028528904214</id><published>2009-12-02T09:31:00.000+01:00</published><updated>2009-12-02T09:31:58.817+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T09:31:58.817+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Internet" /><title>Pochromovaný chameleon aneb Google Chrome na OpenSuSE 11.2</title><content type="html">JO! Už je to tady! Máme hrábě v ruce! Teda nikoli hrábě, ale Google Chrome. Jeden z uživatelů OpenSuSE Build Service, dbuck, připravil OpenSuSE &lt;a href="http://download.opensuse.org/repositories/home:/dbuck/"&gt;Chromium repository&lt;/a&gt; s oním přelomovým prohlížečem. Až budu mít nějaké dlouhodobější zkušenosti, dám vědět. Na Ubuntu 9.10 64bit běhá naprosto krásně, a to včetně nepodporovaného Flashe.&lt;br /&gt;
&lt;br /&gt;
Instalace probíhá násůedovně:&lt;br /&gt;
1) Přidejte dbuckovu repository pro zypper:&lt;br /&gt;
Pro uživatele openSUSE 11.2:&lt;br /&gt;
sudo zypper ar http://download.opensuse.org/repositories/home:/dbuck/openSUSE_Factory/ Chromium&lt;br /&gt;
&lt;br /&gt;
Pro uživatele openSUSE 11.1:&lt;br /&gt;
sudo zypper ar http://download.opensuse.org/repositories/home:/dbuck/openSUSE_11.1/ Chromium&lt;br /&gt;
&lt;br /&gt;
Pro uživatele openSUSE 11.0:&lt;br /&gt;
sudo zypper ar http://download.opensuse.org/repositories/home:/dbuck/openSUSE_11.1/ Chromium&lt;br /&gt;
&lt;br /&gt;
Díky tomu, že dbuck nachystal build tak, že se zdrojáky tahají přímo ze svn projektu chromium, prohlížeč je tedy chromium-browser, nikoli chrome.&lt;br /&gt;
&lt;br /&gt;
Když je repository přidána, můžeme instalovat:&lt;br /&gt;
sudo zypper in chromium-browser&lt;br /&gt;
&lt;br /&gt;
No a spustí se pomocí&lt;br /&gt;
chromium-browser&lt;br /&gt;
&lt;br /&gt;
Spolu pak můžeme jenom poděkovat dbuckovi za dobře odvedenou práci..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-662329028528904214?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/662329028528904214/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=662329028528904214" title="Počet komentářů: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/662329028528904214?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/662329028528904214?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2009/12/pochromovany-chameleon-aneb-google.html" title="Pochromovaný chameleon aneb Google Chrome na OpenSuSE 11.2" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CkMGR3czeCp7ImA9WxNaEk0.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-6307523190677383852</id><published>2009-11-26T02:43:00.001+01:00</published><updated>2009-11-26T02:53:46.980+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-26T02:53:46.980+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oRESTování" /><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="WebServices" /><title>Kdy parametrizovaný GET a kdy dvě operace GET a QUERY?</title><content type="html">Na můj &lt;a href="http://tapikuv.blogspot.com/2009/11/winstrom-krasny-priklad-rest-api.html"&gt;předchozí blogpost&lt;/a&gt; ze série &lt;a href="http://tapikuv.blogspot.com/search/label/oRESTování"&gt;oRESTování&lt;/a&gt; reagoval &lt;a href="http://www.blogger.com/profile/12116170893603752628"&gt;Petr Ferschmann&lt;/a&gt;, člen týmu &lt;a href="http://www.winstrom.cz"&gt;WinStromu&lt;/a&gt;. Kromě poděkování za pochvalu ale také píše:&lt;br /&gt;
&lt;blockquote&gt;Osobně považuji za ekvivalentní tyto formy zápisu:&lt;br /&gt;
/faktura-vydana/(stavUhrK='uhrazeno%27) &lt;br /&gt;
/faktura-vydana/?filter=stavUhrK=%3d%27uhrazeno%27&lt;br /&gt;
&lt;/blockquote&gt;Jak jistě tušíte, nemohu s tímto souhlasit, a proto vznikl tento článeček.&lt;br /&gt;
&lt;br /&gt;
Věc, která vypadá z pohledu HTTP eqivalentně, z pohledu Java kódu eqivalentně, dokonce i z pohledu uživatele, z pohledu RESTu eqivalentní není. Webovému prohlížeči je jedno, které URL uživatel napíše, je to jenom směs znamének. Jestli je na serveru logika udělaná tak, že v metodě doGet() HttpServletu vezmete z request.getRequestPath() jednu část a prohlásíte ji za vyhledávací řetězec (filtr) nebo tutéž část získáte pomocí request.getParameter("filter"), je také celkem buřt. Pro HTTP protokol je to jedno, protože první řádek bude pokaždé vypadat stejně, tedy buď&lt;br /&gt;
&lt;br /&gt;
GET /faktura-vydana/(stavUhrK='uhrazeno%27) HTTP/1.1 &lt;br /&gt;
&lt;br /&gt;
nebo&lt;br /&gt;
&lt;br /&gt;
GET /faktura-vydana/?filter=stavUhrK=%3d%27uhrazeno%27 HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
Jak je to ale z pohledu RESTu? Začněměž tím, že si řekneme kousek základní definice RESTu - je to množina N operací, kde N je dostatečně malé číslo, společným pro všechny objekty systému (kterým říkáme zdroje neboli resources). Každý zdroj je unikátně identifikovatelný pomocí URI, za které se považuje buď URL nebo URN.&lt;br /&gt;
&lt;br /&gt;
Tolik základní definice. Teď něco k operacím. Smysl mít několik málo jednotných operací je fakt, že se klient nemusí příliš zajímat o jaký zdroj se jedná a jaké má rozhraní, prostě s ním provede operaci, kterou požaduje, a ta buď půjde nebo nepůjde nebo udělá něco jiného než na jiném zdroji atd. Vzhledem k tomu, že operace se provádějí na zdrojích, které jsou URIčkované, můžeme prohlásit, že parametrem každé obecné operace je URI zdroje.&lt;br /&gt;
&lt;br /&gt;
Těch parametrů ale může být povícero, a to hned ve dvou směrech. Uvedu dva příklady:&lt;br /&gt;
&lt;br /&gt;
RESTová implementace Facebookového "Sdílet" by měla čtyři parametry: URI mojí zdi (tedy URI kolekce, kde se má zdroj (nový záznam o sdílení) vytvořit), URI toho, co chci sdílet, URI autora (ano, URI, Facebook mne musí UNIKÁTNĚ identifikovat!!!), a komentář. &lt;br /&gt;
&lt;br /&gt;
Druhým příkladem budiž operace GET z WinStromu. GET na URL s jedním záznamem má parametr Accept, který definuje formát záznamu, který klient požaduje (XML,PDF,...).&lt;br /&gt;
&lt;br /&gt;
Když jsme si toto řekli, vraťme se k WinStromu a jeho filtru. Každé URI reprezentuje zdroj. Jiný zdroj! Pakliže budeme chápat operaci GET klasicky, tedy "vrať obsah", tak GET na /faktura-vydana/ vrátí obsah kolekce faktura-vydaná, kdežto GET na /faktura-vydana/(stavUhrK='uhrazeno%27) vrací obsah - ČEHO? Z logiky věci zdroje reprezentujícího všechny   zdroje z kolekce "faktura-vydana", které mají stav UhrK "uhrazeno%27". Jenomže - co můžeme říct o tom zdroji? Jedná se o zdroj nezávislý? Můžeme ho čapnout a přenést jinam? Jak se vlastně vytváří? Jaké jsou na něm nadefinovány jiné operace než GET? Není to vlastně jenom takový "virtuální" zdroj?&lt;br /&gt;
&lt;br /&gt;
Musím se přiznat, že při slovním spojení "Virtuální RESTový zdroj" zamrazí v zádech. Zkusme se na to podívat z jiné stránky věci. To, co chceme, není IMHO až tak nový zdroj, jako spíše JINÝ POHLED kolekci "faktura-vydana", tedy na zdroj /faktura-vydana/ . Takový pohled, který bude obsahovat pouze takové zdroje, které odpovídají podmínce 'mají stav UhrK "uhrazeno%27" '. Tento pohled pak z hlediska RESTu můžeme udělat na třech místech: na straně klienta, poskytovatele zdroje či interceptorem. Protože chceme dát klientovi maximální komfort a navíc minimalizovat tok dat, předpokládejme, že tento nový pohled budeme budovat na straně poskytovatele zdroje, tedy na serveru.&lt;br /&gt;
&lt;br /&gt;
Jak toho docílit? Velice jednoduše. Rozšíříme operaci GET o nepovinný parametr Filtr (nebo povinný s existující konstantou reprezentující nefiltrování). Na serveru se pak rozhodneme, zda máme či nemáme filtrovat a jak se k tomu dostaneme. Nemáme tak žádný další, tfuj, "virtuální zdroj", tfuj. A jak to v praxi provedeme? Jak to dělá HTTP - k operaci GET na kolekci přidáme parametr filter.&lt;br /&gt;
&lt;br /&gt;
Pojďme ale ještě dál. Onen pohled reprezentovaný parametrem Filtr mění poměrně významně obsah, který klient dostane. Nejde tedy o čistý "jiný pohled na data". Ihned po interní operaci GET se na výsledek provede operace FILTR (a jestli je to uděláno v Javě, v XSLT/XPath či SQL, je celkem buřt). Můžeme tedy tuto dvojoperaci považovat za jednu - FILTEREDGET. GET pak nemá parametr Filtr, tento parametr je parametrem nové operace.&lt;br /&gt;
&lt;br /&gt;
Zeptáte se - no jo, ale když HTTP operaci FILTEREDGET nemá, tak co s tím? Ale to je přece jednoduché, milý Watsone! Tak jak RESTová operace GET není HTTP GET, pouze se na ni mapuje, pak si řekněmež, že si operaci FILTEREDGET namapujeme tak, že URL HTTP GETové operace na kolekci rozšíříme o parametr filter ... :-D&lt;br /&gt;
&lt;br /&gt;
Že je to stejné jako v případě parametru? Ale jděte. Pouze převod do HTTP je stejný. Na straně serveru vám to napoví, že tuto cestu je dobré řešit jinou interní operací. Při vytvoření RESTové (nebo i SOAPové) WebServisy to budete zveřejňovat jako jinou operaci.&lt;br /&gt;
&lt;br /&gt;
Zkusím to teď ještě zobecnit:&lt;br /&gt;
&lt;br /&gt;
Základní otázka Života, vesmíru a vůbec má jasnou odpověď - 42. Nejasná je právě ona otázka. &lt;br /&gt;
&lt;br /&gt;
Otázka, zda cpát či necpát jazyk do URL má také jasnou  odpověď - pro všechnu matku přírodu NEE!!!&lt;br /&gt;
&lt;br /&gt;
Jasná otázka, zda použít princip separátních zdrojů, parametrizovanou operaci GET nebo dvě operace GET a FILTEREDGET/QUERY/COKOLI_PODOBNÉHO, jasnou odpověď nemá. Je třeba k tomu přistupovat s mužskou schopností plnohodnotné syntézy či ženskou intuicí:&lt;br /&gt;
&lt;br /&gt;
Rozdílné zdroje použijte tam, kde se opravdu o dva rozdílné zdroje jedná. GET "Aktuální seznam členů CZLUGu", GET "seznam členů CZLUGu počáteční", GET "seznam členů CZLUGu verze 234".&lt;br /&gt;
&lt;br /&gt;
Parametrizujte tam, kde se jedná o jiné formy reprezentace téhož zdroje. GET "Seznam členů CZLUGu"?platny_ke_dni=[puvodni|fcil|YYYY-MM-DD]. Nebo jiný formát záznamu ala WinStrom.&lt;br /&gt;
&lt;br /&gt;
Jinou operaci, pokud se jedná o stejný zdroj dat, ale s až diametrálně odlišným obsahem - typicky vyhledávání. GET "Seznam členů CZLUGu", QUERY "Seznam členů CZLUGu"?query=ti_co_nezaplatili_a_zacinaji_pismenem_fň "&lt;br /&gt;
&lt;br /&gt;
Ufff. Doufám, že to někomu pomůže při rozhodování či pro lepší pochopení principů RESTu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-6307523190677383852?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/6307523190677383852/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=6307523190677383852" title="Počet komentářů: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/6307523190677383852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/6307523190677383852?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2009/11/kdy-parametrizovany-get-kdy-dve-operace.html" title="Kdy parametrizovaný GET a kdy dvě operace GET a QUERY?" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>3</thr:total></entry><entry gd:etag="W/&quot;CUUMQH0_cSp7ImA9WxNbF04.&quot;"><id>tag:blogger.com,1999:blog-5453851864021038266.post-7525890332843370475</id><published>2009-11-20T12:46:00.002+01:00</published><updated>2009-11-20T17:08:01.349+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-20T17:08:01.349+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="oRESTování" /><category scheme="http://www.blogger.com/atom/ns#" term="ITapikování" /><category scheme="http://www.blogger.com/atom/ns#" term="WebServices" /><title>WinStrom - krásný příklad REST API</title><content type="html">Tak jsem se zase rozhodl vrátit se k oRESTování. První příspěvek bude o tom, že i u nás v republice umíme udělat pěkné RESTózní API.&lt;br /&gt;
Při shánění materiálů jsem dnes narazil na &lt;a href="http://www.winstrom.eu/pro-vyvojare/rest-api/"&gt;REST API&lt;/a&gt; k účetnímu systému  &lt;a href="http://www.winstrom.eu"&gt;WinStrom&lt;/a&gt;. A je opravdu pěkné. Ale má i své mouchy.&lt;br /&gt;
&lt;br /&gt;
Samozřejmě jako transportní protokol použili HTTP. Podporují HTTPS a HttpBasic - což ve spolupráci s přístupovými právy dostatečně zabezpečuje bezpečnost dat. Používají klasické operace GET, POST, PUT a DELETE (PUT a POST zeqivaletnili, což ale samozřejmě není nic proti RESTóznosti API), používají celkem hojně HTTP status.&lt;br /&gt;
&lt;br /&gt;
URL jsou taky HTTP. Celkem logicky nejsou neprůhledná - mají svoji logiku.&lt;br /&gt;
&lt;br /&gt;
Pro práci s kolekcí jedné evidence to jsou:&lt;br /&gt;
/ID.firmy/typevidence{/[&lt;i&gt;reports&lt;/i&gt;|&lt;i&gt;properties&lt;/i&gt;|&lt;i&gt;relations&lt;/i&gt;|filtr]}&lt;br /&gt;
&lt;br /&gt;
a pro práci s konkrétní položkou&lt;br /&gt;
/ID.firmy/typevidence/ID.záznamu{.formát}{/podevidence} (tady si nejsem jist, jestli ten formát je povinný nebo není, IMHO by být neměl, ale z docky plyne, že je)&lt;br /&gt;
&lt;br /&gt;
Co se týká RESTových operací, tak si vystačí se čtyřmi - klasický CRUD.&lt;br /&gt;
&lt;br /&gt;
CREATE se volá na kolekci. Návratová hodnota je buď neúspěch nebo úspěch. Úspěch v sobě obsahuje identifikátor vytvořeného zdroje.&lt;br /&gt;
&lt;br /&gt;
UPDATE se volá na konkrétní zdroj - tam jdou nová data, zpátky status operace.&lt;br /&gt;
&lt;br /&gt;
DELETE je klasický - jenom jsem nenašel, na co vše se dá volat.&lt;br /&gt;
&lt;br /&gt;
GET je pěkný. Je sice parametrizovaný, ale parametry lze rozdělit do tří kategorií - stránkování a řazení, přidání metadat a (s tím mám kapku problém) XPath na výsledek, jestliže je ve formátu XML (z důvodu omezení přenášených dat) &lt;br /&gt;
&lt;br /&gt;
Až doposud popis a chvála. Teď ale vady na kráse:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;XPath jsem už zmínil, ale to není zas takový problém&lt;/li&gt;
&lt;li&gt;Operace CREATE vrátí identifikátor záznamu, nikoli URL, takže URL si uživatel musí sám poskládat, a to je samozřejmě proti RESTu&lt;/li&gt;
&lt;li&gt;GETové URL obsahuje formát výsledku - zde by bylo na místě použít parametr v QUERY_STRING, ale chápu, že MS Explorer by si s tím nemusel poradit (alespoň v dřevních dobách používal MSIE příponu ke stanovení content-type :-) )&lt;/li&gt;
&lt;li&gt;A na závěr to nejhorší. PARAMETR filtr pro fitrování dat na kolekci není použit jako parametr, nýbrž jako součást identifikátoru, což je VYSOCE nehezké. Cpát přímo do URL ořezanou obdobu SQL (viz syntaxe &lt;a href="http://www.winstrom.eu/pro-vyvojare/rest-api/devdoc/filters"&gt;Filtrování záznamů&lt;/a&gt;) mi přijde více než nechutné.&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5453851864021038266-7525890332843370475?l=tapikuv.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://tapikuv.blogspot.com/feeds/7525890332843370475/comments/default" title="Komentáře k příspěvku" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5453851864021038266&amp;postID=7525890332843370475" title="Počet komentářů: 4" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/7525890332843370475?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5453851864021038266/posts/default/7525890332843370475?v=2" /><link rel="alternate" type="text/html" href="http://tapikuv.blogspot.com/2009/11/winstrom-krasny-priklad-rest-api.html" title="WinStrom - krásný příklad REST API" /><author><name>Oto 'tapik' Buchta</name><uri>http://www.blogger.com/profile/06897671257757364797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>4</thr:total></entry></feed>

