<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Myšlenky dne otce Fura</title>
    <link>https://blog.novoj.net/</link>
    <description>Recent content on Myšlenky dne otce Fura</description>
    <generator>Hugo</generator>
    <language>cs</language>
    <lastBuildDate>Sun, 01 Mar 2026 06:00:00 +0100</lastBuildDate>
    <atom:link href="https://blog.novoj.net/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Automatizované překlady dokumentace do světových jazyků</title>
      <link>https://blog.novoj.net/posts/2026-03-01-comenius-maven-plugin/</link>
      <pubDate>Sun, 01 Mar 2026 06:00:00 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2026-03-01-comenius-maven-plugin/</guid>
      <description>&lt;p&gt;Připravujeme novou verzi našeho webu, jehož podstatná součást je uživatelská a vývojářská dokumentace. Není v našich silách udržovat dokumentaci aktuální ve více než jednom jazyce, a proto jsme zvolili angličtinu, ale ambice poskytovat dokumentaci v rodném jazyce vývojářů nás neopustila a v tomto článku nabízíme pohled na mechanismus, jak toho chceme dosáhnout.&lt;/p&gt;&#xA;&lt;p&gt;V malém týmu není prakticky možné udržovat rozsáhlou dokumentaci, nedejbože ve více jazycích konzistentní a aktuální. Respektive toto tvrzení platilo do nedávné doby, ale s nástupem LLM se všechno radikálně mění. Jedna z vlastností, ve které řada LLM vyniká, jsou právě překlady mezi jazyky a díky agentním nástrojům je aktuálně možné ověřovat konzistenci a platnost mnohem větší dokumentace, než je možné prostou lidskou silou. Kupodivu jsem nenašel žádný nástroj, integrovatelný s Maven build systémem, který by umožňoval automatizovaný překlad MarkDown souborů, a tak jsem se na přelomu roku rozhodl vyzkoušet sílu vibe-codingu a napsat plugin vlastní. Jeho první verze je aktuálně hotova a vy si ho můžete sami hned &lt;a href=&#34;https://github.com/FgForrest/comenius-maven-plugin&#34;&gt;vyzkoušet&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Activity tracker</title>
      <link>https://blog.novoj.net/posts/2026-01-31-activity-tracker/</link>
      <pubDate>Sat, 31 Jan 2026 14:07:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2026-01-31-activity-tracker/</guid>
      <description>&lt;p&gt;V rámci fakturace práce zákazníkům ve firmě sledujeme čas, který trávíme na konkrétních činnostech. Osobně s tím dost bojuji, protože v průběhu dne dělám spoustu různých věcí, a to i paralelně. Navíc často zapomenu den nebo dva vykázat (z práce obvykle hned běžím na trénink a k dalším povinnostem), a pak horko těžko dohledávám, na čem jsem to vlastně pracoval. Pro tyto účely existuje řada nástrojů, ale od toho svého potřebuji několik věcí:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Post processing videozáznamů z konference jOpenSpace</title>
      <link>https://blog.novoj.net/posts/2025-10-13-video-post-processing/</link>
      <pubDate>Mon, 13 Oct 2025 06:29:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2025-10-13-video-post-processing/</guid>
      <description>&lt;p&gt;V dnešním článku bych se s vámi rád podělil o své zkušenosti se zpracováním videozáznamů z konference jOpenSpace. Videozáznamy z konference připravujeme už řadu let a postupně se nám práci s tím podařilo zásadně zjednodušit a zefektivnit. Ještě před pár lety nám trvalo i víc než měsíc, než se nám podařilo záznamy zveřejnit a příprava popisků a zveřejnění na webu byla celkem pracná ruční práce. Už vloni se podařilo videa zveřejnit do týdne a letos nebýt mého vytížení v práci bychom to stihli do pár dnů. A ano, hádáte správně, za vším stojí automatizace a vibe coding.&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2022</title>
      <link>https://blog.novoj.net/posts/2022-10-10-jopenspace/</link>
      <pubDate>Mon, 10 Oct 2022 21:53:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2022-10-10-jopenspace/</guid>
      <description>&lt;p&gt;Trochu s obavami jsme očekávali jaká situace bude v říjnu 2022 a o proto jsme registrace otevřeli až v září. Doba je&#xA;skutečně turbulentní a kromě Covidu světem hýbe hned několik dalších krizí najednou. Proto jsme se Zdeňkem Henkem byli&#xA;nakonec velmi mile překvapeni, když se registrační číslo přiblížilo třicítce a už na první pohled bylo jasné, díky jménům,&#xA;které jsme v registrační listině viděli, že letošní ročník slibuje kvalitní obsah.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Proxycian</title>
      <link>https://blog.novoj.net/posts/2022-03-19-proxycian/</link>
      <pubDate>Sat, 19 Mar 2022 21:53:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2022-03-19-proxycian/</guid>
      <description>&lt;p&gt;We have open-sourced a new Java library &lt;a href=&#34;https://github.com/FgForrest/Proxycian&#34;&gt;Proxycian&lt;/a&gt;. It is a small Java library&#xA;for generating dynamic proxies on top of &lt;a href=&#34;https://github.com/raphw/byte-buddy&#34;&gt;ByteBuddy&lt;/a&gt;&#xA;or &lt;a href=&#34;https://github.com/jboss-javassist/javassist&#34;&gt;Javassist&lt;/a&gt;. You can generate data transfer objects, rich traits or&#xA;even whole implicit DAO implementations dynamically at runtime easily. This library solves the complex stuff, so you can&#xA;focus on application logic. Serializability and cloning are already solved by us. We also aim for transparent and easily&#xA;debuggable proxies, because as we know proxies is usually part of &amp;ldquo;magic&amp;rdquo; for the team.&#xA;Hence, the name of this library - Proxycian as a magician for the proxies ;)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zkušenosti MonkeyTracker projektu a jeho ukončení</title>
      <link>https://blog.novoj.net/posts/2021-01-30-killing-monkey-tracker/</link>
      <pubDate>Fri, 01 Jan 2021 19:20:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2021-01-30-killing-monkey-tracker/</guid>
      <description>&lt;p&gt;MonkeyTracker byl nástroj pro sledování aktivit uživatele na webu. Snímal kliknutí na různá místa na stránce a také místo,&#xA;kam uživatelé doscrollovali myší a kolik obsahu stránky tedy skutečně viděli (měli ochotu zhlédnout). Tyto informace jsou&#xA;užitečné pro UX designery pro vylepšování uživatelského zážitku a při redesignech webů.&lt;/p&gt;&#xA;&lt;p&gt;Projekt vznikl jako zaměstnanecký projekt v rámci pokusů vyzkoušet si projekt &amp;ldquo;produktového typu&amp;rdquo;, protože jinak se&#xA;&lt;a href=&#34;https://www.fg.cz&#34;&gt;FG Forrest&lt;/a&gt; orientuje na zakázkový vývoj. Stáli jsme za ním tři – já a moji kolegové Jakub Kosař a&#xA;Filip Hladík. Já jsem stál za přípravou backendu a provozem, kolegové si rozdělili frontendovou část – tedy JS, který&#xA;monitoroval weby, a následně analytickou konzoli, která vykreslovala teplotní mapy z naměřených výsledků.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Forresti publikují Open source software</title>
      <link>https://blog.novoj.net/posts/2020-09-11-open-source-software-in-fg/</link>
      <pubDate>Fri, 11 Sep 2020 16:30:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2020-09-11-open-source-software-in-fg/</guid>
      <description>&lt;p&gt;Stejně jako většina firem v našem průmyslu i my jsme založili náš byznys na otevřeném softwaru. &lt;em&gt;Jsme trpaslíci, kteří&#xA;stojí na ramenech obrů – nanos gigantum humeris insidentes.&lt;/em&gt; Celé roky využíváme software vývojářů, kteří nás svými&#xA;znalostmi převyšují a kteří svoji práci poskytli zdarma ku prospěchu všech.&lt;/p&gt;&#xA;&lt;p&gt;Mnohokrát jsme si pokládali otázku, jak tento dar oplatit. Jednou z možností bylo přispívat do některých z OSS nadací,&#xA;ale usoudili jsme, že peníze lépe pomohou jinde. Jako vývojáři jsme tíhnuli spíše k tomu, vracet ušetřenou práci darovanou&#xA;prací, a proto jsme se snažili publikovat, bavit a vzdělávat, spojovat či přispívat opravami. Stále jsme diskutovali&#xA;o tom, že bychom mohli část naší práce open-sourcovat, ale měli jsme obavy, že:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Logical operations over matrices of sorted numbers</title>
      <link>https://blog.novoj.net/posts/2019-09-14-logical-operations-over-matrices-of-sorted-numbers/</link>
      <pubDate>Sat, 14 Sep 2019 17:19:57 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2019-09-14-logical-operations-over-matrices-of-sorted-numbers/</guid>
      <description>&lt;p&gt;Our e-commerce view engine (E.V.E.) works with matrices of sorted number on the lowest level of its application logic.&#xA;I&amp;rsquo;d like to describe some of the algorithms we use to combine such matrices in logic operations.&lt;/p&gt;&#xA;&lt;p&gt;Why do we keep data in matrices in sorted order? There is a price to be paid when adding new number to the matrix when sorted&#xA;order is required - appending number on last position would be much faster. The reason is simple - when matrices contain only&#xA;sorted data we may use much more efficient (faster) algorithms to combine them. We pay a price on updating matrices&#xA;in order to gain better speed when combining them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What lies on background of e-commerce site</title>
      <link>https://blog.novoj.net/posts/2019-08-27-about-e-commerce-filtering/</link>
      <pubDate>Tue, 27 Aug 2019 17:19:57 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2019-08-27-about-e-commerce-filtering/</guid>
      <description>&lt;p&gt;I&amp;rsquo;d like to start series of posts about problems we&amp;rsquo;re facing in e-commerce area and what algorithms we used to solve&#xA;them. There are a lot of e-commerce sites on different levels of complexity in terms of feature richness, data amount,&#xA;throughput requirements, consistency and realtime updates. Let me first introduce the situation we&amp;rsquo;re trying to handle&#xA;and then move to the solution space.&lt;/p&gt;&#xA;&lt;h2 id=&#34;domain&#34;&gt;Domain&lt;/h2&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s look at example of some e-commerce site product listing:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Precalculated modified preorder tree traversal</title>
      <link>https://blog.novoj.net/posts/2019-05-05-pmptt/</link>
      <pubDate>Sun, 05 May 2019 08:19:57 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2019-05-05-pmptt/</guid>
      <description>&lt;p&gt;MPTT it quite old and very clever way for transposing hierarchical - tree structure to a two-dimensional representation&#xA;that is suitable for relational databases. MPTT allows to translate information about node tree position into two numbers -&#xA;left and right bound. Two number fields can be easily indexed and look ups for records in the tree can take advantage of&#xA;database indexes and perform really quickly.&lt;/p&gt;&#xA;&lt;p&gt;I won&amp;rsquo;t go into details of the (well) documented MPTT algorithm itself, because there are a lot of sources where you can&#xA;go for comprehensible explanation (better than I would be able to provide). If you are not familiar with the algorithm,&#xA;please, go first and read these articles:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 42 – NETIO, chytré zásuvky pro průmysl (soutěž!)</title>
      <link>https://blog.novoj.net/posts/2019-03-19-kafemlnek-tv-42-netio-chytre-zasuvky-pro-prumysl/</link>
      <pubDate>Tue, 19 Mar 2019 21:02:00 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2019-03-19-kafemlnek-tv-42-netio-chytre-zasuvky-pro-prumysl/</guid>
      <description>&lt;p&gt;Rozhovor s Honzou Řehákem v NETIO Products byl poslední před vánocemi. Z výše uvedené věty je krásně vidět, jak dlouho nám trvá takový díl pro vás připravit (pravda měli jsme ještě něco předtočené ve frontě).&lt;/p&gt;&#xA;&lt;p&gt;NETIO Products nás pozvali do svého sídla – rodinného domku na jihu Prahy. Jedná se o malý startup, který vyrábí a prodává chytré zásuvky po celé Evropě. Chytré zásuvky zvládají přesné měření protékajícího proudu, spotřeby a vzdálené řízení spínání. Zásuvky můžete programovat ve skriptovacím jazyce Lua, posílat jim XML, JSON, můžete jim zavolat přes SIP, nebo pingnout přes HTTP. Spínání můžete naschedulovat, jednoduše zajistíte autorestart neposlušných strojů na druhé straně zásuvky.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 41 – Techniky a nástroje, kterými po Vás hackeři půjdou</title>
      <link>https://blog.novoj.net/posts/2019-01-15-kafemlejnek-tv-41-techniky-a-nastroje-kterymi-po-vas-hackeri-pujdou/</link>
      <pubDate>Sun, 27 Jan 2019 14:24:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2019-01-15-kafemlejnek-tv-41-techniky-a-nastroje-kterymi-po-vas-hackeri-pujdou/</guid>
      <description>&lt;p&gt;V druhé části rozhovoru s Pavlem Luptákem z Hacktrophy jsem popustil uzdy fantazii a ptal se Pavla na věci, které mě&#xA;zajímaly v souvislosti s bezpečností na internetu.&lt;/p&gt;&#xA;&lt;p&gt;Zajímalo mě třebas, jestli se v praxi využívají útoky postranními kanály procesoru (MeltDown, Spectre, TL Bleed).&#xA;Probírali jsme i možné zranitelnosti Intel ME koprocesoru. Dozvěděl jsem se, že řešením řady zranitelností by mohla&#xA;být tzv. kompartmentalizace na úrovni HW i SW.&lt;/p&gt;&#xA;&lt;p&gt;Od Pavla padla zajímavá myšlenka – paradoxně nejsložitější aplikací, kterou používají běžní uživatelé je webový prohlížeč.&#xA;Proto tam bude vždy plno prostoru pro různé zranitelnosti.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zamyšlení nad procesy</title>
      <link>https://blog.novoj.net/posts/2019-01-20-thoughts-on-processes/</link>
      <pubDate>Mon, 21 Jan 2019 17:00:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2019-01-20-thoughts-on-processes/</guid>
      <description>&lt;p&gt;Poslední &lt;a href=&#34;https://dagblog.cz/cz-podcast-204-pull-requesty-merge-requesty-a-jin%C3%A9-mudrov%C3%A1n%C3%AD-nad-podstatou-t%C3%BDmov%C3%A9ho-v%C3%BDvoje-81f45c2dbb4e&#34;&gt;CzPodcast&lt;/a&gt;&#xA;a následná &lt;a href=&#34;https://twitter.com/alesroubicek/status/1085477079343345664&#34;&gt;diskuse na Twitteru&lt;/a&gt; mě vedla k nápadu popsat,&#xA;jak fungujeme u nás ve &lt;a href=&#34;https://www.fg.cz&#34;&gt;Forrestu&lt;/a&gt;. Twitter je na hlubší myšlenky prostě moc omezený. Jsem si vědom toho,&#xA;že to je risk, protože tohle je oblast citlivá a každý na ní má svůj názor. Nemám(e) patent na rozum a klidně si rád na&#xA;&lt;a href=&#34;https://twitter.com/novoj&#34;&gt;Twitteru&lt;/a&gt; vyslechnu vaše komentáře. V článku spíš chci zmínit body / praktiky, které&#xA;nám dávají smysl a považujeme je za funkční. Přes to všechno - chyby se stávají, a nic z toho, co tu budu psát&#xA;nám nezaručuje bezchybné, bezproblémové a jedině ziskové projekty.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 40 – Hacktrophy, bug bounty as a service</title>
      <link>https://blog.novoj.net/posts/2019-01-15-kafemlejnek-tv-40-hacktrophy-bug-bounty-as-a-service/</link>
      <pubDate>Tue, 15 Jan 2019 21:28:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2019-01-15-kafemlejnek-tv-40-hacktrophy-bug-bounty-as-a-service/</guid>
      <description>&lt;p&gt;Po nějaké době se vracíme k bezpečnostní problematice a tentokrát jsme si pozvali jako hosta Pavla Luptáka ze společnosti&#xA;&lt;a href=&#34;https://nethemba.com/cs/%22%3E&#34;&gt;Nethemba&lt;/a&gt; a &lt;a href=&#34;https://hacktrophy.com&#34;&gt;Hacktrophy&lt;/a&gt;, člena skupiny &lt;a href=&#34;http://www.ztohoven.com/&#34;&gt;Ztohoven&lt;/a&gt;.&#xA;Pavel má 20 let zkušeností z oblasti hackingu, žije nomádským způsobem života a vůbec jsme moc rádi, že se nám jej podařilo&#xA;před kameru dostat.&lt;/p&gt;&#xA;&lt;p&gt;Společně se zakladatelem společnosti &lt;a href=&#34;https://www.eset.com/cz/&#34;&gt;ESET&lt;/a&gt; a přáteli ze společnosti &lt;a href=&#34;https://citadelo.com/cz/&#34;&gt;Citadelo&lt;/a&gt;&#xA;založili před několika lety novou společnost Hacktrophy, která má za cíl zpřístupnit bug bounty programy i menším společnostem.&#xA;Nabízí zprostředkování výzvy k etickému hackingu skupině hackerů, správného nastavení odměn, ověření nahlášených&#xA;zranitelností a vyloučení false/positive hlášení a komunikaci mezi hackerem a zástupcem společnosti, která bug bounty&#xA;program vypisuje.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 38 – Od PC Fandu k Mashinkám</title>
      <link>https://blog.novoj.net/posts/2018-10-31-kafemlejnek-tv-38-od-pc-fandu-k-mashinkam/</link>
      <pubDate>Wed, 31 Oct 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-10-31-kafemlejnek-tv-38-od-pc-fandu-k-mashinkam/</guid>
      <description>&lt;p&gt;&lt;img data-attachment-id=&#34;3426&#34; data-permalink=&#34;http://blog.novoj.net/2018/10/31/kafemlejnek-tv-38-od-pc-fandu-k-mashinkam/mashinky_large-320x249/&#34; data-orig-file=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/mashinky_large-320x249.jpg?fit=640%2C498&#34; data-orig-size=&#34;640,498&#34; data-comments-opened=&#34;1&#34; data-image-meta=&#34;{&amp;quot;aperture&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;}&#34; data-image-title=&#34;mashinky_large-320×249&#34; data-image-description=&#34;&#34; data-medium-file=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/mashinky_large-320x249.jpg?fit=300%2C233&#34; data-large-file=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/mashinky_large-320x249.jpg?fit=627%2C488&#34; class=&#34;alignleft wp-image-3426&#34; src=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/mashinky_large-320x249.jpg?resize=204%2C148&#34; alt=&#34;&#34; width=&#34;204&#34; height=&#34;148&#34; srcset=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/mashinky_large-320x249.jpg?zoom=2&amp;amp;resize=204%2C148 408w, https://i0.wp.com/blog.novoj.net/binary/2018/10/mashinky_large-320x249.jpg?zoom=3&amp;amp;resize=204%2C148 612w&#34; sizes=&#34;(max-width: 204px) 100vw, 204px&#34;&gt;Na natáčení s Honzou Zeleným – autorem české hry &lt;a href=&#34;https://mashinky.com/&#34;&gt;Mashinky&lt;/a&gt;, jsem se těšil celý rok. Vzhledem k tomu, že letos ještě pracoval na plný úvazek pro Bohemia Interactive a po večerech na Mashinkách, jsme se dohodli, že natáčet budeme, až vznikne nějaký prostor. A ta doba nastala až teď, kdy Honza odešel ze zaměstnání a začal se vývoji hry věnovat naplno.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GeeCON Prague 2018</title>
      <link>https://blog.novoj.net/posts/2018-10-19-geecon-prague-2018/</link>
      <pubDate>Fri, 19 Oct 2018 09:54:34 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-10-19-geecon-prague-2018/</guid>
      <description>&lt;p&gt;Po třech letech jsem&lt;img data-attachment-id=&#34;3422&#34; data-permalink=&#34;http://blog.novoj.net/2018/10/19/geecon-prague-2018/geecon/&#34; data-orig-file=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/10/geecon.png?fit=143%2C68&#34; data-orig-size=&#34;143,68&#34; data-comments-opened=&#34;1&#34; data-image-meta=&#34;{&amp;quot;aperture&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;}&#34; data-image-title=&#34;geecon&#34; data-image-description=&#34;&#34; data-medium-file=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/10/geecon.png?fit=143%2C68&#34; data-large-file=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/10/geecon.png?fit=143%2C68&#34; class=&#34;alignleft size-full wp-image-3422&#34; src=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/10/geecon.png?resize=143%2C68&#34; alt=&#34;&#34; width=&#34;143&#34; height=&#34;68&#34;&gt; zase zavítal na polskou konferenci GeeCON, která se konala 18. – 19. října v Praze. Přiznávám, že jsem se těšil až zjistím, kam se pozornost řečníků za ta léta posunula. GeeCON si drží svou úroveň kvality a po technické a organizační stránce jsem nebyl zklamaný. Celkově jsem si z konference odnesl pocit toho, že Java jako ekosystém se definitivně posunul v &lt;a onclick=&#34;javascript:pageTracker._trackPageview(&#39;/outgoing/en.wikipedia.org/wiki/Hype_cycle&#39;);&#34; href=&#34;https://en.wikipedia.org/wiki/Hype_cycle&#34;&gt;hype cycle&lt;/a&gt; do „plaeau of productivity“. Nenarazil jsem na žádného řečníka, který by zaslepeně vychvaloval nějakou technologii, aniž by přiznal slabá místa a racionálně uvedl místa, kde se vyplatí a kde se naopak nevyplatí daný přístup použít.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 37 – Blockchain mimo kryptoměny</title>
      <link>https://blog.novoj.net/posts/2018-10-04-kafemlejnek-tv-37-blockchain-mimo-kryptomeny/</link>
      <pubDate>Thu, 04 Oct 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-10-04-kafemlejnek-tv-37-blockchain-mimo-kryptomeny/</guid>
      <description>&lt;p&gt;&lt;img data-attachment-id=&#34;3417&#34; data-permalink=&#34;http://blog.novoj.net/2018/10/04/kafemlejnek-tv-37-blockchain-mimo-kryptomeny/p1020635/&#34; data-orig-file=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/P1020635.jpg?fit=4000%2C2248&#34; data-orig-size=&#34;4000,2248&#34; data-comments-opened=&#34;1&#34; data-image-meta=&#34;{&amp;quot;aperture&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;}&#34; data-image-title=&#34;P1020635&#34; data-image-description=&#34;&#34; data-medium-file=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/P1020635.jpg?fit=300%2C169&#34; data-large-file=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/P1020635.jpg?fit=627%2C352&#34; class=&#34;alignleft wp-image-3417&#34; src=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/P1020635.jpg?resize=161%2C93&#34; alt=&#34;&#34; width=&#34;161&#34; height=&#34;93&#34; srcset=&#34;https://i0.wp.com/blog.novoj.net/binary/2018/10/P1020635.jpg?zoom=2&amp;amp;resize=161%2C93 322w, https://i0.wp.com/blog.novoj.net/binary/2018/10/P1020635.jpg?zoom=3&amp;amp;resize=161%2C93 483w&#34; sizes=&#34;(max-width: 161px) 100vw, 161px&#34;&gt;Je jasné, že&amp;nbsp;&lt;a href=&#34;https://kafemlejnek.tv/dil-36-uvod-do-technologie-blockchain/&#34;&gt;otvírák blockchainu&lt;/a&gt; nemohl ani zdaleka pokrýt témata, která jsme chtěli probrat. Pokračovali jsme tedy v rozhovoru s Lukášem Kolískem dál a chtěli jsme po něm nastínit možnosti využití blockchain technologie mimo kryptoměny.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Poznámka:&lt;/strong&gt; před díl jsou připojeny medailonky partnerů ne-konference &lt;a href=&#34;https://www.jopenspace.cz&#34;&gt;jOpenSpace&lt;/a&gt;, pokud vás nezajímají a chcete je přeskočit, skočte na 16 minutu 12 vteřinu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 36 – Úvod do technologie blockchain</title>
      <link>https://blog.novoj.net/posts/2018-09-15-kafemlejnek-tv-36-uvod-do-technologie-blockchain/</link>
      <pubDate>Sat, 15 Sep 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-09-15-kafemlejnek-tv-36-uvod-do-technologie-blockchain/</guid>
      <description>&lt;p&gt;&lt;img data-attachment-id=&#34;3412&#34; data-permalink=&#34;https://web.archive.org/web/20181103050348/http://blog.novoj.net/2018/09/15/kafemlejnek-tv-36-uvod-do-technologie-blockchain/p1020634/&#34; data-orig-file=&#34;https://web.archive.org/web/20181103050348/https://i2.wp.com/blog.novoj.net/binary/2018/09/P1020634-e1537002581792.jpg?fit=2670%2C2250&#34; data-orig-size=&#34;2670,2250&#34; data-comments-opened=&#34;1&#34; data-image-meta=&#34;{&amp;quot;aperture&amp;quot;:&amp;quot;2.8&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;DMC-FZ48&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;1534270127&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;4.5&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;400&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0.016666666666667&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;}&#34; data-image-title=&#34;P1020634&#34; data-image-description=&#34;&#34; data-medium-file=&#34;https://web.archive.org/web/20181103050348/https://i2.wp.com/blog.novoj.net/binary/2018/09/P1020634-e1537002581792.jpg?fit=300%2C253&#34; data-large-file=&#34;https://web.archive.org/web/20181103050348/https://i2.wp.com/blog.novoj.net/binary/2018/09/P1020634-e1537002581792.jpg?fit=627%2C528&#34; class=&#34;alignleft wp-image-3412&#34; src=&#34;https://web.archive.org/web/20181103050348im_/https://i2.wp.com/blog.novoj.net/binary/2018/09/P1020634-e1537002581792-300x253.jpg?resize=182%2C157&#34; alt=&#34;&#34; width=&#34;182&#34; height=&#34;157&#34; srcset=&#34;https://web.archive.org/web/20181103050348im_/https://i2.wp.com/blog.novoj.net/binary/2018/09/P1020634-e1537002581792.jpg?zoom=2&amp;amp;resize=182%2C157 364w, https://web.archive.org/web/20181103050348im_/https://i2.wp.com/blog.novoj.net/binary/2018/09/P1020634-e1537002581792.jpg?zoom=3&amp;amp;resize=182%2C157 546w&#34; sizes=&#34;(max-width: 182px) 100vw, 182px&#34;&gt;Lukáš Kolísko se &lt;a href=&#34;https://www.ca.com/us.html&#34;&gt;CA technologies&lt;/a&gt; věnuje průzkumu technologie blockchain a zároveň o tom &lt;a href=&#34;https://medium.com/@lkolisko&#34;&gt;poutavě bloguje&lt;/a&gt;. O blockchainu se posledních několik let hodně mluví, především v souvislosti s ruletou, která se odehrává na kryptoměnových burzách. Má však i řadu dalších možných použití, které jsme chtěli v tomto dvojdílu s Lukášem otevřít.&lt;/p&gt;&lt;p&gt;Pro začátek jsme si chtěli vysvětlit nějaké základní koncepty blockchainu. Jaké jsou odlišnosti v různých implementacích a také jsme si chtěli posvítit na notoricky známé problémy technologie, jako jsou rychlost, důvěra a energetická náročnost.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 35 – Algolia.com 5 devítek dostupnosti a odezvy do 50ms</title>
      <link>https://blog.novoj.net/posts/2018-08-21-kafemlejnek-tv-35-algolia-com-5-devitek-dostupnosti/</link>
      <pubDate>Tue, 21 Aug 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-08-21-kafemlejnek-tv-35-algolia-com-5-devitek-dostupnosti/</guid>
      <description>&lt;p&gt;&lt;img data-attachment-id=&#34;3405&#34; data-permalink=&#34;http://blog.novoj.net/2018/08/09/kafemlejnek-tv-34-algolia-com-fulltextove-vyhledavani-pro-twitch-tv/algolia_logo-svg/&#34; data-orig-file=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/08/Algolia_logo.svg_.png?fit=1320%2C1000&#34; data-orig-size=&#34;1320,1000&#34; data-comments-opened=&#34;1&#34; data-image-meta=&#34;{&amp;quot;aperture&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;credit&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;camera&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;caption&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;created_timestamp&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;copyright&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;focal_length&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;iso&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;shutter_speed&amp;quot;:&amp;quot;0&amp;quot;,&amp;quot;title&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;orientation&amp;quot;:&amp;quot;0&amp;quot;}&#34; data-image-title=&#34;Algolia_logo.svg&#34; data-image-description=&#34;&#34; data-medium-file=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/08/Algolia_logo.svg_.png?fit=300%2C227&#34; data-large-file=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/08/Algolia_logo.svg_.png?fit=627%2C475&#34; class=&#34;alignleft  wp-image-3405&#34; src=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/08/Algolia_logo.svg_.png?resize=165%2C123&#34; alt=&#34;&#34; width=&#34;165&#34; height=&#34;123&#34; srcset=&#34;https://i2.wp.com/blog.novoj.net/binary/2018/08/Algolia_logo.svg_.png?zoom=2&amp;amp;resize=165%2C123 330w, https://i2.wp.com/blog.novoj.net/binary/2018/08/Algolia_logo.svg_.png?zoom=3&amp;amp;resize=165%2C123 495w&#34; sizes=&#34;(max-width: 165px) 100vw, 165px&#34;&gt;V druhém díle s&amp;nbsp;&lt;a href=&#34;https://twitter.com/AdamSurak&#34;&gt;Adamem Surákem&lt;/a&gt;&amp;nbsp;z &lt;a href=&#34;https://www.algolia.com/&#34;&gt;Algolia.com&lt;/a&gt;&amp;nbsp;pokládáme techničtěji zaměřené otázky na jejich vyhledávací stroj. Dozvíte se v něm, že k dosažení 50ms odezev implementovali vyhledávací algoritmy v C++ jako nGinXový modul a provozují jej na vlastním bare metalu a jednom výkonném procesoru. Řeč bude i o SLA a čtyřech (respektive pěti interních) devítkách dostupnosti a jak jich dosahují.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 34 – Algolia.com fulltextové vyhledávání pro Twitch.tv</title>
      <link>https://blog.novoj.net/posts/2018-08-09-kafemlejnek-tv-34-algolia-com-fulltextove-vyhledavani-pro-twitch/</link>
      <pubDate>Thu, 09 Aug 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-08-09-kafemlejnek-tv-34-algolia-com-fulltextove-vyhledavani-pro-twitch/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2018/08/adam_surak.png&#34; class=&#34;alignleft  wp-image-3400&#34; alt=&#34;&#34; width=&#34;142&#34; height=&#34;88&#34;&gt;&lt;p&gt;Hostem tohoto dílu je &lt;a href=&#34;https://twitter.com/AdamSurak&#34;&gt;Adam Surák&lt;/a&gt; - director of infrastructure ve společnosti &lt;a href=&#34;https://www.algolia.com/&#34;&gt;Algolia.com&lt;/a&gt;, která se zabývá hostovaným vyhledáváním. Algolia vytváří vlastní databázové řešení, které se dá nejvíce přirovnat k Elastic Search. Kombinuje fulltextové vyhledávání s hledáním přes atributy uložených objektů. Algolia je hojně používaná na větších e-shopech a pohání např. platformu Twitch.tv.&lt;/p&gt;&lt;p&gt;Celkově jsme s Adamem Surákem natočili 2 interview, to první, které máte právě teď možnost shlédnout, je o Adamově historii a jak se do firmy Algolia dostal. Dále v něm rozebíráme vlastnosti jejich vlajkového produktu a jejich začátky. Pro techničtěji zaměřené posluchače je cílený druhý díl, kde se podíváme na zoubek postupům a technologiím, které v Algolii používají.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 33 – Teco – chytrá elektroinstalace</title>
      <link>https://blog.novoj.net/posts/2018-07-09-kafemlejnek-tv-33-teco-chytra-elektroinstalace/</link>
      <pubDate>Mon, 09 Jul 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-07-09-kafemlejnek-tv-33-teco-chytra-elektroinstalace/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;&#34; class=&#34;alignleft  wp-image-3400&#34; width=&#34;131&#34; height=&#34;134&#34; src=&#34;https://blog.novoj.net/binary/2018/07/texo.png&#34; &gt;&lt;p&gt;Na natáčení dalšího dílu, jsme se vydali jsme se do Kolína do společnosti Teco (nástupce Tesly Kolín), která vyrábí chytrou elektroinstalaci podobně jako Unipi, se kterou jsme natáčeli předchozí díl. Teco bylo v hledáčku Petra Ferschmanna už nějakou dobu, protože jeho komponenty pohání Petrovu chytrou domácnost. Náhoda tomu chtěla, že se nám podařilo dohodnout dva díly o hardware těsně po sobě.&lt;/p&gt;&lt;p&gt;V tomto díle jsme zpovídali technického ředitele Jindřicha Kubece na téma vývoje a výroby hardware a ten, kdo sleduje video formát uvidí také záběry z výroby této firmy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 32. – UniPi, Raspberry Pi na steroidech</title>
      <link>https://blog.novoj.net/posts/2018-06-22-kafemlejnek-tv-32-unipi-rapsberry-pi-na-steroidech/</link>
      <pubDate>Fri, 22 Jun 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-06-22-kafemlejnek-tv-32-unipi-rapsberry-pi-na-steroidech/</guid>
      <description>&lt;img class=&#34;alignleft  wp-image-3400&#34; alt=&#34;&#34; width=&#34;147&#34; height=&#34;131&#34; src=&#34;https://blog.novoj.net/binary/2018/06/unipy.png&#34;&gt;&#xA;&lt;p&gt;Na pozvání Ferše si s námi přišel do prostor &lt;a href=&#34;https://apiary.io/&#34;&gt;Apiary&lt;/a&gt; popovídat &lt;a href=&#34;http://linkedin.com/in/adam-skorpik-31b87980&#34;&gt;Adam Škorpík&lt;/a&gt; ze společnosti &lt;a href=&#34;https://www.unipi.technology/cs/&#34;&gt;Unipi technology&lt;/a&gt;. Unipi vyrábí hardware pro chytrou elektroinstalaci (monitoring, automatizace) postavené nad platformou &lt;a href=&#34;https://www.raspberrypi.org/&#34;&gt;Rabsberry Pi&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;V tomto díle si s námi můžete poslechnout jak se z firmy, která poskytuje internetové připojení stane výrobce hardware. Dozvíte se s jakými nástroji si můžete třeba vyrobit domácí automatizovaný kurník nebo řízený skleník. Adam také odkrývá kudy se chtějí v budoucnosti ubírat a že je univerzálnost propojení různých hardwarových platforem stále hudba vzdálené budoucnosti.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 31. – Vodíkové auto iSOUEsense</title>
      <link>https://blog.novoj.net/posts/2018-03-15-kafemlejnek-tv-31-vodikove-auto/</link>
      <pubDate>Thu, 15 Mar 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-03-15-kafemlejnek-tv-31-vodikove-auto/</guid>
      <description>&lt;img class=&#34;alignleft wp-image-3384&#34; src=&#34;https://blog.novoj.net/binary/2018/03/isousense-e1521147328502.png&#34; alt=&#34;&#34; width=&#34;145&#34; height=&#34;111&#34;&gt;&#xA;&lt;p&gt;V posledním díle z prostor &lt;a href=&#34;https://www.pricefx.eu/site/&#34;&gt;Price f(x)&lt;/a&gt; si povídáme s kluky ze &lt;a href=&#34;https://www.souepl.cz/&#34;&gt;středního odborného účiliště v Plzni&lt;/a&gt; o stavbě a principu fungován vodíkového auta. Našimi hosty byli David Žahour a Kamil Procházka, kteří zastupují seskupení&amp;nbsp;iSOUEsense, které stojí za celou řadou zajímavých studentských projektů.&lt;/p&gt;&lt;p&gt;Pokud máte předsudky o odborných účilištích, nebo nastupující generaci mileniálů, udělejte si čas a shlédněte s námi tento díl. Zjistíte, že na středních účilištích nám vyrůstá slibná generace, která má jak znalosti, tak i zápal dělat nevšední věci.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 30. – JAM stack</title>
      <link>https://blog.novoj.net/posts/2018-02-21-kafemlejnek-tv-30-jam-stack/</link>
      <pubDate>Wed, 21 Feb 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-02-21-kafemlejnek-tv-30-jam-stack/</guid>
      <description>&lt;img class=&#34;alignleft wp-image-3377 &#34; src=&#34;https://blog.novoj.net/binary/2018/02/IMG_20171220_165543-e1519243312987.jpg&#34; alt=&#34;&#34; width=&#34;141&#34; height=&#34;132&#34;&gt;&#xA;&lt;p&gt;Říká vám něco zkratka JAM stack? Mě byla ještě donedávna zcela neznámá. Prvním impulsem byl článek od &lt;a href=&#34;https://blog.zvestov.cz/software%20development/2017/04/24/staticky-web-s-jekyllrb.html&#34;&gt;Bantera o převodu blogu na statický generátor Jekyll&lt;/a&gt;, druhým pak lightning talk Ládi Prskavce na letošním &lt;a href=&#34;http://www.jopenspace.cz&#34;&gt;jOpenSpace&lt;/a&gt;.&lt;/p&gt;&lt;p&gt; Zkratka JAM představuje slova JavaScript, API, Markup a pokud chcete získat pouze základní přehled o ní, koukněte na Láďovu přednášku z jOpenSpace (5 minut): &lt;a href=&#34;https://youtu.be/_7AF1lma4bw&#34;&gt;https://youtu.be/_7AF1lma4bw&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Pokud by vás zajímalo více podrobností - stejně tak jako nás, připravili jsme delší povídání s Láďou Prskavcem, kde se tomuto tématu podíváme na zoubek víc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 29. – Co pro vás chystají SaaSkaři</title>
      <link>https://blog.novoj.net/posts/2018-01-09-kafemlejnek-tv-29-co-pro-vas-chystaji-saaskari/</link>
      <pubDate>Tue, 09 Jan 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-01-09-kafemlejnek-tv-29-co-pro-vas-chystaji-saaskari/</guid>
      <description>&lt;img class=&#34;alignleft wp-image-3377&#34; alt=&#34;&#34; width=&#34;156&#34; height=&#34;140&#34; src=&#34;https://blog.novoj.net/binary/2018/01/freelo-nenoste-si-praci-domu.jpg&#34;&gt;&#xA;&lt;p&gt;Tentokrát jsme se sešli s Karlem Dytrychem, abychom vás pozvali na nový seriál setkání nazvaný SaaSkaři. Setkání je určeno pro všechny, kteří mají ambice vybudovat SaaS platformu a chtějí sdílet zkušenosti s ostatními. Organizačně akci zajišťuje právě Karel Dytrych z Freelo a Petr Ferschman z Dativery a kromě nich samotných budou na každé ze setkání zváni další hosté.&lt;/p&gt;&lt;p style=&#34;text-align: center;&#34;&gt;&lt;em&gt;První setkání &lt;a href=&#34;http://www.saaskari.cz&#34;&gt;SaaSkařů&lt;/a&gt; proběhne&amp;nbsp;&lt;strong&gt;22. ledna 2018 v 18 hodin v &lt;a href=&#34;https://mapy.cz/s/2jgoe&#34;&gt;STRV&lt;/a&gt;&lt;/strong&gt;. Jste srdečně zváni.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 28. – Realtime řízení televizního vysílání</title>
      <link>https://blog.novoj.net/posts/2018-01-02-kafemlejnek-tv-28-realtime-rizeni-tv-vysilani/</link>
      <pubDate>Tue, 02 Jan 2018 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2018-01-02-kafemlejnek-tv-28-realtime-rizeni-tv-vysilani/</guid>
      <description>&lt;img class=&#34;alignleft wp-image-3377&#34; alt=&#34;&#34; width=&#34;199&#34; height=&#34;122&#34; src=&#34;https://blog.novoj.net/binary/2018/01/david_ondrich-1.png&#34;&gt;&#xA;&lt;p&gt;V &lt;a href=&#34;https://www.youtube.com/watch?v=4LRfm86ADMQ&#34;&gt;medailonku pro jOpenSpace&lt;/a&gt; jsem sliboval, že si do Kafemlejnku pozveme Davida Ondřicha z &lt;a href=&#34;https://www.aveco.com/en/&#34;&gt;Aveco&lt;/a&gt;, protože jeho přednášky o řízení televizního vysílání mi přišly vždy velmi zajímavé. Jedná se o zajímavou oblast už jenom proto, že systémy zde jsou přísně real-timové a chyby se neodpouští, protože je vidí v přímém přenosu statisíce lidí.&lt;/p&gt;&lt;p&gt;V tomto díle jsme se tedy Davida ptali na specifika programování pro zpracování v reálném čase a vůbec zákulisí televizního vysílání. Došlo i na pár historek z vysílání a na to, že učit se v dnešní době C/C++ vůbec není špatný nápad. Tenhle jazyk jsme sice pohřbívali už před deseti lety, ale jak se ukázalo, má svoje nezastupitelné místo a dost možná nás všechny přežije.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 27. – Vzdělávání dětí v IT</title>
      <link>https://blog.novoj.net/posts/2017-12-12-kafemlejnek-tv-27-vzdelavani-deti-v-it/</link>
      <pubDate>Tue, 12 Dec 2017 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-12-12-kafemlejnek-tv-27-vzdelavani-deti-v-it/</guid>
      <description>&lt;img class=&#34;alignleft wp-image-3377&#34; alt=&#34;&#34; width=&#34;207&#34; height=&#34;123&#34; src=&#34;https://blog.novoj.net/binary/2017/12/pavel_konig_david_ondrich_small.png&#34;&gt;&#xA;&lt;p&gt;Pavla Königa z &lt;a href=&#34;http://www.nvias.org/&#34;&gt;nVias&lt;/a&gt; jsme v &lt;a href=&#34;https://www.strv.com/&#34;&gt;STRV&lt;/a&gt; baru ještě zdrželi a k diskusi navíc přibrali i Davida Ondřicha, který zastupoval vzdělávací projekt &lt;a href=&#34;http://imysleni.cz/&#34;&gt;PRIM&lt;/a&gt;. Tématem našeho rozhovoru byly různé přístupy k přiblížení IT dětem a zkušenosti s nejrůznějšími &#34;hračkami&#34; pro děti i dospělé.&lt;/p&gt;&lt;p style=&#34;text-align: center;&#34;&gt;&lt;a href=&#34;https://kafemlejnek.tv/wp-content/uploads/2017/11/hall-of-fame.jpg&#34;&gt;&lt;img src=&#34;https://kafemlejnek.tv/wp-content/uploads/2017/11/hall-of-fame-186x300.jpg&#34; alt=&#34;&#34; width=&#34;144&#34; height=&#34;261&#34;&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Probíráme zkušenosti s LittleBits stavebnicemi, Ozzoboty, M-Botem, Scratchem, Minecraftem a řadu dalších věcí. Oba s Petrem doufáme, že naše děti i přes konzervativnost našeho školství k IT nakonec přičichnou a i nadále budou mít čeští programátoři ve světě dobré jméno.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 26. – Nvias, budoucnost vzdělávání našich dětí</title>
      <link>https://blog.novoj.net/posts/2017-11-29-kafemlejnek-tv-26-nvias-budoucnost-vzdelavani-nasich-deti/</link>
      <pubDate>Wed, 29 Nov 2017 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-11-29-kafemlejnek-tv-26-nvias-budoucnost-vzdelavani-nasich-deti/</guid>
      <description>&lt;img class=&#34;alignleft wp-image-3377&#34; alt=&#34;&#34; width=&#34;170&#34; height=&#34;156&#34; src=&#34;https://blog.novoj.net/binary/2017/11/pavel_konig_small.png&#34;&gt;&#xA;&lt;p&gt;Kariéra Pavla Königa je spojená se společností &lt;a href=&#34;https://www.aimtecglobal.com&#34;&gt;AIMTEC&lt;/a&gt;. Společnosti se podařilo etablovat za hranicemi, daří se jí a Pavel zkouší udělat další krok, který už není spojený s vyděláváním peněz, ale výchovou budoucí generace v IT. Založil neziskovou společnost &lt;a href=&#34;http://www.nvias.org/&#34;&gt;nVias&lt;/a&gt;, která má v plánu zavést do našeho školství nové formy vzdělávání dětí v IT - vztah k podnikání, a vztahu k informatice nejen skrz MS Office, jak je, bohužel, dnešním zvykem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 25. – historie malware</title>
      <link>https://blog.novoj.net/posts/2017-11-12-kafemlejnek-tv-25-historie-malware/</link>
      <pubDate>Sun, 12 Nov 2017 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-11-12-kafemlejnek-tv-25-historie-malware/</guid>
      <description>&lt;img class=&#34;alignleft wp-image-3377&#34; alt=&#34;&#34; width=&#34;205&#34; height=&#34;146&#34; src=&#34;https://blog.novoj.net/binary/2017/11/igor_hak_small.png&#34;&gt;&#xA;&lt;p&gt;Po dlouhé prázdninové přestávce se vracíme k vysílání. Tento díl je pěkně výživný - čekejte přes hodinu povídání o historii malware od jeho počátků až po současnost. Jak si dokážete představit - materiálu je zde více než dost. O virech a jiné havěti nám přijel popovídat Igor Hák - vedoucí vývojového týmu společnosti &lt;a href=&#34;https://www.eset.com/cz/&#34;&gt;Eset&lt;/a&gt;, autor portálu &lt;a href=&#34;http://viry.cz&#34;&gt;viry.cz&lt;/a&gt;&lt;/p&gt;&lt;p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 24. - kyber bezpečnost v národním zájmu</title>
      <link>https://blog.novoj.net/posts/2017-08-20-kafemlejnek-tv-24-kyber-bezpecnost-v-narodnim-zajmu/</link>
      <pubDate>Sun, 20 Aug 2017 22:02:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-08-20-kafemlejnek-tv-24-kyber-bezpecnost-v-narodnim-zajmu/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-medium wp-image-3336&#34; src=&#34;https://blog.novoj.net/binary/2017/08/nckb-300x300.png&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;300&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Nedalo nám to, abychom se Radima Ošťádala a Dana Bagge z &lt;a href=&#34;https://www.govcert.cz/cs/vladni-cert/govcert-cz/&#34;&gt;Národního centra kybernetické bezpečnosti&lt;/a&gt; nezeptali i na další otázky, které se nám honily hlavou a netýkaly se tak úplně výhry v soutěži Locked Shields 2017.&lt;/p&gt;&#xA;&lt;p&gt;Pánové v NCKB nejen, že sami aktivně chrání část naší důležité státní infrastruktury, ale připravují standardy pro ostatní společnosti, jež zásadně ovlivňují chod celé naší společnosti. Už nyní je tato oblast více než důležitá a v blízké budoucnosti ještě dále nabude na svém významu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 23. - Operace Locked Shields</title>
      <link>https://blog.novoj.net/posts/2017-07-17-kafemlejnek-tv-23-operace-locked-shields/</link>
      <pubDate>Mon, 17 Jul 2017 13:00:21 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-07-17-kafemlejnek-tv-23-operace-locked-shields/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-medium wp-image-3332&#34; src=&#34;https://blog.novoj.net/binary/2017/07/locked-300x200.jpg&#34; alt=&#34;&#34; width=&#34;300&#34; height=&#34;200&#34; /&gt;Před pár týdny novinami proběhla zpráva, že český tým složený ze specialistů na kybernetickou bezpečnost zvítězil v soutěži &lt;a href=&#34;https://ccdcoe.org/locked-shields-2017.html&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Locked Shields&lt;/a&gt; v Estonsku. Získat první místo mezi 20 týmy (o více než 800 lidech) ostatních národů je obrovský úspěch a je velká škoda, že se mediální pokrytí spokojilo s povrchními informacemi a nepřineslo nic podrobnějšího o tom, jak tato soutěž vlastně probíhá.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3331&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Díky našim přátelům v CZNIC se nám podařilo kontaktovat Radka Holého, Dana Bagge a Radima Ošťadala z &lt;a href=&#34;https://www.govcert.cz/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Národního centra kybernetické bezpečnosti&lt;/a&gt;, kteří byli přímými účastníky soutěže a dohodnout s nimi interview na toto téma.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 22. - Hra Factorio z technického pohledu</title>
      <link>https://blog.novoj.net/posts/2017-06-12-kafemlejnek-tv-22-hra-factorio-z-technickeho-pohledu/</link>
      <pubDate>Mon, 12 Jun 2017 20:44:13 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-06-12-kafemlejnek-tv-22-hra-factorio-z-technickeho-pohledu/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft wp-image-3327&#34; src=&#34;https://blog.novoj.net/binary/2017/06/factorio_concept_art_by_neo7harry-d7dza5w-300x169.jpg&#34; alt=&#34;&#34; width=&#34;177&#34; height=&#34;103&#34; /&gt;V minulém díle jste mohli slyšet historii a příběh o vzniku hry Factorio. Techničtější otázky jsme si nechali do dnešního druhého dílu s Michalem Kovaříkem.&lt;/p&gt;&#xA;&lt;p&gt;Ptali jsme se ho, co obnáší portace hry na různé operační systémy a jestli se to vyplatí. V čem spočívá integrace na platformu Steam, jestli hru chrání proti pirátskému kopírování a hodně času věnujeme programování multiplayer části hry.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3326&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Jako programátor jsem si tento díl moc užíval a líbí se mi realistický přístup kluků k programování. Jak je vidno, lze udělat díru do světa i bez použití milionu buzzwordů a &#34;hypovaných&#34; technologií.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 21 – Příběh Factorio</title>
      <link>https://blog.novoj.net/posts/2017-05-14-kafemlejnek-tv-21-pribeh-factorio/</link>
      <pubDate>Sun, 14 May 2017 21:23:28 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-05-14-kafemlejnek-tv-21-pribeh-factorio/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.factorio.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;img class=&#34;alignleft wp-image-3320&#34; src=&#34;https://blog.novoj.net/binary/2017/05/factorio-small-300x235.jpg&#34; alt=&#34;&#34; width=&#34;172&#34; height=&#34;143&#34; /&gt;Factorio&lt;/a&gt; je česká &#34;indie&#34; hra, která se těžko nálepkuje, protože má originální koncept. Jste vesmírným trosečníkem na cizí planetě, který disponuje moderními technologickými znalostmi. Vaším cílem je uprchnout z nehostinné planety plné minerálních surovin, které vám umožní vystavět infrastrukturu potřebnou k výrobě meziplanetární rakety.&lt;/p&gt;&#xA;&lt;p&gt;Hra kombinuje strategické a akční prvky a je především o budování &#34;továrního komplexu&#34;, který je z velké části samočinný a vyrábí pro vás komponenty potřebné k přežití. Mě osobně &lt;a href=&#34;https://www.factorio.com/download-demo&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;demo&lt;/a&gt; chytlo a až budu mít herní frontu prázdnou do &lt;a href=&#34;https://www.factorio.com/buy&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;koupě&lt;/a&gt; této hry určitě zainvestuji.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 20 – Cyber Security Incident Response Team</title>
      <link>https://blog.novoj.net/posts/2017-04-26-kafemlejnek-tv-20-cyber-security-incident-response-team/</link>
      <pubDate>Wed, 26 Apr 2017 20:21:25 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-04-26-kafemlejnek-tv-20-cyber-security-incident-response-team/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-3314&#34; src=&#34;https://blog.novoj.net/binary/2017/04/csirt-300x193.png&#34; alt=&#34;&#34; width=&#34;198&#34; height=&#34;140&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tentokrát jsme zavítali do kanceláří &lt;a href=&#34;https://www.nic.cz/&#34;&gt;CZ.NIC&lt;/a&gt;, kde sídlí národní &lt;a href=&#34;https://cs.wikipedia.org/wiki/CSIRT.CZ&#34;&gt;CSIRT&lt;/a&gt; tým. Se Zuzkou Duračinskou a Pavlem Baštou jsme si povídali o tom, jakou roli hraje CSIRT tým v České Republice a v čem nám ostatním může pomoci.&lt;/p&gt;&#xA;&lt;p&gt;V rámci rozhovoru jsme narazili na novou evropskou směrnici GDPR, novelu zákona o kybernetické bezpečnosti a spoustu dalších zajímavých věcí.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3313&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tento díl provázela řada peripetií - původně jsme jej natáčeli už v prosinci 2016, ale díky řadě zvláštní okolností se nám podařilo přijít o datové nahrávky. Petrovo přiznání je součástí tohoto dílu :) ... možná i proto se začátek dnešního dílu nese ve veselém duchu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Přednáška Juergena Höellera o Spring Framework 5</title>
      <link>https://blog.novoj.net/posts/2017-04-02-prednaska-juergena-hoellera-o-spring-framework-5/</link>
      <pubDate>Sun, 02 Apr 2017 14:16:03 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2017-04-02-prednaska-juergena-hoellera-o-spring-framework-5/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3308&#34; src=&#34;https://blog.novoj.net/binary/2017/04/juergen-e1491138921182-150x150.jpg&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Před týdnem jsem byl pozváni na přednášku &lt;a href=&#34;https://spring.io/team/jhoeller&#34;&gt;Juergena Höellera&lt;/a&gt; - jednoho z autorů Spring Frameworku, který již léta dohlíží na směrování tohoto velmi populárního aplikačního rámce našich Java aplikací. Akci organizovala společnost &lt;a href=&#34;http://vsadnajavu.cz/2017-03/odborne/spring-framework/jake-to-bylo-s-juergenem-hoellerem/&#34;&gt;Morosystems&lt;/a&gt; v Brně a tímto jim děkujeme za pozvání.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3307&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Mimo specifických vlastností týkajících se páté verze Spring Frameworku se Juergen na přednášce rozhovořil také o jeho osobních vizích, kam bude směrovat další vývoj v oblasti Java aplikací a důvodech některých rozhodnutí, které ve Springu učinili.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 19 – Pražská Lítačka</title>
      <link>https://blog.novoj.net/posts/2017-03-18-kafemlejnek-tv-19-prazska-litacka/</link>
      <pubDate>Sat, 18 Mar 2017 11:44:30 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2017-03-18-kafemlejnek-tv-19-prazska-litacka/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3303&#34; src=&#34;https://blog.novoj.net/binary/2017/03/operator-150x150.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Obyvatelé Prahy &lt;a href=&#34;https://www.litacka.cz/&#34; target=&#34;_blank&#34;&gt;Lítačku&lt;/a&gt; znají, mimopražští pravděpodobně také, protože se jednalo o poměrně husarský kousek, když se během jediného roku s minimálními náklady podařilo z větší části nahradit předraženou Open Card. Nás celá situace samozřejmě velmi zajímala. I když se jedná stále o velmi ožehavé téma, které je předmětem několika soudních pří, uvolil se &lt;a href=&#34;https://www.linkedin.com/in/vstrnad/&#34; target=&#34;_blank&#34;&gt;Vašek Strnad&lt;/a&gt; z firmy &lt;a href=&#34;http://operatorict.cz/&#34; target=&#34;_blank&#34;&gt;Operátor ICT&lt;/a&gt; si o projektu popovídat.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3301&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Původně jsem si myslel, že největší výzva byl přístup k datům a technické aspekty nahrazení OpenCard. Ve skutečnosti byl největší problém logistický - a to blížící se konec platnosti již vydaných Open Card, které by se původním způsobem vůbec nezvládl vybavit. Vlastní nahrazení Open Card v přístrojích a získání dat vlastníků karet až takový problém nebyl, protože, naštěstí, data jsou v majetku města (případně DPP) a existují již ověřená řešení, které odbavování cestujících řeší v jiných městech.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 18 – Zákoutí GC a další technologické špeky z RSJ</title>
      <link>https://blog.novoj.net/posts/2017-02-23-kafemlejnek-tv-18-zakouti-gc-a-dalsi-technologicke-speky-z-rsj/</link>
      <pubDate>Thu, 23 Feb 2017 23:17:11 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2017-02-23-kafemlejnek-tv-18-zakouti-gc-a-dalsi-technologicke-speky-z-rsj/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3296&#34; src=&#34;https://blog.novoj.net/binary/2017/02/petr_altman-150x150.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Jak jsme slíbili, zveřejňujeme druhý díl ze společnosti RJS, kde s Petrem Altmanem a Michalem Šaňákem zavítáme do techničtější oblasti obchodování na burze. Těšit se můžete na povídání o Garbage Collectorech, přístupu k testování a příhody z provozu.&lt;/p&gt;&#xA;&lt;p&gt;Únava se na nás všech maličko podepsala, takže jsme nakonec nešli až do takových detailů, jak jsme původně plánovali. I tak věříme, že nezklameme ani technicky orientované posluchače našeho Kafemlejnku.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 17 – Algoritmické obchodování na burze</title>
      <link>https://blog.novoj.net/posts/2017-02-14-kafemlejnek-tv-17-algoritmicke-obchodovani-na-burze/</link>
      <pubDate>Tue, 14 Feb 2017 23:34:12 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2017-02-14-kafemlejnek-tv-17-algoritmicke-obchodovani-na-burze/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3288&#34; src=&#34;https://blog.novoj.net/binary/2017/02/rsj-150x150.png&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Po delší přestávce jsme zavítali do kanceláří &lt;a href=&#34;http://rsj.com/&#34; target=&#34;_blank&#34;&gt;RSJ&lt;/a&gt; poblíž pražského Florence. Společnost se zabývá algoritmickým obchodováním na světových burzách a bylo o ní slyšet v souvislosti s osobností &lt;a href=&#34;https://cs.wikipedia.org/wiki/Karel_Jane%C4%8Dek&#34; target=&#34;_blank&#34;&gt;Karla Janečka&lt;/a&gt;. My jsme se setkali s technologickými lídry společnosti – Michalem Šaňákem a Petrem Altmanem rozhodnuti z nich vytáhnout co nejvíce o vývojářském pozadí firmy a problémech, které musí v této oblasti řešit.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3284&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Jestli Vás zajímá, jak fungují dnešní burzy, jaké technologie se tam používají a jak vypadá high level architektura automatizovaných systémů, které tam obchodují, nenechte si ujít tento díl. Každý si v něm něco najde – třebas pro mne bylo překvapením, že v RSJ od začátku programují v C# (intuitivně bych čekal C++), valnou většinu kódu mají vlastní a to včetně distribuované databáze pro matematické modelování (open source se v .NET skutečně moc nenosí) a to, že obchodní operace jsou schopni realizovat v rámci nižších desítek milisekund.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Click through errors to IntelliJ Idea editor with Remote Call plugin</title>
      <link>https://blog.novoj.net/posts/2017-02-10-click-through-errors-to-intellij-idea-editor-with-remote-call-plugin/</link>
      <pubDate>Fri, 10 Feb 2017 20:16:10 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2017-02-10-click-through-errors-to-intellij-idea-editor-with-remote-call-plugin/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3026&#34; src=&#34;https://blog.novoj.net/binary/2015/01/connect-150x150.jpg&#34; alt=&#34;connect&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt; Every improvement of your development process that is performed on daily basis is worth considering and implementing. Even little things can save days in budgets if you multiply them by the count of team members and the number of operation occurrences in the year. How do you look up for classes or JSP/FreeMarker/whatever templates when you run at error in them during development or testing? In development mode you might have your logging output open in IntelliJ Idea and click through exception stacktraces if any happens to be printed there. But there are cases when it&#39;s not possible - for example errors in templates won&#39;t navigate you to the source template, logs in test / preprod environment can&#39;t be easily consumed by your IDE etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prolomení šifrovaného protokolu HTTPS</title>
      <link>https://blog.novoj.net/posts/2017-01-31-prolomeni-sifrovaneho-protokolu-https/</link>
      <pubDate>Tue, 31 Jan 2017 18:03:45 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2017-01-31-prolomeni-sifrovaneho-protokolu-https/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft wp-image-3266&#34; src=&#34;https://blog.novoj.net/binary/2017/01/prolomeni-sifrovaneho-protokolu-https-e1485882377456-300x274.jpg&#34; alt=&#34;&#34; width=&#34;166&#34; height=&#34;171&#34; /&gt;Vyděsil vás titulek článku? Vlastně to bylo tak trochu cílem. Mnoho z nás totiž žije v klamné představě, že nasazení důvěryhodného SSL certifikátu a správná konfigurace webového serveru postačuje k zajištění důvěryhodného a nečitelného přenosu dat mezi serverem a klientem. Naše přesvědčení potvrzuje fakt, že na tomto předpokladu staví celý svět online byznysu.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3264&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Jak by řekli matematici – použití HTTPS protokolu je pro zajištění takové komunikace nutná, nikoliv však postačující podmínka. Díky tomu, že je HTTPS protokol páteří seriózního internetu, je také velmi zajímavý pro útočníky, kteří by jeho prolomením hodně získali.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 16. - Local Session Poisoning</title>
      <link>https://blog.novoj.net/posts/2016-10-24-kafemlejnek-tv-16-local-session-poisoning/</link>
      <pubDate>Mon, 24 Oct 2016 23:03:08 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-10-24-kafemlejnek-tv-16-local-session-poisoning/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft wp-image-3223&#34; src=&#34;https://blog.novoj.net/binary/2016/08/DSC_0203-e1471330654655-300x287.jpg&#34; alt=&#34;Roman Kümmel&#34; width=&#34;156&#34; height=&#34;150&#34; /&gt;Je až s podivem, že tato zranitelnost i několik let po svém objevení není běžně známá a že jí stále trpí všechny PHP aplikace, které se spolehnou na výchozí nastavení PHP. Principielně se zranitelnost týká i dalších platforem, ale tam není riziko tak vysoké jako právě v PHP.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3251&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Local session poisoning objevil Roman Kümmel na konci roku 2015 a snažil se informovat postižené majitele webů, které byly touto technikou zranitelné. Jak dopadl si sami můžete přečíst v článku &lt;a href=&#34;http://www.soom.cz/clanky/1171--Bezpecnostni-tragikomedie&#34; target=&#34;_blank&#34;&gt;Bezpečnostní tragikomedie&lt;/a&gt;. Zranitelnost byla pravděpodobně poprvé zdokumentována na webu &lt;a href=&#34;http://ha.xxor.se/2011/09/local-session-poisoning-in-php-part-1.html&#34; target=&#34;_blank&#34;&gt;Haxxor Security&lt;/a&gt; v září 2011, nicméně nijak světem neotřásla a dosud na internetu najdete jen několik dalších článků o této zranitelnosti.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 15. - FlexiBee - co jsem udělali dobře a co všechno jsme vyzkoušeli</title>
      <link>https://blog.novoj.net/posts/2016-10-17-kafemlejnek-tv-15-zkazili-jsme-ve-flexibee-vsechno-nebo-jeste-neco-zbylo/</link>
      <pubDate>Mon, 17 Oct 2016 11:26:58 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-10-17-kafemlejnek-tv-15-zkazili-jsme-ve-flexibee-vsechno-nebo-jeste-neco-zbylo/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft wp-image-3247&#34; src=&#34;https://blog.novoj.net/binary/2016/10/petr-300x280.png&#34; alt=&#34;petr&#34; width=&#34;133&#34; height=&#34;117&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;V tomto díle jsme bez hosta a zpovídám v něm Petra Ferschmanna na téma historie účetnictví FlexiBee a prodeji společnosti ABRA. Petr totiž po dvou letech od prodeje firmy odchází z &#34;aktivní služby&#34; a začíná se věnovat jinému startupu, o kterém si v závěru dílu také něco povíme.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3246&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pro mě osobně je FlexiBee v českých vodách pojmem - ukázalo, že účetnictví se dá dělat moderně a otevřeně. Dnes poodhalíme zákulisí tohoto projektu a i to, že jej provázela řada potíží, které zvenku nejsou vidět. Petr se už na vše dívá zpětně s humorem, ale věřím, že ve chvíli, kdy dochází peníze není nikomu do skoku.&lt;/p&gt;</description>
    </item>
    <item>
      <title>JavaDays 2016</title>
      <link>https://blog.novoj.net/posts/2016-09-26-javadays-2016/</link>
      <pubDate>Mon, 26 Sep 2016 19:49:01 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-09-26-javadays-2016/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft wp-image-3232 size-medium&#34; src=&#34;https://blog.novoj.net/binary/2016/09/javadays-logo-300x137.png&#34; alt=&#34;javadays-logo&#34; width=&#34;300&#34; height=&#34;137&#34; /&gt;Letos poprvé budu přednášet na &#34;velkých prknech&#34; v rámci konference &lt;a href=&#34;https://www.javadays.cz&#34; target=&#34;_blank&#34;&gt;JavaDays&lt;/a&gt; pořádané 14. - 15. listopadu 2016 společností &lt;a href=&#34;http://www.gopas.cz/&#34; target=&#34;_blank&#34;&gt;Gopas&lt;/a&gt;. Budu přednášet o &lt;a href=&#34;http://projects.spring.io/spring-security/&#34; target=&#34;_blank&#34;&gt;Spring Security&lt;/a&gt; knihovně, která se za léta stala již industry standardem pro řešení autentizace a autorizace v Java projektech. Pokud jste se s touto knihovnou setkali jen letmo nebo vaše znalosti v tomto směru zastaraly, rád vás uvítám na mé přednášce, ve které bych chtěl průřezově projít všechna nejdůležitější zákoutí této knihovny a její novinky z posledních let. Zkušeným programátorům, kteří tuto knihovnu dennodenně používají, mnoho nového nesdělím. Tak je to ale s každou přednáškou na téma, kde jste silní - nejvíce vám dá vždy taková, kde toho v dané oblasti víte nejméně. Přesto se budu snažit vás nenudit a nečím překvapit.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV Akademie 5 - Základní techniky hackování – Roman Kümmel</title>
      <link>https://blog.novoj.net/posts/2016-09-02-kafemlejnek-tv-akademie-5-zakladni-techniky-hackovani-roman-kummel/</link>
      <pubDate>Fri, 02 Sep 2016 21:32:48 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-09-02-kafemlejnek-tv-akademie-5-zakladni-techniky-hackovani-roman-kummel/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3227&#34; src=&#34;https://blog.novoj.net/binary/2016/09/hacking-150x150.png&#34; alt=&#34;hacking&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tento díl obsahuje praktické ukázky základních hackovacích technik jako je SQL injection, cross site scripting a nezabezpečený upload. Jedná se jen o ilustrativní výsek z desítek dalších zranitelností, které můžete na webu potkat.&lt;/p&gt;&#xA;&lt;p&gt;Cílem bylo především ilustrovat, že útoky nejsou nikterak složité - tím spíš, že již existují automatizované nástroje, které všechno radikálně zrychlí a zdokonalí. Jednoduchost a nebezpečnost těchto útoků by měla nás, tvůrce webových aplikací, motivovat k tomu se v této oblasti vzdělávat a nenechávat vrátka pro hackery otevřená.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 14. - hackování web aplikací</title>
      <link>https://blog.novoj.net/posts/2016-08-16-kafemlejnek-tv-14-hackovani-web-aplikaci/</link>
      <pubDate>Tue, 16 Aug 2016 07:58:38 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-08-16-kafemlejnek-tv-14-hackovani-web-aplikaci/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3223&#34; src=&#34;https://blog.novoj.net/binary/2016/08/DSC_0203-e1471330654655-150x150.jpg&#34; alt=&#34;Roman Kümmel&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Roman Kümmel je známá osoba v oblasti webové bezpečnosti. Stojí za portálem &lt;a href=&#34;http://www.soom.cz&#34;&gt;www.soom.cz&lt;/a&gt; a tuto problematiku taktéž &lt;a href=&#34;https://www.gopas.cz/Kurzy/Katalog-kurzu/IT-bezpecnost-a-Hacking/IT-bezpecnost-a-Hacking/WebHacking-v-praxi-Zranitelnosti-webovych-aplikaci-GOC54.aspx&#34;&gt;uceleně školí&lt;/a&gt;. V této oblasti se díky evangelizační činosti mj. i &lt;a href=&#34;https://www.michalspacek.cz/&#34;&gt;Michala Špačka&lt;/a&gt; hodně udělalo, ale přesto existuje řada mýtů a podceněných oblastí při vývoji webových aplikací, které se snažíme v tomto díle poodhalit.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3222&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Za celým dílem je moje (tj. Novojova) účast na Romanově školení, která mi v řadě oblastí otevřela oči. Např. jsem se dozvěděl, že pomocí reflektovaného XSS útoku lze ukradnout login a heslo napadeného uživatele. Možná nebezpečí reflektovaného XSS překvapí i řadu z vás.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 13. - Motion capture ve Warhorse Studios</title>
      <link>https://blog.novoj.net/posts/2016-07-27-kafemlejnek-tv-13-motion-capture-ve-warhorse-studios/</link>
      <pubDate>Wed, 27 Jul 2016 14:02:52 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-07-27-kafemlejnek-tv-13-motion-capture-ve-warhorse-studios/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3219&#34; src=&#34;https://blog.novoj.net/binary/2016/07/DSC_0164-e1469624473756-150x150.jpg&#34; alt=&#34;Jan Zámečník&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;V posledním díle z Warhorse Studios zpovídáme &lt;a href=&#34;https://www.linkedin.com/in/janzamecnik&#34; target=&#34;_blank&#34;&gt;Honzu Zámečníka&lt;/a&gt; o nahrávání animovaných scén pomocí motion capture. Animace jsou pro nás, programátory, naprosto španělskou vesnicí, ale o to víc nás rozhovor bavil.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3218&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Zkraje se bavíme o tom, co to MoCap je a jak se v průběhu času vyvíjel. Jaká jsou jeho úskalí a co jsou vlastně jeho hlavní benefity. Na závěr dílu si ukážeme jak takový MoCap vypadá v reálné scéně ze hry Kingdom Come: Deliverance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 12. - umělá inteligence v Kingdom Come: Deliverance</title>
      <link>https://blog.novoj.net/posts/2016-07-01-kafemlejnek-tv-12-umela-inteligence-v-kingdom-come-deliverance/</link>
      <pubDate>Fri, 01 Jul 2016 21:11:41 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-07-01-kafemlejnek-tv-12-umela-inteligence-v-kingdom-come-deliverance/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft wp-image-3212&#34; src=&#34;https://blog.novoj.net/binary/2016/07/DSC_0177-e1467403778601-300x271.jpg&#34; alt=&#34;DSC_0177&#34; width=&#34;147&#34; height=&#34;140&#34; /&gt;V druhém díle z &lt;a href=&#34;http://www.warhorsestudios.cz/&#34;&gt;Warhorse Studios&lt;/a&gt; zpovídáme Tomáše Plcha na téma umělé inteligence ve hře &lt;a href=&#34;http://kingdomcomerpg.com&#34;&gt;Kingdom Come&lt;/a&gt;. Umělá inteligence je v dnešní době skoro buzzwordem a tak nás zajímalo, které techniky konkrétně ve hře využívají a k čemu.&lt;/p&gt;&#xA;&lt;p&gt;Inteligence protivníků je v dnešní době dělící čarou mezi průměrnými a perfektními hrami. Dá se sice do jisté míry dohnat skriptováním a dobrým designem levelů, ale WOW efekt dokáže vyvolat jen &#34;improvizující&#34;, dobře udělaná AI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 11. - o vývoji ve Warhorse Studios</title>
      <link>https://blog.novoj.net/posts/2016-06-23-kafemlejnek-tv-11-o-vyvoji-ve-warhorse-studios/</link>
      <pubDate>Thu, 23 Jun 2016 13:05:34 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-06-23-kafemlejnek-tv-11-o-vyvoji-ve-warhorse-studios/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft wp-image-3206&#34; src=&#34;https://blog.novoj.net/binary/2016/06/DSC_0162-e1466683433804-294x300.jpg&#34; alt=&#34;Michal Hapala&#34; width=&#34;143&#34; height=&#34;144&#34; /&gt;Warhorse studios se proslavili svým úspěchem na &lt;a href=&#34;https://www.kickstarter.com/projects/1294225970/kingdom-come-deliverance&#34; target=&#34;_blank&#34;&gt;Kickstarter&lt;/a&gt; s RPG hrou situovanou do doby Václava IV. a začínajícího husitství v Čechách - &lt;a href=&#34;https://www.kingdomcomerpg.com/&#34; target=&#34;_blank&#34;&gt;Kingdom Come: Deliverance&lt;/a&gt;. A jelikož jim &lt;a href=&#34;https://www.fg.cz&#34; target=&#34;_blank&#34;&gt;Forresti&lt;/a&gt; dělali nový web, slovo dalo slovo a domluvili jsme natáčení přímo v jejich kancelářích, které jsou v Karlíně od nás, co bys kamenem dohodil.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3205&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Na úvod jsme vyzpovídali &lt;a href=&#34;https://twitter.com/michalhapala&#34; target=&#34;_blank&#34;&gt;Michala Hapalu&lt;/a&gt;, který je jedním prvních zaměstnanců Warhorse a programuje animace, fyziku, hratelnost a “entity”. Jednou z entit v jeho případě je kůň, což je reálnější entita, než s jakou se může setkat většina programátorů, jako jsme například my :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 10. - mass mailing z pohledu marketingu</title>
      <link>https://blog.novoj.net/posts/2016-06-07-kafemlejnek-tv-10-mass-mailing-z-pohledu-marketingu/</link>
      <pubDate>Tue, 07 Jun 2016 23:59:44 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-06-07-kafemlejnek-tv-10-mass-mailing-z-pohledu-marketingu/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-3194&#34; src=&#34;https://blog.novoj.net/binary/2016/06/hakos-150x150.png&#34; alt=&#34;hakos&#34; width=&#34;149&#34; height=&#34;149&#34; /&gt;V tomto technicky hodně odlehčením díle se s Lukášem Hakošem z Clever Monitoru díváme na problematiku mass mailingu z uživatelského pohledu. Probereme s ním zásady, kterých je dobré se držet, pokud chcete využít tento prostředek ke svému prospěchu.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3192&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pokud jste orientovaní na technikálie, můžete tento díl s klidem přeskočit, jelikož v něm nic technického prakticky neuslyšíte. To však neznamená, že by rozhovor s Lukášem nebyl zajímavý a informačně prázdný.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 9 – Do hlubin elektronické pošty</title>
      <link>https://blog.novoj.net/posts/2016-05-19-kafemlejnek-tv-9-do-hlubin-elektronicke-posty/</link>
      <pubDate>Thu, 19 May 2016 08:19:57 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-05-19-kafemlejnek-tv-9-do-hlubin-elektronicke-posty/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3188&#34; src=&#34;https://blog.novoj.net/binary/2016/05/IMG_20160419_165240-150x150.jpg&#34; alt=&#34;IMG_20160419_165240&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Myslíte si, že na rozesílání e-mailů vůbec nic není? Lukáš Hakoš z &lt;a href=&#34;https://www.clevermonitor.com/cz/&#34;&gt;Clever Monitoru&lt;/a&gt; se vás v tomto díle pokusí přesvědčit o opaku. Pokud vám nic neříkají termíny jako SPF, SRS, DKIM, DMARC, SenderID a další, je tento díl určen právě pro vás.&lt;/p&gt;&#xA;&lt;p&gt;Díky stále rozšířenému &#34;spam&#34; mailingu byli provozovatelé mail serverů nuceni implementovat celou řadu ochran, do kterých je velmi jednoduché se chytit i v případě, že rozesíláte naprosto legální poštu. Správné rozesílání pošty je v současné době věda, které nemálo lidí věnuje celý svůj profesní život. Pojďte s námi nakouknout do jejich kuchyně a maličko se vzdělat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 8 - Bezpečný router Turris Omnia</title>
      <link>https://blog.novoj.net/posts/2016-04-11-kafemlejnek-tv-8-bezpecny-router-turris-omnia/</link>
      <pubDate>Mon, 11 Apr 2016 07:56:51 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2016-04-11-kafemlejnek-tv-8-bezpecny-router-turris-omnia/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3175&#34; src=&#34;https://blog.novoj.net/binary/2016/04/turris-omnia-150x150.png&#34; alt=&#34;turris-omnia&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Vyzpovídali jsme Martina Strbačku z CZ.NIC ohledně jejich chytrého routeru Turris Omnia, se kterým zabodovali v crowd-fundingové kampani na Indiegogo. V současnosti na jeho vývoj vybrali již více jak 1 mil. dolarů, což je úspěch v českých luzích a hájích nevídaný.&lt;br /&gt;&#xA;Martina jsme se zeptali na detaily týkající se organizace kampaně, týmu, který za vývojem routeru stojí, ceně a především výhodách oproti běžným routerům. Dozvíte se detaily technické specifikace a také to, jak je nakládáno s daty, které router sbírá. Myslím, že se máte na co těšit!&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to make Apache HttpClient trust Let&#39;s Encrypt Certificate Authority</title>
      <link>https://blog.novoj.net/posts/2016-02-29-how-to-make-apache-httpclient-trust-lets-encrypt-certificate-authority/</link>
      <pubDate>Mon, 29 Feb 2016 23:43:48 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2016-02-29-how-to-make-apache-httpclient-trust-lets-encrypt-certificate-authority/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;wp-image-3139 alignleft&#34; src=&#34;https://blog.novoj.net/binary/2016/02/letsencrypt-logo-large-300x233.png&#34; alt=&#34;&#34; width=&#34;194&#34; height=&#34;151&#34; /&gt;Apache &lt;a href=&#34;https://hc.apache.org/&#34; target=&#34;_blank&#34;&gt;HttpClient&lt;/a&gt; is a popular library that many other frameworks build upon. Naming one for all - you can find it in Spring Framework RestTemplate. It&#39;s quite suprising that its not easy to find compherensible walkthroughs how to make it trust server certificates that are not validable by certificate chains baked in standard Java installation. Spending a few hours searching and tweaking the code I&#39;ve decided to document easy - step by step solution how to do this for emerging Let&#39;s Encrypt certificate authority (but it&#39;s applicable to any other CA too).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 7. - Kafka, Samza, Druid.io</title>
      <link>https://blog.novoj.net/posts/2016-02-25-kafemlejnek-tv-7-kafka-samza-druid-io/</link>
      <pubDate>Thu, 25 Feb 2016 11:24:14 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2016-02-25-kafemlejnek-tv-7-kafka-samza-druid-io/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3126&#34; src=&#34;https://blog.novoj.net/binary/2016/02/DSC_0022-e1456395806464-150x150.jpg&#34; alt=&#34;DSC_0022&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;V tomto pokračování rozhovoru s Lukášem Havrlantem se věnujeme technologiím optimalizovaným pro zpracování a analýzu velkého množství událostí. &lt;a href=&#34;http://kafka.apache.org/&#34; target=&#34;_blank&#34;&gt;Kafka&lt;/a&gt; - distribuovaná replikovaná fronta s možností &#34;vracení se v čase&#34;, &lt;a href=&#34;http://samza.apache.org/&#34; target=&#34;_blank&#34;&gt;Samza&lt;/a&gt; - stream processor zjednodušující zpracování událostí z časové řady, &lt;a href=&#34;http://druid.io/&#34; target=&#34;_blank&#34;&gt;Druid.io&lt;/a&gt; - sloupcová databáze na bázi agregovaných dat.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3124&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Lukáš nám osvětlil jak všechny tyto tři technologie pasují dohromady, s jakými těžkostmi se potýkali a jestli se to vyplatilo.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Obsah:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=0m33s&#34; target=&#34;_blank&#34;&gt;co v iBillboardu děláte?&lt;/a&gt; 0:33&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=5m50s&#34; target=&#34;_blank&#34;&gt;trendy v online reklamě&lt;/a&gt; 5:50&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=7m02s&#34; target=&#34;_blank&#34;&gt;kdy se začíná vyplácet Kafka, Samza, Druid&lt;/a&gt; 7:02&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=9m20s&#34; target=&#34;_blank&#34;&gt;kdo stojí za zmíněnými technologiemi?&lt;/a&gt; 9:20&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=10m06s&#34; target=&#34;_blank&#34;&gt;jaké úlohy jednotlivé technologie řeší?&lt;/a&gt; 10:06&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=10m06s&#34; target=&#34;_blank&#34;&gt;o Kafce&lt;/a&gt; 11:10&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=13m17s&#34; target=&#34;_blank&#34;&gt;porovnání Kafky s ostatními Queue technologiemi&lt;/a&gt; 13:17 (&lt;a href=&#34;http://www.kuntalganguly.com/2014/08/message-queue-comparision.html&#34; target=&#34;_blank&#34;&gt;tady jsem mylně uváděl, že ZeroMQ není distribuovaná ... je&lt;/a&gt; :)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=16m31s&#34; target=&#34;_blank&#34;&gt;strategie pro využití multimaster (write) vlastností Kafky&lt;/a&gt; 16:31&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=20m46s&#34; target=&#34;_blank&#34;&gt;spolehlivost Kafky&lt;/a&gt; 20:46&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=24m14s&#34; target=&#34;_blank&#34;&gt;retence dat v Kafce&lt;/a&gt; 24:14&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=25m14s&#34; target=&#34;_blank&#34;&gt;humorné příhody (faily) ze života :)&lt;/a&gt; 25:14&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=25m14s&#34; target=&#34;_blank&#34;&gt;k čemu slouží Samza&lt;/a&gt; 27:52&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=32m29s&#34; target=&#34;_blank&#34;&gt;hosting&lt;/a&gt; 32:29&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=35m21s&#34; target=&#34;_blank&#34;&gt;poslední díl skládanky - Druid.io&lt;/a&gt; 35:21&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=37m55s&#34; target=&#34;_blank&#34;&gt;problém s počtem unikátních uživatelů&lt;/a&gt; 37:55&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=40m0s&#34; target=&#34;_blank&#34;&gt;HyperLogLog&lt;/a&gt; 40:00&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=46m25s&#34; target=&#34;_blank&#34;&gt;dotazovací jazyk Druida&lt;/a&gt; 46:25&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=47m10s&#34; target=&#34;_blank&#34;&gt;podpora agregačních a statistických funkcí&lt;/a&gt; 47:10&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=52m41s&#34; target=&#34;_blank&#34;&gt;Druid.io - data v paměti nebo na disku?&lt;/a&gt; 52:41&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=52m41s&#34; target=&#34;_blank&#34;&gt;ruid.io - data v paměti nebo na disku?&lt;/a&gt; 52:41&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=uNjf_ScdZyg&amp;amp;t=54m40s&#34; target=&#34;_blank&#34;&gt;elaborace na téma Lambda / Kappa architekura&lt;/a&gt; 54:40&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Poděkování&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 6 - Nastupující architektury web aplikací</title>
      <link>https://blog.novoj.net/posts/2016-02-13-kafemlejnek-tv-6-nastupujici-architektury-web-aplikaci/</link>
      <pubDate>Sat, 13 Feb 2016 11:31:21 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2016-02-13-kafemlejnek-tv-6-nastupujici-architektury-web-aplikaci/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3117&#34; src=&#34;https://blog.novoj.net/binary/2016/02/DSC_0024-150x150.jpg&#34; alt=&#34;DSC_0024&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Kdo nezná Lukáš Havrlanta, měl by určitě věnovat nějaký čas jeho článkům na &lt;a href=&#34;https://www.zdrojak.cz/autori/lukas-havrlant/&#34; target=&#34;_blank&#34;&gt;Zdrojáku&lt;/a&gt; či lépe přímo na jeho blogu &lt;a href=&#34;http://programio.havrlant.cz/&#34; target=&#34;_blank&#34;&gt;Programio&lt;/a&gt;. Čeká ho velmi hutné čtení v oblasti, se kterou se většina z nás často nesetkává - realtime BigData. Sám jsem některé jeho články louskali 2x, abychom se některým závěrům dostali na kloub.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3116&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;V tomto díle jsme se podívali na zajímavé architektury web aplikací, které pomáhají řešit nově nastupující trend semi-online.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 5 - WordPress</title>
      <link>https://blog.novoj.net/posts/2016-01-09-kafemlejnek-tv-5-wordpress/</link>
      <pubDate>Sat, 09 Jan 2016 10:16:40 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2016-01-09-kafemlejnek-tv-5-wordpress/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3104&#34; src=&#34;https://blog.novoj.net/binary/2015/12/DSC_0088-150x150.jpg&#34; alt=&#34;DSC_0088&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Tento díl přináší pokračování rozhovoru s &lt;a href=&#34;https://twitter.com/DavidBinovec&#34;&gt;Davidem Biňovcem&lt;/a&gt; a &lt;a href=&#34;https://twitter.com/janm6k&#34;&gt;Honzou Matouškem&lt;/a&gt; z firmy Automattic. Automattic je firma, jejíž šéf spoluzaložil WordPress a která stojí i za WordPress.com.&lt;/p&gt;&#xA;&lt;p&gt;V tomto díle se ptáme na technologické otázky spojené s WodPressem, na procesy, které používají pro deployment a v závěru rozebíráme i obchodní věci týkající se plateb a zákonů EU.&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3109&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=1m03s&#34; target=&#34;_blank&#34;&gt;co je hlavní business WordPressu, který je vlastně zdarma&lt;/a&gt; 1:02&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=6m02s&#34; target=&#34;_blank&#34;&gt;infrastruktura, která řeší požadavky 130 mil. unikátních uživatelů&lt;/a&gt; 6:02&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=7m20s&#34; target=&#34;_blank&#34;&gt;kompilace přes HipHop&lt;/a&gt; 7:20&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=8m05s&#34; target=&#34;_blank&#34;&gt;deployment process&lt;/a&gt; 8:05&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=10m45s&#34; target=&#34;_blank&#34;&gt;change process&lt;/a&gt; 10:45&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=12m18s&#34; target=&#34;_blank&#34;&gt;Callypso - začátek technologické revoluce WordPressu?&lt;/a&gt; 12:18&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=18m36s&#34; target=&#34;_blank&#34;&gt;historie vzniku WordPressu&lt;/a&gt; 18:36&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=21m11s&#34; target=&#34;_blank&#34;&gt;bezpečnost WordPressu&lt;/a&gt; 21:11&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=24m45s&#34; target=&#34;_blank&#34;&gt;VersionPress a obecně o verzování&lt;/a&gt; 24:45&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=29m45s&#34; target=&#34;_blank&#34;&gt;performance review a testování&lt;/a&gt; 29:45&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=32m48s&#34; target=&#34;_blank&#34;&gt;Grand Meetup&lt;/a&gt; 32:48&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=38m51s&#34; target=&#34;_blank&#34;&gt;alternativní DB kromě MySQL&lt;/a&gt; 38:51&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=39m46s&#34; target=&#34;_blank&#34;&gt;jaké platební systémy vybírat pro svůj startup&lt;/a&gt; 39:46&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=BnCi49mRXME&amp;amp;t=45m15s&#34; target=&#34;_blank&#34;&gt;DPH v EU pro digitální produkty&lt;/a&gt; 45:15&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Odkazy:&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 4 - Jak se pracuje v Automatticu</title>
      <link>https://blog.novoj.net/posts/2015-12-28-kafemlejnek-tv-4-jak-se-pracuje-v-automatticu/</link>
      <pubDate>Mon, 28 Dec 2015 14:06:48 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2015-12-28-kafemlejnek-tv-4-jak-se-pracuje-v-automatticu/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3104&#34; src=&#34;https://blog.novoj.net/binary/2015/12/DSC_0088-150x150.jpg&#34; alt=&#34;DSC_0088&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Ve 4. díle jsme se setkali s &lt;a href=&#34;https://twitter.com/DavidBinovec&#34;&gt;David Biňovec&lt;/a&gt; a &lt;a href=&#34;https://twitter.com/janm6k&#34;&gt;Jan Matoušek&lt;/a&gt; z firmy Automattic. Automattic je firma, jejíž šéf spoluzaložil WordPress a která stojí i za WordPress.com.&lt;/p&gt;&#xA;&lt;p&gt;Tato firma je zajímavá tím, že nemá nikde centrální kanceláře, ale všichni zaměstnanci pracují vzdáleně. Povídali jsme si o tom jaké to je pracovat pro takovouto firmu a také trochu o WordPressu. Příští díl bude věnován především WordPressu a jeho zázemí.&lt;/p&gt;</description>
    </item>
    <item>
      <title>KafemlejnekTV 3. - Puppet</title>
      <link>https://blog.novoj.net/posts/2015-12-08-kafemlejnektv-3-puppet/</link>
      <pubDate>Tue, 08 Dec 2015 15:30:09 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2015-12-08-kafemlejnektv-3-puppet/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3097&#34; src=&#34;https://blog.novoj.net/binary/2015/12/DSC_0044-1-150x150.jpg&#34; alt=&#34;DSC_0044 (1)&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;V druhém díle natáčeném v kancelářích Puppet Labs jsme si povídali pouze o technologickém pozadí toho, co v Plzni řeší. Zkoušeli jsme kluky zatáhnout do diskuse na téma konkurenčních nástrojů, ale nechali se :)&lt;/p&gt;&#xA;&lt;p&gt;Pokud chcete tedy trošku hlouběji nakouknout do technické kuchyňky, ve které se vaří Puppet Enterprise, zastavte se s námi na šálek kávy.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3096&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=1m4s&#34; target=&#34;_blank&#34;&gt;co je puppet&lt;/a&gt; 1:04&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=3m16s&#34; target=&#34;_blank&#34;&gt;použité programovací jazyky&lt;/a&gt; 3:16&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=5m41s&#34; target=&#34;_blank&#34;&gt;zkouška názoru na docker&lt;/a&gt; 5:41&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=7m26s&#34; target=&#34;_blank&#34;&gt;konfigurace více serverů&lt;/a&gt; 7:26&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=9m17s&#34; target=&#34;_blank&#34;&gt;testování předpisů&lt;/a&gt; 9:17&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=10m57s&#34; target=&#34;_blank&#34;&gt;no-op režim&lt;/a&gt; 10:57&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=11m33s&#34; target=&#34;_blank&#34;&gt;master jako single point of failure&lt;/a&gt; 11:33&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=13m06s&#34; target=&#34;_blank&#34;&gt;použití bez master serveru&lt;/a&gt; 13:06&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=14m04s&#34; target=&#34;_blank&#34;&gt;porovnání s Chefem&lt;/a&gt; 14:04&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=16m18s&#34; target=&#34;_blank&#34;&gt;frontend v Ember.js&lt;/a&gt; 16:18&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=19m25s&#34; target=&#34;_blank&#34;&gt;design API &lt;/a&gt;19:25&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=21m20s&#34; target=&#34;_blank&#34;&gt;Ember Data, JSON API&lt;/a&gt; 21:20&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=27m03s&#34; target=&#34;_blank&#34;&gt;škálování&lt;/a&gt; 27:03&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=28m55s&#34; target=&#34;_blank&#34;&gt;Clojure&lt;/a&gt; 28:55&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=32m30s&#34; target=&#34;_blank&#34;&gt;Puppet Facter a embeded prostředí&lt;/a&gt; 32:30&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=KQ7IAwcQebI&amp;amp;t=34m25s&#34; target=&#34;_blank&#34;&gt;Feršův příběh s klíčema :)&lt;/a&gt; 34:25&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Kompletní obsah zde: &lt;a href=&#34;http://kafemlejnek.tv/dil-3-puppet/&#34; target=&#34;_blank&#34;&gt;http://kafemlejnek.tv/dil-3-puppet/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kafemlejnek.TV 2 - práce na dálku v Puppet Labs</title>
      <link>https://blog.novoj.net/posts/2015-12-01-kafemlejnek-tv-2-prace-na-dalku-v-puppet-labs/</link>
      <pubDate>Tue, 01 Dec 2015 08:45:12 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2015-12-01-kafemlejnek-tv-2-prace-na-dalku-v-puppet-labs/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-3093&#34; src=&#34;https://blog.novoj.net/binary/2015/12/DSC_0040-150x150.jpg&#34; alt=&#34;DSC_0040&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;V tomto díle jsme zavítali do kanceláří Puppet Labs v Plzni. Čekali nás tam Michal Růžička, &lt;a href=&#34;http://www.twitter.com/MichalBryxi&#34; target=&#34;_blank&#34;&gt;Michal Bryxí&lt;/a&gt;, &lt;a href=&#34;http://www.twitter.com/filip_hrbek&#34; target=&#34;_blank&#34;&gt;Filip Hrbek&lt;/a&gt;, kteří nám pověděli něco o tom, jak v Čechách otvírali první světovou pobočku americké firmy &lt;a href=&#34;https://puppetlabs.com/&#34; target=&#34;_blank&#34;&gt;Puppet Labs&lt;/a&gt;. Povídali jsme si o tom, jak se vyvíjí &lt;a href=&#34;https://puppetlabs.com/puppet/puppet-enterprise&#34; target=&#34;_blank&#34;&gt;Puppet Enterprise&lt;/a&gt; a co to vlastně znamená pracovat na dálku pro podobnou společnost.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-3092&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Stručný obsah&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=0m55s&#34; target=&#34;_blank&#34;&gt;představení&lt;/a&gt; 0:55&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=1m40s&#34; target=&#34;_blank&#34;&gt;jak to v Plzni začalo&lt;/a&gt; 1:40&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=5m45s&#34; target=&#34;_blank&#34;&gt;jak se řeší podepisování smluv z Ameriky&lt;/a&gt; 5:45&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=6m30s&#34; target=&#34;_blank&#34;&gt;jak zakládá Američan firmu v Čechách&lt;/a&gt; 6:30&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=6m53s&#34; target=&#34;_blank&#34;&gt;jak funguje komunikace mezi dislokovanými týmy&lt;/a&gt; 6:53&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=8m22s&#34; target=&#34;_blank&#34;&gt;komunikační praktiky&lt;/a&gt; 8:22&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=11m33s&#34; target=&#34;_blank&#34;&gt;jaké nástroje se používají&lt;/a&gt; 11:33&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=13m20s&#34; target=&#34;_blank&#34;&gt;GitHub source repository&lt;/a&gt; 13:20&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=14m36s&#34; target=&#34;_blank&#34;&gt;code review&lt;/a&gt; 14:36&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=20m26s&#34; target=&#34;_blank&#34;&gt;práce z domova&lt;/a&gt; 20:26&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=21m04s&#34; target=&#34;_blank&#34;&gt;výhody a nevýhody práce na dálku&lt;/a&gt; 21:04&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=22m36s&#34; target=&#34;_blank&#34;&gt;velikost firmy&lt;/a&gt; 22:36&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=23m00s&#34; target=&#34;_blank&#34;&gt;jazykové bariéry&lt;/a&gt; 23:00&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=24m43s&#34; target=&#34;_blank&#34;&gt;mzdy u nás a ve světě&lt;/a&gt; 24:43&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=25m26s&#34; target=&#34;_blank&#34;&gt;kulturní odlišnosti&lt;/a&gt; 25:26&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=32m02s&#34; target=&#34;_blank&#34;&gt;možnosti kariérního růstu&lt;/a&gt; 32:02&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=aKq89263-fQ&amp;amp;t=33m48s&#34; target=&#34;_blank&#34;&gt;přijímací pohovor&lt;/a&gt; 33:48&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Kompletní obsah zde: &lt;a href=&#34;http://kafemlejnek.tv/dil-2-prace-na-dalku-v-puppet-labs/&#34; target=&#34;_blank&#34;&gt;http://kafemlejnek.tv/dil-2-prace-na-dalku-v-puppet-labs/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>O zrodu Kafemlejnek.TV</title>
      <link>https://blog.novoj.net/posts/2015-11-13-o-zrodu-kafemlejnek-tv/</link>
      <pubDate>Fri, 13 Nov 2015 09:40:06 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2015-11-13-o-zrodu-kafemlejnek-tv/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-3088&#34; src=&#34;https://blog.novoj.net/binary/2015/11/kafemlejnek.png&#34; alt=&#34;kafemlejnek&#34; width=&#34;264&#34; height=&#34;79&#34; /&gt;Jednoho dne mi zavolal &lt;a href=&#34;https://twitter.com/fersman&#34; target=&#34;_blank&#34;&gt;Petr Ferschmann&lt;/a&gt;, jestli s ním nechci natáčet videocast o vývojářských tématech. Že by rád něco podobného dělal, ale samotnému se mu do toho nechce. Moje první reakce byla, jestli se náhodou nezbláznil - ani jeden z nás není žádný šoumen a podcastů je to přeci dost. Jenže pak se mi to rozleželo v hlavě.&lt;/p&gt;&#xA;&lt;p&gt;Těch podcastů zase tolik není - aktivní je v poslední době pouze &lt;a href=&#34;http://java.cz/article/czpodcast&#34; target=&#34;_blank&#34;&gt;CzPodcast&lt;/a&gt;, kluci z &lt;a href=&#34;http://devminutes.cz/&#34; target=&#34;_blank&#34;&gt;DevMinutes&lt;/a&gt; a &lt;a href=&#34;http://bruskodu.cz/&#34; target=&#34;_blank&#34;&gt;Brusu kódu&lt;/a&gt; trochu polevili. Můj oblíbený zahraniční podcast &lt;a href=&#34;http://www.javaposse.com/&#34; target=&#34;_blank&#34;&gt;JavaPosse&lt;/a&gt; skončil úplně a &lt;a href=&#34;http://www.se-radio.net/&#34; target=&#34;_blank&#34;&gt;Software Engeneering Radio&lt;/a&gt; naředilo zajímavý obsah. Pomalu není co u běhání poslouchat :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nepíšete javadoc komentáře? Díky Java 8 vězte, že dobře děláte!</title>
      <link>https://blog.novoj.net/posts/2015-11-05-nepisete-javadoc-komentare-diky-java-8-vezte-ze-dobre-delate/</link>
      <pubDate>Thu, 05 Nov 2015 14:32:26 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2015-11-05-nepisete-javadoc-komentare-diky-java-8-vezte-ze-dobre-delate/</guid>
      <description>&lt;div style=&#34;border: 1px solid white; background-color: #333333; font-size: 90%; margin-top: 20px; margin-right: 80px;&#34;&gt;&#xA;&lt;p&gt;&lt;a title=&#34;Tomáš Zilvar&#34; href=&#34;https://cz.linkedin.com/pub/tomáš-zilvar/a/744/3a2&#34;&gt;&lt;img style=&#34;margin-left: 10px; margin-right: 10px; margin-top: 10px;&#34; src=&#34;https://blog.novoj.net/binary/2015/10/TZI_square.jpg&#34; alt=&#34;Tomáš Zilvar&#34; width=&#34;50&#34; height=&#34;50&#34; align=&#34;left&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;O autorovi: &lt;/strong&gt;&lt;a href=&#34;Tomáš Zilvar&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p style=&#34;margin: 10px;&#34;&gt;Tomáš za dobu svého působení v oboru soudí, že programátor jest živoucím důkazem platnosti Paretova pravidla 80/20 - 20 % času programuje a 80 % času bádá, proč to nefunguje. Empiricky mezitím ověřil, že je to nezávislé na tom, zda programuje v korporaci nebo malé firmě, i na použité technologii.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reportáž z GeeCON Praha 2015</title>
      <link>https://blog.novoj.net/posts/2015-10-26-reportaz-z-geecon-praha-2015/</link>
      <pubDate>Mon, 26 Oct 2015 09:38:49 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2015-10-26-reportaz-z-geecon-praha-2015/</guid>
      <description>&lt;p&gt;&lt;a style=&#34;float: left; margin-right: 2em; margin-bottom: 1em;&#34; href=&#34;http://www.geecon.cz&#34; target=&#34;_blank&#34;&gt;&lt;img src=&#34;https://s3.eu-central-1.amazonaws.com/geecon2015prague/banner+206x136+friend.jpg&#34; alt=&#34;GeeCON 2015&#34; /&gt;&lt;/a&gt; GeeCON je zavedená konference, u které se můžete spolehnout na kvalitní speakery a skvělou organizaci. Připočtěme ještě rozumnou cenu a fakt, že se děje u nás v České republice a vychází nám z toho rovnice, která má jasně daný výsledek = je to akce, na které nemůžete chybět, pokud nemáte opravdu dobrou výmluvu :)&lt;/p&gt;&#xA;&lt;p&gt;V tomto článku udělám krátkou rešerši přednášek na kterých jsem byl.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Serializujte optimálně skrze Kryo</title>
      <link>https://blog.novoj.net/posts/2015-01-21-serializujte-optimalne-skrze-kryo/</link>
      <pubDate>Wed, 21 Jan 2015 10:00:13 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2015-01-21-serializujte-optimalne-skrze-kryo/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2971&#34; alt=&#34;kryo&#34; src=&#34;https://blog.novoj.net/binary/2015/01/kryo.jpg&#34; width=&#34;237&#34; height=&#34;101&#34; /&gt;Je zajímavé, že tak základní věc, jako serializace objektů do binárního streamu je v Javě implementovaná neoptimálně - a to jak z hlediska velikosti výsledné binární podoby, tak i rychlosti s jakou je vytvořena. Míst, kde se serializace objektů hodí je celá řada, a proto je určitě v zájmu každého kvalitního vývojáře zamyslet se, jestli to nejde dělat líp.&lt;/p&gt;&#xA;&lt;p&gt;Ono totiž jde :)&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-2970&#34;&gt;&lt;/a&gt;Pokusů o reimplementaci Java serializace je na webu mnoho, ale mezi ty nejlepší zcela jistě patří knihovna &lt;a href=&#34;https://github.com/EsotericSoftware/kryo&#34; target=&#34;_blank&#34;&gt;Kryo&lt;/a&gt;. Dá se použít jako plnohodnotná náhrada Java serializace, je jednoduchá na konfiguraci a má klony pro alternativní jazyky nad JVM (&lt;a href=&#34;https://github.com/EsotericSoftware/kryo#scala&#34; target=&#34;_blank&#34;&gt;Scala&lt;/a&gt;, &lt;a href=&#34;https://github.com/EsotericSoftware/kryo#clojure&#34; target=&#34;_blank&#34;&gt;Clojure&lt;/a&gt;) ale má také port pro &lt;a href=&#34;https://github.com/EsotericSoftware/kryo#objective-c&#34; target=&#34;_blank&#34;&gt;Objective-C&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Osmý rok Myšlenek Otce Fura</title>
      <link>https://blog.novoj.net/posts/2015-01-04-osmy-rok-myslenek-otce-fura/</link>
      <pubDate>Sun, 04 Jan 2015 13:44:00 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2015-01-04-osmy-rok-myslenek-otce-fura/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;wp-image-2910 alignleft&#34; alt=&#34;eighth  birthday&#34; src=&#34;https://blog.novoj.net/binary/2015/01/eighth_birthday1-200x300.jpg&#34; width=&#34;120&#34; height=&#34;180&#34; /&gt; Osmý rok mého blogování nebyl ve směru psaní moc plodný, jak se dalo poznat z počtu publikovaných článků - podařilo se mi dokončit &lt;a href=&#34;http://blog.novoj.net/2014/&#34; target=&#34;_blank&#34;&gt;pouhé tři&lt;/a&gt;. Omezit psaní bylo to z mé strany vědomé rozhodnutí a měl jsem pro to hned několik důvodů. Přiznávám, že jedním z nich bylo i jisté vyschnutí inspirace, ale především jsem svoji energii chtěl věnovat prostě něčemu jinému. Dal jsem si dva hlavní úkoly - zorganizovat ne-konferenci &lt;a href=&#34;http://www.jopenspace.cz&#34; target=&#34;_blank&#34;&gt;jOpenSpace &lt;/a&gt;v lepší kvalitě a bohatším programem, než tomu bylo v roce 2013 a druhým velkým úkolem byl rozjezd služby &lt;a href=&#34;http://www.monkeytracker.cz&#34; target=&#34;_blank&#34;&gt;MonkeyTracker&lt;/a&gt;, se kterou jsme si s kolegy už od roku 2013 hráli a experimentovali.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recreate MySQL views without definer, one-liner solution (Linux)</title>
      <link>https://blog.novoj.net/posts/2014-05-16-recreate-mysql-views-without-definer-one-liner-solution-linux/</link>
      <pubDate>Fri, 16 May 2014 17:37:12 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2014-05-16-recreate-mysql-views-without-definer-one-liner-solution-linux/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-1365&#34; alt=&#34;MySQL&#34; src=&#34;https://blog.novoj.net/binary/2011/02/mysql.png&#34; width=&#34;120&#34; height=&#34;121&#34; /&gt;Rather cryptic headline describes a pain many of us have to go through when restoring MySQL database backup from different machine. If you have ever done this on database with DB views - you&#39;d probably run at this problem too.&lt;/p&gt;&#xA;&lt;p&gt;Source of the problem is that MySQL dump exports CREATE VIEW DLL with DEFINER attribute and there is no way how to instruct it to exclude this attribute (as far as I know). When you take such export and import it for example on developer machine you&#39;d probably not have the same user or user with same privileges on this machine. Each and every select to the views with invalid definer fails with error - for example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>MongoDb online kurzy</title>
      <link>https://blog.novoj.net/posts/2014-02-23-mongodb-online-kurzy/</link>
      <pubDate>Sun, 23 Feb 2014 19:03:22 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2014-02-23-mongodb-online-kurzy/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-2861&#34; alt=&#34;education_mongodb&#34; src=&#34;https://blog.novoj.net/binary/2014/02/education_mongodb1.jpg&#34; width=&#34;180&#34; height=&#34;180&#34; /&gt; Systematické vzdělávání je pro programátory holou nutností a naše doba nám k tomu dává výjimečné příležitosti. Když jsem s programováním začínal, byl jsem rád, když mi otec sehnal od známého z PVT nějakou vysloužilou knížku o programování v Basicu - a to byl můj jediný zdroj informací. Knížka byla v angličtině a plno věcí jsem tehdy ani nepochopil. Informací bylo pomálu a řada z nich byla už tenkrát zastaralá (mluvím o roce 93). Před příchodem Internetu bylo sdílení informací a možnost vzdělávání se v IT zkrátka velmi omezené a složité.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maven Release Plugin releases SNAPSHOT instead of STABLE version</title>
      <link>https://blog.novoj.net/posts/2014-01-24-maven-release-plugin-releases-snapshot-instead-of-stable-version/</link>
      <pubDate>Fri, 24 Jan 2014 10:45:08 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2014-01-24-maven-release-plugin-releases-snapshot-instead-of-stable-version/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2843&#34; alt=&#34;maven&#34; src=&#34;https://blog.novoj.net/binary/2014/01/maven.jpg&#34; width=&#34;140&#34; height=&#34;140&#34; /&gt;There has been a lot of fuss around this issue and it seems there are already fixes in place. But in certain use-cases problems persist even if you apply fix mentioned in &lt;a href=&#34;http://jira.codehaus.org/browse/MRELEASE-812&#34; target=&#34;_blank&#34;&gt;MRELEASE-812&lt;/a&gt; issue or this &lt;a href=&#34;http://www.shredzone.de/cilla/page/373/maven-release-plugin-and-git-fix.html&#34; target=&#34;_blank&#34;&gt;ShredZone article&lt;/a&gt;. So if you experience the behaviour described in the title of this article keep on reading I may have a fix for you or at least I can help you debug the problem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ohlédnutí za jOpenSpace 2013</title>
      <link>https://blog.novoj.net/posts/2013-11-29-ohlednuti-za-jopenspace-2013/</link>
      <pubDate>Fri, 29 Nov 2013 00:06:37 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2013-11-29-ohlednuti-za-jopenspace-2013/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-2801&#34; alt=&#34;main_thumb&#34; src=&#34;https://blog.novoj.net/binary/2013/11/main_thumb.jpg&#34; width=&#34;200&#34; height=&#34;140&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Je to už nějakou dobu, kdy skončila tato výjimečná událost. Slíbil jsem sepsat reportáž a také Vás všechny poprosit o pomoc se stříháním audio záznamů. Jenže se toho na podzim nakupilo nějak moc - firemní hackathon, &lt;a href=&#34;http://www.zdrojak.cz/clanky/devfest-praha-2013-od-vyvojaru-pro-vyvojare/&#34; target=&#34;_blank&#34;&gt;DevFest&lt;/a&gt;, moje přednáška na &lt;a href=&#34;http://java.cz/article/czjug-praha-co-nas-naucilo-5-let-modularniho-vyvoje&#34; target=&#34;_blank&#34;&gt;CZJUGu&lt;/a&gt;, dvě děti a několik souběžně běžících projektů v práci jsou moje výmluvy proč jsem to ještě neudělal :)&lt;/p&gt;&#xA;&lt;p&gt;Dobrovolníci pro střih audia, &lt;a href=&#34;http://blog.novoj.net/2013/11/29/ohlednuti-za-jopenspace-2013/#audio&#34;&gt;přeskočte sem&lt;/a&gt; (díky předem).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-2788&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Letošní jOpenSpace byl pro mě vyjímečný především tím, že jsem se (aniž bych o to usiloval) stal spoluorganizátorem celé akce. Iniciátorem byl &lt;a href=&#34;https://twitter.com/lukashasik&#34; target=&#34;_blank&#34;&gt;Lukáš Hasík&lt;/a&gt; z &lt;a href=&#34;http://www.avast.com/cs-cz/index&#34; target=&#34;_blank&#34;&gt;AVASTu&lt;/a&gt;, který zajistil našeho nejvýznamnějšího sponzora (děkujeme firmě AVAST) a dal všemu ten nejdůležitější prvotní impuls (další organizace se Lukáš účastnil seč mohl, ale vydání nové verze antiviru si vyžaduje své a moc času nazbyt neměl). Původní myšlenkou bylo, že organizaci celé akce uděláme &#34;&lt;a href=&#34;http://cs.wikipedia.org/wiki/Crowdsourcing&#34; target=&#34;_blank&#34;&gt;crowdsourcově&lt;/a&gt;&#34; ve více lidech, ale nakonec se tento postup neukázal moc funkčním a bylo potřeba, aby to někdo vzal víc za pačesy - no a mě došly nervy prvnímu :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Otevřena registrace na ne-konferenci jOpenSpace 2013</title>
      <link>https://blog.novoj.net/posts/2013-09-18-otevrena-registrace-na-ne-konferenci-jopenspace-2013/</link>
      <pubDate>Wed, 18 Sep 2013 19:22:24 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2013-09-18-otevrena-registrace-na-ne-konferenci-jopenspace-2013/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2756&#34; alt=&#34;small_506378526&#34; src=&#34;https://blog.novoj.net/binary/2013/09/small_506378526.jpg&#34; width=&#34;192&#34; height=&#34;136&#34; /&gt;Po roční přestávce je letos opět organizována &#34;&lt;a href=&#34;http://en.wikipedia.org/wiki/Unconference&#34; target=&#34;_blank&#34;&gt;ne-konference&lt;/a&gt;&#34; &lt;a href=&#34;http://jopenspace.cz/&#34; target=&#34;_blank&#34;&gt;jOpenSpace&lt;/a&gt;. Registrace jsou otevřeny všem, kteří mají zájem setkat se zajímavými lidmi z oboru a strávit s nimi víkend diskusí nad vývojářskými tématy. Termín je stanoven na &lt;strong&gt;2. a 3. listopadu 2013&lt;/strong&gt; a bude se odehrávat v &lt;a href=&#34;http://mapy.cz/s/8u4L&#34; target=&#34;_blank&#34;&gt;srdci Žďárských vrchů&lt;/a&gt;. Účast přislíbili mj. &lt;a href=&#34;http://www.dagblog.cz/&#34; target=&#34;_blank&#34;&gt;Roman Dagi Pichlík&lt;/a&gt; a &lt;a href=&#34;http://blog.krecan.net/&#34; target=&#34;_blank&#34;&gt;Lukáš Křečan&lt;/a&gt; ze společnosti &lt;a href=&#34;http://www.gooddata.com/&#34; target=&#34;_blank&#34;&gt;GoodData&lt;/a&gt;, Petr Ferschmann ze společnosti &lt;a href=&#34;http://www.flexibee.eu/&#34; target=&#34;_blank&#34;&gt;FlexiBee&lt;/a&gt;, &lt;a href=&#34;https://blog.avast.com/2011/03/21/5-questions-with-lukas-hasik-qa-director/&#34; target=&#34;_blank&#34;&gt;Lukáš Hasík&lt;/a&gt; z &lt;a href=&#34;http://www.avast.com/&#34; target=&#34;_blank&#34;&gt;Avastu&lt;/a&gt;, &lt;a href=&#34;http://www.jirifabian.net/&#34; target=&#34;_blank&#34;&gt;Jiří Filemon Fabiá&lt;/a&gt;n z &lt;a href=&#34;http://vendavo.cz/&#34; target=&#34;_blank&#34;&gt;Vendavo CZ&lt;/a&gt; a další známé osobnosti z dev komunity.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stripes Framework on WebSphere 8.x application server fails with FileNotFoundException</title>
      <link>https://blog.novoj.net/posts/2013-09-17-stripes-framework-on-websphere-8-x-application-server-fails-with-filenotfoundexception/</link>
      <pubDate>Tue, 17 Sep 2013 11:52:02 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2013-09-17-stripes-framework-on-websphere-8-x-application-server-fails-with-filenotfoundexception/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2766&#34; alt=&#34;stripes_framework&#34; src=&#34;https://blog.novoj.net/binary/2013/09/stripes_framework.png&#34; width=&#34;121&#34; height=&#34;121&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you are struggling with running &lt;a href=&#34;stripesframework.org&#34; target=&#34;_blank&#34;&gt;Stripes framework&lt;/a&gt; based application on IBM WebSphere application server 8.x I may help you. You probably end up with getting HTTP 403 error pages on every request. If you persuade your app server to give you some reasonable logging data (which is not easy in the world of Java application servers :/ ) you probably see FileNotFoundException logged during the request.&lt;/p&gt;&#xA;&lt;p&gt;Here comes the explanation and a solution for you ...&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zbystřete své smysly technickými doplňky</title>
      <link>https://blog.novoj.net/posts/2013-09-04-zbystrete-sve-smysly-technickymi-doplnky/</link>
      <pubDate>Wed, 04 Sep 2013 16:24:30 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2013-09-04-zbystrete-sve-smysly-technickymi-doplnky/</guid>
      <description>&lt;div&gt;&lt;img class=&#34;alignleft  wp-image-2736&#34; alt=&#34;HTML 5 Notifications&#34; src=&#34;https://blog.novoj.net/binary/2013/09/html5notifications.png&#34; width=&#34;185&#34; height=&#34;175&#34; /&gt;Nevím jak vám, ale nám se při vývoji často stává, že vývojáři některé věci přehlíží a to se nám negativně odráží na produktivitě a kvalitě výstupu. Člověk je tvor omylný, ale inteligentní a proto se snaží se vybavit takovými nástroji, které jeho nedokonalosti dokáží vyvážit. Na posledním hackathonu kolega &lt;a id=&#34;&#34; href=&#34;https://www.facebook.com/michal.kolesnac&#34; target=&#34;_blank&#34; shape=&#34;rect&#34;&gt;Michal Kolesnáč&lt;/a&gt; přišel s nápadem a prototypem rozšíření našeho &lt;a href=&#34;http://blog.novoj.net/2012/09/04/nastroje-pro-vyvoj-web-aplikaci-ve-forrestu/&#34; target=&#34;_blank&#34;&gt;existujícího doplňku&lt;/a&gt; pro Google Chrome, které pomocí &lt;a id=&#34;&#34; href=&#34;http://www.html5rocks.com/en/tutorials/notifications/quick/&#34; target=&#34;_blank&#34; shape=&#34;rect&#34;&gt;HTML 5 notifikací&lt;/a&gt; upozorní vývojáře na potenciální problémy na prohlížené web stránce. Minulý týden jsme řešení dotáhli do konce a myslím, že stojí za to, abych se s Vámi o tento nápad podělil.&lt;/div&gt;&#xA;&lt;div&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-2697&#34;&gt;&lt;/a&gt;&lt;/div&gt;&#xA;&lt;div&gt;Na úvod se podívejte, jak nám výsledné řešení pomáhá v praxi:&lt;/div&gt;&#xA;&lt;div&gt;&lt;/div&gt;&#xA;&lt;div&gt;[youtube=https://www.youtube.com/watch?v=dluseSIN3tU]&lt;/div&gt;&#xA;&lt;h2&gt;&#xA;Princip fungování&lt;/h2&gt;&#xA;&lt;div&gt;Princip je relativně obecný a je určitě přenositelný i do vašeho vývojového ekosystému. O vývoji rozšíření pro Chrome toho už bylo &lt;a id=&#34;&#34; href=&#34;http://www.zdrojak.cz/clanky/vytvarime-rozsireni-pro-prohlizec-chrome/&#34; target=&#34;_blank&#34; shape=&#34;rect&#34;&gt;napsáno i v češtině&lt;/a&gt; docela dost a proto zde nepůjdu do úplných podrobností.&lt;/div&gt;&#xA;&lt;div&gt;&lt;/div&gt;&#xA;&lt;div&gt;Celý princip je zachycen na následujícím sequence diagramu (btw. vytvořený v &lt;a id=&#34;&#34; href=&#34;http://www.ckwnc.com/#1002204&#34; target=&#34;_blank&#34; shape=&#34;rect&#34;&gt;http://www.ckwnc.com/&lt;/a&gt; ... což je krásná služba pro generování sequence diagramů - jen nedoplňuje popisky k aktorům):&lt;/div&gt;&#xA;&lt;div&gt;&lt;/div&gt;&#xA;&lt;div&gt;&lt;a href=&#34;https://blog.novoj.net/binary/2013/09/sequence1.png&#34;&gt;&lt;img class=&#34;aligncenter  wp-image-2702&#34; alt=&#34;Sekvenční diagram komunikace&#34; src=&#34;https://blog.novoj.net/binary/2013/09/sequence1.png&#34; width=&#34;580&#34; height=&#34;480&#34; /&gt;&lt;/a&gt;&lt;/div&gt;&#xA;&lt;div&gt;Jednoduše řečeno - každý požadavek na webovou aplikaci prochází servletovým filtrem, který při každém požadavku vygeneruje unikátní token a zapíše do hlaviček odpovědi cookie obsahující URL, na kterém bude v budoucnu odpovídat na požadavky pro zobrazení zpráv spojených s tímto requestem. Po ukončení zpracování HTTP požadavku filtr zanalyzuje aktuální stav aplikace a případně zapíše zprávy pro vývojáře ohledně věcí, kterým by měl věnovat pozornost.&lt;/div&gt;&#xA;&lt;div&gt;&lt;/div&gt;&#xA;&lt;div&gt;Chrome plugin monitoruje změny cookies a pokud narazí na změnu v cookie se sledovaným názvem, vybere z ní URL, vytvoří XmlHttpRequest a AJAXem se dotáže serveru na seznam zpráv k zobrazení. Požadavek zachytí opět náš servletový filtr, podle unikátního tokenu si ze session vytáhne dříve vygenerovaný seznam zpráv. Nakonec vytvoří JSON zprávu s odpovědí, která obsahuje buď prázdné pole, nebo seznam notifikací s dodatečnými informacemi (např. důležitostí sdělení). JSON je pluginem rozparsován a uživateli jsou prezentovány zprávy jako HTML 5 notifikace. Je důležité si uvědomit, že najednou mohou být zobrazeny pouze 3 notifikace (omezení prohlížeče) a proto je potřeba ty zprávy koncipovat spíše jako odkazy někam dál. V našem případě otvírám po kliknutí na notifikaci &lt;a href=&#34;http://blog.novoj.net/2012/09/04/nastroje-pro-vyvoj-web-aplikaci-ve-forrestu/&#34; target=&#34;_blank&#34;&gt;RamJet Inspektor&lt;/a&gt;, kde je k nalezení už konkrétní rozpad problému.&lt;/div&gt;&#xA;&lt;div&gt;&lt;/div&gt;&#xA;&lt;div&gt;Cílem rozhodně není zahltit vývojáře informacemi - notifikace mají zobrazovat jen informace o důležitých problémech, které vyžadují pozornost a je riziko, že by je vývojář mohl přehlížet. Naopak pokud by je chtěl přehlížet, tak by mu měly notifikace jeho ignoranci alespoň znepříjemnit :).&lt;/div&gt;&#xA;&lt;div&gt;&lt;/div&gt;&#xA;&lt;div&gt;V našem případě aktuálně monitorujeme tyto problémy:&lt;/div&gt;&#xA;&lt;div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pomalá odezva stránky (více jak 1 vteřina na vrácení kompletního výstupu)&lt;/li&gt;&#xA;&lt;li&gt;pomalé SQL dotazy při zpracování požadavku (více jak 200ms na zpracování SQL příkazu)&lt;/li&gt;&#xA;&lt;li&gt;duplicitní SQL dotazy (špatné použití cachování)&lt;/li&gt;&#xA;&lt;li&gt;chyby při zpracování stránky (jak při akci, tak i v rámci renderingu) - obvykle by měly být vidět samy od sebe, ale někdy se skryjí ve &amp;lt;script&amp;gt; blocích nebo na stránce chybí komponenta pro výpis chybových hlášení&lt;/li&gt;&#xA;&lt;li&gt;chyby při aplikaci změn v konfiguraci (refresh Spring kontextů selhal) - jelikož se jede z poslední známé funkční konfigurace, vývojář často problém s reloadem nepostřehne a marně pátrá proč se aplikace nechová tak, jak by podle poslední konfigurace měla&lt;/li&gt;&#xA;&lt;li&gt;(zvažujeme) použití deprekovaných komponent a funkcí&lt;/li&gt;&#xA;&lt;li&gt;(plánujeme) zobrazení informace o nelokalizovaných textových popiscích na stránce&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;A také tyto významné informace v životním cyklu aplikace:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ubuntu 13.04 and IntelliJ Idea shortcut binding</title>
      <link>https://blog.novoj.net/posts/2013-07-12-ubuntu-13-04-and-intellij-idea-shortcut-binding/</link>
      <pubDate>Fri, 12 Jul 2013 22:36:45 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2013-07-12-ubuntu-13-04-and-intellij-idea-shortcut-binding/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2654&#34; title=&#34;Ubuntu-Unity-Logo&#34; src=&#34;https://blog.novoj.net/binary/2013/07/Ubuntu-Unity-Logo.png&#34; alt=&#34;&#34; width=&#34;140&#34; height=&#34;140&#34; /&gt;I had a &lt;a href=&#34;https://twitter.com/sw_samuraj/status/351720440068177920&#34; target=&#34;_blank&#34;&gt;conversation&lt;/a&gt; about IntelliJ Idea shortcut bindings conflicting with default shortcuts of Ubuntu/Unity OS. Well, it&#39;s a real problem, your muscle memory can be a tough beast. You can re-lean a shortcut or two but it&#39;s hard to change your habits completely after years of coding in IntelliJ Idea. And I want to concentrate on different things than to learn again shortcuts I am used to use. Because I am developer my IDE is more important for me than the OS and that means that shortcuts of the OS must go away or be changed. There is no other way possible.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tak Forresti taky přešli na Git, paní Millerová</title>
      <link>https://blog.novoj.net/posts/2013-07-07-tak-forresti-taky-presli-na-git-pani-millerova/</link>
      <pubDate>Sun, 07 Jul 2013 21:04:02 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2013-07-07-tak-forresti-taky-presli-na-git-pani-millerova/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2644&#34; title=&#34;git&#34; src=&#34;https://blog.novoj.net/binary/2013/07/git-300x125.png&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;88&#34; /&gt;Ve Forrestu jsme jako verzovací systém používali po velmi dlouhou dobu prastaré CVS. Respektive v době, kdy se s tím ve firmě začínalo (pamětníků už je jen hrstka) to zase až taky zastaralý systém nebyl (mluvíme o roku 2000). Dlouhou dobu jsme zvažovali náhradu za nějaké modernější VCS, ale nikdo se toho nechtěl osobně ujmout a byla tady celá řada překážek, se kterými bychom se museli kvůli přechodu vypořádat. Kromě infrastruktury (háčky do issue trackeru, build a install skripty, zálohování atd.) jsme měli obavu i o to, jak by přechod zvládly ty desítky vývojářů, kteří CVS používají - kritické místo se nám zdál tým webmasterů starající se o drobné úpravy na existujících projektech (v řádu desítek úprav denně). Prostě jsme &lt;a href=&#34;http://www.mitvsehotovo.cz/2013/07/proc-to-vzdavam-prave-ja/&#34; target=&#34;_blank&#34;&gt;hledali výmluvy&lt;/a&gt;, protože se nám do migrace nechtělo - zvlášť, když jsme neměli uvnitř firmy nikoho, kdo by nějaké nové VCS evangelizoval.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GeeCON - Krakow 2013</title>
      <link>https://blog.novoj.net/posts/2013-05-19-geecon-krakow-2013/</link>
      <pubDate>Sun, 19 May 2013 18:47:41 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2013-05-19-geecon-krakow-2013/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2577&#34; style=&#34;font-size: 13px;&#34; title=&#34;GeeCON 2013&#34; src=&#34;https://blog.novoj.net/binary/2013/05/300x250.png&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;175&#34; /&gt;&lt;a style=&#34;font-size: 13px;&#34; href=&#34;http://www.fg.cz/&#34; target=&#34;_blank&#34;&gt;Forrestí&lt;/a&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt; výprava opět vyrazila do Polska na Java konferenci GeeCON a nebyl bych to já, kdybych vám nepřinesl detailní reportáž o věcech, které mne tam zaujaly. Letos byl můj výlet sponzorován brněnskou firmou &lt;/span&gt;&lt;a style=&#34;font-size: 13px;&#34; href=&#34;http://www.ysoft.cz/&#34; target=&#34;_blank&#34;&gt;YSoft&lt;/a&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;, která byla platinovým sponzorem celé konference a které bych chtěl prostřednictvím tohoto článku také poděkovat. Na společnou výpravu se s námi vydal i &lt;/span&gt;&lt;a style=&#34;font-size: 13px;&#34; href=&#34;https://twitter.com/tomaszalusky&#34; target=&#34;_blank&#34;&gt;Tomáš Záluský&lt;/a&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt; z písecké společnosti &lt;/span&gt;&lt;a style=&#34;font-size: 13px;&#34; href=&#34;http://www.intelis.cz/&#34; target=&#34;_blank&#34;&gt;Intelis&lt;/a&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt; a spolu s ním bychom pro vás měli připravit i krátkou rekapitulaci konference na pražském &lt;/span&gt;&lt;a style=&#34;font-size: 13px;&#34; href=&#34;http://java.cz/article/czjug&#34; target=&#34;_blank&#34;&gt;CZJUG&lt;/a&gt;&lt;span style=&#34;font-size: 13px;&#34;&gt;.&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spring profiles a použití v testech</title>
      <link>https://blog.novoj.net/posts/2013-05-11-spring-profiles-a-pouziti-v-testech/</link>
      <pubDate>Sat, 11 May 2013 10:03:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2013-05-11-spring-profiles-a-pouziti-v-testech/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2564&#34; title=&#34;Spring 3.1&#34; src=&#34;https://blog.novoj.net/binary/2013/05/Logo_Spring_258x151.png&#34; alt=&#34;&#34; width=&#34;181&#34; height=&#34;106&#34; /&gt;Po 3 letech dělám větší refaktoring na našem direct mailingovém modulu a jako první jsem se rozhodl povýšit verze knihoven a zrefaktorovat JUnit testy, které jsou tam ještě psané ve stylu JDK 1.4.&lt;/p&gt;&#xA;&lt;p&gt;V souvislosti s tím jsem samozřejmě přepracoval formu testů z dědičné hierarchie na anotace, které byly představeny poprvé ve &lt;a href=&#34;http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/testing.html&#34; target=&#34;_blank&#34;&gt;Spring 3.X&lt;/a&gt; (pokud se nepletu). A tu jsem zjistil, že mám drobný problém - v původní verzi mého kódu jsem využíval dynamické kompozice Springového kontextu k tomu, abych stejné integrační testy pustil proti různým implementacím úložišť dat (paměť, MySQL databáze, Oracle databáze ...). V aktuální verzi Springu se ale v anotaci &lt;a href=&#34;http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/test/context/ContextConfiguration.html&#34; target=&#34;_blank&#34;&gt;@ContextConfiguration&lt;/a&gt; uvádí statický výčet konfiguračních XML a to situaci komplikuje.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DevFest Pardubice 2013</title>
      <link>https://blog.novoj.net/posts/2013-04-27-devfest-pardubice-2013-2/</link>
      <pubDate>Sat, 27 Apr 2013 09:29:30 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2013-04-27-devfest-pardubice-2013-2/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2540&#34; title=&#34;devfest-logo-pardubice&#34; src=&#34;https://blog.novoj.net/binary/2013/04/devfest-logo-pardubice1.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;180&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tento víkend se v Pardubicích konal historicky první &#34;pardubický&#34; &lt;a href=&#34;http://pardubice.devfest.cz/&#34; target=&#34;_blank&#34;&gt;Google DevFest&lt;/a&gt; a bylo by hříchem nevydat se na tak zajímavou akci zvlášť, když probíhá jen pár stovek metrů od mého domu. Na &lt;a href=&#34;http://pardubice.devfest.cz/program/&#34; target=&#34;_blank&#34;&gt;programu &lt;/a&gt;byli přitom samí zajímaví řečníci - Michal Špaček, Daniel Steigerwald, Pavel Lahoda, googleři Danut Echanoiu a Margarita Manterola a další.&lt;/p&gt;&#xA;&lt;p&gt;Pokud vás zajímá, jak vše vypadalo okem diváka, připravil jsem pro vás tuto reportáž.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-2530&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2&gt;OAuth 2 (Danut Echanoiu)&lt;/h2&gt;&#xA;&lt;p&gt;První přednáška Danuta Echanoiu byla na již trošku ohrané téma &lt;a href=&#34;http://cs.wikipedia.org/wiki/Oauth&#34; target=&#34;_blank&#34;&gt;OAuth &lt;/a&gt;autentizačního a autorizačního protokolu. Ačkoliv jsem již byl asi na dvou přednáškách o OAuth - tato mi přišla mimořádně dobrá a to především kvůli tomu, že veškeré technikálie byly vysvětleny velmi jednoduše a lidsky.&lt;/p&gt;</description>
    </item>
    <item>
      <title>K čemu je nám užitečný komponentový web framework?</title>
      <link>https://blog.novoj.net/posts/2013-03-23-k-cemu-je-nam-uzitecny-komponentovy-web-framework/</link>
      <pubDate>Sat, 23 Mar 2013 07:32:07 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2013-03-23-k-cemu-je-nam-uzitecny-komponentovy-web-framework/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-2516&#34; title=&#34;wheel&#34; src=&#34;https://blog.novoj.net/binary/2013/03/wheel.jpg&#34; alt=&#34;&#34; width=&#34;240&#34; height=&#34;180&#34; /&gt;Nedávno jsem &lt;a href=&#34;https://twitter.com/novoj/status/315113785704714242&#34; target=&#34;_blank&#34;&gt;jedním svým twítem&lt;/a&gt; vyvolal menší diskusi ohledně toho, co nám dovoluje komponentový framework oproti tomu, čeho bychom byli schopni dosáhnout s jednoduchým MVC rámcem. Bohužel twitter mi nedává takovou možnost vyjádřit se a tak jsem chtěl důvody a výhody, které vidím v komponentách na frontendu, popsat trošku obšírněji v tomto článku.&lt;/p&gt;&#xA;&lt;p&gt;Komponentový model na webové vrstvě přináší oproti &lt;a href=&#34;http://cs.wikipedia.org/wiki/Model-view-controller&#34; target=&#34;_blank&#34;&gt;MVC &lt;/a&gt;se &#34;standardním&#34; šablonovým systémem možnost elegantní znovupoužitelnosti částí, které se znovu použít dají. Pro mě jako vyznavače DRY je toto jedna z VELKÝCH výhod. Namítnete, že znovupoužitelnosti se přeci dá dosáhnout i v běžném šablonovacím systému - co třeba JSP tagy nebo Freemarkerová makra? Touhle cestou jsem si prošel a výsledek byl vždycky kostrbatý - obvykle se vám podaří znovupoužít buď vykreslovací šablonu nebo aplikační logiku, ale nikdy ne rozumně obojí.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pro Geeky se PowerPoint nehodí!</title>
      <link>https://blog.novoj.net/posts/2013-03-09-pro-geeky-se-powerpoint-nehodi/</link>
      <pubDate>Sat, 09 Mar 2013 17:30:54 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2013-03-09-pro-geeky-se-powerpoint-nehodi/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2471&#34; title=&#34;Google IO&#34; src=&#34;https://blog.novoj.net/binary/2013/03/google-300x163.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;98&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Nastala chvíle odbourat další zlozvyk minulosti. Rozhodl jsem se, že na prezentace už PowerPoint a jemu podobné aplikace nepoužiji. Přemýšlel jsem o tom už nějakou dobu a na poslední Google Group v Pardubicích mě &lt;a href=&#34;https://plus.google.com/113532596314034732476/posts&#34; target=&#34;_blank&#34;&gt;Martin Görner&lt;/a&gt; nadchl &lt;a href=&#34;http://animateyourhtml5.appspot.com/pres/index.html?lang=en#1&#34; target=&#34;_blank&#34;&gt;svou prezentací&lt;/a&gt;, která byla postavená nad &lt;a href=&#34;https://code.google.com/p/io-2012-slides/&#34; target=&#34;_blank&#34;&gt;HTML 5 šablonou&lt;/a&gt; původně určenou jako základ prezentací na &lt;a href=&#34;https://developers.google.com/events/io/&#34; target=&#34;_blank&#34;&gt;Google IO 2012&lt;/a&gt;. Google IO šablona samozřejmě není v tomto směru nijak unikátní - podobných šablon a &#34;frameworků&#34; &lt;a href=&#34;http://www.webresourcesdepot.com/9-free-javascript-libraries-templates-for-beautiful-web-based-presentations/&#34; target=&#34;_blank&#34;&gt;existuje na webu celá spousta&lt;/a&gt; (určitě musím zmínit ještě velmi pěkně navržený ekosystém &lt;a href=&#34;http://imakewebthings.com/deck.js/&#34; target=&#34;_blank&#34;&gt;Deck.js&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nastartování samospádu</title>
      <link>https://blog.novoj.net/posts/2013-02-08-nastartovani-samospadu/</link>
      <pubDate>Fri, 08 Feb 2013 21:41:42 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2013-02-08-nastartovani-samospadu/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2434&#34; title=&#34;Momentum&#34; src=&#34;https://blog.novoj.net/binary/2013/02/momentum-300x225.jpg&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;135&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tento článek bude krapet filozofického ražení a nese zvláštní ale snad výstižný název, jak se pokusím vysvětlit dále. Nelehko se popisuje, co myslím tím výrazem „spád“ –  v češtině bych mohl použít i podobně zabarvená slova jako třeba bzukot, mravenčení nebo vzruch, z cizích jazyků bych si vypůjčil výrazy jako je trakce nebo momentum. Určitě pochopíte, co mám na mysli, když poukážu na živé a prosperující komunity, které známe z našeho okolí. Spádem myslím stav, kdy se okolo vás děje pořád něco nového, něco co vás obohacuje, nabíjí vás energií a vnitřně vás nutí se do víru také přidat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Šestý rok Myšlenek dne otce Fura</title>
      <link>https://blog.novoj.net/posts/2013-01-01-sesty-rok-myslenek-dne-otce-fura/</link>
      <pubDate>Tue, 01 Jan 2013 00:00:00 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2013-01-01-sesty-rok-myslenek-dne-otce-fura/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2389&#34; title=&#34;6th-anniversary&#34; src=&#34;https://blog.novoj.net/binary/2012/12/6th-anniversary-254x300.png&#34; alt=&#34;&#34; width=&#34;152&#34; height=&#34;180&#34; /&gt;Nejsem první, kdo v tuto dobu píše článek bilancující loňský rok. Velmi zajímavé osobní zpovědi najdete na &lt;a href=&#34;http://www.dagblog.cz/2012_12_23_archive.html#7460635251832463332&#34; target=&#34;_blank&#34;&gt;Dagblogu&lt;/a&gt; i na &lt;a href=&#34;http://javicka.blogspot.cz/2012/12/5-let-na-volne-noze.html&#34; target=&#34;_blank&#34;&gt;Javičce&lt;/a&gt; - každý braný z jiného úhlu pohledu. Ani já se letos nevyhnu bilancování a opět vás budu trápit nějakými čísly, která jsou možná zajímavá hlavně pro mě. Dagi psal, že on už nehledá motivaci v číslech odrážejících čtenost článků na blogu, ale mě to ještě pořád drží :)&lt;/p&gt;&#xA;&lt;p&gt;Musím přiznat, že i mě se v poslední době hledá čas na psaní příspěvků na blog čím dál hůře. Děti rostou a vyžadují víc a víc pozornosti, projekty ve &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_blank&#34;&gt;Forrestu&lt;/a&gt; jsou čím dál náročnější a okolo mě je pořád tolik věcí, které bych si chtěl vyzkoušet a experimentovat s nimi. Jenže na to všechno potřebuje člověk klid, čas a soustředěnost a toho, zdá se mi, mám pořád méně a méně.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IntelliJ Idea 12 za pár korun při výročí konce světa</title>
      <link>https://blog.novoj.net/posts/2012-12-20-intellij-idea-12-za-par-korun-pri-vyroci-konce-sveta/</link>
      <pubDate>Thu, 20 Dec 2012 13:17:11 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2012-12-20-intellij-idea-12-za-par-korun-pri-vyroci-konce-sveta/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;wp-image-2378 alignleft&#34; title=&#34;4440x330&#34; src=&#34;https://blog.novoj.net/binary/2012/12/4440x330-300x224.jpg&#34; alt=&#34;&#34; width=&#34;144&#34; height=&#34;107&#34; /&gt;Dnes je možné využít výjimečné slevy, které zveřejnili JetBrains při výročí konce světa. Po následujících 24 hodin je možné pořídit plnou licenci IntelliJ Idea 12 a všech ostatních jejich produktů se slevou 75%. Slevy se vztahují pouze na personální licence, které jsou nepřenositelné a mohou si je koupit pouze jednotlivci (nicméně je možné je využít i ke komerčním účelům).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-2377&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Po přepočtu na české peníze můžete pořídit:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IntelliJ Idea 12 za &lt;strong&gt;1200,- Kč&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;PhpStorm za &lt;strong&gt;590,- Kč&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;WebStorm za &lt;strong&gt;310,- Kč&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;RubyMine za &lt;strong&gt;440,- Kč&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;PyCharm za &lt;strong&gt;480,- Kč&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;AppCode za &lt;strong&gt;590,- Kč&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;ReSharper za &lt;strong&gt;960,-Kč&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;dotTrace za &lt;strong&gt;1800,- K&lt;/strong&gt;č&lt;/li&gt;&#xA;&lt;li&gt;dotCover za &lt;strong&gt;590,- Kč&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Více informací se dozvíte na &lt;a href=&#34;http://www.jetbrains.com/specials/index.jsp&#34; target=&#34;_blank&#34;&gt;speciální stránce&lt;/a&gt; ... akce platí jen pro 20. prosinec 2012&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bonusy do každé rodiny</title>
      <link>https://blog.novoj.net/posts/2012-12-10-bonusy-do-kazde-rodiny/</link>
      <pubDate>Mon, 10 Dec 2012 04:00:20 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2012-12-10-bonusy-do-kazde-rodiny/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://blog.novoj.net/binary/2012/07/logo.png&#34;&gt;&lt;img class=&#34;size-full wp-image-2120 alignleft&#34; title=&#34;Ok bonus&#34; src=&#34;https://blog.novoj.net/binary/2012/07/logo.png&#34; alt=&#34;&#34; width=&#34;202&#34; height=&#34;68&#34; /&gt;&lt;/a&gt;O radosti z releasů jsem tady &lt;a href=&#34;http://blog.novoj.net/2008/10/09/release-day/&#34;&gt;na blogu psal už dříve&lt;/a&gt; a teď budu psát znovu, ale z jiného úhlu pohledu. Téměř po roce od začátku analytických prací jde do produkce jeden z mých největších dosavadních projektů - &lt;strong&gt;&lt;a href=&#34;https://www.okbonus.sk&#34; target=&#34;_blank&#34;&gt;Ok Bonus&lt;/a&gt;&lt;/strong&gt; portál pro slovenskou společnost &lt;a href=&#34;http://www.doxx.sk/&#34; target=&#34;_blank&#34;&gt;DOXX&lt;/a&gt;. Podstatou projektu je poskytnout technické řešení maloobchodům a jednotlivcům pro tvorbu věrnostních (bonusových) programů, které si dokáží ušít samy sobě na míru.&lt;/p&gt;&#xA;&lt;p&gt;Řešení je složeno z několika částí: desktopové aplikace postavené nad &lt;a href=&#34;http://netbeans.org/features/platform/&#34; target=&#34;_blank&#34;&gt;NetBeans RCP&lt;/a&gt; - tzv. terminálu, který bude provozován vedle pokladního systému a bude umožňovat zápis informací o nákupech a také čerpání odměn. Nákupy a bonusy se evidují na libovolnou &lt;a href=&#34;http://www.mobilmania.cz/clanky/google-nfc-neni-jen-nahrada-kreditni-karty/sc-3-a-1316282/default.aspx&#34; target=&#34;_blank&#34;&gt;NFC kartu&lt;/a&gt;, kterých v současné době po světě běhá více než dost (samozřejmě bude možné získat u provozovatelů systému i brandované Ok Bonus NFC karty). Druhou část představuje tzv. &#34;platební brána&#34;, která zpracovává transakce ze všech desktopových klientů a spravuje zákaznické účty. Třetí část je potom webový portál &lt;a href=&#34;https://www.okbonus.sk&#34; target=&#34;_blank&#34;&gt;Ok Bonus&lt;/a&gt;, který představuje prostředníka mezi zákazníky, obchodníky a platební branou. Na portále jsou k dispozici výpisy z účtů (tj. evidence nákupů, přidělování bonusů atd.), pro obchodníky potom rozhraní pro tvorbu bonusových programů, správu autorizovaných karet a terminálů, statistiky, e-shop a vyúčtování.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Máte jistotu, že do session ukládáte pouze serializovatelné objekty?</title>
      <link>https://blog.novoj.net/posts/2012-11-04-mate-jistotu-ze-do-session-ukladate-pouze-serializovatelne-objekty/</link>
      <pubDate>Sun, 04 Nov 2012 21:15:31 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2012-11-04-mate-jistotu-ze-do-session-ukladate-pouze-serializovatelne-objekty/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2347&#34; title=&#34;Http Session Persistence&#34; src=&#34;https://blog.novoj.net/binary/2012/10/persistence.jpg&#34; alt=&#34;&#34; width=&#34;124&#34; height=&#34;93&#34; /&gt;Jestli ano, tak by mne velmi zajímalo, jak to děláte. My jsme totiž ještě donedávna žádnou jistotu neměli - vše záleželo na poctivosti a důslednosti programátorů. Jenže v Javě není tahle záležitost vůbec jednoduchá a tak vám může díky nějaké referenci hluboko ve stromu objektů uniknout, že to, co ukládáte do session, má vazbu na objekt, který serializovatelný není. Výsledkem je ztráta session při restartech aplikačního serveru nebo zamezení možnosti &lt;a href=&#34;http://docs.oracle.com/cd/E13222_01/wls/docs90/cluster/failover.html&#34; target=&#34;_blank&#34;&gt;session replikovat&lt;/a&gt; mezi nody clusteru.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ruční aktualizace firmware Asus Transformer Infinity Pad</title>
      <link>https://blog.novoj.net/posts/2012-10-25-rucni-aktualizace-firmware-asus-transformer-infinity-pad/</link>
      <pubDate>Thu, 25 Oct 2012 19:32:47 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-10-25-rucni-aktualizace-firmware-asus-transformer-infinity-pad/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2365&#34; title=&#34;android-upgrade&#34; src=&#34;https://blog.novoj.net/binary/2012/10/android-upgrade-300x214.jpg&#34; alt=&#34;&#34; width=&#34;144&#34; height=&#34;102&#34; /&gt;Docela mě překvapilo, že ani měsíc od vydání aktualizace Jelly Bean pro Asus Infinity Pad se mi nenabídla aktualizace systémem sama. Při ručním zkontrolování aktualizací v nastavení systému se mi tvrdošíjně vracelo, že &#34;nové aktualizace pro váš systém neexistují&#34;. Kecy ... někde byla nějaká chybka, která znemožňovala OTA, přestože ty už byly dávno dostupné. Sedl jsem k internetu a po docela dlouhé době jsem přišel na postup, jak tablet zaktualizovat manuálně. Abych vám ušetřil tuhle práci, zachytil jsem postup v tomto článku.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jak jsem organizoval Forrestí hackathon</title>
      <link>https://blog.novoj.net/posts/2012-10-21-jak-jsem-organizoval-forresti-hackathon/</link>
      <pubDate>Sun, 21 Oct 2012 19:48:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-10-21-jak-jsem-organizoval-forresti-hackathon/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2317&#34; title=&#34;FG Hackathon&#34; src=&#34;https://blog.novoj.net/binary/2012/10/thumb-300x218.jpg&#34; alt=&#34;&#34; width=&#34;168&#34; height=&#34;122&#34; /&gt;Nápad zorganizovat firemní hackathon ve mně zrál nějakou dobu. Několika podobných akcí jsem se účastnil v minulém roce, takže jsem měl hrubou představu o tom, jak podobná akce probíhá. Navíc se nám ve &lt;a href=&#34;http://www.fg.cz&#34;&gt;Forrestu&lt;/a&gt; už nějakou dobu v issue trackeru hromadí plno nápadů, které kvůli vytížení na projektech nemáme kdy zrealizovat ... a přitom jsou to takové cool věci :). Nakonec jsem se rozhoupal a pustil do organizace. Jen jsem si nebyl jistý, zda jsou kolegové podobní blázni jako já a půjdou do toho.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Úvaha nad horizontálním škálováním databází a těžkostmi s tím spojenými</title>
      <link>https://blog.novoj.net/posts/2012-10-07-uvaha-nad-horizontalnim-skalovanim-databazi-a-tezkostmi-s-tim-spojenymi/</link>
      <pubDate>Sun, 07 Oct 2012 09:09:30 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-10-07-uvaha-nad-horizontalnim-skalovanim-databazi-a-tezkostmi-s-tim-spojenymi/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-2295&#34; title=&#34;Replication&#34; src=&#34;https://blog.novoj.net/binary/2012/10/revolve-150x150.jpg&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;Škálování databází je velké téma a já rozhodně nejsem takový odborník, abych tady rozebíral kdovíjaké detaily. Zcela jistě znáte termíny jako je sharding, o kterém &lt;a href=&#34;http://www.dagblog.cz/2007_12_23_archive.html&#34; target=&#34;_blank&#34;&gt;psal Dagi už před 5 lety&lt;/a&gt;, popřípadě znáte termín &lt;a href=&#34;http://cs.wikipedia.org/wiki/Partition_(datab%C3%A1ze)&#34; target=&#34;_blank&#34;&gt;partitioning&lt;/a&gt;, který nám nabízejí některé DB stroje &#34;&lt;a href=&#34;http://dev.mysql.com/doc/refman/5.1/en/partitioning.html&#34; target=&#34;_blank&#34;&gt;zadarmo&lt;/a&gt;&#34; a jiné &#34;&lt;a href=&#34;http://www.oracle.com/cz/products/database/options/partitioning/index.html&#34; target=&#34;_blank&#34;&gt;za peníze&lt;/a&gt;&#34;. Alternativním způsobem horizontálního škálování je &lt;a href=&#34;http://dev.mysql.com/doc/refman/5.0/en/replication-solutions-scaleout.html&#34; target=&#34;_blank&#34;&gt;škálování pomocí sady replik pro čtení&lt;/a&gt;, o kterém lze uvažovat v případě, že máte aplikaci, které řádově méně zapisuje do databáze než z ní čte. Konkrétně se jedná o to, že máte několik databázových strojů v režimu MASTER-SLAVE(S), který se často nasazuje už jen z důvodu &lt;a href=&#34;http://www.percona.com/doc/percona-xtrabackup/howtos/setting_up_replication.html&#34; target=&#34;_blank&#34;&gt;hot-backupu&lt;/a&gt; (tj. v případě výpadku master databáze je možné velmi rychle z repliky učinit nový master a pokračovat v běhu aplikace).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Commons File Upload contains a severe memory leak</title>
      <link>https://blog.novoj.net/posts/2012-09-19-commons-file-upload-contains-a-severe-memory-leak/</link>
      <pubDate>Wed, 19 Sep 2012 21:12:10 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-09-19-commons-file-upload-contains-a-severe-memory-leak/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2284&#34; title=&#34;commons-file-upload&#34; src=&#34;https://blog.novoj.net/binary/2012/09/commons-file-upload.png&#34; alt=&#34;&#34; width=&#34;180&#34; height=&#34;60&#34; /&gt;Do you use &lt;a href=&#34;http://commons.apache.org/fileupload/&#34; target=&#34;_blank&#34;&gt;Commons File Upload&lt;/a&gt; library in your application? Do you use &lt;a href=&#34;http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/disk/DiskFileItemFactory.html&#34; target=&#34;_blank&#34;&gt;DiskFileItemFactory&lt;/a&gt; for storing big files to a temporary disk storage? Do you use &lt;a href=&#34;http://commons.apache.org/io/api-release/org/apache/commons/io/FileCleaningTracker.html&#34; target=&#34;_blank&#34;&gt;FileCleaningTracker&lt;/a&gt; to get rid of unused temporary files as it is recommended in documentation?&lt;/p&gt;&#xA;&lt;p&gt;If so you probably have a memory leak in your application you don&#39;t know about.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-2283&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Stored files are meant to be cleared when there is no reference to the FileItem instance created by this library. Or at least this is stated in the documentation:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Nástroje pro vývoj web aplikací ve Forrestu</title>
      <link>https://blog.novoj.net/posts/2012-09-04-nastroje-pro-vyvoj-web-aplikaci-ve-forrestu/</link>
      <pubDate>Tue, 04 Sep 2012 07:10:53 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-09-04-nastroje-pro-vyvoj-web-aplikaci-ve-forrestu/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft&#34; title=&#34;beyond-social-media-monitoring&#34; src=&#34;https://blog.novoj.net/binary/2012/08/beyond-social-media-monitoring-300x214.jpg&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;150&#34; /&gt;Pod ladícím nástrojem si většina Java vývojářů představí Java debugger. O něm však v tomto článku řeč nebude. Chtěl bych vám tu představit náš přístup k doprovodným nástrojům pro tvorbu webové vrstvy a podívat se kolem sebe, jestli jsme v tomto ohledu originální či nikoliv.&lt;/p&gt;&#xA;&lt;p&gt;Nápad vytvořit specifické nástroje se znalostí interních mechanismů použitého frameworku je již poměrně starý. V českém PHP frameworku &lt;a href=&#34;http://nette.org&#34; target=&#34;_blank&#34;&gt;Nette&lt;/a&gt; vznikla tzv. Laděnka někdy na začátku roku 2008 (vycházím ze zmínky na &lt;a href=&#34;http://latrine.dgx.cz/ladenka-jak-se-vam-libi&#34; target=&#34;_blank&#34;&gt;blogu Davida Grudla&lt;/a&gt;).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Springockito - výroba mocků snadno a rychle</title>
      <link>https://blog.novoj.net/posts/2012-07-31-springockito-vyroba-mocku-snadno-a-rychle/</link>
      <pubDate>Tue, 31 Jul 2012 21:57:29 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-07-31-springockito-vyroba-mocku-snadno-a-rychle/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2157&#34; title=&#34;Mockito&#34; src=&#34;https://blog.novoj.net/binary/2012/07/logo-300x139.jpg&#34; alt=&#34;&#34; width=&#34;210&#34; height=&#34;97&#34; /&gt;Na tento poklad narazil kolega &lt;a href=&#34;http://www.linkedin.com/in/jakubliska&#34; target=&#34;_blank&#34;&gt;Jakub Liška&lt;/a&gt;, když si sám chtěl napsat něco podobného. Pokud používáte pro automatické testy podporu Springu a na vytváření mocků &lt;a href=&#34;http://code.google.com/p/mockito/&#34; target=&#34;_blank&#34;&gt;Mockito&lt;/a&gt;, máte řadu možností jak vytvářet mock objekty. Jednu z nich, která se mi zdála poměrně jednoduchá jsem popisoval v dřívějším článku &lt;a href=&#34;http://blog.novoj.net/2011/10/18/jak-se-zbavit-neprijemnych-zavislosti-v-testech/&#34; target=&#34;_blank&#34;&gt;Jak se zbavit nepříjemných závislostí v testech&lt;/a&gt;, nicméně tento přístup dotáhl &lt;a href=&#34;http://kubek2k.w.ds14.agh.edu.pl/wiki/doku.php&#34; target=&#34;_blank&#34;&gt;Jakub Janczak&lt;/a&gt; o kus dál (jo na světě jsou milóny lidí chytřejších jak já :) ).&lt;/p&gt;</description>
    </item>
    <item>
      <title>How do YOU test access control of your application?</title>
      <link>https://blog.novoj.net/posts/2012-06-14-how-do-you-test-access-control-of-your-application/</link>
      <pubDate>Thu, 14 Jun 2012 23:10:59 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-06-14-how-do-you-test-access-control-of-your-application/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-2071&#34; title=&#34;Security testing&#34; src=&#34;https://blog.novoj.net/binary/2012/06/Security-Testing-300x225.jpg&#34; alt=&#34;&#34; width=&#34;168&#34; height=&#34;126&#34; /&gt; Many of complex applications put on top of their complexity access control logic for securing data and to limit access to certain functions. No matter if you have fully configurable ACL settings based on rights or role based access you&#39;d probably want to test this part of application too. In order to have proper test coverage you should make it easy for you and your colleagues to test this. I have no doubts that if you ever needed to test this you already have some kind of such test support, but this article describes what kind of it I&#39;ve created for myself. It might be interesting for you to compare it with your solution or inspire you to create one if you haven&#39;t done it already.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reportáž z GeeCON 2012</title>
      <link>https://blog.novoj.net/posts/2012-05-22-poznamky-z-geecon-2012/</link>
      <pubDate>Tue, 22 May 2012 00:34:22 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-05-22-poznamky-z-geecon-2012/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft&#34; title=&#34;GeeCON 2012&#34; src=&#34;https://blog.novoj.net/binary/2012/05/IMG_20120515_224359-e1337115538180-300x277.jpg&#34; alt=&#34;&#34; width=&#34;168&#34; height=&#34;155&#34; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;GeeCON si již vydobyl své místo na slunci mezi evropskými konferencemi a není třeba ho příliš představovat. Osobně jsem s kvalitou přednášek vždy velmi spokojený a proto jsme s kolegy vyrazili na &lt;a href=&#34;http://2012.geecon.org/&#34; target=&#34;_blank&#34;&gt;GeeCON &lt;/a&gt;letos již potřetí. Organizátorská práce byla jako vždy skvěle odvedená - cateringem počínaje a luxusními prostory v multikině konče. Člověk si musí jen trošku povzdechnout, když si vzpomene na tvrdé židle v přednáškových místnostech a catering univerzity v případě největší české konference WebExpo. Nicméně, člověk nejezdí na konference kvůli sedačkám a jídlu, ale kvůli kvalitnímu obsahu a tak se dá i v případě WebExpa leccos překousnout. Majorita účastníků byla samozřejmě z Polska, ale okolo bylo slyšet i dost češtiny a moravštiny, což mi vážně udělalo radost. Na GeeCONu letos přednášeli i dva češi - Pavel Lahoda o problémech při vývoji na Androidu a Honza Kotek o JDBM (rozepíšu se dále). Pokud vás zajímá, jak vypadal celý GeeCON mýma očima, čtěte dál ...&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-1959&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Skryté pastičky v Tomcatu aneb zpětná kompatibilita se všude nenosí</title>
      <link>https://blog.novoj.net/posts/2012-04-29-skryte-pasticky-v-tomcatu-aneb-zpetna-kompatibilita-se-vsude-nenosi/</link>
      <pubDate>Sun, 29 Apr 2012 14:33:35 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-04-29-skryte-pasticky-v-tomcatu-aneb-zpetna-kompatibilita-se-vsude-nenosi/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-1953&#34; title=&#34;Tomcat Logo&#34; src=&#34;https://blog.novoj.net/binary/2012/04/200px-Tomcat-logo.png&#34; alt=&#34;&#34; width=&#34;200&#34; height=&#34;133&#34; /&gt;Nespoléhejte se na to, že, tak jako Java samotná, budou i základní knihovny a nástroje respektovat důležitost zpětné kompatibility. Například v případě Tomcatu se nám už několikrát stalo, že při upgradu na verzi, kde se mění pouze číslo patche, se kompletně rozpadla funkčnost aplikace. Poprvé to bylo myslím, když v patchi vyupgradovali na novější specku JSP a teď nám zase přihodili bombičku v podobě změny obsahu &lt;strong&gt;httpServletRequest.getPathInfo()&lt;/strong&gt;, která nově vrací i tzv. path parametry.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Partyzánskou stezkou</title>
      <link>https://blog.novoj.net/posts/2012-04-19-partyzanskou-stezkou/</link>
      <pubDate>Thu, 19 Apr 2012 21:24:16 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-04-19-partyzanskou-stezkou/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-1905&#34; title=&#34;Partyzán&#34; src=&#34;https://blog.novoj.net/binary/2012/04/f4f3c0cba00f0b_sl705790-194x300.jpg&#34; alt=&#34;&#34; width=&#34;136&#34; height=&#34;210&#34; /&gt; Termín &#34;partyzánština&#34; znáte určitě taky. Je to přístup, kdy u věcí, které považujete za správné nebo prospěšné do budoucna, nečekáte na nějaké schválení &#34;shora&#34; nebo na to až získáte konsenzus okolí, ale prostě sednete a zkusíte je zrealizovat. Nevím jaké zkušenosti s tím máte vy, ale mě se takto podařilo docílit poměrně podstatných změn ve způsobu práce mojí i mého okolí. Myslím si, že partizánština z vás může udělat spokojenější vývojáře v úspěšnějších firmách.&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-1902&#34;&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Combining custom annotations for securing methods with Spring Security</title>
      <link>https://blog.novoj.net/posts/2012-03-27-combining-custom-annotations-for-securing-methods-with-spring-security/</link>
      <pubDate>Tue, 27 Mar 2012 21:42:36 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2012-03-27-combining-custom-annotations-for-securing-methods-with-spring-security/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft  wp-image-1858&#34; title=&#34;spring_security&#34; src=&#34;https://blog.novoj.net/binary/2012/03/spring_security_extjs_login-e1332024054704.png&#34; alt=&#34;&#34; width=&#34;149&#34; height=&#34;58&#34; /&gt; &lt;a href=&#34;http://static.springsource.org/spring-security/site/&#34; target=&#34;_blank&#34;&gt;Spring security&lt;/a&gt; is really powerful library in its current version and I like it much. You can secure your application on method level several years now (this feature was introduced by &lt;a href=&#34;http://www.nofluffjuststuff.com/blog/craig_walls/2008/04/method_level_security_in_spring_security_2_0&#34; target=&#34;_blank&#34;&gt;Spring Security 2 in 4/2008&lt;/a&gt;) but we&#39;ve upgraded from old Acegi Security only recently. When using method access control in larger scale I started to think about security rules encapsulation into standalone annotation definitions. It&#39;s something you can live without but in my opinion it could help readibility and maintainability of the code. Let&#39;s present some options we have now ...&lt;/p&gt;</description>
    </item>
    <item>
      <title>Json Java parsers / generators microbenchmark</title>
      <link>https://blog.novoj.net/posts/2012-02-05-json-java-parsers-generators-microbenchmark/</link>
      <pubDate>Sun, 05 Feb 2012 10:41:22 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2012-02-05-json-java-parsers-generators-microbenchmark/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-1834&#34; title=&#34;JSON&#34; src=&#34;https://blog.novoj.net/binary/2012/02/json160.gif&#34; alt=&#34;&#34; width=&#34;120&#34; height=&#34;120&#34; /&gt; A month ago I had an incident in production that was caused, as I found out later, by poor performance of used JSON parser library. I&#39;ve optimalized the code and managed to solve it but decided to look for another library with better performance characteristics. I searched for some existing benchmarks and found two of them - one is for &lt;a href=&#34;http://martinadamek.com/2011/02/01/adding-gson-to-android-json-parser-comparison/&#34; target=&#34;_blank&#34;&gt;JSON manipulation on Android&lt;/a&gt; and the second one is &lt;a href=&#34;https://github.com/eishay/jvm-serializers/wiki/&#34; target=&#34;_blank&#34;&gt;thorough serialization test focused on different use-cases&lt;/a&gt; than I had. So I decided to write my own microbenchmark copying the use-case I had in the production.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ad ACTA - moje komunikace s p. Zahradilem</title>
      <link>https://blog.novoj.net/posts/2012-01-26-ad-acta-moje-komunikace-s-p-zahradilem/</link>
      <pubDate>Thu, 26 Jan 2012 17:38:11 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2012-01-26-ad-acta-moje-komunikace-s-p-zahradilem/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://blog.novoj.net/binary/2012/01/stop_acta_eu_pl.png&#34;&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-1819&#34; title=&#34;stop_acta_eu_pl&#34; src=&#34;https://blog.novoj.net/binary/2012/01/stop_acta_eu_pl-150x150.png&#34; alt=&#34;&#34; width=&#34;120&#34; height=&#34;120&#34; /&gt;&lt;/a&gt;Prozatím mám spíš takové zkušenosti, že petice a protesty nefungují. Nicméně je to jediný nástroj, který nám demokratické zřízení dává (když nepočítám volby jednou za 4 roky). Proto jsem se rozhodl napsat našemu poslanci v EU a osobně jej požádat, aby hájil práva našich občanů a vydal nesouhlasné stanovisko se současným zněním dohody ACTA. Pochybuji, že to něco změní, ale minimálně mi pan poslanec odepsal.&lt;/p&gt;&#xA;&lt;p&gt;Korespondenci zveřejňuji proto, že jsem o to byl požádán. Zkuste věnovat chvilku a napsat p. Zahradilovi také ....&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pátý rok Myšlenek Otce Fura</title>
      <link>https://blog.novoj.net/posts/2012-01-01-paty-rok-myslenek-otce-fura/</link>
      <pubDate>Sun, 01 Jan 2012 14:41:28 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2012-01-01-paty-rok-myslenek-otce-fura/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2012/01/5th-anniversary-150x150.jpg&#34; alt=&#34;&#34; title=&#34;Páté výročí&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-1805&#34; /&gt; Tradice jsou tu od toho, aby se dodržovaly. Navíc já sám si chci trochu zrevidovat, jak se situace v blogosféře vyvíjí. Mám totiž trochu pocit, že aktivita bloggerů maličko uvadá a je nahrazena krátkými tweety, příspěvky na G+ nebo Facebooku. &lt;/p&gt;&#xA;&lt;p&gt;Tak trochu to pociťuji i sám na sobě - rok od roku je na mém blogu o pár článků méně a stejně tak i většinu článků z RSS čteček jen letmo prolétnu (pokud není téma pro mě zrovna aktuální nebo není článek psaný česky).&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.novoj.net/posts/2011-12-30-1778/</link>
      <pubDate>Fri, 30 Dec 2011 22:07:54 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-12-30-1778/</guid>
      <description>&lt;p&gt;Dlouho jsem zvažoval, jestli má smysl zakládat si vlastní blog. Jaký to má smysl, jestli to vlastně není jen taková móda a zda-li budu vůbec schopný něco nového sdělovat. Jelikož právě koukáte na tenhle blog, dá se jednoduchou úvahou odvodit, k jakému závěru jsem nakonec došel :-) .&lt;/p&gt;&#xA;&lt;p&gt;Myslím, že nastal čas, kdy už mohu nejen spotřebovávat a hledat informace, ale že mohu také ostatním v přiměřené míře pomoc vracet. Je zvláštní kolik toho lidé dělají zadarmo. Až se to zdá v dnešním komerčním světě k nevíře, jsou lidé, a není jich málo, kteří svůj volný čas věnují pomoci druhým. Prostě cítím dluh k těmto lidem, a svým blogem chci tento dluh narovnávat. Držte mi palce, snad se mi bude dařit …&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.novoj.net/posts/2011-12-30-1777/</link>
      <pubDate>Fri, 30 Dec 2011 22:07:53 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-12-30-1777/</guid>
      <description>&lt;p&gt;Ten kdo rutině ke své práci nebo i jen doma používá počítač jistě narazil na problematiku autorských práv. Obvykle v tom smyslu, že většina programů, které bychom rádi používali něco stojí a některé nestojí zrovna málo. Řada z nás si s tím neláme hlavu a poohlédne se po nějakém cracku, či danou aplikaci rovnou stáhne z nějaké té P2P sítě. Je to sice velmi jednoduché, ale bohužel to není legální.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.novoj.net/posts/2011-12-30-1776/</link>
      <pubDate>Fri, 30 Dec 2011 22:07:52 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-12-30-1776/</guid>
      <description>&lt;p&gt;V tomto článku bych rád sesumíroval mé poznámky k instalaci Ubuntu na mém pracovním stroji. Plno z instalačních postupů jsem dostal do vínku od mých kolegů, za což jsem jim nesmírně vděčný. V závěru článku uvádím seznam aplikací, které jsem prozatím vytipoval jako zástup mých oblíbených Windows nástrojů, na které jsem byl po celá léta zvyklý. Přechod bolel méně než jsem čekal – ve většině oblastí jsem našel plnohodnotné (a někde i lepší) alternativy pro Linux.&lt;/p&gt;</description>
    </item>
    <item>
      <title>This (self) v generikách</title>
      <link>https://blog.novoj.net/posts/2011-12-27-this-self-v-generikach/</link>
      <pubDate>Tue, 27 Dec 2011 21:50:53 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-12-27-this-self-v-generikach/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-1742&#34; title=&#34;generics&#34; src=&#34;https://blog.novoj.net/binary/2011/12/generics.png&#34; alt=&#34;&#34; width=&#34;71&#34; height=&#34;53&#34; /&gt;Tohle byl pro mě nějakou dobu oříšek, než jsem narazil na pár článků s překvapivým - ne dokonalým, ale přeci jen nějakým řešením.&lt;/p&gt;&#xA;&lt;p&gt;Problém je jednoduchý, chtěl bych aby bylo možné v nějaké abstraktní třídě definovat cosi jako:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;/** poznámka: toto je nesmysl, ale vyjadřuje&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;moji snahu o vyjádření vazeb **/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;abstract&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;class&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;AbstractClass&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;&lt;/span&gt;T is &lt;span style=&#34;color:#66d9ef&#34;&gt;this&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   T &lt;span style=&#34;color:#a6e22e&#34;&gt;getMe&lt;/span&gt;();&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Což jsem potřeboval z důvodu získání reference na AOP proxy obalující moji třídu - v níže uvedených odkazech podobná potřeba vznikla při implementaci &lt;a href=&#34;http://en.wikipedia.org/wiki/Builder_pattern&#34; target=&#34;_blank&#34;&gt;builder patternu&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CodeRetreat Praha 2011</title>
      <link>https://blog.novoj.net/posts/2011-12-04-coderetreat-praha-2011/</link>
      <pubDate>Sun, 04 Dec 2011 01:30:51 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-12-04-coderetreat-praha-2011/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/12/codeRetreat.jpg&#34; alt=&#34;Organizátoři byli večer skutečně znavení&#34; title=&#34;Organizátoři byli večer skutečně znavení&#34; width=&#34;100&#34; height=&#34;102&#34; class=&#34;alignleft size-full wp-image-1726&#34; /&gt;Nikdy, nikdy nepodlehněte své lenosti. Všichni známe předvánoční čas plný akcí a večírků a uznávám, že včera jsem velmi zvažoval, jestli chci na &lt;a href=&#34;http://coderetreat.cz/&#34; target=&#34;_blank&#34;&gt;CodeRetreat&lt;/a&gt; vlastně jet a zmizet o desíti z jiné akce s přáteli úplně střízlivý. Přiznávám svou slabost a stydím se, že jsem vůbec kdy zapochyboval. CodeRetreat byl jednou z mých letošních nejlepších akcí a musím říct, že naboural žebříček nejhodnotnějších akcí vůbec. Přičemž i příčka jOpenSpace se zachvěla ve svých základech.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hledáme parťáka do Forresta</title>
      <link>https://blog.novoj.net/posts/2011-10-31-hledame-partaka-do-forresta/</link>
      <pubDate>Mon, 31 Oct 2011 08:00:17 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-10-31-hledame-partaka-do-forresta/</guid>
      <description>&lt;div&gt;&lt;a href=&#34;http://www.fg.cz&#34;&gt;&lt;img class=&#34;alignleft size-full wp-image-1704&#34; style=&#34;margin: 4px; background-color: white;&#34; title=&#34;FG Forrest&#34; src=&#34;https://blog.novoj.net/binary/2011/10/FG_color.gif&#34; alt=&#34;&#34; width=&#34;100&#34; height=&#34;100&#34; /&gt;&lt;/a&gt;Tímto článkem udělám malou výjimku a zkusím Vás všechny oslovit s nabídkou práce u nás ve &lt;a href=&#34;http://www.fg.cz/&#34;&gt;Forrestu&lt;/a&gt;. Je to zvláštní, ale už nějakou dobu sháníme Javistu a nedaří se nám sehnat nikoho s kým bychom si padli do noty. Říkal jsem si, jestli to není tím, že ploché inzeráty Vás moc neosloví - respektive práci v mladém a perspektivním týmu s možností osobního rozvoje s platem odpovídajícím Vašim schopnostem nabízí každý druhý. Jenže co jiného taky do několika řádkového inzerátu napsat, že? Proto jsem se rozhodl napsat tento článek, ve kterém bych Vám rád popsal, jak vyvíjíme u nás ve Forrestu - co používáme za nástroje, jak řídíme projekty, na kterých projektech pracujeme, jaká je možnost si u nás vyzkoušet nové technologie a všechny ty věci, na které stejně při každém přijímacím pohovoru přijde řeč s lidmi, kteří se zajímají. Článek možná bude zajímavý i pro ty z Vás, kteří práci nehledají - vždyť je to nakouknutí do cizí kuchyně a kdo z nás není aspoň trochu zvědavý, no ne?&lt;/div&gt;&#xA;&lt;div&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-1674&#34;&gt;&lt;/a&gt;Začnu s tím, co mě co by Javistu při příchodu do Forresta překvapilo:&lt;/div&gt;&#xA;&lt;div&gt;&#xA;&lt;h3 dir=&#34;ltr&#34;&gt;Různorodost projektů&lt;/h3&gt;&#xA;&lt;p&gt;Forrest vznikl nejdříve jako multimediální ateliér (15 let nazpět), vyrostl ve webovou agenturu, která řešila primárně &#34;statické weby&#34; a aktuálně řeší celou řadu bohatých webových aplikací. Každý týden na projektové komisi probíráme nové projekty s časovou dotací od několika týdnů až po jeden rok. Více než polovina projektů se týká stálých zákazníků, ale stále se udržujeme ve střehu účastmi v tendrech a &#34;new byznysem&#34;. Řešíme projekty, které žijí několik let, ale také projekty, které jsou jednorázové a mají předem danou životnost. Právě tyto projekty jsou skvělé pro zkoušení nových technologií a postupů, u kterých si dopředu nejsme jistí, jak se osvědčí. Zákazník to samozřejmě na kvalitě nepozná, ale pro nás je to škola. Na malých projektech nám navíc rostou budoucí šéfové projektů - začínají s tím na co stačí a když se osvědčí dostanou příště projekt náročnější.&lt;br /&gt;&#xA;Forrest dělá ale zajímavé projekty, které se dobře vyjímají v CVčku - děláme pro &lt;a href=&#34;http://www.cez.cz/cs/uvod.html&#34;&gt;ČEZ&lt;/a&gt;, &lt;a href=&#34;http://kb.cz/&#34;&gt;KB&lt;/a&gt;, &lt;a href=&#34;http://www.cilichili.cz/&#34;&gt;Vodafone&lt;/a&gt;, &lt;a href=&#34;http://www.cilichili.cz/&#34;&gt;Lagardere&lt;/a&gt;, &lt;a href=&#34;http://www.kb-blok.cz/&#34;&gt;KB-Blok&lt;/a&gt;, &lt;a href=&#34;http://www.hrad.cz/&#34;&gt;kancelář prezidenta&lt;/a&gt;, &lt;a href=&#34;http://www.gts.cz/&#34;&gt;GTS&lt;/a&gt; a řadu dalších.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jak se zbavit nepříjemných závislostí v testech</title>
      <link>https://blog.novoj.net/posts/2011-10-18-jak-se-zbavit-neprijemnych-zavislosti-v-testech/</link>
      <pubDate>Tue, 18 Oct 2011 01:00:44 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-10-18-jak-se-zbavit-neprijemnych-zavislosti-v-testech/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/10/mockito-300x139.jpg&#34; alt=&#34;&#34; title=&#34;Mockito&#34; width=&#34;150&#34; height=&#34;69&#34; class=&#34;alignleft size-medium wp-image-1662&#34; /&gt; Dnešní příspěvek bude velmi krátký. Je dost pravděpodobné, že podobné řešení už dávno máte ve svých tetovacích utilitkách, ale mě tato kombinace napadla relativně nedávno a jsem nadšený z toho, o jak elegantní řešení se pro testy jedná.&lt;/p&gt;&#xA;&lt;p&gt;V některých testech potřebuji vytvořit část Spring aplikačního kontextu, jehož některé beany mají závislost na nějaké další beaně, kterou je pro mne obtížné do testu zahrnout. Buď z důvodu, že její samotné vytvoření s vyžaduje další komplexní infrastrukturu okolo ní nebo třeba proto, že její zařazení do testovacího kontextu způsobuje při běhu testu vedlejší efekty (např. odeslání e-mailu).&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebExpo 2011</title>
      <link>https://blog.novoj.net/posts/2011-09-25-webexpo-2011/</link>
      <pubDate>Sun, 25 Sep 2011 20:53:01 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-09-25-webexpo-2011/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/09/logo_webexpo_0.jpg&#34; alt=&#34;&#34; title=&#34;logo_webexpo_0&#34; width=&#34;150&#34; height=&#34;87&#34; class=&#34;alignleft size-full wp-image-1648&#34; /&gt; Letošní WebExpo se skutečně vydařilo. Rozhodně se v něm nevyskytovaly žádné fatální problémy, jejichž jsem byl svědkem minulý rok. WebExpo má oproti jiným konferencím (konkrétně můžu porovnávat se zahraničními Java konferencemi) zvláštní atmosféru. Kromě toho, že se tam můžete setkat s velkým množstvím českých &#34;elit&#34;, je v něm i řada drobností, které potěší a pobaví. Letos mě například dostaly unikátní teasery promítané před každým blokem přednášek s fotkami a krátkým popisem přednášejících osobností se skvělou 8bitovou muzikou na pozadí. Skvělá je také myšlenka moderátorů, kteří uvádějí jednotlivé prezentace a dodávají každé místnosti osobitý nádech. Stánky v prezentační aule jsou na WebExpu ojedinělé - čajovnou počínaje přes letecký simulátor až ke stánku, kde jste se mohli nechat udělat masáž od profíka. &lt;/p&gt;</description>
    </item>
    <item>
      <title>UX - také terorizujete své uživatele přesnými formáty vstupních polí?</title>
      <link>https://blog.novoj.net/posts/2011-09-20-ux-take-terorizujete-sve-uzivatele-presnymi-formaty-vstupnich-poli/</link>
      <pubDate>Tue, 20 Sep 2011 16:28:57 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-09-20-ux-take-terorizujete-sve-uzivatele-presnymi-formaty-vstupnich-poli/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/09/datetime.png&#34; alt=&#34;&#34; title=&#34;datetime&#34; width=&#34;161&#34; height=&#34;78&#34; class=&#34;alignleft size-full wp-image-1630&#34; /&gt; Od začátku letošního roku pracujeme na drobných vylepšeních, které mají za cíl zlepšení uživatelské zkušenosti s našimi webovými aplikacemi. Kromě řady dalších věcí se naši UX odborníci zaměřili i na formuláře, které jsou standardní součástí většiny webů. O správném designu webových formulářů už toho bylo napsáno mnoho (viz. &lt;a href=&#34;#sources&#34;&gt;reference na konci článku&lt;/a&gt;) a v tomto článku je nechci opakovat. Jedním z požadavků, které dostali jako první byly automatické korekce zjevně špatných vstupů uživatele na místech, kde to je možné. Uvedu pár příkladů, které jste ještě donedávna mohli najít i na našich webech:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Binary Blood Day</title>
      <link>https://blog.novoj.net/posts/2011-08-28-binary-blood-day/</link>
      <pubDate>Sun, 28 Aug 2011 20:00:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-08-28-binary-blood-day/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/08/blood_donation.png&#34; alt=&#34;&#34; title=&#34;blood_donation&#34; width=&#34;83&#34; height=&#34;148&#34; class=&#34;alignleft size-full wp-image-1604&#34; /&gt; V nedávné době jsem se seznámil s &lt;a href=&#34;https://twitter.com/#!/joshis_tweets&#34; target=&#34;_blank&#34;&gt;Petrem Dvořákem&lt;/a&gt; z &lt;a href=&#34;http://www.inmite.eu/en&#34; target=&#34;_blank&#34;&gt;Inmite&lt;/a&gt;, který stojí za organizací tzv. &lt;a href=&#34;http://binarybloodday.com&#34; target=&#34;_blank&#34;&gt;Binary Blood Day&lt;/a&gt; a k této aktivitě jsem se s radostí připojil. O co se jedná? Ve zkratce jde o motivování lidí z oblasti IT k prvnímu darování krve (nebo dokonce k zápisu do registru dárců kostní dřeně). &lt;/p&gt;&#xA;&lt;p&gt;Nejbližší další termín, kdy společně na různých místech republiky darujeme krev je 9. září 2011. V případě, že byste kdokoliv váhali nad darováním krve jen z důvodu, že nevíte, jak to tam chodí, rád Vás na první darování krve v Pardubicích doprovodím. Další garanti této akce jsou i v dalších městech - v Plzni je to &lt;a href=&#34;https://twitter.com/#!/fersman&#34; target=&#34;_blank&#34;&gt;Petr Ferschmann&lt;/a&gt;, v Brně &lt;a href=&#34;https://twitter.com/#!/ondrabenes&#34; target=&#34;_blank&#34;&gt;Ondra Beneš&lt;/a&gt; a v Praze &lt;a href=&#34;https://twitter.com/#!/joshis_tweets&#34; target=&#34;_blank&#34;&gt;Petr Dvořák&lt;/a&gt;. Na akci (v Praze) budete moci potkat vývojáře z NetBeans týmu, Inmite a dalších známých společností, takže to je i dobrá příležitost, jak si dobře popovídat a seznámit se.&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2011 - audio z bleskových přednášek</title>
      <link>https://blog.novoj.net/posts/2011-08-16-jopenspace-2011-audio-z-bleskovych-prednasek/</link>
      <pubDate>Tue, 16 Aug 2011 20:37:28 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-08-16-jopenspace-2011-audio-z-bleskovych-prednasek/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/08/unconference-300x207.jpg&#34; alt=&#34;&#34; title=&#34;unconference&#34; width=&#34;200&#34; height=&#34;138&#34; class=&#34;alignleft size-medium wp-image-1580&#34; /&gt; Čtvrtý ročník ne-konference jOpenSpace se konal &lt;a href=&#34;http://srazy.info/j-openspace-2011/982&#34; target=&#34;_blank&#34;&gt;letos v červnu ve Vítkovicích v Krkonoších&lt;/a&gt; a k mé veliké lítosti tentokrát bez mé účasti. Zážitky mám tedy jen zprostředkované a musím říct, že sestava účastníků opět nezklamala - letos o to víc, protože se dostalo na novou krev a mezi geeky se objevila řada nových tváří. Vzhledem &lt;a href=&#34;http://twitter.com/#!/srakyi&#34; target=&#34;_blank&#34;&gt;Michalově&lt;/a&gt; pracovní vytíženosti se tentokrát organizace ujal &lt;a href=&#34;http://twitter.com/#!/jirifabian&#34;&gt;Filemon&lt;/a&gt; bývalý majitel firmy &lt;a href=&#34;http://www.jetminds.com/&#34; target=&#34;_blank&#34;&gt;JetMinds&lt;/a&gt; (nyní &lt;a href=&#34;http://www.vendavo.com/&#34; target=&#34;_blank&#34;&gt;Vendavo&lt;/a&gt;), za což mu patří náš dík, protože organizační stránka je vždy ta nepopulární (doufám File, že tě to neodradilo a příští rok se pátého ročníku budu moci zase zůčastnit i já). Navíc společnost JetMinds plně hradila ubytování, což většina z nás - rentiérů - samozřejmě nepotřebuje, ale drobnosti vždy potěší :-D.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Monitoring embeded video plays</title>
      <link>https://blog.novoj.net/posts/2011-07-10-monitoring-embeded-video-plays/</link>
      <pubDate>Sun, 10 Jul 2011 20:25:49 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-07-10-monitoring-embeded-video-plays/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/07/youtube-300x212.png&#34; alt=&#34;&#34; title=&#34;youtube&#34; width=&#34;150&#34; height=&#34;106&#34; class=&#34;alignleft size-medium wp-image-1562&#34; /&gt; This week I got a simple request from our customer - to count plays of videos embeded at their site. We currently support different kinds of players - from FLVs interpeted by &lt;a href=&#34;http://www.longtailvideo.com/players/jw-flv-player/&#34; target=&#34;_blank&#34;&gt;JwPlayer&lt;/a&gt;, &lt;a href=&#34;http://www.vimeo.com&#34; target=&#34;_blank&#34;&gt;Vimeo&lt;/a&gt;, &lt;a href=&#34;http://www.stream.cz&#34; target=&#34;_blank&#34;&gt;Czech Stream.cz&lt;/a&gt; to &lt;a href=&#34;http://www.youtube.com&#34; target=&#34;_blank&#34;&gt;YouTube&lt;/a&gt; movies. The task was so simple that I (fool) made a prototype only for FireFox and estimated at most few hours for the implementation. I couldn&#39;t have been dumber ...&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-1548&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2&gt;First attempt&lt;/h2&gt;&#xA;&lt;p&gt;The first and very naive attempt was to attach click handler via jQuery (but this didn&#39;t work at all): &lt;/p&gt;</description>
    </item>
    <item>
      <title>Groovy namísto shell skriptů</title>
      <link>https://blog.novoj.net/posts/2011-06-15-groovy-namisto-shell-skriptu/</link>
      <pubDate>Wed, 15 Jun 2011 00:00:39 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-06-15-groovy-namisto-shell-skriptu/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/05/groovy-logo-big-300x148.png&#34; alt=&#34;&#34; title=&#34;Groovy&#34; width=&#34;150&#34; height=&#34;74&#34; class=&#34;alignleft size-medium wp-image-1476&#34; /&gt; Pár shell skritpů jsem už napsal - jak pro Windows tak pro Linux, ale v tomto směru se považuji za naprostou lamu a to se ještě nějakou dobu nezmění. Proto jsem fascinovaně naslouchal &lt;a href=&#34;http://twitter.com/#!/mittie&#34; target=&#34;_blank&#34;&gt;Dierk Königovi&lt;/a&gt;, který na přednášce pražského CZJUGu zmiňoval &lt;a href=&#34;http://www.java.cz/dwn/1003/43677_Groovy_Usage_Patterns.pdf&#34; target=&#34;_blank&#34;&gt;použití Groovy pro psaní shell skriptů&lt;/a&gt;. Vyměnit jazyk proprietárního shellu, ve kterém toho moc neumím, za multiplatformní Groovy, kde jsem na výrazně pevnější půdě, se zdá jako perfektní nápad. Vše šlo tak hladce, že neváhám podobnou věc doporučit všem, co denně kódují na JVM.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Twitter like content auto load on scroll into view</title>
      <link>https://blog.novoj.net/posts/2011-06-04-twitter-like-content-auto-load-on-scroll-into-view/</link>
      <pubDate>Sat, 04 Jun 2011 21:27:06 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-06-04-twitter-like-content-auto-load-on-scroll-into-view/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/06/jquery-logo_0.png&#34; alt=&#34;&#34; title=&#34;jquery-logo_0&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-full wp-image-1507&#34; /&gt;I guess everyone of you already know content loading mechanism used on the &lt;a href=&#34;http://www.twitter.com&#34; target=&#34;_blank&#34;&gt;Twitter&lt;/a&gt; site. When you scroll down at the bottom of current page another content is loaded immediatelly without you clicking on any UI element. It&#39;s a very nice idea for AJAX powered listings and you&#39;d probably take advantage of it on your own site too. I came to the same conclusion also but it seems there is no single jQuery plugin enveloping this kind of mechanism. Searching Google you could find several articles describing how to implement similar funcionality with jQuery but you wouldn&#39;t find any jQuery plugin ready to use. So I decided to make one for this purpose - it&#39;s called &lt;a href=&#34;http://jquery.novoj.net/triggerOnView&#34; target=&#34;_blank&#34;&gt;TriggerOnView plugin&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GeeCON 2011</title>
      <link>https://blog.novoj.net/posts/2011-05-15-geecon-2011/</link>
      <pubDate>Sun, 15 May 2011 22:49:55 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-05-15-geecon-2011/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-1469&#34; title=&#34;GeeCON 2011&#34; src=&#34;https://blog.novoj.net/binary/2011/05/geecon_logo_1.jpg&#34; alt=&#34;&#34; width=&#34;195&#34; height=&#34;105&#34; /&gt; Polská konference GeeCON nabírá na popularitě a letos již byla s předstihem vyprodána. Možná to není takový tahák jako Google I/O, které se vyprodalo hned po 2 dnech, ale myslím, že pro Java pozitivního středoevropana je to jedna z velmi lákavých událostí roku. S kolegy z &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_blank&#34;&gt;Forresta&lt;/a&gt; jsme na ni vyrazili již v úterý, abychom se ve středu zúčastnili University day s rozšířenými (3h) prezentacemi na konkrétní témata.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jabber Shell</title>
      <link>https://blog.novoj.net/posts/2011-05-03-jabber-shell/</link>
      <pubDate>Tue, 03 May 2011 12:21:47 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2011-05-03-jabber-shell/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/04/jabber-e1304104507350.png&#34; alt=&#34;&#34; title=&#34;Jabber&#34; width=&#34;100&#34; height=&#34;150&#34; class=&#34;alignleft size-full wp-image-1410&#34; style=&#34;margin-left: 20px; margin-right: 20px;&#34; /&gt;Nápad použít &lt;a href=&#34;http://cs.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol&#34; target=&#34;_blank&#34;&gt;jabber&lt;/a&gt; jako příkazovou řádku k živému systému nás napadl asi před dvěma lety. Přestože se nám naše idea zdála velmi originální, jak se později zjistilo, nebyli jsme sami, koho podobná věc napadla. Existuje například implementace použití SSH přes Jabber protokol (&lt;a href=&#34;http://sourceforge.net/projects/jabsh/&#34; target=&#34;_blank&#34;&gt;JabSh&lt;/a&gt;) a možná by bylo možné při detailnějším hledání najít další. &lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;Co nás vůbec motivovalo o nějaké takové věci vůbec přemýšlet?&lt;/b&gt; &lt;/p&gt;&#xA;&lt;p&gt;Předně jsme vývojáři, kterým je příkazová řádka často bližší než sebelepší klikátka. Navíc klikátka umí milion věcí, které běžně nepotřebujeme - nám stačí jen pár základních úloh, které ovšem chceme provést velmi rychle a odkudkoliv. Ve firmě máme zprovozněný interní Jabber server (&lt;a href=&#34;http://www.igniterealtime.org/projects/openfire/index.jsp&#34; target=&#34;_blank&#34;&gt;Openfire Jabber Server&lt;/a&gt;) integrovaný s naším LDAP (s odpovídající politikou hesel), který je provozován přes SSL protokol a tudíž splňuje všechny bezpečnostní požadavky definované naším TA oddělením pro přístup zvenčí. Svůj jabber účet má každý &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_blank&#34;&gt;zaměstnanec Forresta&lt;/a&gt;, a mají ho také všichni po ruce (jeden klik nebo klávesová zkratka obvykle stačí) a to nejen ve firmě, ale i z domova. Klientů pro jabber protokoly je &lt;a href=&#34;http://xmpp.org/xmpp-software/clients/&#34; target=&#34;_blank&#34;&gt;nepřeberné množství pro všechny platformy&lt;/a&gt;, a to i dokonce pro platformy mobilní (Android, iPhone, Symbian). XMPP má řadu použitelných knihoven v Javě - konkrétně autoři Openfire Jabber Serveru dodávají i velmi kvalitní klientskou knihovnu &lt;a href=&#34;http://www.igniterealtime.org/downloads/source.jsp&#34; target=&#34;_blank&#34;&gt;Smack&lt;/a&gt;, kterou jsme si pro naše účely vybrali. Všechno tedy hrálo do karet nápadu použít jabber protokol jako bránu k našim interním systémům.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zamyšlení nad tvorbou programátorské dokumentace</title>
      <link>https://blog.novoj.net/posts/2011-03-16-zamysleni-nad-tvorbou-programatorske-dokumentace/</link>
      <pubDate>Wed, 16 Mar 2011 00:00:46 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-03-16-zamysleni-nad-tvorbou-programatorske-dokumentace/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/02/documentation-150x150.jpg&#34; alt=&#34;&#34; title=&#34;Businessman Overwhelmed with Paperwork&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-1371&#34; /&gt; Aktuálně ve &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_blank&#34;&gt;Forrestu&lt;/a&gt; revidujeme způsob vytváření dokumentace, nastavení standardů a bavíme se o tom, co a jak změnit. &lt;/p&gt;&#xA;&lt;p&gt;Motiv je jasný - nejsme spokojeni se současným stavem a v některých případech dokonce dost zásadně. Všichni známe to staré rčení &#34;nejlepší dokumentace je zdrojový kód&#34;, které pochází kdoví odkud (tipnul bych si, že za ním stojí eXtreme Programming, ale zdroj jsem vážně nenašel) - jenže je to omyl. Správná dokumentace může mít dost zásadní vliv na výslednou použitelnost / publicitu vašeho produktu / knihovny mezi programátory. &lt;/p&gt;</description>
    </item>
    <item>
      <title>Trápení s MySql JDBC driverem</title>
      <link>https://blog.novoj.net/posts/2011-03-02-trapeni-s-mysql-jdbc-driverem/</link>
      <pubDate>Wed, 02 Mar 2011 00:00:15 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-03-02-trapeni-s-mysql-jdbc-driverem/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2011/02/mysql.png&#34; alt=&#34;&#34; title=&#34;mysql&#34; width=&#34;120&#34; height=&#34;121&#34; class=&#34;alignleft size-full wp-image-1365&#34; /&gt; MySql databázi používáme jako standardní řešení datové vrstvy už hodně let. Prošli jsme si už pěknou řádku verzí JDBC ovladačů, ale jedna věc mě dostala vážně do kolen. Tak se pohodlně usaďte, protože dnešní příběh bude vážně dlouhý :-)&lt;/p&gt;&#xA;&lt;p&gt;Žil byl v jedné firmě programátor starající se malou generickou knihovnu pracující s JDBC. Jednoho krásného rána se probudil s jednou nově reportovanou issue ve svém trackeru ... ale ne, takhle by to vyprávění trvalo opravdu hodně dlouho ... vše začalo touto krásnou exception:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hackathon - RefactoringNG</title>
      <link>https://blog.novoj.net/posts/2011-02-12-hackathon-refactoringng/</link>
      <pubDate>Sat, 12 Feb 2011 02:05:09 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-02-12-hackathon-refactoringng/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/11/logo-minified.png&#34; alt=&#34;&#34; title=&#34;logo-minified&#34; width=&#34;150&#34; height=&#34;51&#34; class=&#34;alignleft size-full wp-image-1223&#34; /&gt; Dnes proběhl další hackathon, který se zaměřil na RefactorNG plugin do NetBeans. &lt;a href=&#34;http://kenai.com/projects/refactoringng&#34; target=&#34;_blank&#34;&gt;RefactoringNG&lt;/a&gt; je modul pro NetBeans, který slouží k automatizované refaktorizaci kódu. Pro bližší seznámení doporučuji projít existující články na Java.cz: &lt;/p&gt;&#xA;&lt;ul style=&#34;margin-left: 15em;&#34;&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://java.cz/article/refactoringng&#34;&gt;Úvod do RefactorNG&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://java.cz/article/refactoringngtovarna&#34;&gt;Refaktorizace - továrna&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://java.cz/article/refactoringngzamenametody&#34;&gt;Refaktorizace - záměna metody&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://java.cz/article/refactoringngevolucerozhrani&#34;&gt;Refaktorizace - evoluce rozhraní&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Plugin funguje tak, že v prostředí Netbeans můžete označit konkrétní Java zdrojáky (popř. balíky zdrojáků) a aplikovat na ně pravidla uložená v RNG souboru. Pravidla se skládají ze dvou částí - první obsahuje pattern, kterým se porovnává zkoumaný zdrojový Java soubor a pokud dojde ke shodě části AST stromu, je na tuto část aplikován pattern v druhé části pravidla, který provede požadované modifikace.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Můj přechod na Ubuntu</title>
      <link>https://blog.novoj.net/posts/2011-01-25-muj-prechod-na-ubuntu/</link>
      <pubDate>Tue, 25 Jan 2011 00:00:29 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-01-25-muj-prechod-na-ubuntu/</guid>
      <description>&lt;p&gt;&lt;img class=&#34;alignleft size-full wp-image-1344&#34; title=&#34;Ubuntu Logo&#34; src=&#34;https://blog.novoj.net/binary/2011/01/520px-Ubuntu_logo_copyleft_1.svg_.png&#34; alt=&#34;&#34; width=&#34;130&#34; height=&#34;130&#34; /&gt; Po roce nadávání na bídnou rychlost Windows a marném downgrade z Windows Vista na Windows XP před cca rokem (které můj problém ani náhodou nevyřešilo) jsem se rozhodl nainstalovat na mém pracovním stroji Linux. Měl jsem výhodu v tom, že někteří moji kolegové už tento systém provozují a mají rozchozené všechny základní věci, které jsou pro napojení na naše firemní zdroje zapotřebí (Exchange, Samba, Jabber atd. atd.).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Čtvrtý rok Myšlenek Otce Fura</title>
      <link>https://blog.novoj.net/posts/2011-01-03-ctvrty-rok-myslenek-otce-fura/</link>
      <pubDate>Mon, 03 Jan 2011 10:20:43 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2011-01-03-ctvrty-rok-myslenek-otce-fura/</guid>
      <description>&lt;p&gt;Blíží se konec roku a s ním přichází i nálada k bilancování. Ani já nebudu výjimkou a podívám na průběh roku 2010 pro mne samotného i pro tento blog. Neodpustím si ani pár statistik, které pro mne samotného jsou velmi zajímavé a užitečné. Jsem si vědom, že pro řadu z Vás může být obsah tohoto příspěvku nezajímavý a proto cítím povinnost Vás varovat předem :-).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-1293&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;style&gt;&#xA;.statistics, .pageStatistics {&lt;br /&gt;&#xA;   width: auto;&lt;br /&gt;&#xA;   text-align: left;&lt;br /&gt;&#xA;   font-size: 80%;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.statistics td {&lt;br /&gt;&#xA;  text-align: right;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.statistics th {&lt;br /&gt;&#xA;  padding-right: 20px;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics th {&lt;br /&gt;&#xA;  text-align: right;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics td {&lt;br /&gt;&#xA;  padding-right: 20px;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics .headerRow th {&lt;br /&gt;&#xA;   text-align: left;&lt;br /&gt;&#xA;   color: yellow;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;&lt;/style&gt;&#xA;&lt;h2&gt;Rekapitulace&lt;/h2&gt;&#xA;&lt;p&gt;Rok 2010 pro mě byl poměrně hektický - jak z hlediska pracovního, tak i osobního. To je hlavním důvodem toho proč se letos na blogu objevilo jen 21 článků, co je víc jak o 20% méně jak loni a předloni. Z toho důvodu vychází také hůře statistiky návštěvníků a celkové počty přístupů na web (cca o 18% méně):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fail-fast nebo Fail-tolerant?</title>
      <link>https://blog.novoj.net/posts/2010-12-21-fail-fast-nebo-fail-tolerant/</link>
      <pubDate>Tue, 21 Dec 2010 19:29:52 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-12-21-fail-fast-nebo-fail-tolerant/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/12/fail-tolerant.png&#34; alt=&#34;&#34; title=&#34;fail-tolerant&#34; width=&#34;136&#34; height=&#34;192&#34; class=&#34;alignleft size-full wp-image-1250&#34; /&gt; Zdá se mi (soudě dle mne samotného), že heslo &#34;fail-fast&#34; bylo a je po léta základní mantrou všech (Java?) vývojářů. Tento přístup má pro programátora pří vývoji aplikace řadu nesporných výhod:&lt;/p&gt;&#xA;&lt;ul style=&#34;padding-left: 15em;&#34;&gt;&#xA;&lt;li&gt;chyby jsou detekovány rychle a je levnější je opravit&lt;/li&gt;&#xA;&lt;li&gt;příčina selhání je jasně viditelná a zdroj pádu většinou přestavuje zdroj vlastní chyby&lt;/li&gt;&#xA;&lt;li&gt;chyby nejsou zanedbávány - každá musí být opravena aby systém fungoval&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Díky těmto výhodám se tahle technika velmi oblíbenou a intuitivně ji nasazujeme a používáme všude. Stejně tak i všichni okolo nás - od autorů aplikačních serverů, webových frameworků, až po tvůrce jednoúčelových knihoven.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hackathon - GPars, kolo první</title>
      <link>https://blog.novoj.net/posts/2010-11-18-hackathon-gpars-kolo-prvni/</link>
      <pubDate>Thu, 18 Nov 2010 22:07:59 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-11-18-hackathon-gpars-kolo-prvni/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/11/logo-minified.png&#34; alt=&#34;&#34; title=&#34;logo-minified&#34; width=&#34;150&#34; height=&#34;51&#34; class=&#34;alignleft size-full wp-image-1223&#34; /&gt;Tento víkend proběhl první &lt;a href=&#34;http://en.wikipedia.org/wiki/Hackathon&#34; target=&#34;_blank&#34;&gt;hackathon&lt;/a&gt; cílený na českou Java komunitu. Myšlenková podstata je převzata ze zahraničního projektu &lt;a href=&#34;http://hackergarten.net/&#34; target=&#34;_blank&#34;&gt;Hackergarten&lt;/a&gt;. Cílem našeho setkání je v rámci jednoho dne / večera vytvořit něco, co je možné kontribuovat v rámci open-source. Existují samozřejmě další pojetí hackathonu jako takového - jako zdroje dalších informací bych doporučil tyto články:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://mindscratch.org/2010/11/09/hackergarten-followup/&#34; target=&#34;_blank&#34;&gt;Zkušenosti s vedením skupiny Hackergarten&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://mindscratch.org/2010/11/07/interview-with-hamlet-darcy-about-hackergarten/&#34; target=&#34;_blank&#34;&gt;Interview s Hamletem D&#39;Arcy o motivech k založení Hackergarten&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://met.blog.root.cz/2010/11/05/hackathon-jako-bezpecny-sex/&#34; target=&#34;_blank&#34;&gt;Jakub Nešetřil: Hackathon je jako bezpečný sex. (Programátorské) požitky bez následků.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://met.blog.root.cz/2010/11/09/jakub-nesetril-hackathon-firmam-a-univerzitam/&#34; target=&#34;_blank&#34;&gt;Jakub Nešetřil: Hackathon doporučuji nejen programátorům, ale i firmám a univerzitám&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Základem práce je &lt;a href=&#34;http://en.wikipedia.org/wiki/Pair_programming&#34; target=&#34;_blank&#34;&gt;párové programování&lt;/a&gt; pod vedením člověka se zkušenostmi s danou open-source technologií. Užitek z tohoto večera si odnášíme všichni - &lt;a href=&#34;http://gpars.codehaus.org/&#34; target=&#34;_blank&#34;&gt;GPars&lt;/a&gt; má několik nových commitů, my všichni jsme se poměrně zblízka seznámili s některými aspekty této knihovny i Groovy samotného a skvěle jsme si zaprogramovali párově s lidmi, se kterými tuto možnost běžně nemáme.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to add your own dictionary to IntelliJ Idea Spellchecker</title>
      <link>https://blog.novoj.net/posts/2010-11-07-how-to-add-your-own-dictionary-to-intellij-idea-spellchecker/</link>
      <pubDate>Sun, 07 Nov 2010 22:47:46 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-11-07-how-to-add-your-own-dictionary-to-intellij-idea-spellchecker/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/11/dictionary1.jpg&#34; alt=&#34;&#34; title=&#34;dictionary&#34; width=&#34;150&#34; height=&#34;113&#34; class=&#34;alignleft size-full wp-image-1212&#34; /&gt; Spellchecking provided by IntelliJ Idea is very handy for those who are not confident in written English (such as me for example ;-) ). &lt;/p&gt;&#xA;&lt;p&gt;But for non-English speaking developers it&#39;s common to use (at least) two languages simultaneously - English for writing Javadoc, method and variable names and their native language (Czech, Polish ...) for strings in UI layer. Setuping Ideas&#39; spellchecker to validate string in multiple languages is more than handy. This article will guide you through setuping your native dictionary.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IntelliJ Idea X - na co se můžeme těšit?</title>
      <link>https://blog.novoj.net/posts/2010-11-01-intellij-idea-x-na-co-se-muzeme-tesit/</link>
      <pubDate>Mon, 01 Nov 2010 16:48:51 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-11-01-intellij-idea-x-na-co-se-muzeme-tesit/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/10/IdeaX.png&#34; alt=&#34;&#34; title=&#34;IdeaX&#34; width=&#34;200&#34; height=&#34;170&#34; class=&#34;alignleft size-full wp-image-1167&#34; /&gt;Ode dneška (1. listopadu 2010) bude pro zakoupené &lt;a href=&#34;http://www.jetbrains.com/idea/buy/buy.jsp&#34; target=&#34;_blank&#34;&gt;licence IntelliJ Idey 9&lt;/a&gt; k dispozici &lt;a href=&#34;http://blogs.jetbrains.com/idea/2010/11/free-upgrade-two-versions-of-intellij-idea-for-the-price-of-one/&#34; target=&#34;_blank&#34;&gt;upgrade na verzi 10 zdarma&lt;/a&gt;. Stejně tak pokud nyní upgradujete své starší verze Idey (6, 7, 8) na devítku, dostanete upgrade na 10 také zadarmo. To značí jedinou věc - vývoj IntelliJ Idea X  se blíží ke svému konci a během měsíce nebo dvou bychom se mohli dočkat finální verze. A v této verzi nás čekají skutečně zajímavé libůstky.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Co se skrývá pod pojmem OpenBeer</title>
      <link>https://blog.novoj.net/posts/2010-10-24-co-se-skryva-pod-pojmem-openbeer/</link>
      <pubDate>Sun, 24 Oct 2010 10:57:09 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-10-24-co-se-skryva-pod-pojmem-openbeer/</guid>
      <description>&lt;p&gt;Minulý týden jsme se podruhé sešli na tzv. &#34;OpenBeer&#34; setkání v Hradci Králové. Tady bych nyní chtěl rozkrýt pozadí a myšlenky, které se za tímto druhem akce skrývají. Nebudu zakrývat, že inspirace přišla od našich severních sousedů z polského Krakowa - kde termín &lt;a href=&#34;http://openbeer.pl/&#34; target=&#34;_blank&#34;&gt;OpenBeer&lt;/a&gt; vzniknul. Motivy, které mne vedly k tomu něco podobného zavést taky u nás, jsou jednoduché. &lt;/p&gt;&#xA;&lt;p&gt;Nevím, jak vy, ale já moc příležitostí popovídat si o IT nemám. V práci na to není moc času a ani doma, ani v mém okolí tohle téma zrovna moc nefrčí. Navíc, se člověk pohybuje neustále v tom samém okruhu lidí, kde se po nějaké době témata začnou opakovat. OpenBeer je skvělá příležitost, jak se jednou za čas odreagovat a nabrat inspiraci od nových lidí.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zrychlete svoji webovou aplikaci pomocí Partial Update</title>
      <link>https://blog.novoj.net/posts/2010-10-02-zrychlete-svoji-webovou-aplikaci-pomoci-partial-update/</link>
      <pubDate>Sat, 02 Oct 2010 12:51:11 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-10-02-zrychlete-svoji-webovou-aplikaci-pomoci-partial-update/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/08/recycle_sign1-150x150.jpg&#34; alt=&#34;&#34; title=&#34;recycle_sign[1]&#34; width=&#34;150&#34; height=&#34;150&#34; class=&#34;alignleft size-thumbnail wp-image-1055&#34; /&gt;Partial update neboli částečná aktualizace stránky (pomocí AJAXu) není technika zrovna nová. Po pravdě řečeno však stále není běžná, přestože její správné použití může velmi pozitivní dopady na celkový výkon systému a také je velmi dobře přijímána uživateli. Na otázku proč, můžeme odpovědět problematickou podporou ve frameworcích - některé se na jedné straně snaží o maximální odstínění programátorů od JavaScriptu, čímž z dané techniky dělají věc více méně magickou - jinde naopak použití vyžaduje větší než malé znalosti &#34;skriptování&#34;, což zase většinu Javistů, paradoxně, vyřadí ze hry.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebExpo 2010 - sobota</title>
      <link>https://blog.novoj.net/posts/2010-09-25-webexpo-2010-sobota/</link>
      <pubDate>Sat, 25 Sep 2010 21:54:35 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-09-25-webexpo-2010-sobota/</guid>
      <description>&lt;p&gt;Sobotní den mi zlepšil včerejší pocit z WebExpa poměrně radikálně. Dnes jsem měl více méně štěstí na přednášky, takže jsem většinu dne strávil podle mého vkusu. Organizační část se nijak výrazně nezlepšila, nicméně co se týká složení programu a osobnostní v něm, musím pochválit. Navíc se mi po letech &#34;poštěstilo&#34; ochutnat onen klasický rozblemcaný školní špenát, což je zážitek, na který budu zase hodně dlouho zapomínat. Ráno začalo poměrně vlažně přednáškou o &lt;b&gt;Continuous delivery&lt;/b&gt;, ve které jsem si myslel, že se dozvím něco víc o závěrečné části - tedy o té &#34;delivery&#34;. Bohužel Aleš Roubíček rozebral pouze základní principy CI, které jsou erudovanější části IT publika známé už nějaký ten pátek.&lt;/p&gt;</description>
    </item>
    <item>
      <title>WebExpo 2010 - pátek</title>
      <link>https://blog.novoj.net/posts/2010-09-24-webexpo-2010-patek/</link>
      <pubDate>Fri, 24 Sep 2010 21:25:15 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-09-24-webexpo-2010-patek/</guid>
      <description>&lt;p&gt;Na WebExpo jsem letos vyrazil poprvé a docela jsem se těšil. Nabízelo poměrně atraktivní mix ze světa webových vývojářů - obchodem počínaje, přes kreativu a použitelnost až k programování. Ne všechno co vypadá dobře na papíře (webu) je ale takové i ve skutečnosti. Pocit, který si z WebExpa dnes odnáším by se dal popsat jedině slovem &#34;nevyrovnané výkony&#34; - a to jak z hlediska organizačního, tak i z hlediska prezentací. Mám-li být hned zkraje kritický, myslím, že některé věci by už na 3. ročníku měly být vychytané. Registrace nebyla připravená na takový nápor lidí a řada účastníků tak přišla o první prezentace, jen pro to, že musela stát frontu jak na banány před revolucí. V materiálech, které jsme dostali s registrací kompletně chyběl program a nějaká mapka, která by lidem usnadnila orientaci v areálu Univerzity (taktéž heslo pro WI-FI v materiálech chybělo). Některé věci (bloky, trička), zdá se, byly jen na požádání pro ty, co věděli kam jít. Dalším klasickým nedostatkem (což je ovšem standard všech konferencí, na kterých jsem byl) je nedostatek elektrických zásuvek - už si to musím někam zapsat, abych si vždycky s sebou bral alespoň pěti-psa.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Traktát o vzdělání programátorově</title>
      <link>https://blog.novoj.net/posts/2010-08-21-traktat-o-vzdelani-programatorove/</link>
      <pubDate>Sat, 21 Aug 2010 12:44:43 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-08-21-traktat-o-vzdelani-programatorove/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://blog.novoj.net/binary/2010/08/learn_minified.jpg&#34;&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/08/learn_minified.jpg&#34; alt=&#34;&#34; title=&#34;learn_minified&#34; width=&#34;182&#34; height=&#34;137&#34; class=&#34;alignleft size-full wp-image-1013&#34; /&gt;&lt;/a&gt; Po sadě technických článků bych rád napsal zase jeden trošku filozofického charakteru. Rád bych se v něm zamyslel nad způsoby, které používám pro své vlastní vzdělávání a faktory, které osobně vnímám jako pozitivní. Snad každému je jasné, že ten kdo na sobě dál nepracuje může v našem oboru těžko dlouhodobě něco dokázat (a být lépe placen ;-)) a proto se zamyšlení nad tím, jak se vzdělávat co nejefektivněji, určitě hodí každému.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When does your Spring @Transactional attribute apply on CgLib proxies</title>
      <link>https://blog.novoj.net/posts/2010-08-10-when-does-your-spring-transactional-attribute-apply-on-cglib-proxies/</link>
      <pubDate>Tue, 10 Aug 2010 20:05:39 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-08-10-when-does-your-spring-transactional-attribute-apply-on-cglib-proxies/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://blog.novoj.net/binary/2010/08/spring-logo-blue.gif&#34;&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/08/spring-logo-blue.gif&#34; alt=&#34;&#34; title=&#34;spring-logo-blue&#34; width=&#34;243&#34; height=&#34;107&#34; class=&#34;alignleft size-full wp-image-1005&#34; /&gt;&lt;/a&gt;Testing transactional aspect of your application is not easy as we usually use Springs&#39; transaction rollback on tear down testing approach. Though &lt;a href=&#34;http://blog.novoj.net/2008/09/20/testing-aspect-pointcuts-is-there-an-easy-way/&#34;&gt;there are solutions to test aspect oriented logic&lt;/a&gt; it&#39;s not without a price. More than that - we very much got used relying on easy-to-use Spring @Transaction annotation so that we don&#39;t usually take an effort to do it. There is a few standard Spring rules for rollbacking transaction in relation to method resolution:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jak jednoduše simulovat v testech HTTP server</title>
      <link>https://blog.novoj.net/posts/2010-07-08-jak-jednoduse-simulovat-v-testech-http-server/</link>
      <pubDate>Thu, 08 Jul 2010 06:06:52 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-07-08-jak-jednoduse-simulovat-v-testech-http-server/</guid>
      <description>&lt;div style=&#34;border: 1px solid white; background-color: #333333; font-size: 90%; margin-top: 20px;&#34;&gt;&#xA;&lt;p&gt;&lt;a title=&#34;Pavel Jetensky&#34; href=&#34;http://jetensky.net/download/files/Selenium%20testovani%20-%20zaklady.mp3&#34;&gt;&lt;img style=&#34;margin-left: 10px; margin-right: 10px;&#34; src=&#34;https://blog.novoj.net/binary/2008/09/pavel.jpg&#34; alt=&#34;Pavel Jetensky&#34; width=&#34;49&#34; height=&#34;62&#34; align=&#34;left&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;O autorovi: &lt;/strong&gt;&lt;a href=&#34;http://jetensky.net/blog&#34;&gt;Jetyho blog&lt;/a&gt; | &lt;a href=&#34;http://www.linkedin.com/in/paveljetensky&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p style=&#34;margin: 10px;&#34;&gt;Pavel Jetenský se věnuje Java/J2EE vývoji již od roku 2003, z toho několik let v Irsku. Zajímají ho techniky automatického testování. V současné době pracuje jako metodický vedoucí Java/J2EE v Deltax Systems a.s.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Občas při tvorbě automatických testů potřebujeme otestovat funkcionalitu, která stahuje nějaká data z Internetu. V mém případě to byla funkce na stahování seznamu zneplatněných certifikátů (CRL). Původně jsem měl automatický test napsaný tak, že se seznam skutečně stahoval. To bylo nevýhodné ze dvou důvodů:&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2010</title>
      <link>https://blog.novoj.net/posts/2010-06-08-jopenspace-2010/</link>
      <pubDate>Tue, 08 Jun 2010 20:12:59 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-06-08-jopenspace-2010/</guid>
      <description>&lt;p&gt;Opět po roce proběhla - v pořadí již třetí - ne-konference nesoucí název &lt;a href=&#34;http://www.jopenspace.cz&#34; target=&#34;_blank&#34;&gt;jOpenSpace&lt;/a&gt;. Na ní se každoročně setkávají zajímaví lidé z celé republiky, které spojuje jediné téma a tím je Java a vývoj aplikací. Základem konference jsou tzv. lightning talky, což jsou mini-přednášky na vybraná témata. Některá z nich se mi podařilo nahrát a v tomto článku je dávám se svolením autorů ke stažení ve formě podcastů. Kromě toho, že některé z nich obsahují skutečně velmi zajímavé informace, je na nich lákavé především to, že s nimi neztratíte moc času - jejich délka se pohybuje do 6 do 25 minut. Takže neváhejte a stahujte ...&lt;/p&gt;</description>
    </item>
    <item>
      <title>GeeCON 2010 - Den druhý</title>
      <link>https://blog.novoj.net/posts/2010-05-14-geecon-2010-den-druhy/</link>
      <pubDate>Fri, 14 May 2010 18:48:02 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-05-14-geecon-2010-den-druhy/</guid>
      <description>&lt;p&gt;Po včerejší after párty se mi dneska skutečně nechtělo příliš vstávat. Niméně diskuse s Hansem Dockterem (autorem Gradle) skutečně stála za to. Hans je skutečně mimořádný člověk se skvělými názory - přidávám další bodík pro Gradle. Styl, jakým se Gradle vyvíjí a filozofie, která za ním stojí, se mi skutečně zamlouvá. U dikuse byl také Vašek Pech z JetBrains, který má na svém kontě také samostatný OS projekt GPars, takže se diskuse odvíjela i na téma zkušeností s vedením OS projektu, respektive firmy, která je živa z konzultací a školení spojených s daným OS projektem. Tyhle chvilky jsou zkrátka na konferencích asi to nejlepší - dostat se do kontaktu s výjimečnými lidmi a mít možnost s nimi mluvit tváří v tvář. Jsem opravdu rád, že tyhle &#34;výlety&#34; na konference jsou ve &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_blank&#34;&gt;Forrestu&lt;/a&gt; možné, protože to zdaleka není samozřejmost.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GeeCON 2010 - den první</title>
      <link>https://blog.novoj.net/posts/2010-05-13-geecon-2010-den-prvni/</link>
      <pubDate>Thu, 13 May 2010 20:14:09 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-05-13-geecon-2010-den-prvni/</guid>
      <description>&lt;p&gt;V letošním roce jsme s kolegy z Forresta vyrazili na GeeCON v Poznani. Podle referencí z loňského roku se jednalo o velmi dobrou akci, takže jsme plni očekávání vyrazili směr Balt. Cesta do Poznani byla velmi jednoduchá - z Náchoda je to furt rovně :-) , překvapily mne příjemně stavy silnic - takovou po které jsme jeli my aby člověk v Čechách pohledal. Nakonec jsme do Poznani ve zdraví dorazili - čekal jsem spíš menší město a tak mě překvapilo, že Poznaň je větší než Brno. Pro zvědavce přikládám &lt;a href=&#34;http://picasaweb.google.com/geecon.org/GeeCON2010#&#34; target=&#34;_blank&#34;&gt;pár fotek z akce od organizátorů&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Názvy argumentů metod v reflexi</title>
      <link>https://blog.novoj.net/posts/2010-04-26-nazvy-argumentu-metod-v-reflexi/</link>
      <pubDate>Mon, 26 Apr 2010 11:29:13 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2010-04-26-nazvy-argumentu-metod-v-reflexi/</guid>
      <description>&lt;p&gt;Člověk neznalý věci by mohl nabýt dojmu, že přes reflexi v Javě půjdou získat všechny informace, které se v signaturách tříd a metod nacházejí. Reflexe v Javě je skutečně velmi mocná, nicméně k některým informacím se nedostává jednoduše (&lt;a href=&#34;http://blog.novoj.net/2010/03/19/orisek-v-reflexni-analyze-generik/&#34; target=&#34;_blank&#34;&gt;jak jsme si ukázali v minulém článku&lt;/a&gt;) a k některým se bohužel nedokážete dostat vůbec. Do té posledně jmenované kategorie právě patří názvy argumentů metod. A právě o nich se chci dnes rozepsat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Oříšek v reflexní analýze generik</title>
      <link>https://blog.novoj.net/posts/2010-03-19-orisek-v-reflexni-analyze-generik/</link>
      <pubDate>Fri, 19 Mar 2010 08:14:42 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-03-19-orisek-v-reflexni-analyze-generik/</guid>
      <description>&lt;p&gt;Minulý týden jsem řešil zajímavý problém s reflexí a došel jsem k závěru, že generiky v reflexním API jsou opravdu velká legrace. Prototypoval jsem myšlenku automatického generování implementací nad obecným kontejnerem - dejme tomu Map&lt;String, Object&gt; (což není pro účely tohoto článku zase až tak důležité), a došel jsem k potřebě správně číst generické informace z deklarací tříd. Právě této, na první pohled jednoduché, věci, bych chtěl věnovat dnešní článek.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vyhodnocení iBatis 3 Workshopu</title>
      <link>https://blog.novoj.net/posts/2010-03-05-vyhodnoceni-ibatis-3-workshopu/</link>
      <pubDate>Fri, 05 Mar 2010 22:00:48 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-03-05-vyhodnoceni-ibatis-3-workshopu/</guid>
      <description>&lt;p&gt;Tento týden proběhl workshop na téma iBatis 3 v Národní technické knihovně. Na workshopu jsem vyhlásil soutěž o licenci vývojového prostředí IntelliJ Idea 9 - Ultimate Edition a v tomto příspěvku najdou soutěžící jak moji verzi řešení příkladů, tak i výsledné vyhodnocení. Kompletní řešení všech testů, které jsme v průběhu workshopu probírali najdete v GitHub repository na stejném místě jako původně (stačí si &#34;pullnout&#34; novou verzi zdrojových kódů):&lt;/p&gt;&#xA;&lt;div align=&#34;right&#34;&gt;&lt;b&gt;Sponzor přednášky:&lt;/b&gt;&lt;br&gt;&lt;a href=&#34;https://blog.novoj.net/binary/2010/03/logo_jetbrains1.png&#34;&gt;&lt;img src=&#34;https://blog.novoj.net/binary/2010/03/logo_jetbrains1.png&#34; alt=&#34;&#34; title=&#34;logo_jetbrains&#34; width=&#34;120&#34; height=&#34;46&#34; class=&#34;alignright size-full wp-image-839&#34; /&gt;&lt;/a&gt;&lt;/div&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GIT klient: git://github.com/novoj/iBatisWorkShop.git&lt;/li&gt;&#xA;&lt;li&gt;HTTP: &lt;a href=&#34;http://github.com/novoj/iBatisWorkShop/tree/master&#34; target=&#34;_blank&#34;&gt;http://github.com/novoj/iBatisWorkShop/tree/master&lt;/a&gt;&lt;br&gt;(v menu odkaz Download sources)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Děkuji ještě jednou všem, kdo si našli cestu na seminář a kdo se i po něm za mnou zastavili a řekli mi svůj názor na jeho formu a průběh (speciální díky patří &lt;a href=&#34;http://vsadnajavu.cz/2010-03/databaze/ibatis-3-workshop/&#34; target=&#34;_blank&#34;&gt;chlapcům z MoroSystems za jejich příspěvek na blogu&lt;/a&gt;). Není totiž horší pocit než, když se jako přednášející dobu potíte vedle projektoru, pak se publikum potichu rozuteče a vy odcházíte z rozpačitým pocitem a otázkou, jestli to nakonec mělo smysl. Jsem rád, že, pokud nic jiného, tenhle workshop nějaké emoce vyvolal a ke konci za mnou zašlo hodně lidí, a měl jsem šanci si udělat obrázek o tom, jestli jsem to vzal za ten správný konec.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pozvánka na CZJUG Workshop věnovaný iBatis 3</title>
      <link>https://blog.novoj.net/posts/2010-02-20-pozvanka-na-czjug-workshop-venovany-ibatis-3/</link>
      <pubDate>Sat, 20 Feb 2010 22:03:55 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-02-20-pozvanka-na-czjug-workshop-venovany-ibatis-3/</guid>
      <description>&lt;p&gt;Rád bych vás všechny pozval na workshop na téma &lt;a href=&#34;http://ibatis.apache.org/java.cgi&#34; target=&#34;_blank&#34;&gt;iBatis 3&lt;/a&gt; konaný 3. března 2010 od 18 hodin v rámci CZ JUG setkání (pozor tato praktická setkání se konají v Národní technické knihovně v Praze - Dejvicích - viz. mapka dole). &lt;a href=&#34;http://ibatis.apache.org/java.cgi&#34; target=&#34;_blank&#34;&gt;iBatis&lt;/a&gt; je framework pro mapování dat uložených v relační databázi na Java objekty. Už po několik let je zajímavou alternativkou k ORM frameworkům postaveným na JPA (jehož typickým představitelem je &lt;a href=&#34;https://www.hibernate.org/&#34; target=&#34;_new&#34;&gt;Hibernate&lt;/a&gt;). Mottem &lt;a href=&#34;http://ibatis.apache.org/java.cgi&#34; target=&#34;_blank&#34;&gt;iBatisu&lt;/a&gt; je zjednodušit vývojářům práci s databází a přitom zůstat tak jednoduchý, jak jen to je možné. Právě jednoduchostí a nízkoúrovňovým přístupem k databázi si získal celou řadu vývojářů a v řadě případů poráží i daleko silnější frameworky.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Commons DBCP industriální standard s chybami</title>
      <link>https://blog.novoj.net/posts/2010-02-07-commons-dbcp-industrialni-standard-s-chybami/</link>
      <pubDate>Sun, 07 Feb 2010 20:48:31 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-02-07-commons-dbcp-industrialni-standard-s-chybami/</guid>
      <description>&lt;p&gt;V rámci zátěžových testů, které jsem v minulém týdnu prováděl jsem přišel na jednu zajímavou věc. Při velké zátěži došlo k &#34;zaseknutí&#34; Tomcatu, ze kterého se systém již nedokázal zotavit. Průvodním jevem byly otevřené konekce na databázi, přes které neprocházely žádné dotazy (tj. databáze nic nedělala), nulové zatížení procesoru Tomcatem, žádné Exception v logu. Příznaky nasvědčovaly tomu, že problém vězel v nějakých deadloccích - buď při práci s konekcemi do databáze nebo mezi aplikačními vlákny.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL nebezpečí průtokových tabulek, zamyšlení nad insert into ... select from</title>
      <link>https://blog.novoj.net/posts/2010-02-02-mysql-nebezpeci-prutokovych-tabulek-zamysleni-nad-insert-into-select-from/</link>
      <pubDate>Tue, 02 Feb 2010 20:45:31 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-02-02-mysql-nebezpeci-prutokovych-tabulek-zamysleni-nad-insert-into-select-from/</guid>
      <description>&lt;p&gt;Je to asi rok co jsem psal &lt;a href=&#34;http://blog.novoj.net/2008/08/23/mysql-temporary-tables-inside-transaction-and-the-magic-of-implicit-commit/&#34; target=&#34;_blank&#34;&gt;článek o implicitních commitech při provádění DDL příkazů&lt;/a&gt;. Řešil jsem tehdy problém velmi složitého selectu, který se výrazně zjednodušil, pokud jsem jej rozdělil na dvě části s uložením mezivýsledků. Jelikož jsem potřeboval zachovat transakčnost, nemohl jsem využít temporárních tabulek a šel jsem cestou stálé tabulky s aplikačním hashem rozlišující mezivýsledky jednotlivých transakcí mezi sebou. To jsem ještě netušil, jaké mi to přinese komplikace ...&lt;/p&gt;</description>
    </item>
    <item>
      <title>7 tipů pro práci v Debug režimu v IntelliJ Idea</title>
      <link>https://blog.novoj.net/posts/2010-01-05-7-tipu-pro-praci-v-debug-rezimu-v-intellij-idea/</link>
      <pubDate>Tue, 05 Jan 2010 21:06:37 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2010-01-05-7-tipu-pro-praci-v-debug-rezimu-v-intellij-idea/</guid>
      <description>&lt;p&gt;Před lety jsem psal &lt;a href=&#34;http://blog.novoj.net/2007/04/09/debugging-v-praxi-%E2%80%93-opravdu-samozrejmost/&#34;&gt;článek o debugování aplikací v Javě&lt;/a&gt;. K mému překvapení jsem se totiž setkal s programátory, kteří v Javě k debugování kódu používali System.out(...) místo debug režimu. Po letech otvírám stejné téma z jiného pohledu. Jak efektivně používáme nástroje debug režimu, které nám naše IDE nabízí? Je totiž plno situací, kdy se můžeme s debugováním dost nadřít, nebo ... vědět co a jak v daném okamžiku nastavit tak, abychom se k výslednému pochopení problému dostali zkratkou. IntelliJ Idea těchto nástrojů nabízí celou řadu a v tomto článku bych rád rozebral několik z nich, které sám rád používám.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Třetí rok Myšlenek Otce Fura</title>
      <link>https://blog.novoj.net/posts/2009-12-29-treti-rok-myslenek-otce-fura/</link>
      <pubDate>Tue, 29 Dec 2009 22:14:44 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-12-29-treti-rok-myslenek-otce-fura/</guid>
      <description>&lt;p&gt;Tradic je nutno se držet - i když je to jen tradice dvouletá. Proto i letos rekapituluji dění na mém blogu výtahem několika málo statistik, které mám k dispozici a také informacemi z mého osobního života, které mají s blogem souvislost. Doufám, že tím milé čtenáře neurazím, že v mé závěrečné rekapitulaci (kterou dělám i kvůli sám sobě) najdou pár zajímavých informací.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-723&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;style&gt;&#xA;.statistics, .pageStatistics {&lt;br /&gt;&#xA;   width: auto;&lt;br /&gt;&#xA;   text-align: left;&lt;br /&gt;&#xA;   font-size: 80%;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.statistics td {&lt;br /&gt;&#xA;  text-align: right;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.statistics th {&lt;br /&gt;&#xA;  padding-right: 20px;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics th {&lt;br /&gt;&#xA;  text-align: right;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics td {&lt;br /&gt;&#xA;  padding-right: 20px;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics .headerRow th {&lt;br /&gt;&#xA;   text-align: left;&lt;br /&gt;&#xA;   color: yellow;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;&lt;/style&gt;&#xA;&lt;h2&gt;Rekapitulace&lt;/h2&gt;&#xA;&lt;p&gt;V letošním roce jsem měl o něco málo více čtenářů než v roce minulém. Počty přístupů odrážejí i skutečnost, že se díky vyhledávačům dostávají čtenáři i ke starším příspěvkům, kterých není na blogu úplně málo (v současné době je 91 publikovaných článků). Těší mě dvojnásobný nárůst čtenářů, kteří sledují novinky na blogu přes RSS čtečku - podle statistik zdrojů provozu většina z vás přichází právě buď přes RSS čtečky, z portálu Java.cz nebo při hledání rad přes Google.com. Tento fakt je patrný už ze statistik minulého roku, nicméně letos, řekl bych, většina lidí konvertovala právě k RSS formě odběru.&lt;/p&gt;</description>
    </item>
    <item>
      <title>7 tipů pro práci s VCS v IntelliJ Idea</title>
      <link>https://blog.novoj.net/posts/2009-12-13-7-tipu-pro-praci-s-vcs-v-intellij-idea/</link>
      <pubDate>Sun, 13 Dec 2009 22:40:46 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-12-13-7-tipu-pro-praci-s-vcs-v-intellij-idea/</guid>
      <description>&lt;p&gt;Znát velmi dobře IDE, se kterým pracujete deno denně, je pro vaši produktivitu zcela zásadní. Poslední rok mne utvrdil v tom, že přesto že IntelliJ Ideu používám už několik let, přesto je plno věcí, které nevím a které mi nakonec ušetří plno práce. Příkladem budiž pár klávesových zkratek o kterých jsem absolutně nevěděl a které jsem se dozvěděl teprve z &lt;a href=&#34;http://refcardz.dzone.com/announcements/upgrading-intellij-idea-81-get&#34; target=&#34;_blank&#34;&gt;DZone IntelliJ Cheatsheetu od Hamleta D&#39;Arcyho&lt;/a&gt; - kupříkladu:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Ctrl+Shift+Insert&lt;/strong&gt; - vertikální výběr oblasti (skvělé pro hromadné úpravy CSV souborů, SQL apod.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Ctrl+Shift+U&lt;/strong&gt; - změna case vybraného textu (tzn. na upper-case nebo lower-case)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Ctrl+Alt+Left, Ctrl+Alt+Right&lt;/strong&gt; - posun na předchozí / následující lokaci kurzoru (používal jsem ikony) - skvělé pokud si prohlížíte jinou část třídy, včetně přesunutí kurzoru a pak se chcete vrátit rychle zpět&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;F11&lt;/strong&gt; - vložení rychlého bookmarku do kódu, který se vám ukazuje po pravé straně a je možné se na něj rychle vrátit&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Možná, že teda i já vím pár věcí, které tak úplně známé nejsou, a třeba někomu z vás pomůžou.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Groovy - making existing objects refreshable</title>
      <link>https://blog.novoj.net/posts/2009-11-29-groovy-making-existing-objects-refreshable/</link>
      <pubDate>Sun, 29 Nov 2009 10:50:47 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-11-29-groovy-making-existing-objects-refreshable/</guid>
      <description>&lt;p&gt;In the last post I described the basic principles I found behind the scenes of GroovyScript refresh. Now imagine that you want to create your own long living Groovy instances with auto-refresh behaviour when source code changes. You can use out-of-the-box Spring support - but there are some limitations I stated in the previous article.&lt;/p&gt;&#xA;&lt;p&gt;In this post I am going to present an alternative solution that addresses some of the painful issues I noticed. As I stated before, key is to &lt;cite&gt;wrap the reference to Groovy instance into an another object managed by the Java class loader&lt;/cite&gt; and that is exactly the main point of the solution presented.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The secret of Groovy script refresh</title>
      <link>https://blog.novoj.net/posts/2009-11-08-the-secret-of-groovy-script-refresh/</link>
      <pubDate>Sun, 08 Nov 2009 22:32:04 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-11-08-the-secret-of-groovy-script-refresh/</guid>
      <description>&lt;p&gt;The first thing one should undestand before he tries to integrate scripting support into his application / framework are class loading issues. One of the main reasons (next to the ability to easily switch from Java) why we have chosen Groovy as our primary scripting language is very good support for live refresh of Groovy classes when source file has changed. But what does Groovy exactly do when it &#34;refreshes&#34; its loaded classes to conform to a newly modified source file? What about existing instances referencing to this class? Is it even possible in JVM to change class structure in runtime? Yes JavaRebel can do this, but it needs special setup and debug mode for hotswap. And how does all this fit into the existing Spring support? From the documentation it seems, that it all just magically works! Dozens of questions ran in my mind when I started to strive for Groovy integration in our product. Those questions gets answered in this article.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Import velkých dat do MySQL</title>
      <link>https://blog.novoj.net/posts/2009-10-06-import-velkych-dat-do-mysql/</link>
      <pubDate>Tue, 06 Oct 2009 13:14:48 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-10-06-import-velkych-dat-do-mysql/</guid>
      <description>&lt;p&gt;Ještě něž jsem zahájil svou dovolenou, jsme při dokončování projektu narazili na výkonnostní problém při velkém importu dat do MySQL databáze. V našem případě se jednalo o cca 30 tisíc záznamů do tří tabulek navzájem provázaných cizími klíči. Úvodní verze importního algoritmu trvala cirka 50 minut, po dvou dnech jsme se dostali na jednotky minut. Nedalo mi to, a udělal jsem pár testů, které snaží tento problém rozkrýt do většího detailu, tak abych pro příště věděl, co a především jak významně ovlivňuje rychlost importu takto rozsáhlých dat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>iBatis 3.0 preview - část druhá</title>
      <link>https://blog.novoj.net/posts/2009-08-23-ibatis-30-preview-cast-druha/</link>
      <pubDate>Sun, 23 Aug 2009 11:22:23 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-08-23-ibatis-30-preview-cast-druha/</guid>
      <description>&lt;p&gt;V &lt;a href=&#34;http://blog.novoj.net/2009/08/16/ibatis-30-preview-cast-prvni/&#34;&gt;předchozím článku&lt;/a&gt; jsme si ukázali vylepšení iBatisu v souvislosti s XML deklaracemi. Tento navazující článek rozebírá novinky v oblasti Java API. Základem pro toto rozšíření se staly vlastnosti dostupné od verze Javy 1.5 - tedy generiky a anotace. Jednou z velkých kritik původního iBatisu bylo množství XML, které bylo nutné psát. Našlo se mnoho lidí, kterým tento přístup vadil a kteří by spíše uvítali mít vše na jednom místě v kódu. Autoři tyto kritiky vyslyšeli a vytvořili plnohodnotné API, před které je možné využít libovolnou funkcionalitu iBatisu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>iBatis 3.0 preview - část první</title>
      <link>https://blog.novoj.net/posts/2009-08-16-ibatis-30-preview-cast-prvni/</link>
      <pubDate>Sun, 16 Aug 2009 11:22:27 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-08-16-ibatis-30-preview-cast-prvni/</guid>
      <description>&lt;p&gt;Po letech jsme se konečně dočkali třetí verze populární knihovny iBatis. Nová verze přináší velkou řadu novinek a jedná se o kompletní rewrite, který využívá generik, anotací a dalšího API Javy 1.5. iBatis je prozatím ve verzi Beta 1 (doposud ještě není dostupný ani v Maven repository), ale doufejme že nebude dlouho trvat a dočkáme se verze stabilní. &lt;/p&gt;&#xA;&lt;p&gt;Společně s iBatisem vychází i úplně nový produkt iBATIS Schema Migration System inspirovaný Rails Migrations. Migrations představují podporu pro konzistentní úpravy databázových schémat s důrazem na: konzistenci, opakovatelnost, reverzibilnost, verzování, auditovatelnost a automatizaci. Jedná se o nástroj pro příkazovou řádku, s jehož pomocí je možné systémově vytvářet a spravovat databázové change skripty, které jsou přehledné, dají se kdykoliv revertovat a měly by výrazně ulehčit práci v týmu (pro čtenáře z Forresta: pokud vám to připomíná náš DbAutoupdater, jste doma :-) ).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odlišujete v aplikaci vývojové, testovací a produkční prostředí?</title>
      <link>https://blog.novoj.net/posts/2009-08-07-odlisujete-v-aplikaci-vyvojove-testovaci-a-produkcni-prostredi/</link>
      <pubDate>Fri, 07 Aug 2009 14:02:28 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-08-07-odlisujete-v-aplikaci-vyvojove-testovaci-a-produkcni-prostredi/</guid>
      <description>&lt;p&gt;Tento článek píšu se záměrem zjistit, zda jsme k těmto závěrům dospěli sami, nebo je to evoluční záležitost, ke které časem dospěje každý tvůrce produktů sloužících k dalšímu vývoji. Ve &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_blank&#34;&gt;Forrestu&lt;/a&gt; k realizaci webů a webových aplikací používáme &lt;a href=&#34;http://www.fg.cz/cs/nabidka/system-pro-spravu-obsahu-webu-edee-cms.shtml&#34; target=&#34;_blank&#34;&gt;interní CMS systém&lt;/a&gt;, který je nadstavbou nad vybranými Javovskými knihovnami a frameworky. Namátkou například Spring Framework, Freemarker, Groovy, Spring Security, Stripes, DWR, iBatis a řada dalších. Tím, že jsme CMS systém (ona už je to vlastně tak trochu programová platforma) postavili nad existujícími knihovnami jsme dosáhli toho, že můžeme využívat většiny jejich širokých možností a máme zdarma zajištěn i další vývoj, který nás v podstatě bezpracně posouvá zase dál.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Až budete chtít někdy dávkově konvertovat kódování souborů ...</title>
      <link>https://blog.novoj.net/posts/2009-08-01-az-budete-chtit-nekdy-davkove-konvertovat-kodovani-souboru/</link>
      <pubDate>Sat, 01 Aug 2009 20:21:17 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-08-01-az-budete-chtit-nekdy-davkove-konvertovat-kodovani-souboru/</guid>
      <description>&lt;p&gt;Čas od času řeším problém jak hromadně zkonvertovat sadu souborů z kódování A do kódování B, popřípadě jak ze sady souboru odstranit &lt;a href=&#34;http://en.wikipedia.org/wiki/Byte-order_mark&#34; target=&#34;_blank&#34;&gt;UTF-8 BOM&lt;/a&gt;. Vždy jsem na hledání nějakého jednorázového vehementu strávil plno času, především proto, že to obvykle nefungovalo tak úplně jak bych potřeboval. Na odstranění BOMu, jsem navíc nenašel vůbec nic. Nakonec mi došla trpělivost a za 20 minut jsem si spíchnul utilitku, kterou jsem si problém jednou provždy (doufám) vyřešil. A pak že je Java na takovéhle utilitky nešikovná (vím že v Groovy bych to měl na polovině řádku, ale ještě nejsem úplně Groovy ready) ...&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2009 – Audio #3</title>
      <link>https://blog.novoj.net/posts/2009-07-21-jopenspace-audio-3/</link>
      <pubDate>Tue, 21 Jul 2009 19:26:30 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-07-21-jopenspace-audio-3/</guid>
      <description>&lt;p&gt;Poslední várka zpracovaných záznamů z letošního &lt;a href=&#34;http://blog.novoj.net/2009/05/17/jopenspace-2009/&#34;&gt;jOpenspace&lt;/a&gt; na sebe nechala chvilku čekat, ale nakonec se mi ji přeci jen podařilo zpracovat. Myslím, že si v ní každý najde něco pro sebe - rozhodně bych doporučil třeba lightning talk Petra Šmída o API Festu pořádaném v HP, ZFS filesystému v Open Solaris Roumena a související přednáškou Petra Adámka, ale myslím, že i ostatní session stojí za poslech. Kvalita je myslím velmi dobrá, podobně jako u ostatních přednášek z jOpenSpace 2009.&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2009 – Audio #2</title>
      <link>https://blog.novoj.net/posts/2009-06-21-jopenspace-2009-audio-2/</link>
      <pubDate>Sun, 21 Jun 2009 18:27:29 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-06-21-jopenspace-2009-audio-2/</guid>
      <description>&lt;p&gt;V druhé várce záznamů ze session na letošním &lt;a href=&#34;http://blog.novoj.net/2009/05/17/jopenspace-2009/&#34;&gt;jOpenspace&lt;/a&gt; uzavřeme sobotní den. Témata jsou poměrně lákavá a věřím, že si najdou své posluchače. Spolu s oživlým CZ Podcastem budete mít tedy v červnu nabité MP3 přehrávače kvalitním audiem.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-532&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;style&gt;&#xA;div.program li {&lt;br /&gt;&#xA;    margin: 1em;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;div.program li strong {&lt;br /&gt;&#xA;   font-size: 1.1em;&lt;br /&gt;&#xA;   color: lightblue;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;program&#34;&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;img src=&#34;https://blog.novoj.net/files/button_lt.png&#34; width=&#34;80&#34; height=&#34;15&#34;&gt; Webové služby se Spring WS, Lukáš Křečan&lt;/strong&gt;&lt;br&gt;Zákazníci většinu věcí z WS nepotřebují - v podatě stačí jen zasílání XML. Spring WebServices - důležité je XSD, SOAP envelope je většinou prázdná, důležitý je obah body (payload). Validace, marshall, unmarshall. Velmi pragmatický přístup k WS.&#xA;&lt;p&gt;&lt;a href=&#34;http://www.jopenspace.cz/2009/audio/2-09-spring-web-services.mp3&#34; title=&#34;MP3 Podcast&#34;&gt;&lt;img src=&#34;https://blog.novoj.net/files/button_mp3.png&#34; title=&#34;MP3 Podcast&#34; alt=&#34;MP3 Podcast&#34; style=&#34;margin-right: 10px&#34; align=&#34;left&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;http://www.jopenspace.cz/2009/audio/2-09-spring-web-services.mp3&#34; title=&#34;MP3 Podcast&#34;&gt;&lt;strong&gt; Podcast&lt;/strong&gt;&lt;/a&gt; [5:46] 2.1 MB&lt;br&gt;&lt;a href=&#34;http://www.youtube.com/watch?v=ZmZEgHmtk3Q&#34; title=&#34;MP3 Podcast&#34;&gt;&lt;img src=&#34;https://blog.novoj.net/files/button_xvid.png&#34; title=&#34;Videocast&#34; alt=&#34;Videocast&#34; style=&#34;margin-right: 10px&#34; align=&#34;left&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;http://www.youtube.com/watch?v=ZmZEgHmtk3Q&#34; title=&#34;Videocast&#34;&gt;&lt;strong&gt; Video&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Selenium testování - základy</title>
      <link>https://blog.novoj.net/posts/2009-06-15-selenium-testovani-zaklady/</link>
      <pubDate>Mon, 15 Jun 2009 06:58:43 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-06-15-selenium-testovani-zaklady/</guid>
      <description>&lt;div style=&#34;border: 1px solid white; background-color: #333333; font-size: 90%; margin-top: 20px;&#34;&gt;&#xA;&lt;p&gt;&lt;a title=&#34;Pavel Jetensky&#34; href=&#34;http://jetensky.net/download/files/Selenium%20testovani%20-%20zaklady.mp3&#34;&gt;&lt;img style=&#34;margin-left: 10px; margin-right: 10px;&#34; src=&#34;https://blog.novoj.net/binary/2008/09/pavel.jpg&#34; alt=&#34;Pavel Jetensky&#34; width=&#34;49&#34; height=&#34;62&#34; align=&#34;left&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;O autorovi: &lt;/strong&gt;&lt;a href=&#34;http://jetensky.net/blog&#34;&gt;Jetyho blog&lt;/a&gt; | &lt;a href=&#34;http://www.linkedin.com/in/paveljetensky&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p style=&#34;margin: 10px;&#34;&gt;Pavel Jetenský se věnuje Java/J2EE vývoji již od roku 2003, z toho několik let v Irsku. Zajímají ho techniky automatického testování. V současné době pracuje jako metodický vedoucí Java/J2EE v Deltax Systems a.s.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Školení Selenium testování - základy je určeno pro začátečníky a seznamuje s prvními kroky s nástrojem pro automatizované testování webových aplikací v prohlížeči.&lt;br /&gt;&#xA;Popisuje jednotlivé příkazy frameworku, různé typy selektorů a způsoby spouštění testů. Nahrávka byla pořízena během přednášky  pro studenty pana Pavla Kříže na Univerzitě Hradec Králové.&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2009 – Audio #1</title>
      <link>https://blog.novoj.net/posts/2009-05-30-jopenspace-2009-audio-1/</link>
      <pubDate>Sat, 30 May 2009 07:15:53 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-05-30-jopenspace-2009-audio-1/</guid>
      <description>&lt;p&gt;Stejně jako minulý rok, i letos budou některé talky z &lt;a href=&#34;http://blog.novoj.net/2009/05/17/jopenspace-2009/&#34;&gt;jOpenspace&lt;/a&gt; k dispozici ve formě podcastů. Letos jsme výrazně zapracovali na kvalitě nahrávání a řekl bych, že kvalita je &#34;téměř&#34; profesionální :-) . Řada přednášek byla opravdu výborná, takže doporučuji si je poslechnout. Velmi zajímavý je i formát - ligtning talky omezené 7 minutami dávají skvěle poslouchatelný záznam i pro ranní cesty tramvají. Nuže tu je máte ...&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-518&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;style&gt;&#xA;div.program li {&lt;br /&gt;&#xA;    margin: 1em;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;div.program li strong {&lt;br /&gt;&#xA;   font-size: 1.1em;&lt;br /&gt;&#xA;   color: lightblue;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;&lt;/style&gt;&#xA;&lt;div class=&#34;program&#34;&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;img src=&#34;https://blog.novoj.net/files/button_ost.png&#34; width=&#34;80&#34; height=&#34;15&#34;&gt; Představení účastníků&lt;/strong&gt;&lt;br&gt;Krátké představení většiny účastníků jOpenSpace - jejich profesní historie, současné zaměstnání, pocity, postřehy.&#xA;&lt;p&gt;&lt;a href=&#34;http://www.jopenspace.cz/2009/audio/1-01-predstaveni-ucastniku.mp3&#34; title=&#34;MP3 Podcast&#34;&gt;&lt;img src=&#34;https://blog.novoj.net/files/button_mp3.png&#34; title=&#34;MP3 Podcast&#34; alt=&#34;MP3 Podcast&#34; style=&#34;margin-right: 10px&#34; align=&#34;left&#34; /&gt;&lt;/a&gt; &lt;a href=&#34;http://www.jopenspace.cz/2009/audio/1-01-predstaveni-ucastniku.mp3 &#34; title=&#34;MP3 Podcast&#34;&gt;&lt;strong&gt; Podcast&lt;/strong&gt;&lt;/a&gt; [10:36] 3.8 MB&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2009</title>
      <link>https://blog.novoj.net/posts/2009-05-17-jopenspace-2009/</link>
      <pubDate>Sun, 17 May 2009 23:07:45 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-05-17-jopenspace-2009/</guid>
      <description>&lt;p&gt;Dnes skončil druhý ročník Javovské ne-konference s názvem &lt;a href=&#34;http://www.jopenspace.cz&#34; target=&#34;_blank&#34;&gt;jOpenSpace&lt;/a&gt;, kterou pořádají pánové z &lt;a href=&#34;http://www.inmite.eu/web/cz/&#34; target=&#34;_blank&#34;&gt;Inmite&lt;/a&gt;. Podle metody obrácené pyramidy, přejdu rovnou k závěru: letošní ročník byl daleko více uvolněnější než ten minulý (dokonce i na sport se čas našel), přesto mi přinesl dostatek inspirace do příštích měsíců a především řadu kontaktů na zajímavé osobnosti české Java scény. Ty nejhodnotnější informace jsem spíš než z &#34;organizovaného&#34; programu získal z neformální konverzace při jídle a v přestávkách. Ze všech bych vypíchl snad jen skvělé zkušenosti a rady &lt;a href=&#34;http://blog.lukas-vlcek.com/&#34; target=&#34;_blank&#34;&gt;Lukáše Vlčka&lt;/a&gt; v oblasti fulltextového vyhledávání (díky Lukáši) nebo skvělou dvouhodinovou konverzaci v kroužku &lt;a href=&#34;http://www.linkedin.com/in/pjuhos&#34; target=&#34;_new&#34;&gt;Pavla Juhoše (HP)&lt;/a&gt;, &lt;a href=&#34;http://www.jroller.com/vaclav/&#34; target=&#34;_blank&#34;&gt;Václava Pecha (JetBrains)&lt;/a&gt; a Maaartina o budoucnosti jazyka Java, porovnání progresivity oproti .NET, jazycích jako je Groovy / Scala apod. Zkrátka a jednoduše, přestože vznikly záznamy z oficiálních &#34;session&#34;, ty nejcennější zážitky / informace zachytit na pásku nelze. Ty si člověk odnese, jen když na konferenci prostě je.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jednoduché logování ve Springu</title>
      <link>https://blog.novoj.net/posts/2009-05-06-jednoduche-logovani-ve-springu/</link>
      <pubDate>Wed, 06 May 2009 06:49:47 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-05-06-jednoduche-logovani-ve-springu/</guid>
      <description>&lt;p&gt;Tušil jsem, že to je jednoduché, ale že to je AŽ tak jednoduché, to jsem nevěděl. Dokončujeme projekt pro jednu velkou českou banku a potřebovali jsme mít podrobným logováním pokrytou co největší část aplikace pro případ, že by se vyskytly problémy na prostředí, do kterého, z bezpečnostních důvodů, nemáme a nikdy nebudeme mít přístup.&lt;/p&gt;&#xA;&lt;p&gt;Jako principiální odpůrce manuální práce jsem ihned zavrhnul myšlenku na manuální procházení kódu a rutinní vkládání debug logování pro strýčka příhodu (krom složitějších metod, kde je to nezbytně nutné). &lt;/p&gt;</description>
    </item>
    <item>
      <title>Spring One - závěrečný den</title>
      <link>https://blog.novoj.net/posts/2009-04-29-spring-one-zaverecny-den/</link>
      <pubDate>Wed, 29 Apr 2009 23:47:04 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-04-29-spring-one-zaverecny-den/</guid>
      <description>&lt;p&gt;Dnes se mi podařilo vychytat velmi dobré přednášky, takže jsem si po včerejším dm Serveru rozhodně spravil chuť. První dnešní přednášky se týkala Groovy a především novinek ve verzi 1.6. Zprvu se zdálo, že Guillame pojede pouze po povrchu Groovy, ale brzy se přednáška rozjela, takže si z ní člověk nakonec odnesl opravdu hodně. Přednáška stavěla na publikovaném článku o &lt;a href=&#34;http://www.infoq.com/articles/groovy-1-6&#34; target=&#34;_new&#34;&gt;Grovy 1.6 na InfoQ&lt;/a&gt;. Groovy by ve verzi 1.6 mělo být výrazně rychlejší (různé micro benchmarky ukazují zlepšení výkonnosti od 150% do 430%), díky hotspotu dle Guillama dokonce předběhnou některé jiné dynamické jazyky mimo JVM platformu (konkrétně zmiňoval Ruby). Groovy běží bez problémů na GAP - dokonce je tam k vyzkoušení volně dostupná &lt;a href=&#34;http://groovyconsole.appspot.com&#34; target=&#34;_blank&#34;&gt;Groovy konzole&lt;/a&gt;. Rozvoj Groovy jede raketovou rychlostí, řekl bych že věci, které tam jsou, v Javě neuvidíme ještě léta a kdo ví jestli vůbec (closures, tuples, properties, statická inicializace properties v rámci konstruktoru). Jediné co nám brání dosud ve firmě nasadit Groovy, je zajištění aby groovy instance vytvořené Springem a naše vlastní instance nad společným Groovy classoaderem sdílely podobné rekompilační chování jako nabízí GroovyScriptingEngine. Groovy je ale rozhodně směr, kterým se chceme ubírat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spring One - den druhý</title>
      <link>https://blog.novoj.net/posts/2009-04-28-spring-one-den-druhy/</link>
      <pubDate>Tue, 28 Apr 2009 23:02:28 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-04-28-spring-one-den-druhy/</guid>
      <description>&lt;p&gt;Dnešní den přenesl (alespoň v mém případě) řadu roztrpčení. K tomu se ale dostanu až o pár odstavců později. Dnešní keynote se nesla v duchu &lt;a herf=&#34;http://en.wikipedia.org/wiki/Lean_software_development&#34; target=&#34;_blank&#34;&gt;Lean software development&lt;/a&gt; - a to především ve smyslu, jak se co nejrychleji dostat z fáze vývoje do fáze produkčního běhu. Přednáška byla poměrně zajímavá - Adrian Colyer ukazoval prostřednictvím STS živý deployment Spring / Grails aplikací (byť) triviálních přímo na Google App Engine nebo na Amazon EC2. Ačkoliv pro to zatím nemám usecase, praktická ukázka byla skutečně impresivní. Adrian je především skvělý přednášející, který je schopný živě reagovat na odezvu publika a vkládat skutečně zajímavé oživující prvky, které udrží dobrou náladu a pozornost posluchačů (jako třeba bílý tučnák, kterého v průběhu přednášky trestal za jakoukoliv chybu, která se mu ukázkách povedla). Kéž bych uměl své přednášky udělat tak zajímavé jako on ;-) . To co jsem si z přednášky odnesl je to, že nasadit Spring aplikaci na GAE nebo EC2 nemusí být zase tak těžké, jak by se na první pohled mohlo zdát.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spring One - po prvním dni</title>
      <link>https://blog.novoj.net/posts/2009-04-27-spring-one-po-prvnim-dni/</link>
      <pubDate>Mon, 27 Apr 2009 23:12:32 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-04-27-spring-one-po-prvnim-dni/</guid>
      <description>&lt;p&gt;Dnes začala v Amsterodamu konference Spring One zaměřená na technologie okolo Spring Frameworku (Spring samotný, Spring MVC, Spring WebFlow, Grails, Spring Batch, Spring Security, Spring tc a dm Server atd.). Konference se koná v hotelu Krasnopolski v úplném centru Amsterodamu. My jsme přijeli o  den dříve, abychom si město stihli v klidu prohlédnout a projít si zajímavá místa (Red light district apod. :-) ). Nějaké fotografie si &lt;a href=&#34;http://picasaweb.google.com/novotnaci/SpringOne?feat=directlink&#34; target=&#34;_new&#34;&gt;můžete prohlédnout zde&lt;/a&gt;. Kromě všudy přítomných coffee shopů mě zarazilo především to, že holanďané si vůbec nepotrpí na soukromí a ve velkých oknech řada domů nemá ani záclony, takže je jim běžně vidět téměř až do postele. Druhá věc, která vás na Amsterodamu zarazí, je neuvěřitelné množství kol - ty jsou tu daleko běžnějším dopravním prostředkem než třeba automobil. Průměrné stáří kol, je ovšem (soudě dle vzhledu) snad 20 let - jelikož jsou tu běžná kola podobná tomu, o kterém se v naší rodině traduje, že je předválečné. Zdá se, že tu holanďané soutěží o ošklivější kolo s největším zámkem, což mě přivádí k myšlence, že se tu musí kola poměrně dost &#34;ztrácet&#34;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spring CgLib Dynamic AOP Proxies - proper Pointcut equals method is simply essential</title>
      <link>https://blog.novoj.net/posts/2009-04-18-spring-cglib-dynamic-aop-proxies-proper-pointcut-equals-method-is-simply-essential/</link>
      <pubDate>Sat, 18 Apr 2009 21:58:32 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-04-18-spring-cglib-dynamic-aop-proxies-proper-pointcut-equals-method-is-simply-essential/</guid>
      <description>&lt;p&gt;Dynamic proxies can be very nasty if you don&#39;t know what happening under the cover. Last week I was searching for the memory leak that caused our application to crash. Even though Tomcat had assigned 1GB memory for heap and 0,5GB  for PermGenSpace it stood alive for only approximately twelve hours. It&#39;s pretty nasty situation having known that application is only in betatesting with relatively low traffic.&lt;/p&gt;&#xA;&lt;p&gt;When analyzing generated heap dump I have found, that memory leak was caused by web application classloader, that managed thousands of CgLib dynamically generated classes. I was using &lt;a href=&#34;http://www.eclipse.org/mat/&#34; target=&#34;_blank&#34;&gt;Eclipse Memory Analyzer&lt;/a&gt;, that&#39;s probably the best tool for memory heap dump analysis I have ever seen. It&#39;s the third time it quickly identified the suspicious classes, by &lt;a href=&#34;http://dev.eclipse.org/blogs/memoryanalyzer/2008/05/27/automated-heap-dump-analysis-finding-memory-leaks-with-one-click/&#34; target=&#34;_blank&#34;&gt;heuristic analysis called Leak suspect&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Problémy s kódováním v AJAXu a jak na ně</title>
      <link>https://blog.novoj.net/posts/2009-03-31-problemy-s-kodovanim-v-ajaxu-a-jak-na-ne/</link>
      <pubDate>Tue, 31 Mar 2009 20:47:33 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2009-03-31-problemy-s-kodovanim-v-ajaxu-a-jak-na-ne/</guid>
      <description>&lt;p&gt;V prosinci jsem znovu řešil problém s kódováním českých znaků při AJAXové komunikaci se serverem. Znovu říkám proto, že jsem stejný problém řešil před pár měsíci, ale řešení  jsem stihnul úplně zapomenout. Tentokrát jsem si ale poklepal na čelo a říkám si: &#34;Furo tvá paměť se horší, zapiš to nebo nad tím budeš za měsíc trávit čas znovu&#34;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-202&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Problém je poměrně obecného charakteru - kdysi jsem na to narazil při používání knihovny &lt;a href=&#34;http://www.prototypejs.org/&#34; target=&#34;_new&#34;&gt;Prototype.js&lt;/a&gt;, nyní to byla &lt;a href=&#34;http://jquery.com/&#34; target=&#34;_new&#34;&gt;jQuery&lt;/a&gt; s Tomcatem na straně serveru. Obě dvě knihovny mají pro AJAX (&lt;a href=&#34;http://docs.jquery.com/Ajax&#34; target=&#34;_new&#34;&gt;jQuery&lt;/a&gt;, &lt;a href=&#34;http://prototypejs.org/api/ajax&#34; target=&#34;_new&#34;&gt;Prototype.js&lt;/a&gt;) velmi pěknou podporu - ačkoliv bych řekl, že Prototype.js je v tomto ohledu o kousek dál.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Podcast: Záznam z přednášky iBatis SqlMaps</title>
      <link>https://blog.novoj.net/posts/2009-03-04-podcast-zaznam-z-prednasky-ibatis-sqlmaps/</link>
      <pubDate>Wed, 04 Mar 2009 18:26:55 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-03-04-podcast-zaznam-z-prednasky-ibatis-sqlmaps/</guid>
      <description>&lt;p&gt;Tento týden proběhla na Univerzitě v Hradci Králové přednáška na téma iBatis SqlMaps. V přednášce jsem se snažil projít všemi základními funkcionalitami iBatisu a porovnat jej krátce s několika dalšími přístupy k implementaci datové vrstvy (plain JDBC, JPA / Hibernate) a podívat se co nového nás čeká v nové verzi iBatis číslo 3.&lt;/p&gt;&#xA;&lt;p&gt;Kvůli omezenému rozsahu (1,5 hodiny) nemohlo dojít na trošku sofistikovanější záležitosti jako je použití diskrimintárů a resultObjectFactory, integrace se Springem, dávkovému zpracování dotazů do databáze a použití iBatoru. Pokud byste měl kdokoliv nějaké otázky týkající se těchto oblastí, neváhejte je napsat do komentářů k tomuto postu, a já se je pokusím zodpovědět a popřípadě publikovat i další příklady.&lt;/p&gt;</description>
    </item>
    <item>
      <title>JavaScript timers - naše staré hodiny, bijí čtyři hodiny</title>
      <link>https://blog.novoj.net/posts/2009-02-19-javascript-timers-nase-stare-hodiny-biji-ctyri-hodiny/</link>
      <pubDate>Thu, 19 Feb 2009 12:09:35 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-02-19-javascript-timers-nase-stare-hodiny-biji-ctyri-hodiny/</guid>
      <description>&lt;p&gt;Absolutním Cimrmanovým rýmem začínám další ze série článků o Javascriptu. V něm bych chtěl rozebrat pár postřehů při práci s časovači (timery) v JavaScriptu. Ty se používají k lecčemu - při jQuery animacích, zobrazování aktuálního času, periodickém dotazováním serveru atp. Intuitivně jsme vždycky tušili, že jejich časování nemusí být úplně přesné, ale přesto jsme hrubě podcenili význam pro aplikaci, pro kterou je aktuální čas zásadní.&lt;/p&gt;&#xA;&lt;p&gt;Stáli jsme před relativně jednoduchým problémem. Odpočítávat čas do okamžiku T a vypočítávat slevu v ceně na základě času, který do okamžiku T zbývá. Samozřejmě všechny údaje (ať čas nebo cena) musely být u všech klientů naprosto stejné a musely se měnit každou vteřinu. Tento jednoduchý problém nás ale docela potrápil a proto vznikl tento článek, který by měl zachytit problémy a jejich řešení.&lt;/p&gt;</description>
    </item>
    <item>
      <title>iBatis 3 is alive!</title>
      <link>https://blog.novoj.net/posts/2009-02-09-ibatis-3-is-alive/</link>
      <pubDate>Mon, 09 Feb 2009 18:31:03 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-02-09-ibatis-3-is-alive/</guid>
      <description>&lt;p&gt;I had a discussion with &lt;a href=&#34;http://jirablog.blogspot.com/2009/01/orm-mych-snu-ibatis-3.html&#34; target=&#34;_blank&#34;&gt;Jira&lt;/a&gt; recently, whether we could be still looking forward to iBatis 3. It has been  long time since &lt;a href=&#34;http://opensource.atlassian.com/confluence/oss/display/IBATIS/iBATIS+3.0+Whiteboard&#34; target=&#34;_blank&#34;&gt;iBatis 3 Whiteboard&lt;/a&gt; was seriously touched and I haven&#39;t found any other clue when or whether there is going to be iBatis 3. There is very small activity for 3.x version in Jira, though &lt;a href=&#34;http://www.mail-archive.com/commits@ibatis.apache.org/&#34; target=&#34;_blank&#34;&gt;there were some commits into iBatis 3 core&lt;/a&gt;. As I am going to have &lt;a href=&#34;http://blog.novoj.net/2009/02/08/pozvanka-na-prednasku-na-uhk-ibatis-sqlmaps/&#34; target=&#34;_blank&#34;&gt;a speech in University Hradec Králové on iBatis&lt;/a&gt;, I have decided to ask directly its authors about this issue.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pozvánka na přednášku na UHK &lt;br&gt; iBatis SqlMaps</title>
      <link>https://blog.novoj.net/posts/2009-02-08-pozvanka-na-prednasku-na-uhk-ibatis-sqlmaps/</link>
      <pubDate>Sun, 08 Feb 2009 19:07:30 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-02-08-pozvanka-na-prednasku-na-uhk-ibatis-sqlmaps/</guid>
      <description>&lt;p&gt;Po relativně krátké době se chystá nová přednáška na Univerzitě Hradec Králové - tentokrát o knihovně iBatis, která řeší objektově relační mapování tak trochu jiným způsobem než jde JPA a Hibernate. &lt;a href=&#34;https://blog.novoj.net/binary/2009/02/pozvanka_uhk_ibatis.png&#34;&gt;&lt;img src=&#34;https://blog.novoj.net/binary//2009/02/pozvanka_uhk_ibatis-214x300.png&#34; alt=&#34;Pozvánka UHK - iBatis SqlMaps&#34; title=&#34;Pozvánka UHK - iBatis SqlMaps&#34; width=&#34;91&#34; height=&#34;128&#34; style=&#34;float: right; margin: 5px 0px 5px 5px;&#34; /&gt;&lt;/a&gt; A to způsobem, který vyhovuje nejen nám, ale i tisícům vývojářů po celém světě. iBatis je řešením, které leží někde mezi JDBC a JPA - na jednu stranu už se nemusíte zabývat detaily spojenými s používáním JDBC (uvolňování zdrojů, konverze dat z ResultSetu do Pojo, cachování atd.), na druhou stranu zůstává vše stále na jednoduché úrovni bez použití magie (nad kterou hloubá každý, kdo se pokouší začít třebas s Hibernatem). &lt;/p&gt;</description>
    </item>
    <item>
      <title>Překonaný ResourceBundle, Spring MessageSource vítězí v prvním kole KO</title>
      <link>https://blog.novoj.net/posts/2009-01-27-prekonany-resourcebundle-spring-messagesource-vitezi-v-prvnim-kole-ko/</link>
      <pubDate>Tue, 27 Jan 2009 05:17:27 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-01-27-prekonany-resourcebundle-spring-messagesource-vitezi-v-prvnim-kole-ko/</guid>
      <description>&lt;p&gt;Tento článek mám ve WordPressu rozepsaný snad už rok. Jeho původní název zněl &#34;ResourceBundle - stačí Javě beze změny?&#34;. Plno věcí, které jsme původně jako Java vývojáři dělali my, postupně uzpůsobujeme tak, aby je mohli dělat web designeři. Na prezentační vrstvu zcela jistě patří lokalizované texty a zprávy, pro které standardně používáme ResourceBundly Javy, které se načítají z property souborů. Ideální model pro web developery je iterace: navrhnu stránku, vložím text do property bundlu, uložím, reloadnu stránku a kouknu jak to vypadá. V tomhle jednoduchém scénáři jsme však narazili hned na několik problémů.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Oracle, od slova věštit</title>
      <link>https://blog.novoj.net/posts/2009-01-16-oracle-od-slova-vestit/</link>
      <pubDate>Fri, 16 Jan 2009 19:56:10 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-01-16-oracle-od-slova-vestit/</guid>
      <description>&lt;p&gt;Ano, ano. Dnes jsem po nasazení nového buildu opět strávil plodné čtyři hodiny věštěním z křišťálové koule zvané Oracle Application Server. Ještě ke všemu na prostředí, ke kterému není přímý přístup. Kód, který máme již na tuctu instalací, který bez problémů běží i na dvou testovacích strojích s &#34;přibližně&#34; stejnou konfigurací na produkci ne a ne.&lt;/p&gt;&#xA;&lt;p&gt;Výsledkem mého pátrání bylo to, že pokud se na konkrétní verzi OC4J zavolá metoda getParameterMap() dřív než některá z metod getParameter, getParameterNames nebo getParameterValues, tak je výsledkem prázdná mapa, přestože se v requestu parametry nachází.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Školení Produktivita práce v Eclipse</title>
      <link>https://blog.novoj.net/posts/2009-01-12-skoleni-produktivita-prace-v-eclipse/</link>
      <pubDate>Mon, 12 Jan 2009 13:10:59 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-01-12-skoleni-produktivita-prace-v-eclipse/</guid>
      <description>&lt;div style=&#34;border: 1px solid white; background-color: #333333; font-size: 90%; margin-top: 20px;&#34;&gt;&#xA;&lt;p&gt;&lt;a title=&#34;Pavel Jetensky&#34; href=&#34;https://blog.novoj.net/binary/2008/09/pavel.jpg&#34;&gt;&lt;img style=&#34;margin-left: 10px; margin-right: 10px;&#34; src=&#34;https://blog.novoj.net/binary/2008/09/pavel.jpg&#34; alt=&#34;Pavel Jetensky&#34; width=&#34;49&#34; height=&#34;62&#34; align=&#34;left&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;O autorovi: &lt;/strong&gt;&lt;a href=&#34;http://jetensky.net/blog&#34;&gt;Jetyho blog&lt;/a&gt; | &lt;a href=&#34;http://www.linkedin.com/in/paveljetensky&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p style=&#34;margin: 10px;&#34;&gt;Pavel Jetenský se věnuje Java/J2EE vývoji již od roku 2003, z toho několik let v Irsku. Zajímají ho techniky automatického testování. V současné době pracuje jako metodický vedoucí Java/J2EE v Deltax Systems a.s.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Toto školení vám ukáže, jak co nejlépe využít různých pomůcek vývojového nástroje Eclipse IDE pro urychlení vývoje SW. Není zaměřeno na žádné pluginy pro Eclipse, veškeré tipy využijete v základní instalaci.&lt;/p&gt;</description>
    </item>
    <item>
      <title>jQuery effects - quick start</title>
      <link>https://blog.novoj.net/posts/2009-01-04-jquery-effects-quick-start/</link>
      <pubDate>Sun, 04 Jan 2009 14:00:31 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2009-01-04-jquery-effects-quick-start/</guid>
      <description>&lt;p&gt;V &lt;a href=&#34;http://blog.novoj.net/2008/11/07/javascript-closures-prekvapeni-java-programatora/&#34;&gt;minulém článku&lt;/a&gt;, ve kterém jsem se zabýval JavaScript Closures, jsem se zmiňoval o tom, že mě k jejich studiu donutilo používání efektů z knihovny jQuery. Také jsem sliboval, že o svých zkušenostech něco málo napíšu v dalším článku. Nuže směle do toho.&lt;/p&gt;&#xA;&lt;p&gt;jQuery je obecná knihovna obalující odlišné implementace (více než odlišnosti jazyka, míním odlišnosti práce s DOM reprezentací) JavaScriptu v běžně používaných prohlížečích. Efekty jsou pouze její minoritní částí, kterou možná většina vývojářů pracujících s jQuery ani nevyužívá. Jelikož jsem hračička, koketoval jsem s efekty už od první chvíle, kdy jsem s jQuery začal. Z globálního pohledu musím říct, že mě překvapuje, že tyto efekty fungují velmi dobře skrze všechny podporované prohlížeče a kupodivu jsou poměrně svižné i na pomalejších počítačích (pomalejšími mám na mysli, průměrný počítač koupený před 3-4 lety). Základní použití je velmi jednoduché a zvládne ho i člověk, který s JavaScriptem a jQuery teprve začíná. Kromě  &lt;a href=&#34;http://docs.jquery.com/Effects&#34; target=&#34;_blank&#34;&gt;základních efektů&lt;/a&gt; dodávaných přímo jako součást jQuery Core (show, hide, toggle, fadeIn, fadeOut, animate), je k dispozici ještě oficiální dodatečná knihovna s widgety a dalšími effekty známá jako &lt;a href=&#34;http://docs.jquery.com/UI#Effects&#34; target=&#34;_blank&#34;&gt;jQuery UI&lt;/a&gt; (zde najdete řadu dalších pěkných efektů, které byly kdysi součástí js knihovny interface.js).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mock FTP server - další perla do sbírky automatického testování</title>
      <link>https://blog.novoj.net/posts/2008-12-24-mock-ftp-server-dalsi-perla-do-sbirky-automatickeho-testovani/</link>
      <pubDate>Wed, 24 Dec 2008 11:09:05 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-12-24-mock-ftp-server-dalsi-perla-do-sbirky-automatickeho-testovani/</guid>
      <description>&lt;p&gt;Předevčírem se v mé RSS síti zachytila zajímavá zpráva, která dobře zapadá do katalogu řešení pro automatické testování. Jedná se o &lt;a href=&#34;http://mockftpserver.sourceforge.net/stubftpserver-features.html&#34; target=&#34;_blank&#34;&gt;MockFtpServer&lt;/a&gt;, který se velmi podobá přístupu SubEtha SMTP Serveru, se kterým mám velmi pozitivní zkušenosti.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-260&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Princip je skutečně analogický zmiňovanému SubEtha SMTP Serveru, se kterým lze jednoduše ověřovat správné rozesílání emailů. Jednoduše nakonfigurujeme &#34;virtuální&#34; FTP server a nastartujeme jej na konkrétním portu. V testech pak můžeme ověřovat kód, který komunikuje s FTP serverem, aniž bychom museli vytvářet vlastní stub nebo mock objekty:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Druhý rok Otce Fura</title>
      <link>https://blog.novoj.net/posts/2008-12-22-druhy-rok-otce-fura/</link>
      <pubDate>Mon, 22 Dec 2008 19:48:02 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-12-22-druhy-rok-otce-fura/</guid>
      <description>&lt;p&gt;Blíží se konec roku a s ním i rekapitulace toho, co je za námi. Rád bych prošel, ve zkratce to co se letošní rok odehrálo a zveřejnil pár statistik z Google Analytics a Wordpressu.&lt;/p&gt;&#xA;&lt;p&gt;Hlavními událostmi tohoto roku, které mají nějakou spojitost s blogem, byla jOpenSpace konference, školení NetBeans platform a dvojice přednášek na Univerzitě Hradec Králové. Všechny události zarezonovaly blogem ať už ve formě záznamů a reportáží, nebo jako vedlejší produkt příprav na tyto akce. Doufám, že i příští rok budu mít zase příležitost se nějakých podobných událostí zůčastnit a přinést Vám z nich nějaké hodnotné informace.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Podcast: Záznam přednášky Pokročilé techniky automatického testování v praxi</title>
      <link>https://blog.novoj.net/posts/2008-12-13-podcast-zaznam-prednasky-pokrocile-techniky-automatickeho-testovani-v-praxi/</link>
      <pubDate>Sat, 13 Dec 2008 20:22:40 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-12-13-podcast-zaznam-prednasky-pokrocile-techniky-automatickeho-testovani-v-praxi/</guid>
      <description>&lt;p&gt;V polovině listopadu jsem měl na Univerzitě Hradec Králové přednášku o automatickém testování v Javě, ve které jsem zabrousil už trošku do větší hloubky než &lt;a href=&#34;http://blog.novoj.net/2008/05/09/podcast-zaznam-z-prednasky-automaticke-testovani-v-praxi/&#34;&gt;v té, která proběhla na jaře tohoto roku&lt;/a&gt;. Přestože jsem především závěr přednášky nemohl probrat do takových podrobností, jak bych rád, doufám, že se mi většinu nasbíraných zkušeností nějakým způsobem podařilo předat. Pokud vás tedy opakovaně trápí některé problémy při psaní unit a integračních testů, možná při poslechu zjistíte, že i já jsem řešil podobný problém a můžu vám nabídnout nějaký tip co s daným problémem udělat, popř. čeho se vyvarovat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Monitoring Declarative Transactions in Spring, &lt;br&gt;bod pro Otce Fura</title>
      <link>https://blog.novoj.net/posts/2008-12-09-monitoring-declarative-transactions-in-springbod-pro-otce-fura/</link>
      <pubDate>Tue, 09 Dec 2008 06:50:33 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-12-09-monitoring-declarative-transactions-in-springbod-pro-otce-fura/</guid>
      <description>&lt;p&gt;Nevím jak vy, ale já mám vždy radost, když někdo jiný nezávisle dojde ke stejným závěrům, jako jsem došel já sám. Osobně to považuji za jisté potvrzení smysluplnosti mých vlastních úvah a toho, že nejsem tak úplně &#34;mimo mísu&#34;.&lt;/p&gt;&#xA;&lt;p&gt;Dnes vyšel na java.DZone.com &lt;a href=&#34;http://java.dzone.com/articles/monitoring-declarative-transac&#34; target=&#34;_new&#34;&gt;článek s názvem Monitoring Declarative Transactions in Spring&lt;/a&gt; od Toma Celluciho, který se zabývá jednoduchým otestováním správného nastavení pointcutů při používání deklarativního nastavení transakcí ve Springu. Pokud si pamatujete, sám jsem tuto problematiku řešil před pár měsíci a publikoval &lt;a href=&#34;http://blog.novoj.net/2008/09/20/testing-aspect-pointcuts-is-there-an-easy-way/&#34;&gt;vlastní řešení&lt;/a&gt; (a tak trochu mě zviklal Dagi, když se na něj na jOpenSpace moc netvářil).&lt;/p&gt;</description>
    </item>
    <item>
      <title>JavaScript Closures - překvapení Java programátora</title>
      <link>https://blog.novoj.net/posts/2008-11-07-javascript-closures-prekvapeni-java-programatora/</link>
      <pubDate>Fri, 07 Nov 2008 17:46:13 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-11-07-javascript-closures-prekvapeni-java-programatora/</guid>
      <description>&lt;p&gt;Javascript používám několik let, snad už od doby kdy jsem na univerzitě začal koketovat s webem. Celou dobu ho používám jen na jednoduché skriptování bez ambic na jakýkoliv propracovanější programovací model. S nástupem kvalitních frameworků jako je třeba &lt;a href=&#34;http://jquery.com/&#34; target=&#34;_new&#34;&gt;jQuery&lt;/a&gt;, &lt;a href=&#34;http://www.prototypejs.org/&#34; target=&#34;_new&#34;&gt;PrototypeJS&lt;/a&gt;, &lt;a href=&#34;http://mootools.net/&#34; target=&#34;_new&#34;&gt;MooTools&lt;/a&gt;, &lt;a href=&#34;http://script.aculo.us/&#34; target=&#34;_new&#34;&gt;Script.aculo.us&lt;/a&gt; a další, je člověk přinucen ponořit se do tajů JavaScriptu hlouběji a narazí na věci o kterých se mu před tím ani nesnilo. V tomto článku bych se s vámi rád podělil o pár zkušeností a především odkazů na kvalitní články o tzv. Closures v JavaScriptu. Dopředu upozorňuji, že nejsem žádný JavaScript guru a že čerpám především z odkazovaných článků a z několika projektů, kde jsem díky jQuery a DWR s closures přišel do styku.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pozvánka na přednášku na UHK &lt;br&gt; Pokročilé techniky automatického testování v praxi</title>
      <link>https://blog.novoj.net/posts/2008-10-26-pozvanka-na-prednasku-na-uhk-pokrocile-techniky-automatickeho-testovani-v-praxi/</link>
      <pubDate>Sun, 26 Oct 2008 09:28:53 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-10-26-pozvanka-na-prednasku-na-uhk-pokrocile-techniky-automatickeho-testovani-v-praxi/</guid>
      <description>&lt;p&gt;Díky mému špatnému odhadu, kolik je možné probrat za hodinu a půl jsem se na &lt;a href=&#34;http://blog.novoj.net/2008/05/09/podcast-zaznam-z-prednasky-automaticke-testovani-v-praxi/&#34; target=&#34;_new&#34;&gt;minulé přednášce&lt;/a&gt; nestihnul dotknout žádného z pokročilejších témat souvisejících s automatickým testováním, se  kterými se při douhodobém vývoji s použitím testů zcela jistě setkáte. &lt;!--a href=&#39;https://blog.novoj.net/binary//2008/04/poster.png&#39; title=&#39;Plakát&#39; align=&#39;right&#39;&gt;&lt;img src=&#39;https://blog.novoj.net/binary//2008/04/poster.thumbnail.png&#39; alt=&#39;Plakát&#39;  align=&#39;right&#39; style=&#39;margin: 10px&#39;/&gt;&lt;/a--&gt; Proto jsem se s Tomášem Kozlem z Univerzity Hradec Králové dohodl na druhé přednášce, která by se věnovala už jen pouze těmto záludnějším věcem a také rozkryla podporu pro testování ve Spring Frameworku.&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2008 – Audio #2</title>
      <link>https://blog.novoj.net/posts/2008-10-19-jopenspace-2008-audio-2/</link>
      <pubDate>Sun, 19 Oct 2008 07:54:16 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-10-19-jopenspace-2008-audio-2/</guid>
      <description>&lt;p&gt;Není se třeba obávat, že by můj zájem o publikaci přednášek z jOpenSpace 2008 zveřejněním té mé ochladl. Ba naopak - předkládám Vám druhou várku záznamů a ještě nás čeká jedna várka, na kterou se můžete do konce roku těšit.&lt;/p&gt;&#xA;&lt;p&gt;Pro úplnost ještě uvádím odkaz na předchozí záznamy:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://blog.novoj.net/2008/08/31/jopenspace-2008-audio-1/&#34;&gt;Audio #1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-113&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Lightning Talk - Using Spring in large applications, Roman Pichlík&lt;/h3&gt;&#xA;&lt;p&gt;V této přednášce Dagi popisuje zkušenost s nasazením (a používáním) Spring Frameworku na velkém projektu v Hewlett-Packard. Velkým projektem se rozumí projekt složený z cca. 150 Maven subprojektů = 150 aplikačních kontextů, na kterém pracuje cca 40 vývojářů. Od šesté minuty se probírá zajímavý problém skládání velkého množství aplikačních kontextů Springu, na toto téma navazují já ve 13 minutě s narážkou na řešení popsané v &lt;a href=&#34;http://blog.novoj.net/2007/09/08/serial-modularni-systemy-ve-spring-frameworku/&#34;&gt;seriálu o modulárních systémech ve Springu&lt;/a&gt;. Od 11 minuty se diskutuje o problematice autowiringu na velkých projektech. Po 15 minutě se naráží na použitelnost OSGI v J2EE projektech a obecně o rychlosti adopce nových Java standardů u velkých zákazníků. Po 20 minutě se probírají problémy vendor descriptorů a způsob instalace takto velké aplikace u různých zákazníků.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Release Day</title>
      <link>https://blog.novoj.net/posts/2008-10-09-release-day/</link>
      <pubDate>Thu, 09 Oct 2008 07:15:31 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-10-09-release-day/</guid>
      <description>&lt;p&gt;Hned na začátku upozorňuji, že kdo očekává technické informace bude zklamán. Tento článek je spíš takovým zamyšlení nad tím, co znamená pro vývojáře slovo Release (nebo chcete-li český ekvivalent Spuštění). Z jednoho úhlu se na toto slovo můžeme dívat jako na měřítko času - obyčejní lidé měří čas v rocích, měsících a dnech, úředníci a ekonomové měří čas na zdaňovací období a kvartály, učitelé měří čas na semestry a pololetí a my vývojáři na milestony a releasy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Selenium testování GUI</title>
      <link>https://blog.novoj.net/posts/2008-09-28-selenium-testovani-gui/</link>
      <pubDate>Sun, 28 Sep 2008 10:29:49 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-09-28-selenium-testovani-gui/</guid>
      <description>&lt;div style=&#34;border: 1px solid white; background-color: #333333; font-size: 90%; margin-top: 20px;&#34;&gt;&#xA;&lt;p&gt;&lt;a title=&#34;Pavel Jetensky&#34; href=&#34;https://blog.novoj.net/binary/2008/09/pavel.jpg&#34;&gt;&lt;img style=&#34;margin-left: 10px; margin-right: 10px;&#34; src=&#34;https://blog.novoj.net/binary/2008/09/pavel.jpg&#34; alt=&#34;Pavel Jetensky&#34; width=&#34;49&#34; height=&#34;62&#34; align=&#34;left&#34; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;O autorovi: &lt;/strong&gt;&lt;a href=&#34;http://jetensky.net/blog&#34;&gt;Jetyho blog&lt;/a&gt; | &lt;a href=&#34;http://www.linkedin.com/in/paveljetensky&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p style=&#34;margin: 10px;&#34;&gt;Pavel Jetenský se věnuje Java/J2EE vývoji již od roku 2003, z toho několik let v Irsku. Zajímají ho techniky automatického testování. V současné době pracuje jako metodický vedoucí Java/J2EE v Deltax Systems a.s.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Na Java Open Space jsem měl na téma Selenium lightning talk. Honza ho nahrál &lt;a href=&#34;http://jopenspace.cz/audio/04_Selenium_IDE.mp3&#34;&gt;jako podcast&lt;/a&gt; a zveřejnil v předchozím článku, ale bohužel je v nahrávce hodně šumu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testing Aspect Pointcuts - is there an easy way?</title>
      <link>https://blog.novoj.net/posts/2008-09-20-testing-aspect-pointcuts-is-there-an-easy-way/</link>
      <pubDate>Sat, 20 Sep 2008 11:26:39 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-09-20-testing-aspect-pointcuts-is-there-an-easy-way/</guid>
      <description>&lt;p&gt;Nice thing about Aspect Oriented Programming is that you can easily add piece of logic to several (possibly other way not connected) parts of your application. You&#39;ll only write an Advice (piece of code that should be weaved into original code and executed at exactly specified point of time) and define Pointcut (an expression defining which classes and methods shall be advised). Please, keep in mind, that above description is somewhat simplyfying and that AOP could be much broader than this. Describing AOP is not the aim of this post - the aim lies in something else, and that is - testing. What&#39;s the best approach to test application logic modified in runtime (or compile time) with AOP process?&lt;/p&gt;</description>
    </item>
    <item>
      <title>jOpenSpace 2008 – Audio #1</title>
      <link>https://blog.novoj.net/posts/2008-08-31-jopenspace-2008-audio-1/</link>
      <pubDate>Sun, 31 Aug 2008 18:19:35 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-08-31-jopenspace-2008-audio-1/</guid>
      <description>&lt;p&gt;V &lt;a href=&#34;http://blog.novoj.net/2008/08/03/jak-bylo-na-j-open-space-conference-2008/&#34;&gt;reportáži&lt;/a&gt; z tohoto setkání jsem sliboval, že se pokusíme uveřejnit audio záznamy z jednotlivých session. Od slov došlo k realizaci a je připravena první várka záznamů ve formě podcastů.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-108&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Open Space Talk - ORM, Roman Pichlík&lt;/h3&gt;&#xA;&lt;p&gt;V této session se vede diskuse obecně o knihovnách pro objektově relační mapování. Zkraje se probírají obtíže s použitím Hibernate v prostředí desktopových Swingových aplikací v souvislosti s lazy loadingem v AWT threadu (do 16 minuty). Navazuje obecnější diskuse o ORM a jejich používání / zneužívání. Od 19 minuty probíhá porovnávání plnotučných ORM (JPA/Hibernate) s lehčími řešeními (konkrétní probíraný zástupce je iBatis). Od 24 minuty se reší problém N+1 pro dotahování master-detail dat v prostředí iBatis. Ve 27 minutě přebírá slovo Filemon a převádí řeč na Ruby a jeho Active Record. 29 minuta otvírá diskusi na téma faktoru složitosti. Po 30 minutě zmiňuje Petr Ferschman nástroj pro monitoring výkonnosti SQL v Hibernate (znovu otevřeno také po 54 minutě). Od 31 minuty se řeší problém automatického založení (a aktualizace) databázového schématu. Po 35 minutě se diskuse stáčí na MDA přístup pro řešení datové vrstvy aplikace. Od 44 minuty je probírána nutnost jednoznačných identifikátorů v tabulkách při použití Hibernate. 58 minuta odstartuje diskusi na téma cachování a performance v Hibernate a navazuje také popis principů cachování v iBatis.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MySQL temporary tables inside Transaction &lt;br&gt; and the magic of implicit commit</title>
      <link>https://blog.novoj.net/posts/2008-08-23-mysql-temporary-tables-inside-transaction-and-the-magic-of-implicit-commit/</link>
      <pubDate>Sat, 23 Aug 2008 12:35:08 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-08-23-mysql-temporary-tables-inside-transaction-and-the-magic-of-implicit-commit/</guid>
      <description>&lt;p&gt;I&#39;ve run into interesting and very strange problem. I was writing transactional &lt;a href=&#34;http://www.mysql.com&#34; target=&#34;_new&#34;&gt;&lt;img src=&#34;http://www.mysql.com/common/logos/logo_mysql_sun.gif&#34; align=&#34;right&#34; width=&#34;180px&#34; height=&#34;53px&#34; style=&#34;margin: 5px 0px 5px 5px;&#34;&gt;&lt;/a&gt; Spring test that opens transaction at the beginning of it, and rollbacks at the end. First part of my test performed bunch of INSERT and UPDATE SQL commands and after that I was checking persisted changes by loading data back from the database. Suddenly my tests started to fail. And I was searching for the reason ...&lt;/p&gt;</description>
    </item>
    <item>
      <title>Elegantní způsob ukládání verzi v Java archívech</title>
      <link>https://blog.novoj.net/posts/2008-08-17-elegantni-zpusob-ukladani-verzi-v-java-archivech/</link>
      <pubDate>Sun, 17 Aug 2008 18:20:54 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-08-17-elegantni-zpusob-ukladani-verzi-v-java-archivech/</guid>
      <description>&lt;p&gt;Existují situace, kdy aplikaci neinstalujete sami, ale instaluje ji třetí strana - ať už je třetí stranou myšlen technik zákazníka nebo kolega z jiného oddělení firmy. Vy posléze přijdete už k nainstalované aplikaci, u které si nikdy tak úplně stoprocentně nemůžete být jisti verzí neřkuli verzemi knihoven, které daná aplikace používá. Přesto tato znalost může být pro řešení některých problémů zásadní (např. proto, že oprava může spočívat v pouhé instalaci nové verze knihovny / modulu). Můžete se s tím setkat i v daleko prostším případě - pokud vyvíjíte nějaký produkt s velkým množstvím instalací - chvíli vám může trvat než zjistíte jakou verzi má daný zákazník, u kterého řešíte nahlášené problémy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Beans introspection - základy Springu</title>
      <link>https://blog.novoj.net/posts/2008-08-10-beans-introspection-zaklady-springu/</link>
      <pubDate>Sun, 10 Aug 2008 18:40:22 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-08-10-beans-introspection-zaklady-springu/</guid>
      <description>&lt;p&gt;Je tomu už drahně let, co jsem používal k populaci JavaBean &lt;a href=&#34;http://commons.apache.org/beanutils/&#34; target=&#34;_new&#34;&gt;Commons-BeanUtils z rodiny Apache Jakarta&lt;/a&gt;. Od chvíle, kdy stavím svoje aplikace nad Springem, pozbývá používání této knihovny smysl - naopak bylo by bláhové se této knihovny držet, když Spring nabízí již ve svém základu mnohem víc. Prostým logickým úsudkem lze odvodit, že Spring coby IoC kontejner bude obsahovat promyšlenou logiku pro injektování dat do Java Bean. Nicméně v dokumentaci o tom najdete jen poměrně krátkou kapitolu &lt;a href=&#34;http://static.springframework.org/spring/docs/2.5.x/reference/validation.html&#34; target=&#34;_new&#34;&gt;Validation&lt;/a&gt;. Proto jsem se rozhodl vyextrahovat ze svého kódu pár příkladů, které standardní Spring dokumentaci trochu rozvádí do podrobností.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jak bylo na J-Open Space Conference 2008</title>
      <link>https://blog.novoj.net/posts/2008-08-03-jak-bylo-na-j-open-space-conference-2008/</link>
      <pubDate>Sun, 03 Aug 2008 22:15:01 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-08-03-jak-bylo-na-j-open-space-conference-2008/</guid>
      <description>&lt;p&gt;Tato reportáž vznikla v průběhu posledních session na J-Open Space konferenci v Jizerských Horách. Je na místě se ptát, co za akci to vlastně bylo. &lt;a href=&#39;https://blog.novoj.net/binary//2008/08/dsc06559.JPG&#39; title=&#39;Otevření JOS 2008&#39;&gt;&lt;img src=&#39;https://blog.novoj.net/binary//2008/08/dsc06559_thn.jpg&#39; alt=&#39;Otevření JOS 2008&#39; align=&#34;right&#34; width=&#34;115px&#34; height=&#34;150px&#34; style=&#34;padding: 10px 0px 10px 10px;&#34;/&gt;&lt;/a&gt;Jednalo se o první setkání lidí z české Java scény, kteří byli ochotní jeden letní víkend věnovat povídání o Javě a zkušenostech s SW vývojem obecně. Prvotní idea uspořádání konference a vlastní organizace akce patřila Michalovi Šrajerovi (&lt;a href=&#34;http://srakyi.modry.cz/blog/&#34; target=&#34;_new&#34;&gt;alias Srakyi&lt;/a&gt;) ze společnosti Inmite. Výsledný mix 25 účastníků byl velmi pestrý - počínaje zástupci akademické sféry, lidí od Sun Microsystems nebo těch, co se točí okolo CZJUG (za pořadatele Dagi a několik přednášejících) a konče řadou českých bloggerů. Od slov Open Space v názvu konference byl odvozen způsob jakým konference probíhala (&lt;a href=&#34;http://www.agileopen.net/Conference/OpenSpace.html&#34; target=&#34;_new&#34;&gt;bližší informace o pravidlech OSC zde&lt;/a&gt;). Seance se dělily typově do tří skupin:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Teamcity &amp; CVS &amp; Maven: release on server</title>
      <link>https://blog.novoj.net/posts/2008-06-28-teamcity-cvs-maven-release-on-server/</link>
      <pubDate>Sat, 28 Jun 2008 20:12:07 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-06-28-teamcity-cvs-maven-release-on-server/</guid>
      <description>&lt;p&gt;If you use Maven 2 and Teamcity integration server, you might want to perform releases on server. Although it&#39;s not so complicated, some things must fit one into another and you might spend a lot of time till you find out how to configure pom.xml and build configuration. For those of you, who need to setup it, this article could come quite handy.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-77&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let&#39;s assume that you have maven release process setuped up for your localhost. If you do not, you can look at following articles, to get it running (this is the most difficult part, that I want to avoid analyzing in this post):&lt;/p&gt;</description>
    </item>
    <item>
      <title>Exkurz do templatovacích enginů v Javě</title>
      <link>https://blog.novoj.net/posts/2008-06-19-templatovaci-enginy-v-jave/</link>
      <pubDate>Thu, 19 Jun 2008 07:07:17 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-06-19-templatovaci-enginy-v-jave/</guid>
      <description>&lt;p&gt;Templatovací jazyky v Javě mají poměrně dlouhou minulost. První a zřejmě nejznámnější jsou JSP, které jsou součástí javy. Jsou nejstarší z rodiny templatovacích jazyků a přestože jsou masivně používány dodnes, mnoho lidí k nim má své výhrady:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;psaní JSP je obtížné pro ne-java programátory - přestože původní myšlenkou bylo, aby JSP psali odborníci na web (tedy &#34;webdevelopeři&#34;) tato myšlenka zcela jistě minula realitu; praxe je taková, že JSP píší z různých důvodu opět Java developři, jejichž je jednak nedostatek a jednak jejich zaměření je spíš na aplikační kód než na validitu a použitelnost HTML výstupu&lt;/li&gt;&#xA;&lt;li&gt;JSP stránky nejsou použitelné, díky životnímu cyklu JSP (JSP -&amp;gt; .java -&amp;gt; .class), mimo servletový kontejner - to znamená, že teprve servletový kontejner po nadeployování web aplikce JSP převede na implementace Servletů a přeloží je do binární podoby. Dopady tohoto mechanismu jsou poměrně jasné&#xA;&lt;ul&gt;&#xA;&lt;li&gt;JSP stránky mají své pevné umístění - hledají se vždy na filesystemu v adresáři web aplikace; nelze je umístit na classpath (a učinit je tak součástí přenositelných knihoven), nelze je načítat z jiného zdroje - např. databáze (a umožnit tak vznik nových stránek za běhu na systémech, kde nemáme přístup na filesystém), nelze definovat jakoukoliv složitější logiku načítání stránek krom dodání Erorr 404 stránky (např. custom logika ve smyslu neexistuje-li primární šablona, použij záložní, neexistuje-li ani ta, zobraz chybu)&lt;/li&gt;&#xA;&lt;li&gt;JSP stránky není možné jednoduše testovat - jejich výstup získáme teprve až dotazem na servletový kontejner&lt;/li&gt;&#xA;&lt;li&gt;JSP nelze použít pro skládání jiného výstupu než do web browseru - např. pro skládání  těl emailů musíme volit jiný templatovací engine&lt;/li&gt;&#xA;&lt;li&gt;debugování JSP nebylo poměrně dlouho možné a ani dnes to není zcela samozřejmá a jednoduchá věc (co se setupu týče)&lt;/li&gt;&#xA;&lt;li&gt;chybové hlášky JSP stránek jsou při určitém (často standardním) nastavení kontejnerů nečitelné (vztahují se k vygenerovaným servletům a nikoliv k původní template) - změna tohoto nastavení typicky vyžaduje stop/start kontejneru&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;JSP stránky díky možnosti psaní scriptletů vybízejí k míchání aplikační logiky do prezentační vrstvy - s tím se myslím setkal každý z nás a leckdo se k tomu někdy i uchýlil&lt;/li&gt;&#xA;&lt;li&gt;v případech některých kontejnerů je při změně JSP a požadavku na její opětovné vyrenderování znatelná časová prodleva - kompilace JSP vyžaduje nějaký čas (možná se jedná jen o zlomky vteřiny, maximálně vteřiny, ale při ladění nějakých drobnostní na stránce se jakákoliv prodleva počítá)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Reakcí na zmíněné nevýhody byl vznik interpretovaných templatovacích jazyků. V tomto příspěvku bych se chtěl podívat na zoubek dvěma nejznámnějším - Apache Velocity a FreeMarkeru.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vášniví uživatelé</title>
      <link>https://blog.novoj.net/posts/2008-05-21-vasnivi-uzivatele/</link>
      <pubDate>Wed, 21 May 2008 11:21:50 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-05-21-vasnivi-uzivatele/</guid>
      <description>&lt;p&gt;Nedávno jsem poslouchal záznam z přednášky, kterou měla &lt;a href=&#34;http://en.wikipedia.org/wiki/Kathy_Sierra&#34; target=&#34;_new&#34;&gt;Kathy Sierra&lt;/a&gt; na &lt;a href=&#34;http://www.oopsla.org/oopsla2007/index.php?page=sub/&amp;id=351&#34; target=&#34;_new&#34;&gt;konferenci OOPSLA v roce 2007&lt;/a&gt;. &lt;img src=&#34;http://upload.wikimedia.org/wikipedia/en/thumb/3/32/Kathy-sierra-by-james-duncan-davidson.jpg/175px-Kathy-sierra-by-james-duncan-davidson.jpg&#34; align=&#34;left&#34; height=&#34;180px&#34;/&gt;&lt;a href=&#34;http://www.oreillynet.com/pub/au/1084&#34; target=&#34;_new&#34;&gt; Kathy Sierru pravděpodobně budete znát podle její práce - je&lt;br /&gt;&#xA;spoluautorkou řady knih o Javě ze série Head First&lt;/a&gt;. Myslím, že mezi Javisty nechodí mnoho těch, kteří by o Head First nikdy neslyšeli a mnoho z nás se podle nich připravovalo na rozličné certifikace. To co je na sérii Head First výjimečné je přístup k prezentaci informací - jistě mi dáte za pravdu, když řeknu, že tato forma je, byť zpočátku vypadá tak trochu dětinsky, velmi přitažlivá a velmi dobře se z ní učí.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DesktopOK - ikonky pod kontrolou</title>
      <link>https://blog.novoj.net/posts/2008-05-15-desktopok-ikonky-pod-kontrolou/</link>
      <pubDate>Thu, 15 May 2008 07:03:12 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-05-15-desktopok-ikonky-pod-kontrolou/</guid>
      <description>&lt;p&gt;Tento problém je starý jako Windows samy. Při jakékoliv změně rozlišení obrazovky a někdy i jen tak z legrace, Windowsy sesypou ikonky na ploše. Neexistuje žádná systémem podporovaná funkce, která by si uměla pozice ikonek zapamatovat a následně obnovit. S příchodem nadupaných notebooků s vysokým rozlišením, které tu a tam napojíte na projektor nebo klasické LCD s nižším rozlišením tedy pravideně přicházíte o rozložení ikonek. Někomu to nevadí, ale já potřebuju mít svých 20 ikonek na ploše na správných místech.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Podcast: Záznam z přednášky Automatické testování v praxi</title>
      <link>https://blog.novoj.net/posts/2008-05-09-podcast-zaznam-z-prednasky-automaticke-testovani-v-praxi/</link>
      <pubDate>Fri, 09 May 2008 20:31:55 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-05-09-podcast-zaznam-z-prednasky-automaticke-testovani-v-praxi/</guid>
      <description>&lt;p&gt;Na dovolené se mi podařilo vyšetřit čas na sestříhání záznamu z přednášky Automatické testování v praxi, která se konala dne 21.4.2008 na Univerzitě Hradec Králové. Na přednášce se sešlo přes 30 posluchačů převážně z řad studentů univerzity. Přesto že jsem původně anoncoval, že se pokusím zabrousit i do pokročilejších témat, jako jsou testovací patterny a antipatterny, nástroje apod. musel jsem svůj záměr přehodnotit. V takovém případě bych se s přednášením dostal na dobré tři hodiny, přičemž na přednášku bylo vyhrazeno pouze minut devadesát. Přednáška se tedy zaměřuje na základy testování a bude pro Vás nejzajímavější tehdy, pokud s testováním teprve začínáte. S Tomášem Kozlem (garant za UHK) jsme se tedy předběžně dohodli na &#34;pokračovací&#34; přednášce na podzim tohoto roku, kde bychom se soustředili pouze na tato pokročilejší témata. Pokud tedy vše půjde dobře, dočká se tento &#34;podcast&#34; druhé části za několik málo měsíců.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PermGenSpace problem? No problem!</title>
      <link>https://blog.novoj.net/posts/2008-04-11-permgenspace-problem-no-problem/</link>
      <pubDate>Fri, 11 Apr 2008 11:27:47 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-04-11-permgenspace-problem-no-problem/</guid>
      <description>&lt;p&gt;Tento článek vyšel na našem &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_new&#34;&gt;firemním&lt;/a&gt; intranetu. Jelikož je jeho obsah velmi přínosný ve své jednoduchosti a agregace poznatků z řady roztříštěných zdrojů po internetu, požádal jsem autora Michala France o svolení k jeho zveřejnění. Jak to dopadlo, můžete vytušit už sami. Výsledkem je že se s Vámi mohu podělit o zkušenosti s (vy)řešením problémů OutOfMemory v oblasti PermGenSpace při redeploy našich aplikací v aplikačních kontejnerech. Před aplikací těchto znalostí jsme vcelku pravidelně po dvou &#34;redeployích&#34; restartovali celý server, protože docházela PermGenSpace. V současném stavu aplikační server žije i po několika desítkách redeployů.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blog v pavučině - zajímavůstky o JavaScriptu</title>
      <link>https://blog.novoj.net/posts/2008-04-11-blog-v-pavucine-zajimavustky-o-javascriptu/</link>
      <pubDate>Fri, 11 Apr 2008 06:50:07 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-04-11-blog-v-pavucine-zajimavustky-o-javascriptu/</guid>
      <description>&lt;p&gt;V odkazech na sledované blogy se mi objevil &lt;a href=&#34;http://pavucina.webmark.cz/&#34; target=&#34;_new&#34;&gt;Blog v pavučině&lt;/a&gt;, který píše můj kolega z web designerského oddělení &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_new&#34;&gt;Forrestu&lt;/a&gt;. Blog je zaměřen na JavaScript a webdesign, což je oblast, kterou možná jako Javisti orientovaní na web nemáme úplně rádi, ale je pro naši práci nezbytně potřeba (i když s nástupem jQuery se můj pohled na JavaScript radikálně změnil :-) ). Vypíchnu jen pár jeho článků a názor si udělejte sami:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://pavucina.webmark.cz/tema/regularni-vyrazy/&#34; target=&#34;_new&#34;&gt;Seriál o regulárních výrazech v JavaScriptu&lt;/a&gt; - vyšlo také na &lt;a href=&#34;http://interval.cz/clanky/regularni-vyrazy-a-javascript-uvod/&#34; target=&#34;_new&#34;&gt;www.interval.cz&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://pavucina.webmark.cz/35/loading-animace-na-par-kliknuti&#34; target=&#34;_new&#34;&gt;Loading... animace na pár kliknutí&lt;/a&gt; - rozřešení záhady, kde se neustále berou nové verze &#34;loading&#34; animací&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://pavucina.webmark.cz/36/jquery-ajax-load-a-cache&#34; target=&#34;_new&#34;&gt;jQuery: AJAX load a cache&lt;/a&gt; - IE a cache, kapitola sama pro sebe&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://pavucina.webmark.cz/33/textarea-de-luxe&#34; target=&#34;_new&#34;&gt;Textarea de Luxe&lt;/a&gt; - luxusní TextArey pro editaci zdrojového kódu&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://pavucina.webmark.cz/28/alternativni-scrollintoview-pro-ie&#34; target=&#34;_new&#34;&gt;Alternativní scrollIntoView() pro IE&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://pavucina.webmark.cz/19/css-hacky-pro-ruzne-verze-internet-exploreru&#34; target=&#34;_new&#34;&gt;Rozlišení CSS stylů pro různé verze Internet Exploreru&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Přeji příjemné čtení.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pozvánka na přednášku na Univerzitě Hradec králové - Automatické testování v praxi</title>
      <link>https://blog.novoj.net/posts/2008-04-02-pozvanka-na-prednasku-na-univerzite-hradec-kralove-automaticke-testovani-v-praxi/</link>
      <pubDate>Wed, 02 Apr 2008 20:19:03 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2008-04-02-pozvanka-na-prednasku-na-univerzite-hradec-kralove-automaticke-testovani-v-praxi/</guid>
      <description>&lt;p&gt;Rád bych vás touto cestou pozval na přednášku, kterou pořádá Univerzita Hradec Králové ve spolupráci s naší firmou při příležitosti vyhlášení vítězů soutěže Best Programmer. Na zmíněné přednášce budu rozebírat zkušenosti s automatickým testováním při vývoji web aplikací. Přednáška bude zaměřena především na vývojáře s malou zkušeností s automatickými testy, ale rád bych se dostal i k pokročilejším tématům jako jsou:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#39;https://blog.novoj.net/binary//2008/04/poster.png&#39; title=&#39;Plakát&#39; align=&#39;right&#39;&gt;&lt;img src=&#39;https://blog.novoj.net/binary//2008/04/poster.thumbnail.png&#39; alt=&#39;Plakát&#39;  align=&#39;right&#39; style=&#39;margin-top: 40px&#39;/&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;ul align=&#39;left&#39;&gt;&#xA;&lt;li&gt;Základy a obecný úvod do TDD&lt;/li&gt;&#xA;&lt;li&gt;Rozdíly mezi 3.x a 4.x řadou jUnitu&lt;/li&gt;&#xA;&lt;li&gt;Pozitivní a negativní dopady na proces vývoje&lt;/li&gt;&#xA;&lt;li&gt;Techniky testování (patterns, antipatterns, code smell)&lt;/li&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Business layer&lt;/li&gt;&#xA;&lt;li&gt;Data layer&lt;/li&gt;&#xA;&lt;li&gt;User interface layer&lt;/li&gt;&#xA;&lt;li&gt;řešení problémových oblastí (SMTP, java.util.Date)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;li&gt;Nástroje&lt;/li&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IntelliJ Idea, NetBeans&lt;/li&gt;&#xA;&lt;li&gt;TeamCity&lt;/li&gt;&#xA;&lt;li&gt;Reporting&lt;/li&gt;&#xA;&lt;li&gt;Ant, Maven&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Kde:&lt;/strong&gt; &lt;a target=&#34;_new&#34; href=&#34;http://www.mapy.cz/#x=136286272@y=136393360@z=16@mm=ZP@ax=136287056@ay=136393344@at=UHK%20-%20Fakulta%20informatiky%20a%20managementu@ad=M%C3%ADstnost%20B9%20od%2010:00,%20p%C5%99edn%C3%A1%C5%A1ka%20Automatick%C3%A9%20testov%C3%A1n%C3%AD%20v%20praxi@sa=s@st=s@ssq=N%C3%A1m%C4%9Bst%C3%AD%20svobody,%20Hradec%20Kr%C3%A1lov%C3%A9@sss=1@ssp=136277960_136388376_136298776_136404696&#34;&gt;Univerzita Hradec Králové - Fakulta informatiky a managementu&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&#xA;&lt;strong&gt;Místnost:&lt;/strong&gt; B9&lt;br /&gt;&#xA;&lt;strong&gt;Kdy:&lt;/strong&gt; 21. dubna 2008, od 10:00 do 11:30&lt;br&gt;&lt;br /&gt;&#xA;&lt;strong&gt;Garant:&lt;/strong&gt; Tomáš Kozel (UHK)&lt;br /&gt;&#xA;&lt;strong&gt;Přednášející:&lt;/strong&gt; Jan Novotný (FG Forrest)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jak nainstalovat MySQL server na Windows Vista</title>
      <link>https://blog.novoj.net/posts/2008-03-29-jak-nainstalovat-mysql-server-na-windows-vista/</link>
      <pubDate>Sat, 29 Mar 2008 21:19:11 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-03-29-jak-nainstalovat-mysql-server-na-windows-vista/</guid>
      <description>&lt;p&gt;Nedávno jsme celá firma obnovili notebookový park a přešli na Windows Vista. Při zprovozňování infrastruktury jsem narazil na problém s instalací MySQL server verze 5.1. Instalace serveru jako taková proběhla bez potíží, když se ale měl nastartovat konfigurační průvodce pro zprovoznění serveru k ničemu nedošlo. V event logu windows jem narazil pouze na tuto hlášku:&lt;/p&gt;&#xA;&lt;p&gt;&lt;i&gt;Activation context generation failed for &#34;C:\Program Files\MySQL\MySQL Server 5.1\bin\MySQLInstanceConfig.exe&#34;.Error in manifest or policy file &#34;C:\Program Files\MySQL\MySQL Server 5.1\bin\MySQLInstanceConfig.exe&#34; on line 6. The value &#34;asAdministrator&#34; of attribute &#34;level&#34; in element &#34;urn:schemas-microsoft-com:asm.v1^requestedPrivileges&#34; is invalid.&lt;/i&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jak bylo na školení NetBeans Platform</title>
      <link>https://blog.novoj.net/posts/2008-03-08-jak-bylo-na-skoleni-netbeans-platform/</link>
      <pubDate>Sat, 08 Mar 2008 19:00:04 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-03-08-jak-bylo-na-skoleni-netbeans-platform/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://blog.novoj.net/2008/03/08/jak-bylo-na-skoleni-netbeans-platform/#english&#34;&gt;&lt;/p&gt;&#xA;&lt;h4&gt;English translation&lt;/h4&gt;&#xA;&lt;p&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Tímto příspěvkem bych chtěl poděkovat pánům ze Sun Microsystems za uspořádání tohoto školení. Přestože mým oborem jsou výhradně server side aplikace, rád jsem si rozšířil obzory v oblasti desktopu. Z tohoto důvodu se z mé strany pravděpodobně nedočkají významné kontribuce, a proto se snažím jim námahu vrátit alespoň touto reklamou na jejich edukační program.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-56&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Celkový dojem z dvoudenního školení je veskrze pozitivní - pokud bylo záměrem dostat do nás základní principy a procesy, které jsou pro další studium platformy třeba, myslím, že se dílo podařilo (alespoň v mém případě :-) ). Čeho si cením asi nejvíce, je možnost vyslechnout tyto informace přímo od autorů a mít možnost se vyptat na detaily přímo jich. Z čehož vyplývá závěr, že školení z tohoto hlediska může být přínosem i pro člověka z desktop oboru nebo přímo NetBeans kontributora. Jedním z příjemných překvapení bylo, že, obdobně jako Roumen si na nic nehraje, ani nikdo z jiných vývojářů nedával najevo nějaký odstup nebo dokonce nadřazenost, přestože by ze své pozice mohli. Přátelské pokecání u oběda řadím také mezi jedny z pozitivních bodů oněch dvou dnů.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spring AOP - Pozor na AspectJExpressionPointcut!</title>
      <link>https://blog.novoj.net/posts/2008-03-07-spring-aop-pozor-na-aspectjexpressionpointcut/</link>
      <pubDate>Fri, 07 Mar 2008 20:28:23 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-03-07-spring-aop-pozor-na-aspectjexpressionpointcut/</guid>
      <description>&lt;p&gt;Tento týden jsem řešil problém s nedostatkem paměti při spouštění testů jednoho projektu. Pro běh testů nestačilo výchozích 64MB paměti Javy na heapu, což mi připadlo v porovnání s velikostí projektu podezřelé. Začal jsem profilovat a jelikož mne výsledky poněkud překvapily, chci se s Vámi o ně v tomto článku podělit.&lt;/p&gt;&#xA;&lt;p&gt;Hned na úvod řeknu, že jádrem problému byla třída &lt;a href=&#34;http://www.jdocs.com/spring/2.0.6/org/springframework/aop/aspectj/AspectJExpressionPointcut.html&#34; target=&#34;_new&#34;&gt;AspectJExpressionPointcut&lt;/a&gt;. Tato třída je ve Spring dokumentaci zmiňována hned několikrát, velmi jednoduše se používá a ze všech dostupných materiálů jsem dospěl k názoru, že se jedná o doporučovaný a běžně používaný standard.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Acegi Captcha způsob integrace a možnosti použití</title>
      <link>https://blog.novoj.net/posts/2008-02-29-acegi-captcha-zpusob-integrace-a-moznosti-pouziti/</link>
      <pubDate>Fri, 29 Feb 2008 07:39:49 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-02-29-acegi-captcha-zpusob-integrace-a-moznosti-pouziti/</guid>
      <description>&lt;p&gt;V tomto příspěvku se nechci věnovat popisu zprovoznění jCaptchy v bezpečnostní frameworku Acegi Security, jelikož toto je velmi dobře popsáno již v &lt;a href=&#34;http://weblog.morosystems.cz/spring/Spring-Acegi-JCaptcha-integration&#34; target=&#34;_new&#34;&gt;existujícím článku na MoroSystems weblogu&lt;/a&gt;. Spíš se chci zaobírat způsobem, jakým se k integraci do Acegi frameworku autoři postavili. Tento způsob mi přijde totiž přinejmenším neobvyklý. Zachovává sice zavedené principy Acegi, ale ten neodpovídá mým (ale řekl bych vcelku přirozeným) představám o tom, jak by měla captcha ve web strákách fungovat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ještě pořád se držíte JDK, když je po ruce Joda Time?</title>
      <link>https://blog.novoj.net/posts/2008-02-13-jeste-porad-se-drzite-jdk-kdyz-je-po-ruce-joda-time/</link>
      <pubDate>Wed, 13 Feb 2008 11:18:58 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-02-13-jeste-porad-se-drzite-jdk-kdyz-je-po-ruce-joda-time/</guid>
      <description>&lt;p&gt;Po delší době jsem měl zase čas podívat se na zoubek v mém TODO listu. Tentokrát jsem si vzal na paškál poměrně malou knihovnu s názvem &lt;a href=&#34;http://joda-time.sourceforge.net/&#34; target=&#34;_new&#34;&gt;Joda Time&lt;/a&gt;. Cílem této knihovny je reimplementace Java API pro práci s datumy a časem. Každý z nás, kdo pracuje s Javou nějaký ten čas, se tu a tam potýká s tímto těžkopádným API. Joda Time přinesl poměrně hodně nových myšlenek a stal se základem pro &lt;a href=&#34;https://jsr-310.dev.java.net/&#34; target=&#34;_new&#34;&gt;JSR 310&lt;/a&gt;, které by mělo být součástí nové Javy 7. Často na toto téma naráží i pánové z Java Posse. Co je tedy na knihovně tak úžasného? Čtěte dál ...&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running AJAX with jQuery in Stripes Framework</title>
      <link>https://blog.novoj.net/posts/2008-01-25-running-ajax-with-jquery-in-stripes-framework/</link>
      <pubDate>Fri, 25 Jan 2008 08:06:40 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-01-25-running-ajax-with-jquery-in-stripes-framework/</guid>
      <description>&lt;div style=&#34;margin: 10px; padding: 5px; border: 1px solid white; background-color: #333333; font-size: 90%&#34;&gt;&#xA;Though most of articles at this blog are written in my native language - Czech, this one will be different. I have chosen an English to address wider community of Stripes developers - I think there would&#39;nt be enough readers in our beautiful small country. So, please, excuse possible errors and mistakes in the article, I will try my best :-) .&#xA;&lt;/div&gt;&#xA;&lt;h3&gt;Common introduction to AJAX in Stripes&lt;/h3&gt;&#xA;&lt;p&gt;Stripes framework offers basic but sufficient support for AJAX that is covered with article at &lt;a href=&#34;http://www.stripesframework.org/display/stripes/AJAX&#34; target=&#34;_ new&#34;&gt;official web site&lt;/a&gt;. Article recommends using commonly known &lt;a href=&#34;http://www.prototypejs.org&#34; target=&#34;_new&#34;&gt;PrototypeJS&lt;/a&gt; AJAX client side library. On the server side, request is processed by Stripes themselves by standard population and execution as any other http request (that means that data from client to server are sent as a standard URL encoded parameters). What you get is correctly populated and validated action bean - and until now you haven&#39;t even recognize, that request is made by JavaScript on the client side not even you have to care of it. You can access session, exchange cookies and so on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Podcast: Jak se žije českému vývojáři v Dublinu?</title>
      <link>https://blog.novoj.net/posts/2008-01-10-jak-se-zije-ceskemu-vyvojari-v-dublinu/</link>
      <pubDate>Thu, 10 Jan 2008 09:21:23 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-01-10-jak-se-zije-ceskemu-vyvojari-v-dublinu/</guid>
      <description>&lt;p&gt;Po necelých třech letech v Irsku se zpět do Čech vrací můj kamarád &lt;a href=&#34;http://jetensky.net&#34; target=&#34;_blank&#34;&gt;Pavel Jetenský&lt;/a&gt; a tak jsem se chopil příležitosti a vyzpovídal jsem ho z jeho zážitků. Z našeho rozhovoru vznikl podcast, ve kterém se dozvíte něco málo o přestěhování se do Irska, hledání práce tam, cestování, technologiích, kontraktování a tak podobně.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-46&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Pokud vás budou zajímat podrobnosti o některých věcech, které se v podcastu probírají, napište dotazy do diskuse pod příspěvkem. Pavel bude na vznesené dotazy odpovídat a z vaších dotazů a jeho odpovědí tak budou mít něco i ti ostatní. Pokud byste měli zájem o soukromý kontakt na Pavla, pište mu na adresu &lt;a href=&#34;mailto:kontrakty[NAHRADZAVINACEM]jetensky.net&#34;&gt;kontrakty&lt;nahradzavinacem&gt;jetensky.net&lt;/nahradzavinacem&gt;&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Retrotranslator - hladce z Javy 1.5 do 1.4</title>
      <link>https://blog.novoj.net/posts/2008-01-09-retrotranslator-hladce-z-javy-14-do-15/</link>
      <pubDate>Wed, 09 Jan 2008 22:41:57 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2008-01-09-retrotranslator-hladce-z-javy-14-do-15/</guid>
      <description>&lt;p&gt;Řada z vás si určitě řekne, co to ten Fura vytahuje za prehistorická témata. V době, kdy se už živě diskutuje o tom, co bude v Javě 1.7, rozebírá přechod z verze 1.4 na verzi 1.5. Možná vás to překvapí, ale v našem prostředí (server web aplikace), provozujeme ještě řadu instalací na verzi 1.4 a možnosti upgradu v nedohlednu. Proto je pro nás stále aktuální udržovat / vytvářet sdílené knihovny i pro 1.4 verzi Javy. Hledali jsme a zkoušeli tedy nějakou co nejméně bolestivou cestu, jak využít možností vyšších verzí se zachováním zpětné přenositelnosti. A naším (mým :-) ) favoritem se stal &lt;a href=&#34;http://retrotranslator.sourceforge.net/&#34; target=&#34;_new&#34;&gt;Retrotranslator&lt;/a&gt;. Více o jeho použití se dočtete v tomto článku.&lt;/p&gt;</description>
    </item>
    <item>
      <title>První rok Myšlenek Otce Fura</title>
      <link>https://blog.novoj.net/posts/2007-12-13-prvni-rok-myslenek-otce-fura/</link>
      <pubDate>Thu, 13 Dec 2007 06:09:05 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-12-13-prvni-rok-myslenek-otce-fura/</guid>
      <description>&lt;p&gt;Je to neuvěřitelné, ale je to právě rok od prvního příspěvku s názvem &lt;a href=&#34;http://blog.novoj.net/2006/12/13/z-ilegality-do-legality/&#34; target=&#34;_new&#34;&gt;Z ilegality do legality&lt;/a&gt; na tomto blogu. V tomto příspěvku, bych se s vámi chtěl podělit o pár zkušeností a pár čísel z pozadí tohoto blogu a také vám poděkovat za váš zájem o něj.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-48&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;style&gt;&#xA;.statistics, .pageStatistics {&lt;br /&gt;&#xA;   width: auto;&lt;br /&gt;&#xA;   text-align: left;&lt;br /&gt;&#xA;   font-size: 80%;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.statistics td {&lt;br /&gt;&#xA;  text-align: right;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.statistics th {&lt;br /&gt;&#xA;  padding-right: 20px;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics th {&lt;br /&gt;&#xA;  text-align: right;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics td {&lt;br /&gt;&#xA;  padding-right: 20px;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;.pageStatistics .headerRow th {&lt;br /&gt;&#xA;   text-align: left;&lt;br /&gt;&#xA;   color: yellow;&lt;br /&gt;&#xA;}&lt;br /&gt;&#xA;&lt;/style&gt;&#xA;&lt;div align=&#34;center&#34;&gt;&#xA;&lt;table class=&#34;statistics&#34;&gt;&#xA;&lt;tbody&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Počet příspěvků:&lt;/th&gt;&#xA;&lt;td&gt;32 = 1 příspěvek každé 2 týdny&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Počet unikátních návštěvníků:&lt;/th&gt;&#xA;&lt;td&gt;1739 (listopad 2007)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Počet odběratelů RSS:&lt;/th&gt;&#xA;&lt;td&gt;+/- 125&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;tr&gt;&#xA;&lt;th&gt;Počet přečtených příspěvků:&lt;/th&gt;&#xA;&lt;td&gt;3093 (listopad 2007) - max. 3815 (září 2007)&lt;/td&gt;&#xA;&lt;/tr&gt;&#xA;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;Musím přiznat, že základem návštěvnosti bylo od začátku blogu publikování upoutávek na portále Java.cz. U markantní části návštěvníků je referrer právě tento portál. Druhou výraznou událostí byl CZ Podcast #8, kde kluci zmínili některé z mých příspěvků a v podstatě mi z měsíce na měsíc zdvojnásobili návštěvnost blogu. Tímto jim moc děkuji - jen mě mrzí, že se k hudbě z pevnosti Boyard dostali dřív než já.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google collections - ušetřete si práci s kolekcemi</title>
      <link>https://blog.novoj.net/posts/2007-12-09-google-collections-usetrete-si-praci-s-kolekcemi/</link>
      <pubDate>Sun, 09 Dec 2007 16:48:05 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-12-09-google-collections-usetrete-si-praci-s-kolekcemi/</guid>
      <description>&lt;p&gt;Nedávno mě při poslechu &lt;a href=&#34;http://www.javaposse.com/&#34; target=&#34;_new&#34;&gt;JavaPosse&lt;/a&gt; zaujala zmínka o &lt;a href=&#34;&lt;br /&gt;&#xA;http://code.google.com/p/google-collections/&#34; target=&#34;_new&#34;&gt;Google Collections&lt;/a&gt;. Jedná se o knihovnu doplňující funkcionalitu třídy Collections ze standardní Javy. Knihovna obsahuje řadu utility tříd, které zpříjemňují život s generikami v kolekcích, vytváření kolekcí v kolekcích a další manipulaci dat v kolekcích. Jelikož mě knihovna zaujala hned na první pohled, rozhodl jsem se podívat se jí na zoubek a podělit se s vámi o své zkušenosti.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-47&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Zkrácení zápisu pro vytvoření nových kolekcí s generikami&lt;/h3&gt;&#xA;&lt;p&gt;Jedná se možná o drobnost, ale natolik častou, že i drobné vylepšení přinese celkové zpřehlednění zápisu a zrychlení práce. V klasickém Java 1.5 kódu při vytváření generické kolekce typicky píšete např.:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Co tvoří produktivní prostředí?</title>
      <link>https://blog.novoj.net/posts/2007-11-25-co-tvori-produktivni-prostredi/</link>
      <pubDate>Sun, 25 Nov 2007 19:31:14 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-11-25-co-tvori-produktivni-prostredi/</guid>
      <description>&lt;p&gt;Nedávno jsem se zamýšlel, co v mém případě činilo rozdíl mezi tím, kdy mě bavilo co jsem dělal a tím, kdy jsem pouze docházel do &#34;práce&#34;. Co dělá člověka kreativním a co naopak pasivním. Uvědomil jsem si, že je v mém nejlepším zájmu přičinit se o to, aby v práci vzniklo kreativní prostředí, protože jenom tak budu mít pocit, že práce, kterou dělám má smysl. K tomu, aby bylo možné tento stav ovlivňovat, je však nutné rozlišit faktory, které na něj působí a na jejich základě zjistit, zda s těmito faktory dokážeme ze své pozice hnout, nebo nikoliv.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jak se dělá byznys</title>
      <link>https://blog.novoj.net/posts/2007-11-08-jak-se-dela-byznys/</link>
      <pubDate>Thu, 08 Nov 2007 20:02:26 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-11-08-jak-se-dela-byznys/</guid>
      <description>&lt;p&gt;Poměrně pravidelně dojíždím z Pardubic do Hradce Králové dopravou a docela často používám server &lt;a href=&#34;http://jizdnirady.idnes.cz/JRCis.asp&#34; target=&#34;_new&#34;&gt;http://jizdnirady.idnes.cz/JRCis.asp&lt;/a&gt; na vyhledávání spojů. Nemohl jsem si nevšimnout, že nedávno tento server přešel pod správu společnosti MAFRA, a.s.. Všimnul jsem si a musím tedy kroutit hlavou.&lt;/p&gt;&#xA;&lt;p&gt;Celý portál je kompletně zahlcený reklamou na další web projekty této společnosti a to velmi nevkusně a nepříjemě. V záplavě blikajících obrázků a linků kamsi, člověk jen obtížně nachází to, kvůli čemu na portál přišel - vyhledávací formulář.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maven2, release plugin a přístup do CVS přes SSH s privátním klíčem</title>
      <link>https://blog.novoj.net/posts/2007-11-02-maven2-release-plugin-a-pristup-do-cvs-pres-ssh-s-privatnim-klicem/</link>
      <pubDate>Fri, 02 Nov 2007 22:23:41 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-11-02-maven2-release-plugin-a-pristup-do-cvs-pres-ssh-s-privatnim-klicem/</guid>
      <description>&lt;p&gt;Před tím, než jsem mohl ozkoušet maven-release-plugin, na který jsem si stěžoval v článku &lt;a href=&#34;http://blog.novoj.net/2007/08/22/co-bych-rad-slysel-v-zari-na-czjug/&#34; target=&#34;_new&#34;&gt;Co bych rád slyšel v září na CZJUG&lt;/a&gt;, musel jsem rozchodit přístup do našeho CVS skrze SSH s přihlašováním pomocí privátního klíče. Po zkušenostech můžu říct, že to byla práce nelehká a musím potvrdit negativní ohlasy ostatních, že v některých případech dokumentace k Mavenu (respektive k jeho konkrétním pluginům) je opravdu nedostatečná. Oříšek jsem nakonec rozlousknul díky zdrojákům a oddebugování.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Prospěšná Captcha</title>
      <link>https://blog.novoj.net/posts/2007-10-04-prospesna-captcha/</link>
      <pubDate>Thu, 04 Oct 2007 15:19:43 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-10-04-prospesna-captcha/</guid>
      <description>&lt;p&gt;Kamarád mi poslal odkaz na &lt;a href=&#34;http://news.bbc.co.uk/1/hi/technology/7023627.stm&#34; target=&#34;_new&#34;&gt;zajímavý článek&lt;/a&gt;. Jistě všichni znáte ochranu zneužití veřejně dostupných formulářů pomocí CAPTCHA. Koneckonců je většina z nás má na svých blozích po tom, co nám začaly chodit spamové komentáře k článkům. Pánové z Carnegie Mellon University však našli způsob, jak tento otravný fenomén převést na něco, co je užitečné.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-40&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Na světě existuje ohromné množství tištěné literatury, které se snaží archiváři digitalizovat, aby se zachovaly pro budoucí generace. Při digitalizaci se používá OCR pro rozeznávání textového obsahu. OCR však není v řadě případů úspěšné - prostě nedokáže rozeznat napsané slovo (podle statistiky 1 z 10). Výsledkem je tedy text, který je více či méně znehodnocený a je nutný lidský zásah, aby byl původní text zkompletován.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Část #4: Modulární systémy ve Spring Framework</title>
      <link>https://blog.novoj.net/posts/2007-10-04-cast-4-modularni-systemy-ve-spring-framework/</link>
      <pubDate>Thu, 04 Oct 2007 08:07:25 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-10-04-cast-4-modularni-systemy-ve-spring-framework/</guid>
      <description>&lt;p&gt;Aplikační události jsou jedním ze základních stavebních kamenů Springu a proto by bylo škoda se ochudit o tuto skvělou vlastnost na rozhraní modulů. Je zřejmé, že nebudeme chtít otevřít všechny aplikační události svému okolí, nicméně u řady událostí bychom chtěli umožnit ostatním modulům reagovat. Jako příklad uvedu interakci mezi modulem pro správu uživatelů a notifikačním modulem - notifikační modul se stará o rozesílání emailových notifikací v reakci na konkrétní aplikační události (samozřejmě obecně - konfigurovatelně). To je typická ukázka stavu, kdy chceme, aby uživatelský modul dokázal emitovat třebas událost “založení nového uživatele” tak, aby notifikační modul mohl reagovat odesláním emailu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Část #3: Modulární systémy ve Spring Framework</title>
      <link>https://blog.novoj.net/posts/2007-09-27-cast-3-modularni-systemy-ve-spring-framework/</link>
      <pubDate>Thu, 27 Sep 2007 20:04:25 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-09-27-cast-3-modularni-systemy-ve-spring-framework/</guid>
      <description>&lt;p&gt;V prvním díle jsme si ukázali, jak jednotlivé moduly separovat a propojit ve stromu. V předchozím pak způsob, jak strom udržet konzistentní a refreshovatelný za běhu aplikace. Dnešní díl bude o tom, jak jednotlivé moduly mezi sebou propojit - respektive, jak zajistit interakci mezi jednotlivými moduly. &lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-34&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Vystavení &#34;interface&#34; bean modulů&lt;/h3&gt;&#xA;&lt;p&gt;Pokud se vydáte cestou tvorby stromu z aplikačních kontextů, pravděpodobně narazíte na problém rozhraní jednotlivých modulů. Vraťme se k našemu příkladu reportovacího modulu, modulu uživatelů a web aplikace. Jak vyřešit velmi pravděpodobný usecase, kdy z web aplikace budeme chtít v reportu zobrazit seznam uživatelů? Jedná se o propojení všech třech modulů, které jsou nezávislé (mají oddělené životní prostory a jeden nevidí k druhému) a které jsou ve stromu na stejné úrovni - podřízené stejnému root contextu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Část #2: Modulární systémy ve Spring Frameworku</title>
      <link>https://blog.novoj.net/posts/2007-09-20-cast-2-modularni-systemy-ve-spring-frameworku/</link>
      <pubDate>Thu, 20 Sep 2007 15:41:13 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-09-20-cast-2-modularni-systemy-ve-spring-frameworku/</guid>
      <description>&lt;p&gt;V této části seriálu si rozebereme problematiku refreshe stromu aplikačních kontextů. Toto je skvělá vlastnost Springu, která je často nedoceněná a málo používaná. Díky ní je možné jednoduše zahodit všechny současné instance bean definované v aplikačním kontextu a provést kompletní reinicalizaci kontextu s aktuální konfigurací (tak můžeme elegantně změnit chování aplikace bez nutnosti restartu serveru). S refreshem aplikačního kontextu se dá vyřešit poměrně dost věcí i v produkčním prostředí - navíc netrpí problémem PermGenSpace jako při reloadu kontextu celé aplikace na serveru. V situaci, kdy máme ale celý strom aplikačních kontextů se nám situace poměrně komplikuje - refresh se totiž stromem sám od sebe nezpropaguje.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Část #1: Modulární systémy ve Spring Frameworku</title>
      <link>https://blog.novoj.net/posts/2007-09-14-cast-1-modularni-systemy-ve-spring-frameworku/</link>
      <pubDate>Fri, 14 Sep 2007 05:04:20 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-09-14-cast-1-modularni-systemy-ve-spring-frameworku/</guid>
      <description>&lt;p&gt;V tomto díle si povíme něco o aplikačních kontextech, jejich vlastnostech a možnosti jejich řetězení do stromové struktury. Tato část je základem principem celého modulární skladby, jejíž detaily vám budu v následujících dílech popisovat. Jak jsem již uváděl v předmluvě, nejedná se o nic světoborného, jen o základní principy Springu.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-30&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Aplikační kontexty&lt;/h3&gt;&#xA;&lt;p&gt;Celý Spring je postaven na aplikačních kontextech. Aplikační kontext se dá nejlépe přiblížit ke class loaderům v Javě, má i řadu podobných vlastností. Aplikační kontexty mohou tvořit strom, kontexty v nižších úrovních se odkazují na kontexty nadřazené. Z nižších kontextů jsou viditelné beany v kontextech nadřazených, z nižších kontextů jsou ApplicationEventy posílány ke zpracování i do nadřazených kontextů. Pouze post processorové faktory (&lt;a href=&#34;http://www.springframework.org/docs/api/org/springframework/beans/factory/config/BeanPostProcessor.html&#34; target=&#34;_new&#34;&gt;BeanPostProcessor&lt;/a&gt; a &lt;a href=&#34;http://www.springframework.org/docs/api/org/springframework/beans/factory/config/BeanFactoryPostProcessor.html&#34; target=&#34;_new&#34;&gt;BeanFactoryPostProcessor&lt;/a&gt;) jsou pro každý kontext definovány zvlášť.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Seriál: Modulární systémy ve Spring Frameworku</title>
      <link>https://blog.novoj.net/posts/2007-09-08-serial-modularni-systemy-ve-spring-frameworku/</link>
      <pubDate>Sat, 08 Sep 2007 18:59:42 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-09-08-serial-modularni-systemy-ve-spring-frameworku/</guid>
      <description>&lt;p&gt;Ve chvíli, kdy začnete používat při vývoji masivněji Spring Framework a začnete vytvářet znovupoužitelné knihovny postavené nad tímto frameworkem, začnete řešit jak z těchto knihoven co nejlépe složit výslednou aplikaci. První myšlenky povedou pravděpodobně těmito cestami:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;konfigurační soubory jednotlivých knihoven sloučit v jednom velkém aplikačním kontextu&lt;/li&gt;&#xA;&lt;li&gt;držet jednotlivé knihovny odděleně - nechat jim jejich vlastní aplikační kontexty a k těmto kontextům se dostávat programovým způsobem&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Obě cesty však mají svá úskalí.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Život s OC4J</title>
      <link>https://blog.novoj.net/posts/2007-08-30-zivot-s-oc4j/</link>
      <pubDate>Thu, 30 Aug 2007 08:55:00 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-08-30-zivot-s-oc4j/</guid>
      <description>&lt;p&gt;Pokud mi někdo řekne, že moje aplikace má běžet v aplikačním serveru OC4J naskočí mi husí kůže. Tento reflex se mi už dostal do podvědomí kvůli řadě bezesných nocí řešením řady chyb ukrytých v kódu, ke kterým člověk nemá zdrojové kódy. Nedá se ovšem nic dělat, náš zákazník, náš pán. Opět jsem se tedy musel ponořit do zakalených vod bažiny OC4J.&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;Pozn.:&lt;/b&gt; Tento příspěvek byl psán ve velké depresi. Kdo nemáte rádi pesimistické články před víkendem, radši ani nepokračujte ;-) .&lt;/p&gt;</description>
    </item>
    <item>
      <title>Co bych rád slyšel v září na CZJUG</title>
      <link>https://blog.novoj.net/posts/2007-08-22-co-bych-rad-slysel-v-zari-na-czjug/</link>
      <pubDate>Wed, 22 Aug 2007 12:04:15 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-08-22-co-bych-rad-slysel-v-zari-na-czjug/</guid>
      <description>&lt;p&gt;Tento post je tak trochu věnován &lt;a href=&#34;http://blog.softeu.cz/&#34; target=&#34;_new&#34;&gt;Petru Ferschmannovi ze SoftEU&lt;/a&gt;, který bude mít &lt;a href=&#34;http://blog.softeu.cz/pozvanka-maven-prakticke-nasazeni/&#34; target=&#34;_new&#34;&gt;19. září 2007 přednášku na téma praktické nasazení Mavenu na CZJUGu&lt;/a&gt;. Jelikož vím, že občas na můj blog zamíří (doufám že pravidelně :-) ), věřím, že na článek zareaguje a kdo ví - třeba na moje otázky v září odpoví.&lt;br /&gt;&#xA;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-31&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Problémy s maven-release-plugin&lt;/h3&gt;&#xA;&lt;p&gt;Vycházím z praktické zkušenosti (cca 3/4 roku staré tedy), kdy jsem se snažil použít &lt;a href=&#34;http://maven.apache.org/plugins/maven-release-plugin/&#34; target=&#34;_new&#34;&gt;maven-release-plugin&lt;/a&gt; pro vydávání verzi v multiprojektu. Typicky mám parent pom.xml v nadřízené složce, a pom.xml jednotlivých modulů ve složkách o úroveň níže (obdobný problém jsem ale měl i pokud jsem parent umístil také do složky druhé úrovně, myslím). Při použití maven-release-pluginu na parent projektu bych čekal, že správně releasne jak hlavní projekt, tak všechny moduly v něm registrované. Problém je  v tom, že plugin všechny zdrojáky zataguje ve VCS a následně si je vycheckoutuje pod tímto tagem do složky &#34;target&#34;. Po vycheckoutování mu ale nesedí relativní cesty k pom.xml jednotlivých modulů a celé to vyhoří. Jediným způsobem, jak plugin použít, pro mne bylo spouštět postupně releasy na všech modulech projektu, což bylo velmi nekomfortní. Dále mě na celém tomto způsobu vadilo, že v celém release procesu jsou spouštěny např. testy 2x - přitom by přeci stačilo je spustit jen jednou. Navíc parametry, se kterým se spustil daný release se posléze nepřenesly do buildování již té vycheckoutované verze - mám ten dojem, že plugin si interně spouští úplně novou instanci mavenu na zbuildování vycheckoutované verze.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Porovnání Maven 2 pluginů pro IntelliJ Idea</title>
      <link>https://blog.novoj.net/posts/2007-08-12-porovnani-maven-2-pluginu-pro-intellij-idea/</link>
      <pubDate>Sun, 12 Aug 2007 06:09:43 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-08-12-porovnani-maven-2-pluginu-pro-intellij-idea/</guid>
      <description>&lt;p&gt;Integrace build systému do IDE je věc pro mne nepostradatelná. Není ovšem integrace jako integrace. Pokud používáte Maven 2 a IntelliJ Idea jako my zjistíte, že pluginů je řada, ale velmi rozdílné kvality a velmi rozdílné aktuálnosti.&lt;/p&gt;&#xA;&lt;p&gt;Navíc osobně si velmi cením možnosti buildovat projekt přímo z IDE - toto buildování je totiž řádově rychlejší než kterýkoli ant / maven build, jelikož IDE ví přesně, které třídy se změnily a zda je třeba překompilovat závislé třídy a když, tak jaké. Ant a Maven při vší své dokonalosti dokáží rozeznat a překompilovat jen třídy se změněným timestamp, ale závislé třídy nezkompilují. Dále mi to umožňuje jednoduše používat HOT replace funkcionalitu, pouštět testy přímo z IDE atd. Důvodů je prostě řada. Proto jsem chtěl, aby mi plugin pomohl zůstat ve svém IDE, ale pro správu dependencí a produkčních buildů využít daleko lepších možností Maven 2. Chvíli to trvalo, ale našel jsem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jak na rychlé integrační testy ve Springu</title>
      <link>https://blog.novoj.net/posts/2007-08-04-jak-na-rychle-integracni-testy-ve-springu/</link>
      <pubDate>Sat, 04 Aug 2007 11:53:38 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-08-04-jak-na-rychle-integracni-testy-ve-springu/</guid>
      <description>&lt;p&gt;Integrační testy spočívají v testování konkrétní kódu spolu s okolními částmi, se kterými spolupracuje. Cílem je snaha otestovat kód ve stavu, který se blíží reálnému nasazení. Obvykle takto testujeme datovou vrstvu aplikace (jelikož tam klasické jednotkové testy ztrácejí smysl - chceme přeci otestovat správné dotazování databáze, tudíž databázi k testu potřebujeme) a v řadě případů se nám nevyplatí &lt;a href=&#34;http://blog.novoj.net/2007/01/19/mock-testing-potemkinovy-vesnice/&#34; target=&#34;_new&#34;&gt;mockovat&lt;/a&gt; ani na úrovni business vrstvy. Dokonce i &lt;a href=&#34;http://www.infoq.com/presentations/system-integration-testing-with-spring&#34; target=&#34;_new&#34;&gt;Rod Johnson ve své prezentaci&lt;/a&gt; (kterou byl inspirován tento článek) zdůrazňuje důležitost integračních testů.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Download binárního souboru přes HTTPS a Internet Explorer</title>
      <link>https://blog.novoj.net/posts/2007-07-26-download-binarniho-souboru-pres-https-a-internet-explorer/</link>
      <pubDate>Thu, 26 Jul 2007 14:08:03 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-07-26-download-binarniho-souboru-pres-https-a-internet-explorer/</guid>
      <description>&lt;p&gt;Jsou chyby malé, velké, závažné i triviální, úsměvné, spletité i velmi hloupé. Z celého pokolení chyb je tahle velmi, velmi stará a také dost hloupá. A vypadá to, že z úcty k jejímu věku, ji nechá M$ už pokojně dožít spolu s chatrčí zvanou Internet Explorer.&lt;/p&gt;&#xA;&lt;p&gt;Na chybu narazíte tehdy, když coby Java programátor napíšete servlet, který vrací binární data přes protokol HTTPS (např. vygenerovaný MS Excel jako já, nebo třeba PDF atd.). Aniž byste to explicitně nastavili do HttpResponse, bude vrácená odpověď (pravděpodobně) obsahovat v hlavičce tyto údaje:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ochrana emailových adres před SpamBoty</title>
      <link>https://blog.novoj.net/posts/2007-07-19-ochrana-emailovych-adres-pred-spamboty/</link>
      <pubDate>Thu, 19 Jul 2007 20:40:57 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-07-19-ochrana-emailovych-adres-pred-spamboty/</guid>
      <description>&lt;p&gt;Nedávno na jednom připomínkovacím sezení mě zákazník překvapil přáním, že bych chtěl chránit své emailové adresy uvedené v kontaktech jako &amp;lt;a href=&#34;mailto:blabla@blabla.cz&#34;/&amp;gt; proti zneužití spamboty. Jedná se o poměrně jednoduché přání, se kterým jsem se ale ve své praxi setkal poprvé. Obvykle, většina z nás akceptuje toto riziko výměnou za to, že naši zákazníci jednoduše kliknou na odkaz a otevře se jim rovnou jejich mailový klient s předvyplněnou adresou. Ihned nás napadlo vyměnit mailto linky za emaily vepsané např. do obrázku, ale to bychom přišli o tu výhodu jednoduchého otevření mailového klienta s adresou. Nicméně jednání jsme ukončili s vědomím, že si klient bude muset vybrat jedno nebo druhé. Nakonec mi to ale stejně nedalo a zkusil jsem pana gůgla ...&lt;/p&gt;</description>
    </item>
    <item>
      <title>Jednoduché asynchronní zpracování událostí ve Springu</title>
      <link>https://blog.novoj.net/posts/2007-07-05-jednoduche-asynchroni-zpracovani-udalosti-ve-springu/</link>
      <pubDate>Thu, 05 Jul 2007 14:58:56 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-07-05-jednoduche-asynchroni-zpracovani-udalosti-ve-springu/</guid>
      <description>&lt;p&gt;Spring framework má &#34;od přírody&#34; k dispozici implementaci Observer patternu. To není nic jiného než mechanismus &#34;listenerů&#34; tak, jak jej známe například ze Swingu. Základní a defaultní implementace je velmi jednoduchá, kdekoliv v managovaných beanách můžete přes tzv. Publisher (což je typicky aplikační kontext, kterým je daná beana vytvořena) vyslat informaci o události. Tuto událost pak může zpracovat jakákoliv třída implementující ApplicationListener rozhraní, a která je správně zaregistrovaná do fronty listenerů. Registrace se provádí velmi jednoduše - pouze deklarací beany v context.xml. AbstractApplicationContext (předchůdce všech specifických implementací aplikačního kontextu) při své inicializaci všechny beany implementující zmíněné rozhraní zaregistruje.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Podcast: Basics of Unit Testing with Spring</title>
      <link>https://blog.novoj.net/posts/2007-07-01-podcast-basics-of-unit-testing-with-spring/</link>
      <pubDate>Sun, 01 Jul 2007 09:54:34 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-07-01-podcast-basics-of-unit-testing-with-spring/</guid>
      <description>&lt;p&gt;This presentation was prepared formerly for internal purposes of &lt;a href=&#34;http://www.norkom.com&#34; target=&#34;_blank&#34;&gt;Norkom Technologies&lt;/a&gt; in Ireland by my old friend &lt;a href=&#34;http://jetensky.net&#34; target=&#34;_blank&#34;&gt;Pavel Jetenský&lt;/a&gt;. We appreciate that authorities of this company allowed us to make the presentation public so you can benefit from it as well. I also thank Pavel for preparing this presentation and for providing support to me with finalizing material to be published.&lt;/p&gt;&#xA;&lt;p&gt;The training shows how to jUnit test J2EE application based on Spring and Hibernate. New unit test is created from scratch in Eclipse IDE, testing simple function for getting data from database. DB is created only in memory, using HSQL db. Training is targeted for developers with little or no experience with automated testing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zajímavý článek o Artifactory na The Server Side</title>
      <link>https://blog.novoj.net/posts/2007-06-21-zajimavy-clanek-o-artifactory-na-the-server-side/</link>
      <pubDate>Thu, 21 Jun 2007 14:19:04 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-06-21-zajimavy-clanek-o-artifactory-na-the-server-side/</guid>
      <description>&lt;p&gt;Na serveru &lt;a href=&#34;http://www.theserverside.com&#34; target=&#34;_blank&#34;&gt;The Server Side&lt;/a&gt; vyšel &lt;a href=&#34;http://www.theserverside.com/tt/articles/article.tss?l=SettingUpMavenRepository&#34; target=&#34;_blank&#34;&gt;zajímavý článek o Artifactory&lt;/a&gt;. Pro ty kdož chtějí Artifactory nasadit pro vnitrofiremní použití se jistě jedná o velmi užitečný článek. Faktem je, že Artifactory se dá velmi jednoduše nasadit i bez větších znalostí - jedná se o velmi user friendly aplikaci.&lt;/p&gt;&#xA;&lt;p&gt;Jediný problém, na který jsem narazil (a který je tedy relativně dost nepříjemný) byl ve verzi 1.2.1-rc0, kdy při deployi do repository se náhodně vracel HTTP 500 - Internal Server Error, díky problematické práci se zámky v JackRabbitu. Více &lt;a href=&#34;http://www.jfrog.org/jira/browse/RTFACT-122&#34; target=&#34;_new&#34;&gt;zde&lt;/a&gt;. Problém je ale v pozdějších verzích již opraven&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sdílení session mezi protokoly HTTP a HTTPS</title>
      <link>https://blog.novoj.net/posts/2007-06-05-sdileni-session-mezi-protokoly-http-a-https/</link>
      <pubDate>Tue, 05 Jun 2007 20:33:14 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-06-05-sdileni-session-mezi-protokoly-http-a-https/</guid>
      <description>&lt;p&gt;Je možné zajistit bezpečné sdílení HTTP session mezi oběma protokoly? Z dostupné dokumentace se dozvídáme, že nikoliv. Tento článek se zabývá možným řešením, které za jistých podmínek umožňuje bezpečně sdílet společnou session. Důvod proč se tímto problémem zabývat je jednoduchý - SSL šifrování je výpočetně nákladná věc (viz. např. &lt;a target=&#34;_blank&#34; href=&#34;http://iweb.tntech.edu/hexb/publications/https-STAR-03122003.pdf&#34;&gt;Performance analysis of Secure HTTP Protocol&lt;/a&gt;). Proto je možná vhodné používat HTTPS pouze tam, kde je k tomu důvod (tedy např. uživatel pracuje s některými důvěrnými daty). Jistě se shodneme na tom, že na řadě webových aplikací je takto důvěrných míst pouze pár a zbytek bychom mohli hnát klidně přes protokol HTTP, čímž odlehčíme svému webovému serveru. Jenže tady narážíme na zásadní problém - nemůžeme nechráněným protokolem vyzradit identifikátor session (a naopak nesmíme akceptovat session, která vznikla přes protokol HTTP). Má tedy tato situace řešení, nebo nemá, jak se dočteme v řadě publikací?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatické testování odeslání emailu</title>
      <link>https://blog.novoj.net/posts/2007-05-31-automaticke-testovani-odeslani-emailu/</link>
      <pubDate>Thu, 31 May 2007 19:46:30 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-05-31-automaticke-testovani-odeslani-emailu/</guid>
      <description>&lt;p&gt;Jistě jste také už mnohokrát, stejně jako já, řešili problém, jak spolehlivě automaticky otestovat, že vaše aplikace správně odeslala email s konkrétním obsahem na konkrétní emailovou adresu. Problém je to zapeklitý a dosud jsem ho dokázal řešit jen těmito způsoby:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;udáním testovací schránky a automatickým výběrem této schránky (např. přes protokol POP3)&lt;/li&gt;&#xA;&lt;li&gt;vytvořením mock objektu, který mi zastoupil třídu starající se o odeslání emailu (tzn. k žádnému emailu fyzicky v testu nedošlo)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Oba dva přístupy mají svá úskalí. Ten první velmi komplikuje běh testu - musíme naprogramovat další funkcionalitu, která nám vybere emaily jiným protokolem, musíme řešit možnost, že se email někde pozdrží, musíme fyzicky nějakou schránku mít, musíme vyřešit to, jak při opakovaném spouštění testů rozeznáme, že do schránky přišel právě ten mail, na kterém v testu čekáme. Fakticky se potom často stane, že v testu samotném je víc chyb, jak v tom jednoduchém kódu, který se snažíme otestovat.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Není AJAX jako AJAX - GWT vs. DWR</title>
      <link>https://blog.novoj.net/posts/2007-05-19-neni-ajax-jako-ajax/</link>
      <pubDate>Sat, 19 May 2007 13:55:46 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-05-19-neni-ajax-jako-ajax/</guid>
      <description>&lt;p&gt;V projektu, na kterém v současné době pracuji, bylo navrženo poměrně extenzivní použití AJAXových funkcí. Proto jsem se, coby AJAXem dosud netknutý vývojář, vrhnul do studia knihoven, které by mi realizaci usnadnily. Výsledkem mi bylo zjištění, které uvádím v titulku příspěvku - není AJAX jako AJAX. Každá z knihoven tento problém řeší velmi odlišně - a přestože mé první kroky vedly k GWT, brzy jsem tento záměr opustil.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-16&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Jelikož pracuji ve &lt;a href=&#34;http://www.fg.cz&#34; target=&#34;_new&#34;&gt;společnosti&lt;/a&gt;, která své krédo staví na velmi propracovaných webech - co se týká použitelnosti, přístupnosti, validity a grafickém vzhledu (o tuhle stránku věci se naštěstí nestarám já ;)) - bylo nutné zajistit, aby stejná funkcionalita byla přístupná s AJAXem i bez něj. Mým prvotním záměrem tedy bylo:&lt;/p&gt;</description>
    </item>
    <item>
      <title>iBatis SqlMaps - tak trochu opomíjený ORM</title>
      <link>https://blog.novoj.net/posts/2007-05-08-ibatis-sqlmaps-tak-trochu-opomijeny-orm/</link>
      <pubDate>Tue, 08 May 2007 09:15:30 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-05-08-ibatis-sqlmaps-tak-trochu-opomijeny-orm/</guid>
      <description>&lt;p&gt;Nedá mi to, abych nenapsal něco o frameworku iBatis. Někteří jej možná znáte, někteří jste možná o něm už slyšeli, ale dle trafficu na java.cz konferenci bych řekl, že jej většina z vás přehlíží. Zůstal nepovšimnut i v našem krají protřelém CZ podcastu číslo 8. Myslím, že je to škoda a proto jsem se rozhodl o malou osvětovou, nebo-li, jak by řekl Roumen, evangelizační práci.&lt;/p&gt;&#xA;&lt;p&gt;Ještě v úvodu bych rád podotknul, že někomu se může zdát že to není ten pravý &#34;entrprase&#34; framework, není kompatibilní s JPA, nemá anotace a vůbec je celý takový jednoduchý. Že je možná až tak jednoduchý, že jeho použití ani nemůže přinést tu pravou zábavu ve formě hledání příčin mystického chování vaší aplikace. iBatis se navíc nehonosí žádným buzzwordem, který by se dal prodat zákazníkovi. Pokud si to myslíte, máte pravdu - šetřte své oči, už nemusíte číst dál, protože tento článek určitě není pro vás.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Maven 2 - Kompletní průvodce zdarma online</title>
      <link>https://blog.novoj.net/posts/2007-04-27-maven-2-kompletni-pruvodce-zdarma-online/</link>
      <pubDate>Fri, 27 Apr 2007 19:26:57 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-04-27-maven-2-kompletni-pruvodce-zdarma-online/</guid>
      <description>&lt;p&gt;Na &lt;a href=&#34;http://www.theserverside.com/news/thread.tss?thread_id=45163&#34; target=&#34;_new&#34;&gt;http://theserverside.com&lt;/a&gt; vyšla upoutávka na elektronickou knihu o Mavenu. Trošku jsem do ní nakouknul a opravdu poměrně podrobně a přehledně pokrývá problematiku okolo tohoto skvělého projektového systému. Vřele doporučuji, už jsem si ji zařadil do fronty - díky přehlednosti v ní jistě bude možné nalézt i řešení na ad hoc problémy.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.sonatype.com/book/index.html&#34; target=&#34;_new&#34;&gt;HTML verzi naleznete zde&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://www.sonatype.com/MavenTheDefinitiveGuide.zip&#34;&gt;PDF verzi ke stažení zde&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Debugging v praxi - opravdu samozřejmost?!</title>
      <link>https://blog.novoj.net/posts/2007-04-09-debugging-v-praxi-opravdu-samozrejmost/</link>
      <pubDate>Mon, 09 Apr 2007 19:04:49 +0200</pubDate>
      <guid>https://blog.novoj.net/posts/2007-04-09-debugging-v-praxi-opravdu-samozrejmost/</guid>
      <description>&lt;p&gt;V poslední době jsem zjistil, že některé věci, které já považuji za samozřejmé, pokud se rozhlédnu kolem sebe, tak úplně samozřejmé nejsou. Jednou z nich je debugování Javovského kódu. I v dnešní době, kdy je podpora ze strany technologií na perfektní úrovni je mnoho vývojářů, kteří pro rutinní vývoj (nemluvím o řešení problémů po nasazení aplikace) a odlaďování kódu debuggování nepoužívají a spoléhají se na záznamy z logu. Je pravda, že tento přístup má své výhody – obvykle se tímto způsobem obohatí kód dostatečným množstvím logů, že i v produkci je obvykle dost informací k řešení problémů, pokud nastanou. Zásadní nevýhodou, kterou v tom spatřuji já je naprosto drastické snížení produktivity programování. Problém, který se dá vyřešit během půl minuty vložením breakpointu na správné místo v kódu se může v případě procházení logů protáhnout klidně i na pět minut. Flow programátora je potom – však vy víte kde :).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spring Acegi Security (bonus  - lokalizace chybových hlášení)</title>
      <link>https://blog.novoj.net/posts/2007-03-24-spring-acegi-security-bonus-lokalizace-chybovych-hlaseni/</link>
      <pubDate>Sat, 24 Mar 2007 16:19:57 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-03-24-spring-acegi-security-bonus-lokalizace-chybovych-hlaseni/</guid>
      <description>&lt;p&gt;V poslední době jsem řešil problematiku zabezpečení webových projektů spolu se správou uživatelů a oprávnění. Původně se zdálo, že neexistuje open-source projekt, který by pokrýval naše potřeby. Po čase jsem však narazil na Acegi Security projekt, který je určený přímo pro Spring. Ještě před třemi dny jsem měl úplně jiné představy o tom, co Acegi řeší - myslel jsem, že to je jen sada providerů pro napojení na externí zdroje dat o uživatelích (LDAP, Active Directory a pod.). To jsem se ovšem hluboce mýlil.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Artifactory - náhrada Maven Proxy?</title>
      <link>https://blog.novoj.net/posts/2007-03-14-artifactory-nahrada-maven-proxy/</link>
      <pubDate>Wed, 14 Mar 2007 10:18:40 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-03-14-artifactory-nahrada-maven-proxy/</guid>
      <description>&lt;p&gt;Kdo někdy nasazoval Maven2 pro vnitrofiremní použití, možná se setkal s aplikací &lt;a target=&#34;_blank&#34; href=&#34;http://maven-proxy.codehaus.org/Home&#34;&gt;Maven Proxy od Codehausu&lt;/a&gt;. Od vydání verze 0.2 již uběhlo přes rok a Maven Proxy neutrpěla žádnou aktualizaci, zato se však objevila nová konkurence v podobě &lt;a target=&#34;_blank&#34; href=&#34;http://www.jfrog.org/sites/artifactory/latest/index.html&#34;&gt;Artifactory od JFrog&lt;/a&gt;. Již základní sada funkcí dostupná v Maven Proxy dostatečně obhájí náklady s jejím zavedením, Artifactory však předbíhá Maven Proxy  vlastnostmi, které ocení především větší organizace. Jak sami autoři popisují, začínali sami s Maven-Proxy. Ve chvíli kdy její možnosti přestávaly stačit, začali si je dodělávat a došli do stavu, kdy jich prostě bylo tolik, že nebylo myslitelné &#34;propašovat&#34; je do původní Maven-Proxy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Podcast: základy analýzy</title>
      <link>https://blog.novoj.net/posts/2007-02-27-podcast-zaklady-analyzy/</link>
      <pubDate>Tue, 27 Feb 2007 07:10:53 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-02-27-podcast-zaklady-analyzy/</guid>
      <description>&lt;p&gt;Na přání svých současných kolegů ve firmě &lt;a target=&#34;_blank&#34; href=&#34;http://www.fincommaterna.com/&#34;&gt;FMC&lt;/a&gt; jsem připravil seminář zaobírající se základy analýzy v UML.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;popisem životního cyklu&lt;/li&gt;&#xA;&lt;li&gt;cíle analýzy a návrhu&lt;/li&gt;&#xA;&lt;li&gt;behaviorální diagramy&lt;/li&gt;&#xA;&lt;li&gt;strukturální diagramy&lt;/li&gt;&#xA;&lt;li&gt;diagramy vztahů&lt;/li&gt;&#xA;&lt;li&gt;odhadování časové náročnosti&lt;/li&gt;&#xA;&lt;li&gt;tipy a triky&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Obávám se, že jsem v některých částech nebyl úplně přesný, na mnoha místech jsem mohl řadu věcí popsat podrobněji a někde jsem nebyl schopný nalézt ty správné výrazy a obraty. Celou dobu jsem mluvil nespisovně a častokrát ani nedodržel shodu přísudku s podnětem. Pokud se vám zdají některé mé myšlenky zavádějící nebo obtížně pochopitelné, neváhejte a napište mi reakci - pokusím se nejasnosti vysvětlit zde.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stripes, bojovník střední váhy?</title>
      <link>https://blog.novoj.net/posts/2007-01-25-stripes-bojovnik-stredni-vahy/</link>
      <pubDate>Thu, 25 Jan 2007 13:24:16 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-01-25-stripes-bojovnik-stredni-vahy/</guid>
      <description>&lt;p&gt;Nedávno konferencí java.cz proběhla zmínka (díky &lt;a target=&#34;_blank&#34; href=&#34;http://www.ics.muni.cz/~makub/&#34;&gt;Makubovi&lt;/a&gt;) o frameworku Stripes - o kterém jsem do té doby neslyšel. Nyní vychází i &lt;a target=&#34;_blank&#34; href=&#34;http://www.onjava.com/pub/a/onjava/2007/01/24/java-web-development-with-stripes.html&#34;&gt;článek na OnJava site&lt;/a&gt;. Po krátkém prolétnutí článku a dostupné dokumentace se mi zdá, že se jedná o velmi životaschopný projekt, který rozhodně stojí za prozkoumání.&lt;/p&gt;&#xA;&lt;p&gt;Stripes obdobně jako kdysi Spring, se snaží odstranit takové ty nepříjemné věci současných &#34;velkých a oficiálních&#34; frameworků ala JSF a Struts jako je například mohutná konfigurace v XML souborech, složitý životní cyklus a zdlouhavé učení se frameworku, než je možné ho použít. Stripes mají přímou podporu pro Spring beany, AJAX, jednoduchou validaci, upload souborů a další featury. Celé je to postavené na anotacích, takže framework je optimální používat s Javou 1.5, i když existuje i &lt;a target=&#34;_blank&#34; href=&#34;http://stripes.mc4j.org/confluence/display/stripes/Java+1.4+and+Stripes&#34;&gt;řešení jak backportovat Stripes aplikaci pro Java 1.4&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mock testing - Potěmkinovy vesnice</title>
      <link>https://blog.novoj.net/posts/2007-01-19-mock-testing-potemkinovy-vesnice/</link>
      <pubDate>Fri, 19 Jan 2007 07:22:25 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-01-19-mock-testing-potemkinovy-vesnice/</guid>
      <description>&lt;p&gt;Řada z vás možná už na výraz Mock testing narazila, někteří ne. Pro ty z vás, kteří Mock přístup v testování nepoužili je tento článek. Pro ostatní může být zajímavá ukázka této techniky na knihovně EasyMock.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Co jsou to mock objekty?&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Jedná se vlastně o techniku psaní určitého druhu automatických testů. V podstatě se jedná o nahrazení reálného objektu testovací fasádou, která neprovádí žádnou funkcionalitu nahrazovaného objektu - jen se jako tento objekt tváří. Místo původní logiky objektu je vloženo chování, které ve svém testu potřebujete.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odborník na správu projektu - Maven 2</title>
      <link>https://blog.novoj.net/posts/2007-01-04-odbornik-na-spravu-projektu-maven-2/</link>
      <pubDate>Thu, 04 Jan 2007 21:17:16 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2007-01-04-odbornik-na-spravu-projektu-maven-2/</guid>
      <description>&lt;p&gt;Stále mnoho vývojářů používá pro buildování svého projektu ant nebo maven 1, někteří si možná píší dokonce své sh nebo bat skripty. Možná o nové verzi Mavenu vědí a možná mají důvody proč zůstat u svého &#34;osvědčeného&#34; řešení. Sám jsem mezi ně patřil, ale přešel jsem - a teď vidím, že jsem udělal dobře, móóóc dobře :).&lt;/p&gt;&#xA;&lt;p&gt;Jaké hlavní výhody Maven 2 přináší?&lt;/p&gt;&#xA;&lt;p&gt;&lt;a id=&#34;more&#34;&gt;&lt;/a&gt;&lt;a id=&#34;more-5&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Best Practises&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Maven je především koncentrátem dobrých zkušeností z oblasti správy projektů. To není jen termín - v jeho případě je to pravda. V praxi to znamená, že jej nepoužíváte jen k sestavování instalačních balíčků, ale že pokrývá všechny oblasti, které se správou projektu souvisí a hlavně - navádí vás, jak je už od začátku dělat správně.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Z ilegality do legality</title>
      <link>https://blog.novoj.net/posts/2006-12-13-z-ilegality-do-legality/</link>
      <pubDate>Wed, 13 Dec 2006 17:24:37 +0100</pubDate>
      <guid>https://blog.novoj.net/posts/2006-12-13-z-ilegality-do-legality/</guid>
      <description>&lt;p&gt;Ačkoliv chci tento blog orientovat na Javu a věci s ní spojené, první článek bude z jiného soudku. Naše generace, která začínala na osmibitech a ti šťastnější na prvních PC/AT byla zvyklá brát všechny aplikace bez rozdílu. Jednak se software v Čechách skoro ani nedal nikde koupit a jednak jsme v té době coby studenti neměli tolik peněz, abychom si nákup SW mohli dovolit (kdo dostával měsíčně 200,- Kč kapesné, z kterého si kupoval měsíční jízdenku na vlak, ví o čem mluvím). Z nutnosti se časem stal zvyk a nyní i když už se software dá nakoupit poměrně jednoduše, i když už každý z nás vydělává a i když je všude plno software zdarma, stále třebas používáme aplikace nelegálně jen proto, že jsme na ně zvyklí.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.novoj.net/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.novoj.net/about/</guid>
      <description>&lt;h1 id=&#34;o-autorovi&#34;&gt;O autorovi&lt;/h1&gt;&#xA;&lt;p&gt;Jmenuji se Jan Novotný a jsem vývojářem, který spojil svou velkou vášeň s prací, která ho živí.&#xA;Blog jsem začal psát v roce 2006 jako součást svého vzdělávání v oboru. Psaní blogu mě umožnilo se&#xA;zúčastnit prvního ročníku ne-konference &lt;a href=&#34;https://www.jopenspace.cz&#34;&gt;jOpenSpace&lt;/a&gt;, kterou jsem po několika&#xA;letech organizačně od Michala Šrajera převzal doposud pomáhám organizovat. Blogování časem ustoupilo&#xA;nahrávání podcastu &lt;a href=&#34;https://kafemlejnek.tv&#34;&gt;Kafemlejnek TV&lt;/a&gt;, které natáčím spolu s kamarádem Petrem&#xA;Ferschmannem, se kterým jsem se také setkal na jOpenSpace ne-konferenci.&lt;/p&gt;</description>
    </item>
    <item>
      <title></title>
      <link>https://blog.novoj.net/feed/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://blog.novoj.net/feed/</guid>
      <description>&lt;!DOCTYPE html&gt;&#xA;&lt;html&gt;&#xA;&lt;head&gt;&#xA;&#x9;&lt;title&gt;https://blog.novoj.net/index.xml&lt;/title&gt;&#xA;&#x9;&lt;link rel=&#34;canonical&#34; href=&#34;https://blog.novoj.net/index.xml&#34;/&gt;&#xA;&#x9;&lt;meta name=&#34;robots&#34; content=&#34;noindex&#34;&gt;&#xA;&#x9;&lt;meta http-equiv=&#34;content-type&#34; content=&#34;application/rss+xml; charset=utf-8&#34;/&gt;&#xA;&#x9;&lt;meta http-equiv=&#34;refresh&#34; content=&#34;0; url=https://blog.novoj.net/index.xml&#34;/&gt;&#xA;&lt;/head&gt;&#xA;&lt;/html&gt;</description>
    </item>
  </channel>
</rss>
