<?xml version="1.0" encoding="utf-8"?>
<feed xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xml:lang="cs-CZ" xmlns="http://www.w3.org/2005/Atom">
  <title>René Stein</title>
  <link rel="alternate" type="text/html" href="http://blog.renestein.net/" />
  <link rel="self" href="http://blog.renestein.net/SyndicationService.asmx/GetAtom" />
  <logo>http://blog.renestein.net/themes/discreetBlogBlue/SpotImages/sfinga_rss.jpg</logo>
  <icon>favicon.ico</icon>
  <updated>2010-08-23T20:04:59.400125+02:00</updated>
  <author>
    <name>René Stein</name>
  </author>
  <subtitle>Názory vzešlé z mesaliance humanitní skepse a technologického optimismu</subtitle>
  <id>http://blog.renestein.net/</id>
  <generator uri="http://www.dasblog.net" version="1.9.7174.0">DasBlog</generator>
  <entry>
    <title>C# - kontrola existence vlastnosti u typu dynamic bez vyvol&amp;aacute;n&amp;iacute; v&amp;yacute;jimky RuntimeBinderException.</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/C+Kontrola+Existence+Vlastnosti+U+Typu+Dynamic+Bez+Vyvolaacuteniacute+Vyacutejimky+RuntimeBinderException.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,9dc8102d-ebe5-4958-bbf1-247c1ce0b47c.aspx</id>
    <published>2010-08-23T15:33:03.04+02:00</published>
    <updated>2010-08-23T20:04:59.400125+02:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="C#" label="C#" scheme="http://blog.renestein.net/CategoryView,category,C%23.aspx" />
    <category term="LINQ" label="LINQ" scheme="http://blog.renestein.net/CategoryView,category,LINQ.aspx" />
    <category term="Program&amp;#225;torsk&amp;#233; h&amp;#225;danky" label="Program&amp;#225;torsk&amp;#233; h&amp;#225;danky" scheme="http://blog.renestein.net/CategoryView,category,Program%c3%a1torsk%c3%a9%2Bh%c3%a1danky.aspx" />
    <summary>Dan Steigerwald mě na Facebooku upozornil na článek “Challenge: Dynamically dynamic” na blogu Ayende Rahiena. Jak se můžete sami podívat, celá výzva se týká toho, jak zjistit, jestli u dané instance typu dynamic existuje vlastnost se zadaným jménem, aniž byste museli odchytávat  výjimku RuntimeBinderException, která vás na chybějící vlastnost sice drsně upozorní, ale zároveň vás nutí používat kód řízený výjimkami..Jak vypadá kód detekující existenci vlastnosti s vy/zneužitím RuntimeBinderException?
&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=9dc8102d-ebe5-4958-bbf1-247c1ce0b47c"/&gt;</summary>
  </entry>
  <entry>
    <title>Omezen&amp;iacute; pro argumenty &amp;scaron;ablony (template) v C++ napodobuj&amp;iacute;c&amp;iacute; &amp;ldquo;where&amp;ldquo; omezen&amp;iacute; pro generick&amp;eacute; argumenty v C#</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Omezeniacute+Pro+Argumenty+Scaronablony+Template+V+C+Napodobujiacuteciacute+Ldquowhereldquo+Omezeniacute+Pro+Generickeacute+Argumenty+V+C.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,63fdd807-23f3-4d83-90ff-b7768a04cd7f.aspx</id>
    <published>2010-05-24T16:50:36.26+02:00</published>
    <updated>2010-05-27T00:08:52.244375+02:00</updated>
    <category term="C#" label="C#" scheme="http://blog.renestein.net/CategoryView,category,C%23.aspx" />
    <category term="Nativn&amp;#237; k&amp;#243;d" label="Nativn&amp;#237; k&amp;#243;d" scheme="http://blog.renestein.net/CategoryView,category,Nativn%c3%ad%2Bk%c3%b3d.aspx" />
    <summary>Tento článek je hlavně reakce na stížnost,  kterou měl kolega-vývojář z firmy, kde vývojáři použivají C++ i C#. Stížnost byla zaměřena na to, že na rozdíl od C# není možné  v C++ zkontrolovat v době kompilace, zda předaný generický argument implementuje vyžadované rozhraní, nebo je Tento článek je hlavně reakce na stížnost,  kterou měl kolega-vývojář z firmy, kde vývojáři použivají C++ i C#. Stížnost byla zaměřena na to, že na rozdíl od C# není možné  v C++ zkontrolovat v době kompilace, zda argument předaný do šablony implementuje vyžadované rozhraní, nebo je potomkem námi vyžadované třídy. &lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=63fdd807-23f3-4d83-90ff-b7768a04cd7f"/&gt;</summary>
  </entry>
  <entry>
    <title>Pozv&amp;aacute;nka na kurz Objektov&amp;yacute;mi principy a n&amp;aacute;vrhov&amp;yacute;mi vzory ř&amp;iacute;zen&amp;yacute; design a v&amp;yacute;voj kvalitn&amp;iacute;ch aplikac&amp;iacute; 1 &amp;ndash; jaro 2010</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Pozvaacutenka+Na+Kurz+Objektovyacutemi+Principy+A+Naacutevrhovyacutemi+Vzory+%c5%98iacutezenyacute+Design+A+Vyacutevoj+Kvalitniacutech+Aplikaciacute+1+Ndash+Jaro+2010.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,cd84ce22-c766-49cc-ace9-f003bdb104e2.aspx</id>
    <published>2010-04-07T13:48:36.697+02:00</published>
    <updated>2010-06-08T18:27:39.1481242+02:00</updated>
    <category term="Analytick&amp;#233; drobky" label="Analytick&amp;#233; drobky" scheme="http://blog.renestein.net/CategoryView,category,Analytick%c3%a9%2Bdrobky.aspx" />
    <category term="Kurzy UML a OOP" label="Kurzy UML a OOP" scheme="http://blog.renestein.net/CategoryView,category,Kurzy%2BUML%2Ba%2BOOP.aspx" />
    <category term="N&amp;#225;vrhov&amp;#233; vzory" label="N&amp;#225;vrhov&amp;#233; vzory" scheme="http://blog.renestein.net/CategoryView,category,N%c3%a1vrhov%c3%a9%2Bvzory.aspx" />
    <category term="UML" label="UML" scheme="http://blog.renestein.net/CategoryView,category,UML.aspx" />
    <summary>Rád bych Vás pozval na další běh kurzu Objektovými principy a návrhovými vzory řízený design a vývoj kvalitních aplikací 1. Pokud se někdo z Vás (oprávněně) diví, proč tak pozdě a proč Vás nezvu i na kurz OOP 2, níže v tomto spotu nalezne odpovědi. &lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=cd84ce22-c766-49cc-ace9-f003bdb104e2"/&gt;</summary>
  </entry>
  <entry>
    <title>V&amp;yacute;hody a nev&amp;yacute;hody softwarov&amp;yacute;ch tov&amp;aacute;ren</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Vyacutehody+A+Nevyacutehody+Softwarovyacutech+Tovaacuteren.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,d28b9cd9-bf78-4e1f-8407-3a213baad863.aspx</id>
    <published>2010-03-21T11:57:10.217+01:00</published>
    <updated>2010-03-22T20:24:25.358+01:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="Analytick&amp;#233; drobky" label="Analytick&amp;#233; drobky" scheme="http://blog.renestein.net/CategoryView,category,Analytick%c3%a9%2Bdrobky.aspx" />
    <category term="N&amp;#225;vrhov&amp;#233; vzory" label="N&amp;#225;vrhov&amp;#233; vzory" scheme="http://blog.renestein.net/CategoryView,category,N%c3%a1vrhov%c3%a9%2Bvzory.aspx" />
    <category term="UML" label="UML" scheme="http://blog.renestein.net/CategoryView,category,UML.aspx" />
    <summary>Emailem jsem dostal zajímavou otázku, jaký je můj názor na softwarové továrny a kde vidím výhody a nevýhody softwarových továren. Odpověď nakonec publikuji i zde – už jen proto, že jsem si při jejím psaní uvědomil, že na továrnu kladu stejné nároky jako na kteroukoli další knihovnu v systému a že výběr softwarové továrny se u mě moc neliší od výběru třeba ORM Frameworku. Nejde o taxativní výčet výhod a nevýhod, ale spíš o volně nahozená témata, která mě za 20 minut psaní příspěvku napadla. &lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=d28b9cd9-bf78-4e1f-8407-3a213baad863"/&gt;</summary>
  </entry>
  <entry>
    <title>Podivn&amp;eacute;? chov&amp;aacute;n&amp;iacute; při explicitn&amp;iacute;m přetypov&amp;aacute;n&amp;iacute; typu dynamic ve Visual Studiu 2010 RC</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Podivneacute+Chovaacuteniacute+P%c5%99i+Explicitniacutem+P%c5%99etypovaacuteniacute+Typu+Dynamic+Ve+Visual+Studiu+2010+RC.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,8a82577f-48da-4b94-ad58-bbbafdc19f3f.aspx</id>
    <published>2010-02-24T19:19:03.105+01:00</published>
    <updated>2010-03-02T21:45:44.817625+01:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="C#" label="C#" scheme="http://blog.renestein.net/CategoryView,category,C%23.aspx" />
    <summary>Na twitteru jsem psal, že si pohraju s implementací rozhraní ve třídě přes automatickou delegaci na privátní  proměnnou s využitím nového typu dynamic v C# 4.0. Jestliže se dobře pamatuji, většinou se po nějakém takovém řešení pídí Delphisté. Z příkladu níže bude asi jasné i pro ostatni, co mám předchozími hutnými větami na mysli . 

Při hraní si s typem dynamic jsem ale narazil na zvláštní chování při explicitním přetypování a chtěl bych poprosit, zda by toto chování někdo zkusil nasimulovat ve vsvém Visual Studiu 2010 (nejlépe nejen na RC, ale i na starší Betě 2, kterou jsem už smazal). Příklad níže je jen jednoduchý “jednosměrný” prototyp, na kterém vynikne problém s explicitním přetypováním.
&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=8a82577f-48da-4b94-ad58-bbbafdc19f3f"/&gt;</summary>
  </entry>
  <entry>
    <title>Doplněn&amp;iacute; metod FillPie a DrawPie do objektu Graphics v Compact .Net Frameworku</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Dopln%c4%9bniacute+Metod+FillPie+A+DrawPie+Do+Objektu+Graphics+V+Compact+Net+Frameworku.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,2228b31b-1e49-4927-ba1e-1a33c1418142.aspx</id>
    <published>2010-02-12T13:17:54.028+01:00</published>
    <updated>2010-02-12T13:43:47.8098742+01:00</updated>
    <category term="Compact .Net Framework" label="Compact .Net Framework" scheme="http://blog.renestein.net/CategoryView,category,Compact%2B.Net%2BFramework.aspx" />
    <category term="LINQ" label="LINQ" scheme="http://blog.renestein.net/CategoryView,category,LINQ.aspx" />
    <summary>Compact .Net Framework sice nemá metodu FillPie ani DrawPie, ale má obecné metody DrawPolygon a FillPolygon, se kterými nakreslíte, co se vám zlíbí.  Zhýrale jsem kód opět trochu zlinqovatěl, asi začínám být na LINQu a extenzních metodách závislý. Inu, jak říkáme my C# vývojáři, původně odříkané extenzní metody plný zásobník volání. :-)&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=2228b31b-1e49-4927-ba1e-1a33c1418142"/&gt;</summary>
  </entry>
  <entry>
    <title>Hr&amp;aacute;tky s Reaktivn&amp;iacute;m frameworkem (RX extenze)</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Hraacutetky+S+Reaktivniacutem+Frameworkem+RX+Extenze.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,24bbfc33-2595-43c9-a9a2-1df1de6a9b30.aspx</id>
    <published>2010-02-02T07:43:00+01:00</published>
    <updated>2010-02-04T18:55:35.3121754+01:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="C# Posterous API" label="C# Posterous API" scheme="http://blog.renestein.net/CategoryView,category,C%23%2BPosterous%2BAPI.aspx" />
    <category term="LINQ" label="LINQ" scheme="http://blog.renestein.net/CategoryView,category,LINQ.aspx" />
    <category term="N&amp;#225;vrhov&amp;#233; vzory" label="N&amp;#225;vrhov&amp;#233; vzory" scheme="http://blog.renestein.net/CategoryView,category,N%c3%a1vrhov%c3%a9%2Bvzory.aspx" />
    <category term="RX Extensions" label="RX Extensions" scheme="http://blog.renestein.net/CategoryView,category,RX%2BExtensions.aspx" />
    <category term="Windows Forms" label="Windows Forms" scheme="http://blog.renestein.net/CategoryView,category,Windows%2BForms.aspx" />
    <summary>Zkusme se nyní podívat, jak by nám s “převrácením starších asynchronních metod z hlavy zpět na synchronní nohy” mohl pomoci RX Framework. Úplné základy v tomto článku nezazní a začátečníky odkazuji na sérii přednášek na Channel 9, kde dozvíte i zajímavé podrobnosti o genezi celého RX Frameworku  a matematické dualitě rozhraní IEnumerable a IObservable (jinými slovy o společných rysech dobře známých GoF návrhových vzorů Iterátor a Observer). &lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=24bbfc33-2595-43c9-a9a2-1df1de6a9b30"/&gt;</summary>
  </entry>
  <entry>
    <title>C# Posterous API pro Silverlight 4 (a .Net Framework 3.5) &amp;ndash; verze 0.0.0.2</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/C+Posterous+API+Pro+Silverlight+4+A+Net+Framework+35+Ndash+Verze+0002.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,947b6fc1-477c-48b8-a514-2f7ee893ed3b.aspx</id>
    <published>2010-01-28T16:33:08.671+01:00</published>
    <updated>2010-01-31T11:50:16.175125+01:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="C# Posterous API" label="C# Posterous API" scheme="http://blog.renestein.net/CategoryView,category,C%23%2BPosterous%2BAPI.aspx" />
    <category term="Silverlight" label="Silverlight" scheme="http://blog.renestein.net/CategoryView,category,Silverlight.aspx" />
    <summary>Poznámky ke změnám v této verzi:
Kvůli verzi pro Silverlight přidány další asynchronní metody tak, aby bylo možné získat data z webu asynchronně, jak to Silverlight vyžaduje a jak je toto chování v aplikacích vynuceno třídami WebRequest a WebResponse. Pokud se pokusíte zavolat synchronní verzi metody v SL z UI vlákna, měli byste z knihovny dostat výjimku – to je lepší varianta, než skončit v paralyzovaném stavu, kdy aplikace na nic nereaguje...
&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=947b6fc1-477c-48b8-a514-2f7ee893ed3b"/&gt;</summary>
  </entry>
  <entry>
    <title>Uk&amp;aacute;zka pr&amp;aacute;ce s Posterous API &amp;ndash; z&amp;aacute;lohov&amp;aacute;n&amp;iacute; blogu</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Ukaacutezka+Praacutece+S+Posterous+API+Ndash+Zaacutelohovaacuteniacute+Blogu.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,c00e3a67-5b1e-47a4-be6a-bfcedf7b462c.aspx</id>
    <published>2010-01-20T17:54:21.866+01:00</published>
    <updated>2010-01-21T14:39:23.1994046+01:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="C# Posterous API" label="C# Posterous API" scheme="http://blog.renestein.net/CategoryView,category,C%23%2BPosterous%2BAPI.aspx" />
    <category term="LINQ" label="LINQ" scheme="http://blog.renestein.net/CategoryView,category,LINQ.aspx" />
    <category term="RX Extensions" label="RX Extensions" scheme="http://blog.renestein.net/CategoryView,category,RX%2BExtensions.aspx" />
    <summary>Po jednoduchém přehledu možností mého C# Posterous API wrapperu se nyní podíváme, jak se dá API použít k zálohování vašeho blogu. Pro účely tohoto článku předpokládám, že jste úvodní článek o API wrapperu četli.

Zálohovač blogu (RSPosterousBackup.exe) je jednoduchá konzolová aplikace, které stačí předat uživatelské jméno (parametr –u)  a heslo (parametr –p)  vašeho účtu na Posterous a také adresář vašem počítači (parametr bd), do kterého chcete blog zazálohovat.

Jednoduchá ukázka:
...&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=c00e3a67-5b1e-47a4-be6a-bfcedf7b462c"/&gt;</summary>
  </entry>
  <entry>
    <title>Projekt C# Posterous API &amp;ndash; verze 0.0.0.1 Alfa</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Projekt+C+Posterous+API+Ndash+Verze+0001+Alfa.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,6919d89d-efc3-44fc-9ed8-01530d0e51a9.aspx</id>
    <published>2010-01-15T17:49:51.303+01:00</published>
    <updated>2010-01-17T14:07:22.4755+01:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="C# Posterous API" label="C# Posterous API" scheme="http://blog.renestein.net/CategoryView,category,C%23%2BPosterous%2BAPI.aspx" />
    <category term="Compact .Net Framework" label="Compact .Net Framework" scheme="http://blog.renestein.net/CategoryView,category,Compact%2B.Net%2BFramework.aspx" />
    <category term="Silverlight" label="Silverlight" scheme="http://blog.renestein.net/CategoryView,category,Silverlight.aspx" />
    <summary>Jak jsem avizoval minulý týden na twitteru, píšu C# wrapper webového API zajímavé služby Posterous.
Pár odkazů na začátek:
Jestliže nevíte, co je Posterous...
&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=6919d89d-efc3-44fc-9ed8-01530d0e51a9"/&gt;</summary>
  </entry>
  <entry>
    <title>Vynucen&amp;iacute; si překreslen&amp;iacute; cel&amp;eacute; obrazovky v Compact .Net Frameworku</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Vynuceniacute+Si+P%c5%99ekresleniacute+Celeacute+Obrazovky+V+Compact+Net+Frameworku.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,b76bc78f-9c0b-46ee-8546-57b8dc4ea2ea.aspx</id>
    <published>2009-11-18T15:02:51.536+01:00</published>
    <updated>2009-11-18T17:58:16.207875+01:00</updated>
    <category term="Compact .Net Framework" label="Compact .Net Framework" scheme="http://blog.renestein.net/CategoryView,category,Compact%2B.Net%2BFramework.aspx" />
    <summary>Při snaze kreslit grafické objekty na celou obrazovku PDA, a ne pouze na vlastní formulář, se můžete velmi často setkat s dotazem, jak zajistím, že předchozí nakreslené dílko, rozprostřené většinou přes vícero formulářů a mimo naši přímou kontrolu, smažu před vykreslením dalšího dílka. Následující příklad je reakcí na takový dotaz. Za “celou obrazovkou” budeme v článku považovat grafický kontext vrácený voláním metody GetDC s argumentem NULL. Po celé obrazovce PDA je postupně vykreslován kruh (s velkou fantazií míč) pohybující se z levé strany displeje na pravou.&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=b76bc78f-9c0b-46ee-8546-57b8dc4ea2ea"/&gt;</summary>
  </entry>
  <entry>
    <title>Pozv&amp;aacute;nka na podzimn&amp;iacute; kurzy (OOP, UML, z&amp;aacute;kladn&amp;iacute; a pokročil&amp;eacute; n&amp;aacute;vrhov&amp;eacute; vzory)</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Pozvaacutenka+Na+Podzimniacute+Kurzy+OOP+UML+Zaacutekladniacute+A+Pokro%c4%8dileacute+Naacutevrhoveacute+Vzory.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,d6fd9894-f5cd-4d7d-9e78-53974f98d52d.aspx</id>
    <published>2009-09-20T18:25:11.384+02:00</published>
    <updated>2009-11-26T22:45:53.1863596+01:00</updated>
    <category term="Analytick&amp;#233; drobky" label="Analytick&amp;#233; drobky" scheme="http://blog.renestein.net/CategoryView,category,Analytick%c3%a9%2Bdrobky.aspx" />
    <category term="Kurzy UML a OOP" label="Kurzy UML a OOP" scheme="http://blog.renestein.net/CategoryView,category,Kurzy%2BUML%2Ba%2BOOP.aspx" />
    <category term="N&amp;#225;vrhov&amp;#233; vzory" label="N&amp;#225;vrhov&amp;#233; vzory" scheme="http://blog.renestein.net/CategoryView,category,N%c3%a1vrhov%c3%a9%2Bvzory.aspx" />
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <font color="#ff0000">
          <p>
            <font color="#ff0000">
              <em>
                <strong>Aktualizace  10. 11. 2009-  I veřejný
kurz Objektovými principy a návrhovými vzory řízený design a vývoj kvalitních aplikací 2
je zcela obsazen včetně náhradníků. Další kurzy se budou konat na jaře 2009. Jestliže
máte předběžný zájem a chcete si rezervovat místo, pište prosím na adresu </strong>
                <a href="mailto:petra@renestein.net">
                  <strong>petra@renestein.net</strong>
                </a>
                <strong>.</strong>
              </em>
            </font>
          </p>
        </font>
        <p>
          <font color="#ff0000">Aktualizace 15.10.2009  - veřejný kurz <strong>Objektovými
principy a návrhovými vzory řízený design a vývoj kvalitních aplikací 1</strong> je
zcela obsazen včetně náhradníků. Je možné se již hlásit pouze na kurz </font>
          <font color="#ff0000">
            <strong>Pokročilé
návrhové vzory a objektové principy 2.</strong>
          </font>
        </p>
        <p>
Rád bych Vás pozval na podzimní kurzy OOP a UML a představil oficiálně InHouse kurz,
který postupně vykrystalizoval z požadavků zákazníků (<em>OOP 0 - Objektové programování
a UML prakticky - rychlý úvod do světa (nejen) objektového programování</em>). 
</p>
        <p>
          <b>Osnova InHouse kurzu OOP 0 – Objektové programování a UML prakticky – rychlý úvod
do světa (nejen) objektového programování:</b>
        </p>
        <p>
Školení má dvě varianty -  pro vývojáře i u konstrukcí a prvků jazyka UML, které
jsou považovány za analytické, se dělají časté odbočky do kódu, aby vývojáři pochopili,
že UML ani principy OOP nejsou nějaké nesmyslné abstrakce, ale užitečné konstrukce,
které sami v programovacích jazycích používají denně. 
</p>
        <p>
U varianty pro „čisté“ analytiky jsou digrese do kódu minimalizovány, i když v některých
místech stále zdůrazňuji, jaké znalosti z oblasti vývoje aplikací musí analytik mít,
aby byl pro projekt užitečný a nevytvářel jen dokumentaci pro dokumentaci, kterou
vývojáři nevyužijí a (mnohdy oprávněně) považují za nesmyslnou, drahou a projektu
nic nepřinášející. 
</p>
        <p>
V kurzu se naučíte modelovat jednoduché i složité aplikace s využitím jazyka UML tak,
aby následné kódování nebylo výletem do neznáma s nejistými výsledky, ale dobře čitelnou
cestou bez temných a záludných míst vedoucích k selhání projektu. 
</p>
        <p>
Kurz je vhodný zvláště pro ty, kteří již nejsou spokojeni s vývojem projektů naivním
"hurá" způsobem, kdy bez ohledu na složitost systému nevzniká žádný návrh a ihned
se přistupuje ke kódování se všemi špatnými důsledky jako jsou podcenění technické
a časové náročnosti implementace nebo vytváření drahých a nespravovatelných systémů. 
</p>
        <p>
Kurz je určen pro vývojáře, systémové designery, analytiky a projektové manažery,
kteří se chtějí se seznámit se základními principy objektového programování a s modelováním
v jazyce UML. 
</p>
        <p>
· Požadavky na systém a modelování pomocí případů užití (+ příklady). 
</p>
        <p>
· Zrychlená funkční specifikace bez zbytečných formalit – příklady. 
</p>
        <p>
· Diagram tříd v UML - vztahy mezi elementy diagramu (asociace. agregace, generalizace,
závislost, realizace) – vše vykládáno na konkrétních příkladech z praxe + ukázky nejčastějších
chyb, se kterými jsem se setkal. Třída, základní principy OOP, operace, atributy,
viditelnost členů třídy. Nenásilný přechod k jednoduchým návrhovým vzorům. 
</p>
        <p>
· Příklady složitých diagramů tříd. 
</p>
        <p>
· Objektový diagram + příklady. 
</p>
        <p>
· Sekvenční diagramy a diagramy interakce. 
</p>
        <p>
· Vysvětlení stavových diagramů + výhody aplikací řízených přesně definovanými stavovými
automaty. 
</p>
        <p>
· Diagram aktivit - modelování složitých business procesů v organizaci. 
</p>
        <p>
· Výhody a nevýhody UML - vyzdvižení nejvíce používaných postupů, odhození nepotřebné
veteše z jazyka UML. 
</p>
        <p>
 
</p>
        <p>
Pokud máte o kurz zájem nebo potřebujete další informace, napište prosím na adresu <a href="mailto:petra@renestein.net">petra@renestein.net</a>.
</p>
        <p>
          <hr align="center" size="2" width="100%" />
        </p>
        <p>
        </p>
        <p>
          <b>Veřejný kurz Objektovými principy a návrhovými vzory řízený design a vývoj kvalitních
aplikací 1</b>
        </p>
        <p>
Datum konání kurzu:  <b>2. 11. – 4. 11. 2009</b></p>
        <p>
Místo konání<strong>: </strong><a href="http://blog.renestein.net/ct.ashx?id=a81cbfde-1636-450b-b63c-974e8fe1dae0&amp;url=http://www.hotel-villa.cz/">Hotel
VILLA Praha</a>  Okrajní 1, 100 00, Praha 10 
</p>
        <p>
U hotelu VILLA je  možné parkovat, po celý den máme k dispozici wifi připojení. 
</p>
        <p>
          <em>Na kurzu jsou samozřejmě po celý den teplé a studené nápoje a v ceně kurzu jsou
obědy v hotelu.</em>
        </p>
        <p>
          <a href="http://www.renestein.net/Nabidka.aspx#skoleni">Podrobné informace o kurzu
a možnost přihlásit se na kurz</a>
        </p>
        <p>
          <a href="http://www.renestein.net/Skoleni-UML-OOP-Navrhove-vzory-1.aspx">Program kurzu</a>
          <br />
          <a href="http://www.renestein.net/Ohlasy-Ucastniku-Na-Kurzy.aspx">Výběr z ohlasů na
kurz</a>
          <hr align="center" size="2" width="100%" />
        </p>
        <p>
          <b>Veřejný kurz Pokročilé návrhové vzory a objektové principy 2</b>
        </p>
        <p>
Datum konání kurzu:  <b>23. 11. – 25. 11. 2009</b></p>
        <p>
Místo konání<strong>: </strong><a href="http://blog.renestein.net/ct.ashx?id=a81cbfde-1636-450b-b63c-974e8fe1dae0&amp;url=http://www.hotel-villa.cz/">Hotel
VILLA Praha</a>  Okrajní 1, 100 00, Praha 10 
</p>
        <p>
U hotelu VILLA je  možné parkovat, po celý den máme k dispozici wifi připojení. 
</p>
        <p>
          <em>Na kurzu jsou samozřejmě po celý den teplé a studené nápoje a v ceně kurzu jsou
obědy v hotelu.</em>
        </p>
        <p>
          <a href="http://www.renestein.net/Nabidka.aspx#SkoleniOOP2">Podrobné informace o kurzu
a možnost přihlásit se na kurz</a>
        </p>
        <p>
          <a href="http://www.renestein.net/Skoleni-Navrhove-vzory-2.aspx">Program kurzu</a>
          <br />
          <a href="http://www.renestein.net/Ohlasy-Ucastniku-Na-Kurzy.aspx">Výběr z ohlasů na
kurzy</a>
        </p>
        <img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=d6fd9894-f5cd-4d7d-9e78-53974f98d52d" />
      </div>
    </content>
  </entry>
  <entry>
    <title>Odchytnut&amp;iacute; zpr&amp;aacute;vy WM_KEYDOWN v dialogu &amp;ndash; Windows Mobile</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Odchytnutiacute+Zpraacutevy+WMKEYDOWN+V+Dialogu+Ndash+Windows+Mobile.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,b618d092-145e-45c9-9977-da4d957d3b64.aspx</id>
    <published>2009-07-27T12:29:07.347+02:00</published>
    <updated>2009-07-27T12:35:04.800875+02:00</updated>
    <category term="Compact .Net Framework" label="Compact .Net Framework" scheme="http://blog.renestein.net/CategoryView,category,Compact%2B.Net%2BFramework.aspx" />
    <category term="Nativn&amp;#237; k&amp;#243;d" label="Nativn&amp;#237; k&amp;#243;d" scheme="http://blog.renestein.net/CategoryView,category,Nativn%c3%ad%2Bk%c3%b3d.aspx" />
    <summary>V jednom předchozím článku jsem slíbil, že na blog dám i kód, který umožní ve Windows dialogu zachytit všechny stisknuté klávesy. Jak možná víte, dialog ve Windows je běžné okno (Window) s třídou (class) WC_DIALOG. K dialogu je přiřazena speciální funkce WNDPROC, která zajišťuje ...&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=b618d092-145e-45c9-9977-da4d957d3b64"/&gt;</summary>
  </entry>
  <entry>
    <title>Chyba při použ&amp;iacute;v&amp;aacute;n&amp;iacute; prvku Popup v Silverlightu 2.0</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Chyba+P%c5%99i+Pou%c5%beiacutevaacuteniacute+Prvku+Popup+V+Silverlightu+20.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,4c5fd6cc-bfc5-4418-84b1-8fbd95d393b4.aspx</id>
    <published>2009-06-09T10:51:20.796+02:00</published>
    <updated>2009-06-09T10:54:32.109375+02:00</updated>
    <category term="Silverlight" label="Silverlight" scheme="http://blog.renestein.net/CategoryView,category,Silverlight.aspx" />
    <summary>Tento spot se objevil již před nějakou dobou jako komentář na Zdrojáku, ale protože se s podobným problémem setkal i Michal Kočí na Twitteru, dostal jsem pár emailů s popisem chyby v Silverlightu a znovu jsme narazili na podobné chyby při portaci firemního frameworku, dávám původní komentář i sem na na blog, abych měl kam trvale odkazovat další zoufalce. :)&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=4c5fd6cc-bfc5-4418-84b1-8fbd95d393b4"/&gt;</summary>
  </entry>
  <entry>
    <title>Drobn&amp;aacute; pozn&amp;aacute;mka ke kontravarianc&amp;iacute; deleg&amp;aacute;tů v C#</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Drobnaacute+Poznaacutemka+Ke+Kontravarianciacute+Delegaacutet%c5%af+V+C.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,5fb56cb3-9933-49c9-bca5-f97661795666.aspx</id>
    <published>2009-04-24T12:57:02.414+02:00</published>
    <updated>2009-06-09T10:56:32.546875+02:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="Compact .Net Framework" label="Compact .Net Framework" scheme="http://blog.renestein.net/CategoryView,category,Compact%2B.Net%2BFramework.aspx" />
    <summary>Předpokládám, že se stejně jako já těšíte na lepší podporu kovariance a kontravariance u rozhraní a delegátů v připravované verzi  C# 4.0. Už dnes se ale dá s existující podporou kovariance a kontravariance u delegátů pěkně kouzlit – pro ty s exaktnějším přístupem ke kódu a vytříbenou terminologií se slovo “kouzlit” v knihách zásadně překládá jako “psát elegantnější kód”. Opakovat základy kovariance a kontravariance u delegátů zde nebudu a &lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=5fb56cb3-9933-49c9-bca5-f97661795666"/&gt;</summary>
  </entry>
  <entry>
    <title>Windows Mobile formul&amp;aacute;ř přes cel&amp;yacute; displej - v nativn&amp;iacute;m k&amp;oacute;du</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Windows+Mobile+Formulaacute%c5%99+P%c5%99es+Celyacute+Displej+V+Nativniacutem+Koacutedu.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,94b07439-6cc3-4a9b-864d-fdb27556258e.aspx</id>
    <published>2009-04-14T16:04:43.684+02:00</published>
    <updated>2009-04-14T16:24:01.793625+02:00</updated>
    <category term="Compact .Net Framework" label="Compact .Net Framework" scheme="http://blog.renestein.net/CategoryView,category,Compact%2B.Net%2BFramework.aspx" />
    <category term="Nativn&amp;#237; k&amp;#243;d" label="Nativn&amp;#237; k&amp;#243;d" scheme="http://blog.renestein.net/CategoryView,category,Nativn%c3%ad%2Bk%c3%b3d.aspx" />
    <summary>Na MSDN fórech jsem si všiml, že se vícekrát objevil dotaz, jak v nativním kódu vytvořit okno přes celou obrazovku, které se bude chovat jako formulář v Compact .Net Framework aplikaci při nastavení vlastnosti WindowState = Maximized.

API SHFullScreen sice přepne okno do celoobrazovkového režimu, ale při zobrazení SIPu se opět objeví taskbar. Při skrytí SIPu se okno vrátí do celoobrazovkového režimu. První, co mě napadlo, je skrýt samotný taskbar. Idea dobrá, mohli jsme mít jednoduché řešení,  ale autoři Windows Mobile jako již tradičně řekli ne...&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=94b07439-6cc3-4a9b-864d-fdb27556258e"/&gt;</summary>
  </entry>
  <entry>
    <title>GSM Net Monitor verze 0.10.0</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/GSM+Net+Monitor+Verze+0100.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,6ad95c3a-8b36-46c9-8fe2-e79384bd7188.aspx</id>
    <published>2009-03-20T11:16:56.607+01:00</published>
    <updated>2009-03-20T11:30:35.6545+01:00</updated>
    <summary>Změny ve verzi  0.10.0. 

Odstraněna chyba, která se mohla projevit tím, že se v detailech o cell id, které se načítají z csv souborů, nemusely některé informace zobrazit, i když v csv souboru informace byla. Děkuji ...&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=6ad95c3a-8b36-46c9-8fe2-e79384bd7188"/&gt;</summary>
  </entry>
  <entry>
    <title>LINQ a logov&amp;aacute;n&amp;iacute; na př&amp;iacute;kladu logov&amp;aacute;n&amp;iacute; kroků Dijsktrova algoritmu</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/LINQ+A+Logovaacuteniacute+Na+P%c5%99iacutekladu+Logovaacuteniacute+Krok%c5%af+Dijsktrova+Algoritmu.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,dc4df303-bc27-4d9c-b817-0ca84fea8825.aspx</id>
    <published>2009-03-03T16:34:35.433+01:00</published>
    <updated>2009-03-07T08:21:10.652625+01:00</updated>
    <category term=".NET Framework" label=".NET Framework" scheme="http://blog.renestein.net/CategoryView,category,.NET%2BFramework.aspx" />
    <category term="Compact .Net Framework" label="Compact .Net Framework" scheme="http://blog.renestein.net/CategoryView,category,Compact%2B.Net%2BFramework.aspx" />
    <category term="LINQ" label="LINQ" scheme="http://blog.renestein.net/CategoryView,category,LINQ.aspx" />
    <summary>Na LINQu je pěkné, jak jednoduše můžeme LINQ výraz upravit nebo jej bezbolestně rozšířit o další části. Nedávno jsem publikoval článek Dijsktrův alogritmus pomocí LINQu, extenzních metod a lambda výrazů a nyní si ukážeme drobnou úpravu v kódu, která způsobí, že se před každým rekurzivním voláním vždy vypíšou i prozatímní výsledky hledání nejkratší cesty.



Abychom mohli zalogovat výsledek, vytvoříme si vlastní extenzní metody pro výpis informací z předaného libovolného generického IEnumerable&lt;T&gt; do ...&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=dc4df303-bc27-4d9c-b817-0ca84fea8825"/&gt;</summary>
  </entry>
  <entry>
    <title>N&amp;aacute;hrada ParametrizedThreadStart deleg&amp;aacute;ta v Compact .Net Frameworku</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Naacutehrada+ParametrizedThreadStart+Delegaacuteta+V+Compact+Net+Frameworku.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,b7a67f4e-21e5-4453-aad5-7e1903c18a44.aspx</id>
    <published>2009-03-02T13:48:05.777+01:00</published>
    <updated>2010-03-02T20:50:13.1145+01:00</updated>
    <category term="Compact .Net Framework" label="Compact .Net Framework" scheme="http://blog.renestein.net/CategoryView,category,Compact%2B.Net%2BFramework.aspx" />
    <summary>Na fórech o Compact .Net Frameworku (CNF) se často objevují stesky,  že v CNF třída Thread nemá konstruktor, který by přijímal delegáta ParametrizedThreadStart. Metodě, na kterou ukazuje delegát ParametrizedThreadStart a která bude spuštěna v novém threadu, můžeme předat jeden argument typu object .

public delegate void ParametrizedThreadStartDelegate(Object obj);



Ty nářky jsou liché, protože můžeme  předat do konstruktoru odkaz na instanční metodu bez argumentů ve vlastním objektu, který má ve svých proměnných na úrovni třídy nebo vlastnostech stavové informace, které použije instanční metoda poté, co je zavolána z metody Start threadu.



Pomocí anonymních metod či lambda výrazů se ale zbavíme nutnosti deklarovat vlastní třídu. Lambda výraz funguje jako adaptér...&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=b7a67f4e-21e5-4453-aad5-7e1903c18a44"/&gt;</summary>
  </entry>
  <entry>
    <title>Dlouhodoběj&amp;scaron;&amp;iacute; zku&amp;scaron;enosti s Českou spořitelnou a mBank aneb můj život s česk&amp;yacute;mi bankami</title>
    <link rel="alternate" type="text/html" href="http://blog.renestein.net/Dlouhodob%c4%9bjscaroniacute+Zkuscaronenosti+S+%c4%8ceskou+Spo%c5%99itelnou+A+MBank+Aneb+M%c5%afj+%c5%bdivot+S+%c4%8ceskyacutemi+Bankami.aspx" />
    <id>http://blog.renestein.net/PermaLink,guid,1cc449f5-9fc9-4525-8373-64f3039dc4aa.aspx</id>
    <published>2009-02-26T15:28:57.7+01:00</published>
    <updated>2009-07-10T09:29:21.06375+02:00</updated>
    <category term="Ostatn&amp;#237;" label="Ostatn&amp;#237;" scheme="http://blog.renestein.net/CategoryView,category,Ostatn%c3%ad.aspx" />
    <summary>Po delší době tímto spotem odbočuji od IT témat na tomto blogu, což snad i stálí laskaví čtenáři snesou bez újmy na svém duševním zdraví. Přesný význam předchozí věty je – tohle je můj blog a nechci v komentářích slyšet, že "tyhle" spoty  sem nepatří a že bych klidně mohl dodat další kód v C#, jak se kdysi stalo. Úvodní opakovací lekci o právech autora blogu a jeho čtenářů máme za sebou. :)

Zkušenosti s mBank po devíti měsících jsem se rozhodl sepsat, protože články o mBank jsou většinou nezajímavé pochvalné ódy, které v podtextu čtenáři sdělují, že je duševně méněcenný či alespoň negramotný v oblasti financí, jestliže své peníze doposud nezakotvil v té úžasné mBank, kde dokonce – velký nádech, přichází pointa – je vše, realističtější autoři napíšou alespoň skoro vše, zdarma. Nevím, jestli bych chtěl žít ve světě těchto rozšafných strýčků Skrblíků, pro které je jediným měřítkem kvality všech věcí cena.

Proč jsem šel zrovna do mBank já? Snad bude vhodné napsat, že jsem byl klasický konzervativní klient, kterého určitě mají naše banky rády, protože ...&lt;img width="0" height="0" src="http://blog.renestein.net/aggbug.ashx?id=1cc449f5-9fc9-4525-8373-64f3039dc4aa"/&gt;</summary>
  </entry>
</feed>