<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2polishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Bartek Szafko</title><link>http://bartekszafko.pl</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BartekSzafko" /><description>all of the bits and pieces</description><language>en</language><image><link>http://bartekszafko.pl</link><url>http://www.gravatar.com/avatar/5fb44993b81dfdafc147e76d9557b6b2?s=48&amp;d=</url><title>Bartek Szafko</title></image><lastBuildDate>Mon, 08 Mar 2010 00:24:13 PST</lastBuildDate><generator>http://wordpress.org/?v=2.9.2</generator><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.5/pl/</creativeCommons:license><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BartekSzafko" /><feedburner:info uri="bartekszafko" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://www.newsgator.com/images/ngsub1.gif">Zapisz w NewsGator Online</feedburner:feedFlare><feedburner:feedFlare href="http://client.pluck.com/pluckit/prompt.aspx?GCID=C12286x053&amp;a=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://www.pluck.com/images/rss-pluck.gif">Zapisz w czytniku Pluck RSS</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://o.aolcdn.com/myfeeds/html/vis/myaol_cta1.gif">Zapisz w My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/BartekSzafko" src="http://www.bloglines.com/images/sub_modern11.gif">Zapisz w Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://www.netvibes.com/img/add2netvibes.gif">Dodaj do netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko" src="http://buttons.googlesyndication.com/fusion/add.gif">Dodaj do Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.addtoany.com/?linkname=Bartek%20Szafko&amp;linkurl=http%3A%2F%2Ffeeds.feedburner.com%2FBartekSzafko&amp;type=feed" src="http://www.addtoany.com/addfr-b.gif">Add to Any Feed Reader</feedburner:feedFlare><item><title>19 marca: prezentacja o WPF databinding</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/ZhlM_Okj758/</link><category>Społeczności</category><category>databinding</category><category>poznańska grupa .net</category><category>WPF</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Sun, 07 Mar 2010 10:41:28 PST</pubDate><guid isPermaLink="false">http://bartekszafko.pl/?p=654</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>19 marca będę miał okazję poopowiadać na spotkaniu poznańskiej grupy .net o databindingu w wpfie. Przygotowałem wstępny plan:</p>
<ol>
<li>MVVM</li>
<li>Basic DataBinding
<ol>
<li>INotifyPropertyChanged</li>
<li>Basic DataBinding</li>
<li>Binding class + full binding syntax</li>
<li>Converters</li>
<li>DataTemplate</li>
</ol>
</li>
<li>Binding Collections
<ol>
<li>INotifyCollectionChanged</li>
<li>ObservableCollection + BindingList</li>
<li>HierarchicalDataTemplate</li>
</ol>
</li>
<li> Debugging DataBinding (thx to Dkowalsky)</li>
<li>Validation (thx to SKobalczyk)</li>
</ol>
<p>Macie jakieś uwagi, życzenia albo sugestie?</p>
<p>PS: Spotkanie oczywiście darmowe, mile widziana wcześniejsza rejestracja na <a href="http://ms-groups.pl/pg.net/default.aspx">http://ms-groups.pl/pg.net/default.aspx</a><br/><strong>Inne podobne artykuły:</strong>
<ul class="similar-posts">
<li><a href="http://bartekszafko.pl/2008/06/27/co-sie-dzieje-w-poznanskiej-grupie-net/" rel="bookmark" title="27-06-2008">Co się dzieje w poznańskiej grupie .NET ?</a></li>
<li><a href="http://bartekszafko.pl/2009/01/25/15-spotkanie-pgnet/" rel="bookmark" title="25-01-2009">15. spotkanie PG.NET</a></li>
<li><a href="http://bartekszafko.pl/2008/06/10/microsoft-technology-summit-2008/" rel="bookmark" title="10-06-2008">Microsoft Technology Summit 2008</a></li>
<li><a href="http://bartekszafko.pl/2008/12/06/grupy-netowe-w-zeszlym-tygodniu/" rel="bookmark" title="06-12-2008">Grupy .NETowe w zeszłym tygodniu</a></li>
<li><a href="http://bartekszafko.pl/2008/06/05/x-spotkanie-pgnet-juz-dzisiaj/" rel="bookmark" title="05-06-2008">X spotkanie PG.NET już dzisiaj</a></li>
</ul>
<p><!-- Similar Posts took 92.490 ms --></p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=ZhlM_Okj758:F5moDFgjxZE:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=ZhlM_Okj758:F5moDFgjxZE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=ZhlM_Okj758:F5moDFgjxZE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=ZhlM_Okj758:F5moDFgjxZE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=ZhlM_Okj758:F5moDFgjxZE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=ZhlM_Okj758:F5moDFgjxZE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=ZhlM_Okj758:F5moDFgjxZE:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/ZhlM_Okj758" height="1" width="1"/>]]></content:encoded><description>19 marca będę miał okazję poopowiadać na spotkaniu poznańskiej grupy .net o databindingu w wpfie. Przygotowałem wstępny plan:

MVVM
Basic DataBinding

INotifyPropertyChanged
Basic DataBinding
Binding class + full binding syntax
Converters
DataTemplate


Binding Collections

INotifyCollectionChanged
ObservableCollection + BindingList
HierarchicalDataTemplate


 Debugging DataBinding (thx to Dkowalsky)
Validation (thx to SKobalczyk)

Macie jakieś uwagi, życzenia albo sugestie?
PS: Spotkanie oczywiście darmowe, mile widziana wcześniejsza rejestracja na http://ms-groups.pl/pg.net/default.aspxInne podobne artykuły:

Co się dzieje w poznańskiej [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2010/03/07/19-marca-prezentacja-o-wpf-databinding/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><feedburner:origLink>http://bartekszafko.pl/2010/03/07/19-marca-prezentacja-o-wpf-databinding/</feedburner:origLink></item><item><title>Ewolucyjne podejście do schematu baz danych</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/UXZ1doI1bRk/</link><category>Development</category><category>General</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Sat, 09 Jan 2010 07:05:57 PST</pubDate><guid isPermaLink="false">http://bartekszafko.pl/?p=627</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Ten post chciałem napisać od czasu, gdy sprzedałem zawarty w nim pomysł Michałowi na jednym ze spotkań PG.NET w końcu się udało <img src='http://bartekszafko.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Jeśli myślisz, że raz stworzysz schemat bazy danych dla swojej aplikacji i już nigdy go nie będziesz zmieniać to jesteś w błędzie. W czasie produkcji może się okazać, że coś zostało pominięte, coś można rozwiazać lepiej, jest błąd albo po prostu trzeba dodać nową funkcjonalność wymagającą zmian w schemacie.</p>
<p><span id="more-627"></span></p>
<p>Wprowadzanie takich zmian może być kłopotliwe, każda wprowadzona modyfikacja może powodować, że starsza wersja aplikacji nie będzie działać w oczekiwany sposób. Najlepszy rozwiązaniem jest wprowadzanie wersjonowania schematu bazy danych. W każdym pliku sa przyrostowe skrypty sql, tak żeby w dowolnym momencie można było, zaktualizować schemat z dowolnej historycznej wersji do najbardziej aktualnej albo stworzyć od początku.<img style="margin: 5px auto; display: block; float: none; border: 0px;" title="CropperCapture[1]" src="http://bartekszafko.pl/wp-content/uploads/2010/01/CropperCapture1.png" border="0" alt="CropperCapture[1]" width="257" height="181" /></p>
<p>Taki plik .sql może zawierać tworzenie nowych i  usuwanie istniejących tabel, kolumn, procedur czy cokolwiek innego co można wykonać w bazie.</p>
<p>Trzeba oczywiście również się zatroszczyć o to, aby zapisywać aktualną wersję, można to zrobić bardzo szybko poprzez extended property na bazie lub preferowane przeze mnie rozwiązanie, czyli osobna tabela z pełnymi informacjami kto i kiedy wykonał skrypt.<img style="margin: 5px auto; display: block; float: none; border: 0px;" title="CropperCapture[3]" src="http://bartekszafko.pl/wp-content/uploads/2010/01/CropperCapture3.png" border="0" alt="CropperCapture[3]" width="577" height="137" /></p>
<p>Takie podejście pozwala również zatroszczyć się o spójność bazy pomiędzy wieloma maszynami developerskimi.</p>
<p>W przypadku np NHibernate tworzenie plików można zautomatyzować za pomocą np.: SchemaUpdate. Tak ja jestem z tych paranoidalnych i nie lubie żeby na środowisku produkcyjnym SchemaUpdate z NHibernate grzebał w bazie.</p>
<p>Warto również w aplikacji zaszyć numer wersji schematu z którym współpracuje, ma to sens zarówno dla aplikacji desktopowych jak i webowych.</p>
<p>W naszych aplikacja z reguły korzystamy napisanego przez nas mechanizmu( nie cierpię na syndrom Not Invented Here;P ), ale okazuje się że jest coś gotowego z dużą ilością fajnych funkcjonalności: <a href="http://code.google.com/p/roundhouse/">Roundhouse</a> .</p>
<p>Smacznego!</p>
<p>UPDATE: na blogu Roba (autora RoundHouse są fajne tutoriale): <a href="http://ferventcoder.com/">http://ferventcoder.com/</a><br/><strong>Inne podobne artykuły:</strong>
<ul class="similar-posts">
<li><a href="http://bartekszafko.pl/2009/01/24/dlaczego-entity-framework-bedzie-rzadzic-swiatem/" rel="bookmark" title="24-01-2009">Dlaczego Entity Framework będzie rządzić światem</a></li>
<li><a href="http://bartekszafko.pl/2009/02/23/lokalizacja-gotowej-aplikacji-asp-net-mvc/" rel="bookmark" title="23-02-2009">Lokalizacja gotowej aplikacji ASP .NET MVC</a></li>
<li><a href="http://bartekszafko.pl/2009/11/19/windows-installer-4-5-i-5-0-ciekawa-funkcjonalnosc/" rel="bookmark" title="19-11-2009">Windows Installer 4.5 i 5.0 &ndash; ciekawa funkcjonalność</a></li>
<li><a href="http://bartekszafko.pl/2008/04/12/zalety-powtarzalnosci-w-tworzeniu-oprogramowania/" rel="bookmark" title="12-04-2008">Zalety powtarzalności w tworzeniu oprogramowania</a></li>
<li><a href="http://bartekszafko.pl/2009/07/08/mono-i-cab/" rel="bookmark" title="08-07-2009">Mono i CAB</a></li>
</ul>
<p><!-- Similar Posts took 126.979 ms --></p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=UXZ1doI1bRk:2SrUtaKhaAA:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=UXZ1doI1bRk:2SrUtaKhaAA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=UXZ1doI1bRk:2SrUtaKhaAA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=UXZ1doI1bRk:2SrUtaKhaAA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=UXZ1doI1bRk:2SrUtaKhaAA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=UXZ1doI1bRk:2SrUtaKhaAA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=UXZ1doI1bRk:2SrUtaKhaAA:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/UXZ1doI1bRk" height="1" width="1"/>]]></content:encoded><description>Ten post chciałem napisać od czasu, gdy sprzedałem zawarty w nim pomysł Michałowi na jednym ze spotkań PG.NET w końcu się udało  
Jeśli myślisz, że raz stworzysz schemat bazy danych dla swojej aplikacji i już nigdy go nie będziesz zmieniać to jesteś w błędzie. W czasie produkcji może się okazać, że coś zostało pominięte, [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2010/01/09/ewolucyjne-podejscie-do-schematu-baz-danych/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><feedburner:origLink>http://bartekszafko.pl/2010/01/09/ewolucyjne-podejscie-do-schematu-baz-danych/</feedburner:origLink></item><item><title>NHibernate: przyśpieszanie ładowania</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/Pin4hX2P3sA/</link><category>NHibernate</category><category>ayende</category><category>configuration</category><category>WPF</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Mon, 21 Dec 2009 10:45:35 PST</pubDate><guid isPermaLink="false">http://bartekszafko.pl/?p=638</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Ayende pisze ostatnio na swoim blogu o <a href="http://ayende.com/Blog/archive/2009/12/21/effectus-isolated-features.aspx">przykładowej apllikacji w WPF używającej NHibernate o nazwie Effectus</a>. Kod całej aplikacji można <a href="http://github.com/ayende/Effectus">znaleźć na githubie</a>.</p>
<p><span id="more-638"></span></p>
<p>Moją uwagę zwrócił kod Bootstrappera, który zawiera ciekawy trick, a mianowicie serializowanie obiektu Configuration do pliku:</p>
<pre class="c#" name="code">private static void SaveConfigurationToFile(Configuration configuration)
{
    using(var file = File.Open(SerializedConfiguration, FileMode.Create))
    {
        var bf = new BinaryFormatter();
        bf.Serialize(file, configuration);
    }
}</pre>
<p>A następnie zamiast wywoływać:</p>
<pre class="c#" name="code">Configuration = new Configuration().Configure(ConfigFile);</pre>
<p>Co odpowiada użyciu gołego NH, ale równie dobrze może to być Fluently.Configure z FluentNHibernate.</p>
<p>Ładowana jest konfiguracja z pliku:</p>
<pre class="c#" name="code">private static Configuration LoadConfigurationFromFile()
{
            if (IsConfigurationFileValid == false)
                return null;
            try
            {
                using(var file = File.Open(SerializedConfiguration, FileMode.Open))
                {
                    var bf = new BinaryFormatter();
                    return bf.Deserialize(file) as Configuration;
                }
            }
            catch (Exception)
            {
                return null;
            }
}</pre>
<p>Zysk czasowy jest bardzo duży – w przypadku sporej liczby mapowanych klas wywołanie Configure trwa nawet 5,5 sekundy, a deserializacja z pliku około 600 ms. Co ciekawe taki zserializowany obiekt Configuration zajmuje w moim przypadku 1,7MB na dysku.</p>
<p>Taki zapis jest wykonywany przy pierwszym starcie, więc oszczędza się dopiero przy następnych uruchomieniach. Zapisywanie obiektu na etapie deploymentu chyba nie byłoby dobrym pomysłem – z powodu różnic x86 i x64. Ma to też sens dla aplikacji desktopowych bardziej niż webowych.</p>
<p>Smacznego!</p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=Pin4hX2P3sA:bqEiO15GcLM:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=Pin4hX2P3sA:bqEiO15GcLM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=Pin4hX2P3sA:bqEiO15GcLM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=Pin4hX2P3sA:bqEiO15GcLM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=Pin4hX2P3sA:bqEiO15GcLM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=Pin4hX2P3sA:bqEiO15GcLM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=Pin4hX2P3sA:bqEiO15GcLM:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/Pin4hX2P3sA" height="1" width="1"/>]]></content:encoded><description>Ayende pisze ostatnio na swoim blogu o przykładowej apllikacji w WPF używającej NHibernate o nazwie Effectus. Kod całej aplikacji można znaleźć na githubie.

Moją uwagę zwrócił kod Bootstrappera, który zawiera ciekawy trick, a mianowicie serializowanie obiektu Configuration do pliku:
private static void SaveConfigurationToFile(Configuration configuration)
{
    using(var file = File.Open(SerializedConfiguration, FileMode.Create))
    {
  [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2009/12/21/nhibernate-przyspieszanie-ladowania/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://bartekszafko.pl/2009/12/21/nhibernate-przyspieszanie-ladowania/</feedburner:origLink></item><item><title>WPF: DataBinding nie używa ustawień narodowych</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/PKIQVHshe0M/</link><category>WPF</category><category>databinding</category><category>windows presentation foundation</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Tue, 08 Dec 2009 09:05:57 PST</pubDate><guid isPermaLink="false">http://bartekszafko.pl/?p=634</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Na ten problem natknąłem się całkiem przypadkiem. W xamlu napisałem coś takiego:</p>
<pre class="xml" name="code">&lt;TextBlock&gt;
    &lt;TextBlock.Text&gt;
        &lt;Binding Path="CurrentDate"&gt;
            &lt;Binding.StringFormat&gt;&lt;![CDATA[{0:dd MMMM yyyy}]]&gt;&lt;/Binding.StringFormat&gt;
        &lt;/Binding&gt;
    &lt;/TextBlock.Text&gt;
&lt;/TextBlock&gt;</pre>
<p>W wyniku czegoś takiego można by się spodziewać, że pojawi się tekst “8 grudnia 2009”. Nic bardziej mylnego pojawiło się “8 December 2009”. Wynik całkiem zaskakujący ponieważ zarówno CurrentCulture jak i CurrentUICulture zawierały poprawne ustawienia dla pl-PL.</p>
<p><span id="more-634"></span>Okazuje się, że tak zachowuje się DataBinding w WPF-ie. Jedynym obejściem jest albo napisanie własnych implementacji IValueConverter, które zamiast przekazanego Culture używają CurrentUICulture, albo podanie przy wywołaniu convertera parametru ConverterCulture:</p>
<pre class="xml" name="code">&lt;TextBlock.Text&gt;
    &lt;Binding Path="CurrentDate" ConverterCulture="pl-PL"&gt;
        &lt;Binding.StringFormat&gt;&lt;![CDATA[{0:dd MMMM yyyy}]]&gt;&lt;/Binding.StringFormat&gt;
    &lt;/Binding&gt;
&lt;/TextBlock.Text&gt;</pre>
<p>Może ktoś zna bardziej globalen rozwiązanie tego problemu ? Tak żeby nie trzeba było określać ConverterCulture przy każdym Bindingu albo definiować własnego IValueConvertera…</p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=PKIQVHshe0M:2Te56OldfA0:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=PKIQVHshe0M:2Te56OldfA0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=PKIQVHshe0M:2Te56OldfA0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=PKIQVHshe0M:2Te56OldfA0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=PKIQVHshe0M:2Te56OldfA0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=PKIQVHshe0M:2Te56OldfA0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=PKIQVHshe0M:2Te56OldfA0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/PKIQVHshe0M" height="1" width="1"/>]]></content:encoded><description>Na ten problem natknąłem się całkiem przypadkiem. W xamlu napisałem coś takiego:
&amp;#60;TextBlock&amp;#62;
    &amp;#60;TextBlock.Text&amp;#62;
        &amp;#60;Binding Path="CurrentDate"&amp;#62;
            &amp;#60;Binding.StringFormat&amp;#62;&amp;#60;![CDATA[{0:dd MMMM yyyy}]]&amp;#62;&amp;#60;/Binding.StringFormat&amp;#62;
        &amp;#60;/Binding&amp;#62;
    &amp;#60;/TextBlock.Text&amp;#62;
&amp;#60;/TextBlock&amp;#62;
W wyniku czegoś takiego można [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2009/12/08/wpf-databinding-nie-uzywa-ustawien-narodowych/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">5</slash:comments><feedburner:origLink>http://bartekszafko.pl/2009/12/08/wpf-databinding-nie-uzywa-ustawien-narodowych/</feedburner:origLink></item><item><title>Windows Installer 4.5 i 5.0 – ciekawa funkcjonalność</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/-cv1CE0LcOk/</link><category>Development</category><category>WiX</category><category>windows 7</category><category>windows instaler</category><category>windows installer xml</category><category>windows vista</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Thu, 19 Nov 2009 09:59:07 PST</pubDate><guid isPermaLink="false">http://bartekszafko.pl/?p=628</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>W Windows Vista(Installer 4.5) i Windows 7(installer 5.0) jest całkiem ciekawa funkcjonalność – buforowanie instalatorów msi. Rzecz całkiem przydatna, gdy niespecjalnie lubimy komunikaty w stylu “Nie można znaleźć pliku (ulubiony soft).msi”.</p>
<p><span id="more-628"></span>Okazuje się, że wszystkie zainstalowane pakiety są przechowywane w C:\Windows\Installer:</p>
<p><a href="http://bartekszafko.pl/wp-content/uploads/2009/11/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" src="http://bartekszafko.pl/wp-content/uploads/2009/11/image_thumb.png" border="0" alt="image" width="470" height="318" /></a></p>
<p>Warto sobie zdawać sprawę z tego, że folder może zajmować dużo miejsca. Z tego co wyczytałem(sorry nie pamiętam gdzie) buforowane są tylko pliki .msi, więc jeśli mamy w takim pliku osadzone również całe archiwum  musimy okupić to zajętością dysku.</p>
<p>To czy nasz plik msi będzie zawierał również osadzone archiwum można kontrolować przy pomocy atrybutu EmbedCab w elemencie Media, standardowo stosujemy coś takiego:</p>
<pre class="xml" name="code">&lt;Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /&gt;</pre>
<p>Natomiast jeżeli chcemy uzyskać osobny plik( może być kłopotliwe do dostarczania użytkownikom) coś takiego:</p>
<pre class="xml" name="code">&lt;Media Id="1" Cabinet="media1.cab" EmbedCab="no" /&gt;</pre>
<p>Wtedy plik media1.cab nie zostanie umieszczony w pamięci podręcznej windows installera, ale przy np naprawianiu instalacji będziemy musieli zapewnić nośnik/plik, z którego wykonywana była instalacja.<br/><strong>Inne podobne artykuły:</strong>
<ul class="similar-posts">
<li><a href="http://bartekszafko.pl/2008/09/15/instalator-w-pliku-msi-czesc-2/" rel="bookmark" title="15-09-2008">Instalator w pliku msi część 2</a></li>
<li><a href="http://bartekszafko.pl/2009/11/14/wix-merge-modules/" rel="bookmark" title="14-11-2009">WiX: Merge modules</a></li>
<li><a href="http://bartekszafko.pl/2008/08/13/instalator-w-pliku-msi-czesc-1/" rel="bookmark" title="13-08-2008">Instalator w pliku msi część 1</a></li>
<li><a href="http://bartekszafko.pl/2009/04/10/instalator-w-pliku-msi-czesc-6-upgrade/" rel="bookmark" title="10-04-2009">Instalator w pliku msi część 6 &#8211; upgrade</a></li>
<li><a href="http://bartekszafko.pl/2008/11/01/instalator-w-pliku-msi-czesc-3/" rel="bookmark" title="01-11-2008">Instalator w pliku msi część 3</a></li>
</ul>
<p><!-- Similar Posts took 230.395 ms --></p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=-cv1CE0LcOk:X1s87srxykc:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=-cv1CE0LcOk:X1s87srxykc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=-cv1CE0LcOk:X1s87srxykc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=-cv1CE0LcOk:X1s87srxykc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=-cv1CE0LcOk:X1s87srxykc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=-cv1CE0LcOk:X1s87srxykc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=-cv1CE0LcOk:X1s87srxykc:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/-cv1CE0LcOk" height="1" width="1"/>]]></content:encoded><description>W Windows Vista(Installer 4.5) i Windows 7(installer 5.0) jest całkiem ciekawa funkcjonalność – buforowanie instalatorów msi. Rzecz całkiem przydatna, gdy niespecjalnie lubimy komunikaty w stylu “Nie można znaleźć pliku (ulubiony soft).msi”.
Okazuje się, że wszystkie zainstalowane pakiety są przechowywane w C:\Windows\Installer:

Warto sobie zdawać sprawę z tego, że folder może zajmować dużo miejsca. Z tego co wyczytałem(sorry [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2009/11/19/windows-installer-4-5-i-5-0-ciekawa-funkcjonalnosc/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://bartekszafko.pl/2009/11/19/windows-installer-4-5-i-5-0-ciekawa-funkcjonalnosc/</feedburner:origLink></item><item><title>WiX: Merge modules</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/OVtO8VE6Ie4/</link><category>WiX</category><category>merge modules</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Sat, 14 Nov 2009 10:17:54 PST</pubDate><guid isPermaLink="false">http://bartekszafko.pl/?p=603</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://bartekszafko.pl/wp-content/uploads/2009/11/image.png" border="0" alt="image" width="189" height="119" align="left" /></p>
<p>Merge modules to plik z rozszerzniem .msm, który możemy dołączyć do naszego pliku .msi. Zaletą jest to, że na wyjściu dostajemy jeden plik Windows Installera, którego zawartość jest połączona(stąd nazwa merge module) z modułem.<br />
<br/><br />
<br/><br />
<span id="more-603"></span></p>
<p>Przykładowe użycie merge module w skrypcie wxs może wyglądać tak:</p>
<pre class="xml" name="code">&lt;Merge Id="CrystalReportsRedist" Language="1045" SourceFile="CrystalReportsRedist2005_x86.msm" DiskId="1" /&gt;</pre>
<p>Czasem, są też problemy z nieistniejącymi tabelami w .msi, ale można to załawić przy pommocy EnsureTable:</p>
<pre class="xml" name="code">&lt;EnsureTable Id="Registry"/&gt;</pre>
<p>Sprawa wydaje się prosta. Jest jednak małe “ale” dołączanie zewnętrznego komponentu do naszego msi mocno komplikuje upgrady( patrz <a href="http://blogs.msdn.com/windows_installer_team/archive/2006/06/27/648447.aspx">tutaj</a> Rule 43). Dodatkowo wiążemy się z producentem pakietu .msm i musimy za każdym razem sami aktualizować plik msi o nowszy msm.</p>
<p>Producenci komponentów rzadko dostarczają merge moduły. Na przykład .NET Framework wogóle nie jest dostępny jako MSM. Nawet ludzie z Microsoft radzą raczej ostrożne stosowanie Merge modules.</p>
<p>W większości przypadków można zupełnie spokojnie użyć jakiegoś bootstrappera i instalować normalnie pliki .msi na przykład tak jak to opisałem w <a href="http://bartekszafko.pl/2009/06/22/instalowanie-komponentw-zaleznych/">jednym z poprzednich wpisów</a>.<br/><strong>Inne podobne artykuły:</strong>
<ul class="similar-posts">
<li><a href="http://bartekszafko.pl/2009/04/30/instalator-w-pliku-msi-czesc-7-generowanie-listy-plikw-do-instalacji/" rel="bookmark" title="30-04-2009">Instalator w pliku msi część 7 &ndash; generowanie listy plik&oacute;w do instalacji</a></li>
<li><a href="http://bartekszafko.pl/2009/05/27/wix-wykrywanie-zainstalowanych-msi/" rel="bookmark" title="27-05-2009">WIX &#8211; Wykrywanie zainstalowanych MSI</a></li>
<li><a href="http://bartekszafko.pl/2008/01/20/lokalizowanie-setupow-wix/" rel="bookmark" title="20-01-2008">Lokalizowanie setupów WiX</a></li>
<li><a href="http://bartekszafko.pl/2009/05/18/wix-wyswietlanie-kopiowanych-plikw/" rel="bookmark" title="18-05-2009">Wix &ndash; wyświetlanie kopiowanych plik&oacute;w</a></li>
<li><a href="http://bartekszafko.pl/2008/09/15/instalator-w-pliku-msi-czesc-2/" rel="bookmark" title="15-09-2008">Instalator w pliku msi część 2</a></li>
</ul>
<p><!-- Similar Posts took 76.786 ms --></p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=OVtO8VE6Ie4:P9b250HhxK0:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=OVtO8VE6Ie4:P9b250HhxK0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=OVtO8VE6Ie4:P9b250HhxK0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=OVtO8VE6Ie4:P9b250HhxK0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=OVtO8VE6Ie4:P9b250HhxK0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=OVtO8VE6Ie4:P9b250HhxK0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=OVtO8VE6Ie4:P9b250HhxK0:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/OVtO8VE6Ie4" height="1" width="1"/>]]></content:encoded><description>Merge modules to plik z rozszerzniem .msm, który możemy dołączyć do naszego pliku .msi. Zaletą jest to, że na wyjściu dostajemy jeden plik Windows Installera, którego zawartość jest połączona(stąd nazwa merge module) z modułem.



Przykładowe użycie merge module w skrypcie wxs może wyglądać tak:
&amp;#60;Merge Id="CrystalReportsRedist" Language="1045" SourceFile="CrystalReportsRedist2005_x86.msm" DiskId="1" /&amp;#62;
Czasem, są też problemy z nieistniejącymi tabelami w [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2009/11/14/wix-merge-modules/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://bartekszafko.pl/2009/11/14/wix-merge-modules/</feedburner:origLink></item><item><title>Aktualizacje od strony użytkownika</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/BTGgfZdC6xU/</link><category>Development</category><category>General</category><category>aktualizacja</category><category>clickonce</category><category>instalacja</category><category>WiX</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Fri, 30 Oct 2009 11:16:23 PDT</pubDate><guid isPermaLink="false">http://bartekszafko.pl/?p=596</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>Aktualizowanie aplikacji to moim zdaniem ważne zagadnienie. Bardzo często aplikacja podlega ciągłym zmianom, dodawane są nowe funkcjonalności, naprawiane błędy(oczywiście:) ). Istotne jest to, w  jaki sposób taką aktualizację widzi użytkownik.</p>
<p><span id="more-596"></span></p>
<h4>Przykład Firefox</h4>
<p>Najlepszą aktualizację jaką do tej pory widziałem ma Firefox, jest tak zrobiona, że dla użytkownika( z domyślną konfiguracją) jest praktycznie przeźroczysta. Jedyne co zauważa to wyjeżdżające okno powiadomienia o nowej wersji, gdy już jest ściągnięta i gotowa do instalacji. Co ciekawe nowsza wersja ściąga się w taki sposób, że podczas przeglądania stron praktycznie tego nie widać. A sam Firefox aktualizuje się podczas następnego uruchomienia.</p>
<h4>Jak to zrobić – jak w firefox</h4>
<p>W windows jest ciekawy mechanizm, który pozwala zrealizować mało przeszkadzający użytkownikowi transfer plików nazywa się BITS &#8211; Background Intelligent Transfer Service. To właśnie tego mechanizmu używa Windows Update do pobierania aktualizacji. Z ciekawych rzeczy, które potrafi BITS to między innymi ponowienie zerwanego transferu od właściwego miejsca i wznowienie po restarcie. BITS potrafił używać Update Application Block, niestety został porzucony przez twórców, ale nadal można go znaleźć <a href="http://scsfcontrib.codeplex.com/SourceControl/BrowseLatest">na codeplex</a> ( trunk-updater).</p>
<h4>A w Mini-Korpo</h4>
<p>W korporacji potrzebna jest kontrola nad tym, która wersja aplikacji jest używana. Model stosowany w firefoxie nie sprawdzi się. Najłatwiej jest, gdy w firmie jest jakieś super-mega-hiper rozwiązanie do zarządzania stacjami klienckimi, ale mogą sobie na to pozwolić tylko duże przedsiębiorstwa.</p>
<p>Kolejnym rozwiązaniem mogłoby być zapakowanie produktu w msi(oczywiście przy pomocy WiX) i instalowanie z polityk grupowych. Jest to niepraktyczne  i wymagało by restartu maszyny klienckiej, żeby wykonała się aktualiazacja.</p>
<p>Tym co z reguły stosuje w takich wypadkach to zwykły ClickOnce. W korpo z reguły nie musimy się też pasmem, aktualizacje są ściągne lokalnie, więc nie trzeba sie bawić BITS. W ClickOnce można oprogramować sprawdzanie nowej wersji i np wymusić restart aplikacji. W ostateczności można polegać całkowicie na wbudowanym mechaniźmie aktualizowania przed uruchomieniem. <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" src="http://bartekszafko.pl/wp-content/uploads/2009/10/image.png" border="0" alt="image" width="562" height="500" /></p>
<p>Miłym akcentem jest to, że ClickOnce może zainstalować także wymagane komponenyt np: .NET, Sql, czy co tam jeszcze jest potrzebne.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" src="http://bartekszafko.pl/wp-content/uploads/2009/10/image1.png" border="0" alt="image" width="660" height="438" /> <img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" src="http://bartekszafko.pl/wp-content/uploads/2009/10/image2.png" border="0" alt="image" width="260" height="101" /></p>
<p>A co najlepsze to wszystko da się zrobić za darmo.</p>
<p>Badam też możliwość tworzenia pakietów instalacyjnych aplikacji .netowych ( w mono) na platformy linuxowe. Tutaj problem jest bardziej złożony &#8211; trzeba stworzyć pakiety linuxowe np .rpm albo .deb. Na szczęście serwer CI &#8211; <a href="https://hudson.dev.java.net/">Hudson</a>, który mi się ostatnio spodobał pozwala na odpalenie nodów linuxowych <img src='http://bartekszafko.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br/><strong>Inne podobne artykuły:</strong>
<ul class="similar-posts">
<li><a href="http://bartekszafko.pl/2008/09/26/msbuild-community-tasks-wszystko-czego-brakuje-w-msbuild/" rel="bookmark" title="26-09-2008">MSBuild Community Tasks &#8211; wszystko czego brakuje w MSBuild</a></li>
<li><a href="http://bartekszafko.pl/2009/05/24/iron-python/" rel="bookmark" title="24-05-2009">Iron Python</a></li>
<li><a href="http://bartekszafko.pl/2008/04/12/zalety-powtarzalnosci-w-tworzeniu-oprogramowania/" rel="bookmark" title="12-04-2008">Zalety powtarzalności w tworzeniu oprogramowania</a></li>
<li><a href="http://bartekszafko.pl/2009/07/08/mono-i-cab/" rel="bookmark" title="08-07-2009">Mono i CAB</a></li>
<li><a href="http://bartekszafko.pl/2009/01/04/wizardy-w-aero/" rel="bookmark" title="04-01-2009">Wizardy w AERO</a></li>
</ul>
<p><!-- Similar Posts took 141.154 ms --></p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=BTGgfZdC6xU:ciaeuHIA3w8:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=BTGgfZdC6xU:ciaeuHIA3w8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=BTGgfZdC6xU:ciaeuHIA3w8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=BTGgfZdC6xU:ciaeuHIA3w8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=BTGgfZdC6xU:ciaeuHIA3w8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=BTGgfZdC6xU:ciaeuHIA3w8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=BTGgfZdC6xU:ciaeuHIA3w8:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/BTGgfZdC6xU" height="1" width="1"/>]]></content:encoded><description>Aktualizowanie aplikacji to moim zdaniem ważne zagadnienie. Bardzo często aplikacja podlega ciągłym zmianom, dodawane są nowe funkcjonalności, naprawiane błędy(oczywiście:) ). Istotne jest to, w  jaki sposób taką aktualizację widzi użytkownik.

Przykład Firefox
Najlepszą aktualizację jaką do tej pory widziałem ma Firefox, jest tak zrobiona, że dla użytkownika( z domyślną konfiguracją) jest praktycznie przeźroczysta. Jedyne co zauważa to [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2009/10/30/aktualizacje-od-strony-uzytkownika/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://bartekszafko.pl/2009/10/30/aktualizacje-od-strony-uzytkownika/</feedburner:origLink></item><item><title>XX spotkanie PG.NET</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/3mielrTOvlk/</link><category>Społeczności</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Mon, 21 Sep 2009 09:12:50 PDT</pubDate><guid isPermaLink="false">http://bartekszafko.pl/2009/09/21/xx-spotkanie-pg-net/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img style="border-right-width: 0px; margin: 0px 5px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://bartekszafko.pl/wp-content/uploads/2009/09/image.png" width="220" height="116" /> Serdecznie zapraszam na pierwsze po wakacjach, XX (rocznicowe) spotkanie Poznańskiej Grupy .NET. To spotkanie inaguruje kierownictwo Michała Korsaka i Daniela Pasiaka( o zmianie kierownictwa w pg.net <a href="http://bartekszafko.pl/2009/08/05/poznanska-grupa-net-zmiana-kierownictwa/">już pisałem</a>).</p>
<p>Agenda:
<ul>
<li>Marek Błotny opowie o nowinkach w świecie .NET </li>
<li>Michał Korsak o Hudson Continuous Integration Engine </li>
<li>a na koniec ja opowiem o Windows Installer Xml </li>
</ul>
<p>Rejestracja jest dostępna <a href="http://ms-groups.pl/pg.net/Lists/Spotkania/DispForm.aspx?ID=29&amp;Source=http%3A%2F%2Fms-groups.pl%2Fpg.net%2Fdefault.aspx">tutaj</a>.</p>
<p><br/><strong>Inne podobne artykuły:</strong>
<ul class="similar-posts">
<li><a href="http://bartekszafko.pl/2009/01/25/15-spotkanie-pgnet/" rel="bookmark" title="25-01-2009">15. spotkanie PG.NET</a></li>
<li><a href="http://bartekszafko.pl/2007/12/18/vii-spotkanie-poznanskiej-grupy-net/" rel="bookmark" title="18-12-2007">VII spotkanie poznańskiej grupy .NET</a></li>
<li><a href="http://bartekszafko.pl/2008/02/18/visual-studio-2008-installfest-25-lutego-2008-w-poznaniu-2/" rel="bookmark" title="18-02-2008">Visual Studio 2008 InstallFest 25 lutego 2008 w Poznaniu</a></li>
<li><a href="http://bartekszafko.pl/2008/02/06/visual-studio-2008-installfest-25-lutego-2008-w-poznaniu/" rel="bookmark" title="06-02-2008">Visual Studio 2008 InstallFest 25 lutego 2008 w Poznaniu</a></li>
<li><a href="http://bartekszafko.pl/2009/08/05/poznanska-grupa-net-zmiana-kierownictwa/" rel="bookmark" title="05-08-2009">Poznańska grupa .net &ndash; zmiana kierownictwa</a></li>
</ul>
<p><!-- Similar Posts took 180.177 ms --></p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=3mielrTOvlk:KS_WdfdTwRM:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=3mielrTOvlk:KS_WdfdTwRM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=3mielrTOvlk:KS_WdfdTwRM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=3mielrTOvlk:KS_WdfdTwRM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=3mielrTOvlk:KS_WdfdTwRM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=3mielrTOvlk:KS_WdfdTwRM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=3mielrTOvlk:KS_WdfdTwRM:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/3mielrTOvlk" height="1" width="1"/>]]></content:encoded><description>Serdecznie zapraszam na pierwsze po wakacjach, XX (rocznicowe) spotkanie Poznańskiej Grupy .NET. To spotkanie inaguruje kierownictwo Michała Korsaka i Daniela Pasiaka( o zmianie kierownictwa w pg.net już pisałem).
Agenda:

Marek Błotny opowie o nowinkach w świecie .NET 
Michał Korsak o Hudson Continuous Integration Engine 
a na koniec ja opowiem o Windows Installer Xml 

Rejestracja jest dostępna [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2009/09/21/xx-spotkanie-pg-net/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://bartekszafko.pl/2009/09/21/xx-spotkanie-pg-net/</feedburner:origLink></item><item><title>Bloggers Underground – 29 września</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/5Auou1CE1N4/</link><category>Społeczności</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Wed, 19 Aug 2009 11:27:53 PDT</pubDate><guid isPermaLink="false">http://bartekszafko.pl/2009/08/19/bloggers-underground-29-wrzesnia/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><a href="http://itblogs.pl/blogs/bloggersunderground/archive/2009/08/04/bloggers-underground-2-5.aspx"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" src="http://bartekszafko.pl/wp-content/uploads/2009/08/image1.png" border="0" alt="image" width="260" height="215" /></a></p>
<p>Wybieram się na <a href="http://itblogs.pl/blogs/bloggersunderground/archive/2009/08/04/bloggers-underground-2-5.aspx">Bloggers Underground</a> – spotkanie bloggerów technicznych organizowane w pierwszy dzień konferencji MTS, czyli 29 września o godzinie 19:00.</p>
<p>Chciałbym opowiedzieć o moich przemyśleniach po 4 latach blogowania:</p>
<ul>
<li>czytelnicy(jacy są i czego chcą)</li>
<li>czy warto blogować technicznie,</li>
<li>czy mikroblogi zabiły blogi techniczne?</li>
</ul>
<p><br/><strong>Inne podobne artykuły:</strong>
<ul class="similar-posts">
<li><a href="http://bartekszafko.pl/2008/08/28/hackfest/" rel="bookmark" title="28-08-2008">Hackfest</a></li>
<li><a href="http://bartekszafko.pl/2008/10/22/xii-spotkanie-pgnet-prism-ironpython/" rel="bookmark" title="22-10-2008">XII spotkanie pg.net &#8211; prism + ironpython</a></li>
<li><a href="http://bartekszafko.pl/2009/08/05/poznanska-grupa-net-zmiana-kierownictwa/" rel="bookmark" title="05-08-2009">Poznańska grupa .net &ndash; zmiana kierownictwa</a></li>
<li><a href="http://bartekszafko.pl/2009/03/02/raymond-lewallen-w-poznaniu/" rel="bookmark" title="02-03-2009">Raymond Lewallen w Poznaniu</a></li>
<li><a href="http://bartekszafko.pl/2008/03/02/visual-studio-2008-installfest-podsumowanie/" rel="bookmark" title="02-03-2008">Visual Studio 2008 InstallFest &#8211; podsumowanie</a></li>
</ul>
<p><!-- Similar Posts took 95.658 ms --></p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=5Auou1CE1N4:0yH28IyNbLI:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=5Auou1CE1N4:0yH28IyNbLI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=5Auou1CE1N4:0yH28IyNbLI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=5Auou1CE1N4:0yH28IyNbLI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=5Auou1CE1N4:0yH28IyNbLI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=5Auou1CE1N4:0yH28IyNbLI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=5Auou1CE1N4:0yH28IyNbLI:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/5Auou1CE1N4" height="1" width="1"/>]]></content:encoded><description>Wybieram się na Bloggers Underground – spotkanie bloggerów technicznych organizowane w pierwszy dzień konferencji MTS, czyli 29 września o godzinie 19:00.
Chciałbym opowiedzieć o moich przemyśleniach po 4 latach blogowania:

czytelnicy(jacy są i czego chcą)
czy warto blogować technicznie,
czy mikroblogi zabiły blogi techniczne?

Inne podobne artykuły:

Hackfest
XII spotkanie pg.net &amp;#8211; prism + ironpython
Poznańska grupa .net &amp;#8211; zmiana kierownictwa
Raymond Lewallen w [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2009/08/19/bloggers-underground-29-wrzesnia/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://bartekszafko.pl/2009/08/19/bloggers-underground-29-wrzesnia/</feedburner:origLink></item><item><title>Poznańska grupa .net – zmiana kierownictwa</title><link>http://feedproxy.google.com/~r/BartekSzafko/~3/6GU5_muerpI/</link><category>Społeczności</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bartłomiej Szafko</dc:creator><pubDate>Wed, 05 Aug 2009 13:55:34 PDT</pubDate><guid isPermaLink="false">http://bartekszafko.pl/2009/08/05/poznanska-grupa-net-zmiana-kierownictwa/</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; margin: 0px 10px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://bartekszafko.pl/wp-content/uploads/2009/08/image.png" width="220" height="116" /> Po dzisiejszym spotkaniu i długiej dyskusji kierowanie grupą przejmuje Michał Korsak (jako lider) i Daniel Pasiak (jako z-ca). Michał i Daniel to stali bywalcy naszych spotkań i byli naprawdę dla mnie olbrzymim wsparciem. Jestem przekonany, że wszyscy kojarzycie Daniela i Michała ze spotkań.</p>
<p>Praca przy organizowaniu spotkań była dla mnie fantastycznym przeżyciem i czas na to poświęcony mogę zaliczyć do skutecznie spożytkowanych. Miałem okazję poznać wielu fantastycznych ludzi i nauczyć się wielu nowych rzeczy. Od września będę się angażował w inne przedsięwzięcia, jednak nadal będę uczestniczył, w miarę możliwości, w spotkaniach i jeśli zostanę o to poproszony z chęcią wystąpię jako prelegent.</p>
<p>Oczywiście będę wspierał Michała i Daniela, jeśli zajdzie taka potrzeba i o to poproszą.</p>
<p>W tym miejscu chciałbym Wam podziękować za rok a wspaniałej współpracy w ramach grupy. Mam nadzieję, że oprócz spotkań będzie grupy okazja żeby się spotkać na gruncie towarzyskim lub przy okazji konferencji. No i oczywiście zachęcam do czytania mojego bloga.</p>
<p><br/><strong>Inne podobne artykuły:</strong>
<ul class="similar-posts">
<li><a href="http://bartekszafko.pl/2008/01/31/second-shot-przedluzony-zdajemy/" rel="bookmark" title="31-01-2008">Second shot &#8211; przedłużony &#8211; zdajemy ?</a></li>
<li><a href="http://bartekszafko.pl/2008/01/29/ix-spotkanie-poznanskiej-grupy-net/" rel="bookmark" title="29-01-2008">IX spotkanie poznańskiej grupy .net</a></li>
<li><a href="http://bartekszafko.pl/2008/06/27/co-sie-dzieje-w-poznanskiej-grupie-net/" rel="bookmark" title="27-06-2008">Co się dzieje w poznańskiej grupie .NET ?</a></li>
<li><a href="http://bartekszafko.pl/2009/09/21/xx-spotkanie-pg-net/" rel="bookmark" title="21-09-2009">XX spotkanie PG.NET</a></li>
<li><a href="http://bartekszafko.pl/2007/11/19/wyniki-ankiety-pgnet/" rel="bookmark" title="19-11-2007">Wyniki ankiety PG.NET</a></li>
</ul>
<p><!-- Similar Posts took 209.495 ms --></p>
<a href="http://bartekszafko.pl//2006/04/22/my-bio/"><img class="frame" src="http://bartekszafko.pl/wp-content/uploads/bszafko_avatar.jpg" alt="Bartek Szafko" border="0" style="float:left; border:1px solid #A9A9A9; margin:6px;padding:4px;position:relative;"></a>Ten artykuł pochodzi z bloga <a href="http://bartekszafko.pl">Bartka Szafko</a> i pozostaje własnością autora. Wszelkie użycie bez zgody jest niedozwolone.<br/>&copy; Copyright by Bartek Szafko <br style="clear:both"/> 81401c6e400a1ca19bd490938dc3548e)</small><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=6GU5_muerpI:PW7uGpPeRoE:tF1tbY45p4M"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=tF1tbY45p4M" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=6GU5_muerpI:PW7uGpPeRoE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=6GU5_muerpI:PW7uGpPeRoE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=6GU5_muerpI:PW7uGpPeRoE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=6GU5_muerpI:PW7uGpPeRoE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/BartekSzafko?a=6GU5_muerpI:PW7uGpPeRoE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/BartekSzafko?i=6GU5_muerpI:PW7uGpPeRoE:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/BartekSzafko/~4/6GU5_muerpI" height="1" width="1"/>]]></content:encoded><description>Po dzisiejszym spotkaniu i długiej dyskusji kierowanie grupą przejmuje Michał Korsak (jako lider) i Daniel Pasiak (jako z-ca). Michał i Daniel to stali bywalcy naszych spotkań i byli naprawdę dla mnie olbrzymim wsparciem. Jestem przekonany, że wszyscy kojarzycie Daniela i Michała ze spotkań.
Praca przy organizowaniu spotkań była dla mnie fantastycznym przeżyciem i czas na [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bartekszafko.pl/2009/08/05/poznanska-grupa-net-zmiana-kierownictwa/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">2</slash:comments><feedburner:origLink>http://bartekszafko.pl/2009/08/05/poznanska-grupa-net-zmiana-kierownictwa/</feedburner:origLink></item></channel></rss>
