<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Agile Surfing &#187; Programowanie</title>
	<atom:link href="http://agilesurfing.pl/category/programowanie/feed/" rel="self" type="application/rss+xml" />
	<link>http://agilesurfing.pl</link>
	<description>Grzegorz Dziemidowicz o Agile, Software Craftsmanship i programowaniu</description>
	<lastBuildDate>Sat, 04 Sep 2010 12:03:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Dlaczego warto przyjść na CodeRetreat?</title>
		<link>http://agilesurfing.pl/2010/programowanie/dlaczego-warto-przyjsc-na-coderetreat/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/dlaczego-warto-przyjsc-na-coderetreat/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 21:42:34 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[coderetreat]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[software craftsmanship]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=140</guid>
		<description><![CDATA[Już jutro w pracy organizuję 2 warsztaty oparte na formule CodeRetreat. Razem z ludźmi z Wrocławskiego JUGa i Wrocławskiej grupy kunszt organizujemy też otwarte CodeRetreat dla Wrocławia! Wydarzenie prawdopodobnie odbędzie się 23 października, a o szczegółach poinformuje między innymi na tym blogu. Ale dlaczego warto poświęcić sobotę i przyjść? Będziesz miał okazję ćwiczyć! Dlaczego jest [...]]]></description>
			<content:encoded><![CDATA[<p>Już jutro w pracy organizuję 2 warsztaty oparte na formule CodeRetreat.</p>
<p>Razem z ludźmi z Wrocławskiego JUGa i Wrocławskiej grupy kunszt organizujemy też otwarte CodeRetreat dla Wrocławia! Wydarzenie prawdopodobnie odbędzie się 23 października, a o szczegółach poinformuje między innymi na tym blogu.</p>
<p>Ale dlaczego warto poświęcić sobotę i przyjść? Będziesz miał okazję ćwiczyć! <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Dlaczego jest to ważne? Zapraszam do obejrzenia wideo z prezentacji Corey&#8217;a (jeden z pomysłodawców CodeRetreat).</p>
<p><a href="http://vimeo.com/9891271"><a href="http://player.vimeo.com/video/9891271">Practise</a><br />
</a></p>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fdlaczego-warto-przyjsc-na-coderetreat%2F&amp;linkname=Dlaczego%20warto%20przyj%C5%9B%C4%87%20na%20CodeRetreat%3F" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fdlaczego-warto-przyjsc-na-coderetreat%2F&amp;linkname=Dlaczego%20warto%20przyj%C5%9B%C4%87%20na%20CodeRetreat%3F" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fdlaczego-warto-przyjsc-na-coderetreat%2F&amp;linkname=Dlaczego%20warto%20przyj%C5%9B%C4%87%20na%20CodeRetreat%3F" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fdlaczego-warto-przyjsc-na-coderetreat%2F&amp;linkname=Dlaczego%20warto%20przyj%C5%9B%C4%87%20na%20CodeRetreat%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fdlaczego-warto-przyjsc-na-coderetreat%2F&amp;linkname=Dlaczego%20warto%20przyj%C5%9B%C4%87%20na%20CodeRetreat%3F" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/dlaczego-warto-przyjsc-na-coderetreat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Warsztaty inspirowane „CodeRetreat”</title>
		<link>http://agilesurfing.pl/2010/programowanie/warsztaty-inspirowane-coderetreat/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/warsztaty-inspirowane-coderetreat/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 06:12:28 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Ciekawostki]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[coderetreat]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[software craftsmanship]]></category>
		<category><![CDATA[tdd]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=90</guid>
		<description><![CDATA[We wtorek miałem przyjemność organizować w firmie wydarzenie inspirowane warsztatami &#8222;CodeRetreat&#8221;. W skrócie: Jest to cały dzień programowania w parach ćwicząc Test-Driven Development. Nacisk kładziony jest na to jak pracujemy (w przeciwieństwie do tego nad czym pracujemy). Słowo klucz: kata Czym moje warsztaty różniły się od prawdziwych &#8222;CodeRetreat&#8221;? Były to warsztaty zamknięte (tylko dla pracowników) [...]]]></description>
			<content:encoded><![CDATA[<p>We wtorek miałem przyjemność organizować w firmie wydarzenie inspirowane warsztatami <a href="http://www.coderetreat.com/how-it-works.html" target="_blank">&#8222;CodeRetreat&#8221;</a>.</p>
<p><strong>W skrócie</strong>: Jest to cały dzień programowania w parach ćwicząc Test-Driven Development. Nacisk kładziony jest na to jak pracujemy (w przeciwieństwie do tego nad czym pracujemy). Słowo klucz: <a href="http://pl.wikipedia.org/wiki/Kata">kata</a></p>
<p>Czym moje warsztaty różniły się od prawdziwych &#8222;CodeRetreat&#8221;?</p>
<ul>
<li>Były to warsztaty zamknięte (tylko dla pracowników)</li>
<li>Były zorganizowane w dzień roboczy (a nie w sobotę)</li>
<li>Odbyło się tylko 5 sesji (a nie 6-7)</li>
<li>Nie poszliśmy na koniec do pubu</li>
</ul>
<p>Z informacji zwrotnej uzyskanej od uczestników wynika, że warsztaty się podobały <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Zresztą proszę poczytać co mieli do powiedzenia uczestnicy:</p>
<blockquote><p><span><span style="font-size: x-small;"><em>Na pewno ten czas spędziłem ciekawie. Programowanie w  parach pokazało, że każdy może wnieść od siebie coś nowego, rzucić światło na pewne aspekty, których się nie dostrzegało. W każdej sesji  rodziły się nowe pomysły i podejścia do rozwiązania wciąż tego samego  problemu. Była to dobra okazja do wymiany doświadczeń a także do  praktycznego wykorzystania TDD. Polecam każdemu wzięcie udziału w takich  warsztatach. Uważam, że jest to czas dobrze wykorzystany. </em>- <strong>Michał</strong></span></span></p>
<p><span><span style="font-size: x-small;"><em>Ciekawe i dobrze przygotowane szkolenie. Dużym plusem  jest to, że szkolenie to jest w formie warsztatów. Forma ta pomaga  wymieniać doświadczenie i uczyć się od siebie nawzajem, co uważam, za największą wartość, jaką wyniosłem. Poza tym, była to dobra zabawa.</em> &#8211; <strong>Janek<br />
</strong></span></span></p>
<p><em><span><span style="font-size: x-small;">Pierwszy raz uczestniczyłem w tego typu warsztatach i muszę przyznać, że jestem miło zaskoczony.<br />
Kilkukrotne rozwiązywanie jednego problemu  (prostego swoją drogą), ale z  różnymi osobami prowadziło do różnych ciekawych wyników.<br />
Programowanie w parach ma w sobie moc, bez względu na to, czy programuje  się z kimś słabszym czy lepszym &#8211; oto jeden z moich wniosków po tych  warsztatach.<br />
Warsztaty przygotowane dosyć rzetelnie, zarówno od strony technicznej (  sala, komputery ), jak i merytorycznej &#8211; całkiem sporo wiedzy zostało  przekazane &#8211; wiedzy, która według mnie powinien posiadać każdy  programista.<br />
Jednym słowem &#8211; brawo Grzegorz! Wyszło świetnie, pomimo że pierwszy raz organizowałeś tego typu zajęcia. </span></span></em><span><span style="font-size: x-small;"><strong>Mirek</strong></span></span><em><span><span style="font-size: x-small;"><br />
</span></span></em></p>
<p><em><span><span style="font-size: x-small;">Dziękuję za możliwość wzięcia udziału w warsztatach.  Bardzo podobała mi się ich forma i zróżnicowanie doświadczenia  uczestników. Choć byłem w mojej ocenie najmniej zaawansowanym  uczestnikiem warsztatów poradziłem sobie z pomocą kolegów i koleżanek z  zadaniem jakie mieliśmy do wykonania. Samo zadanie również było bardzo  interesujące i wciągające. Czas podczas warsztatów upływał  niemiłosiernie szybko lecz mimo to w kolejnych krokach udawało się  dochodzić co raz to dalej. Warsztaty uświadomiły uczestnikom, a na pewno  mi, że jeżeli chcę tworzyć poprawny kod to bez wątpienia powinienem  wychodzić o tworzenia testów, a kończyć na implementacji (przekonałem  się do tego już podczas drugiej sesji). Uważam, że osoba przygotowująca  warsztaty zachowała się profesjonalnie i swoją postawą zachęcała do  działania. Chciałbym, aby takie warsztaty były organizowane cyklicznie i  uważam, że warto zainteresować nimi większy odsetek pracowników  mających możliwość wykorzystania tej wiedzy w codziennej pracy.<br />
Jeszcze raz dziękuję za ciekawy dzień pracy. </span></span></em><strong><span><span style="font-size: x-small;">Grzesiek</span></span></strong></p>
<p><em><span><span style="font-size: x-small;"><br />
</span></span></em></p></blockquote>
<p>Wydarzenie było dość kameralne &#8211; uczestniczyło w nim 6 osób + ja.  Programowaliśmy w Javie.</p>
<p>Przez pierwsze 3 sesje byłem obserwatorem. Było to o tyle fajne, że mogłem podglądać co robią ludzie i na retrospekcjach po sesjach poruszać tematy dotyczącego tego, co widziałem że działo się u innych.</p>
<p>Ostatnie 2 sesje sam aktywnie kodowałem w parze i o ile pozwoliło mi to poczuć na własnej skórze to co robili uczestnicy, to bardzo utrudniło dawanie wskazówek odnoszących się do tego co działo się w innych parach.</p>
<p>Na retrospekcjach poruszaliśmy temat związane z:</p>
<ul>
<li>Różnymi pomysłami na zakodowanie rozwiązania</li>
<li>Jak pisać czysty kod</li>
<li>Jak efektywnie programować w parach (np. ping-pong programming)</li>
<li>Test-driven development, TDD as you meant it</li>
</ul>
<p>Warsztaty zaczęliśmy, krótkim wstępem, gdzie</p>
<ul>
<li>Każdy miał szansę się przedstawić</li>
<li>Przedstawiłem plan dnia</li>
<li>Opowiedziałem trochę skąd pomysł (QCon i wykład Corey&#8217;a Haines)</li>
<li>Powiedziałem klika słów o Software Craftsmanship (care, practice, learn, share), manifest</li>
<li>Przytoczyłem klika wskazówek na temat tego, jak programować w parach.</li>
<li>Przypomniałem zasady TDD</li>
<li>Omówiłem zasady &#8222;Gry w życie&#8221;</li>
</ul>
<p>W czasie przerwy obiadowej przejrzeliśmy slajdy<a href="http://qconlondon.com/london-2010/file?path=/qcon-london-2010/slides/DanNorth_SharpeningTheTools.pdf" target="_blank"> <em><em>Sharpening the Tools</em></em></a></p>
<h3>Code Retreat we Wrocławiu</h3>
<p><a href="http://picasaweb.google.com/coreyhaines/CoderetreatFloyd#"><img class="alignright" title="Jak to wygląda" src="http://lh4.ggpht.com/_dYi-rTxxT2o/S9TpyjKZxFI/AAAAAAAADlA/5BRc6RaF9NI/s640/IMG_1628.JPG" alt="" width="474" height="355" /></a></p>
<p>Ponieważ warsztaty uważam za udane, myślę że warto zorganizować prawdzie &#8222;CodeRetreat&#8221; dla Wrocławia. Jeśli ktoś jest zainteresowany to proszę o kontakt.</p>
<p>Co jest niezbędne by to urzeczywistnić?</p>
<ul>
<li>Duża sala, gdzie wygodnie można siedzieć i kodować w parach przy laptopach.  (sponsor)</li>
<li>Uczestnicy z laptopami</li>
<li>Termin</li>
</ul>
<p>Więc nie potrzeba chyba aż tak dużo?:)</p>
<p>A co mogłoby wydarzenie uczynić jeszcze fajniejszym</p>
<ul>
<li>Dodatkowe monitory, by wygodnie pracowało się na laptopach</li>
<li>Obiad ufundowany przez sponsora</li>
<li>Dostęp do neta</li>
<li>Na zakończenie wyjście integracyjne, ufundowane przez sponsora</li>
</ul>
<p>Jeśli ktoś ma pomysł jak powyższe rzeczy zdobyć a tym samym urzeczywistnić Wrocławskie CodeRetreat proszę o info w komentarzach <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Linki:</p>
<ul>
<li><a href="http://coderetreat.ning.com/profiles/blogs/how-to-run-a-coderetreat">http://coderetreat.ning.com/profiles/blogs/how-to-run-a-coderetreat</a></li>
<li><a href="http://www.coderetreat.com/">http://www.coderetreat.com/</a></li>
<li><a href="http://www.agileminds.be/workshop/2010/coderetreat/index.html">http://www.agileminds.be/workshop/2010/coderetreat/index.html</a></li>
</ul>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fwarsztaty-inspirowane-coderetreat%2F&amp;linkname=Warsztaty%20inspirowane%20%E2%80%9ECodeRetreat%E2%80%9D" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fwarsztaty-inspirowane-coderetreat%2F&amp;linkname=Warsztaty%20inspirowane%20%E2%80%9ECodeRetreat%E2%80%9D" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fwarsztaty-inspirowane-coderetreat%2F&amp;linkname=Warsztaty%20inspirowane%20%E2%80%9ECodeRetreat%E2%80%9D" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fwarsztaty-inspirowane-coderetreat%2F&amp;linkname=Warsztaty%20inspirowane%20%E2%80%9ECodeRetreat%E2%80%9D" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fwarsztaty-inspirowane-coderetreat%2F&amp;linkname=Warsztaty%20inspirowane%20%E2%80%9ECodeRetreat%E2%80%9D" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/warsztaty-inspirowane-coderetreat/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SCJP 6.0 na 88%</title>
		<link>http://agilesurfing.pl/2010/programowanie/java/scjp-6-0-na-88/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/java/scjp-6-0-na-88/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 17:33:53 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[scjp]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=83</guid>
		<description><![CDATA[Zgodnie z planem udało mi się pod koniec lipca zostać certyfikowanym programistą Javy Egzamin zdawałem w http://www.prolearning.pl na ulicy Legnickiej we Wrocławiu. Jest tam OK, chociaż mogliby zainwestować w klimatyzację zamiast wiatraka. Tak jak się spodziewałem najgorzej wypadłem z zagadnień &#8222;pamięciowych&#8221; &#8211; API contents. Poniżej materiały, które mogą się przydać kolejnym pokoleniom programistów chcących się [...]]]></description>
			<content:encoded><![CDATA[<p>Zgodnie z planem udało mi się pod koniec lipca zostać certyfikowanym programistą Javy <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <img class="alignright" title="SCJP" src="http://rapidlinks.ru/upload/pre/5/12209392265.jpg" alt="" width="250" height="250" /></p>
<p>Egzamin zdawałem w <a href="http://www.prolearning.pl">http://www.prolearning.pl</a> na ulicy Legnickiej we Wrocławiu. Jest tam OK, chociaż mogliby zainwestować w klimatyzację zamiast wiatraka.</p>
<p>Tak jak się spodziewałem najgorzej wypadłem z zagadnień &#8222;pamięciowych&#8221; &#8211; API contents.</p>
<p>Poniżej materiały, które mogą się przydać kolejnym pokoleniom programistów chcących się certyfikować <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ul>
<li><a href="http://www.amazon.com/SCJP-Certified-Programmer-Java-310-065/dp/0071591060 ">http://www.amazon.com/SCJP-Certified-Programmer-Java-310-065/dp/0071591060 </a>- Zdecydowanie polecam na spokojnie przerobić tą książkę. Może to zająć parę miesięcy <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<ul>
<li> Jako dodatkowa książka: <a href="http://www.amazon.com/Programmers-Guide-Java-SCJP-Certification/dp/0321556054/ref=pd_sim_b_1">http://www.amazon.com/Programmers-Guide-Java-SCJP-Certification/dp/0321556054/ref=pd_sim_b_1</a> &#8211; warto przerobić próbne egzaminy i pytania po rozdziałach.</li>
</ul>
<p>Gdy już masz opanowaną teorię trzeba koniecznie przerobić jak najwięcej próbnych egzaminów.</p>
<ul>
<li> Testkiller Ltd. Study Guide dla SCJP 5.0 &#8211; wiele pytań się powtarza na prawdziwym egzaminie</li>
</ul>
<ul>
<li><a href="http://faq.javaranch.com/java/ScjpFaq">http://faq.javaranch.com/java/ScjpFaq</a></li>
</ul>
<ul>
<li><a href="http://faq.javaranch.com/java/ScjpMockTests">http://faq.javaranch.com/java/ScjpMockTests</a></li>
</ul>
<ul>
<li> <a href="http://examlab.tk/">http://examlab.tk/</a> &#8211; GUI bardzo podobne do tego na egzaminie</li>
</ul>
<p>Generalnie polecam wykupić voucher i zacząć czytać książkę (również rozwiązując testy po rozdziałach). Po przeczytaniu książki przerobić całego test killera. Następnie zarejestrować się na egzamin za miesiąc i przez ten miesiąc rozwiązywać próbne egzaminy.</p>
<p>W ten sposób powinno spokojnie udać się<strong> zdać na 100% </strong>czego serdecznie życzę <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjava%2Fscjp-6-0-na-88%2F&amp;linkname=SCJP%206.0%20na%2088%25" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjava%2Fscjp-6-0-na-88%2F&amp;linkname=SCJP%206.0%20na%2088%25" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjava%2Fscjp-6-0-na-88%2F&amp;linkname=SCJP%206.0%20na%2088%25" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjava%2Fscjp-6-0-na-88%2F&amp;linkname=SCJP%206.0%20na%2088%25" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjava%2Fscjp-6-0-na-88%2F&amp;linkname=SCJP%206.0%20na%2088%25" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/java/scjp-6-0-na-88/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Productive Programmer: Mechanics</title>
		<link>http://agilesurfing.pl/2010/programowanie/the-productive-programmer-mechanics/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/the-productive-programmer-mechanics/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 15:45:46 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[software craftsmanship]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=73</guid>
		<description><![CDATA[Jeśli programujesz, polecam The Productive Programmer: Mechanics]]></description>
			<content:encoded><![CDATA[<p>Jeśli programujesz, polecam <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://www.oredev.org/videos/the-productive-programmer--mechanics"><br />
 The Productive Programmer: Mechanics<br />
</a></p>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-productive-programmer-mechanics%2F&amp;linkname=The%20Productive%20Programmer%3A%20Mechanics" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-productive-programmer-mechanics%2F&amp;linkname=The%20Productive%20Programmer%3A%20Mechanics" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-productive-programmer-mechanics%2F&amp;linkname=The%20Productive%20Programmer%3A%20Mechanics" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-productive-programmer-mechanics%2F&amp;linkname=The%20Productive%20Programmer%3A%20Mechanics" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-productive-programmer-mechanics%2F&amp;linkname=The%20Productive%20Programmer%3A%20Mechanics" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/the-productive-programmer-mechanics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Craftsmanship, Beyond The Hype</title>
		<link>http://agilesurfing.pl/2010/programowanie/software-craftsmanship-beyond-the-hype/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/software-craftsmanship-beyond-the-hype/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 12:24:56 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[software craftsmanship]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=65</guid>
		<description><![CDATA[Ostatni tydzień spędziłem na konferencji QCon London (http://qconlondon.com/london-2010/) &#8211; było bardzo fajnie Napiszę teraz co nie co o sesji Software Craftsmanship, Beyond The Hype. Sesję poprowadził Corey Haines, który bardzo dosłownie potraktował idee &#8222;Journeyman&#8221; i jak możemy się dowiedzieć (http://www.coderetreat.com/) rok 2009 spędził podróżując po stanach ucząc programowania w parach w zamian za wikt i [...]]]></description>
			<content:encoded><![CDATA[<p>Ostatni tydzień spędziłem na konferencji QCon London (<a href="http://qconlondon.com/london-2010/presentation/Software+Craftsmanship%2C+Beyond+The+Hype">http://qconlondon.com/london-2010/</a>) &#8211; było bardzo fajnie <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Napiszę teraz co nie co o sesji Software <a href="http://qconlondon.com/london-2010/presentation/Software+Craftsmanship%2C+Beyond+The+Hype">Craftsmanship, Beyond The Hype</a>. Sesję poprowadził Corey Haines, który bardzo dosłownie potraktował idee &#8222;Journeyman&#8221; i jak możemy się dowiedzieć (http://www.coderetreat.com/) rok 2009 spędził podróżując po stanach ucząc programowania w parach w zamian za wikt i opierunek.</p>
<p>Jeśli nie słyszałeś jeszcze o Software Craftmanship, <a href="http://manifesto.softwarecraftsmanship.org/">tutaj </a>możesz przeczytać manifest. Jeśli agile jest o tym jak dostarczać oprogramowanie wysokiej jakości, to Software Craftmanship jest o tym jak kształcić deweloperów o wysokich kwalifikacjach.  Corey opowiadał o tym, co w ostatnim czasie działo się w środowisku i tak:</p>
<ul>
<li>Rozpowszechniła się idea Code Katas</li>
<li>Temat jest poruszany na konferencjach, np. ścieżka w czasie QCon</li>
<li><a href="http://www.coderetreat.com/">Coderetreat </a>- może warto coś takiego zorganizować we Wrocławiu? Corey podróżuje z tym teraz po świecie, więc można by go spróbować zaprosić.</li>
<li>Powstają User Groups &#8211; btw, mamy jakieś aktywne grupy w Polsce?</li>
<li>Craftsman Swaps &#8211; firmy wymieniają się pracownikami, na tydzień lub dwa. Pracownicy mogą zobaczyć jak podchodzi się do wytwarzania oprogramowania w innych &#8222;warsztatach&#8221;. Ktoś słyszał o czymś takim w Polsce?</li>
<li>Craftsman Journeys &#8211; Tak jak Corey, ludzie zaczynają ruszać na dłuższe podróże, podczas których spotykają się z deweloperami z różnych zakątków świata, kodując razem z nimi i wymieniając się doświadczeniem i technikami.</li>
<li>Craftsman Spikes &#8211; <a href="http://www.ktaylor.name/2009/12/software-craftsmanship-spikes.html">firmy dają możliwość chętnym</a>, przyjść i popracować u siebie przez parę dni. Np studenci mogą przyjść ze swoim problemem i nauczyć się czegoś od praktykujących deweloperów.</li>
</ul>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fsoftware-craftsmanship-beyond-the-hype%2F&amp;linkname=Software%20Craftsmanship%2C%20Beyond%20The%20Hype" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fsoftware-craftsmanship-beyond-the-hype%2F&amp;linkname=Software%20Craftsmanship%2C%20Beyond%20The%20Hype" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fsoftware-craftsmanship-beyond-the-hype%2F&amp;linkname=Software%20Craftsmanship%2C%20Beyond%20The%20Hype" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fsoftware-craftsmanship-beyond-the-hype%2F&amp;linkname=Software%20Craftsmanship%2C%20Beyond%20The%20Hype" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fsoftware-craftsmanship-beyond-the-hype%2F&amp;linkname=Software%20Craftsmanship%2C%20Beyond%20The%20Hype" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/software-craftsmanship-beyond-the-hype/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Obiekty i struktury danych</title>
		<link>http://agilesurfing.pl/2010/programowanie/obiekty-i-struktury-danych/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/obiekty-i-struktury-danych/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 12:48:30 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=63</guid>
		<description><![CDATA[Aktualnie czytam &#8222;Clean Code&#8221; Roberta Martina, więc pewnie pojawi się jeszcze kilka postów związanych z tą książką Właśnie skończyłem czytać rozdział 6 i chciałbym tutaj zamieścić tłumaczenie podsumowania tego rozdziału. Obiekty prezentują zachowania (funkcje) i ukrywają dane &#8211; to sprawia, że łatwo jest dodawać nowe rodzaje obiektów bez potrzeby zmiany zachowań (funkcji) istniejących obiektów. Kolejną [...]]]></description>
			<content:encoded><![CDATA[<p>Aktualnie czytam &#8222;Clean Code&#8221; Roberta Martina, więc pewnie pojawi się jeszcze kilka postów związanych z tą książką <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Właśnie skończyłem czytać rozdział 6 i chciałbym tutaj zamieścić tłumaczenie podsumowania tego rozdziału.</p>
<p><em>Obiekty prezentują zachowania (funkcje) i ukrywają dane &#8211; to sprawia, że łatwo jest dodawać nowe rodzaje obiektów bez potrzeby zmiany zachowań </em><em> (funkcji) </em><em>istniejących obiektów. Kolejną konsekwencją jest to, że trudniej jest dodać nowe zachowanie do istniejących obiektów (wszystkie obiekty muszą się zmienić).</em></p>
<p><em>Struktury danych prezentują dane i nie mają żadnego znaczącego zachowania (funkcji). To sprawia, że łatwo jest dodać nowe zachowanie obsługujące istniejące struktury danych, ale trudniej dodać nowe struktury danych (bo wszystkie funkcje muszą się zmienić).</em></p>
<p><em>W każdym systemie będziemy chcieli czasem mieć elastyczność w dodawaniu nowych typów danych, więc wybierzemy obiekty dla tej części systemu. Kiedy indziej, będziemy chcieli łatwości w dodawaniu nowych funkcji i dla tej części systemu wybierzemy struktury danych i procedury.  Dobry inżynier oprogramowania rozumie powyższe sprawy i bez uprzedzeń wybiera podejście, które najlepiej rozwiąże dany problem.</em><br />
Co wy na to? Sam muszę to przemyśleć, na razie sugerowanie użycia <em>struktur danych i procedur</em><br />
wydaje mi się trochę podejrzane, ale z drugiej strony? .. <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fobiekty-i-struktury-danych%2F&amp;linkname=Obiekty%20i%20struktury%20danych" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fobiekty-i-struktury-danych%2F&amp;linkname=Obiekty%20i%20struktury%20danych" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fobiekty-i-struktury-danych%2F&amp;linkname=Obiekty%20i%20struktury%20danych" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fobiekty-i-struktury-danych%2F&amp;linkname=Obiekty%20i%20struktury%20danych" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fobiekty-i-struktury-danych%2F&amp;linkname=Obiekty%20i%20struktury%20danych" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/obiekty-i-struktury-danych/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jak pisać dobry kod?</title>
		<link>http://agilesurfing.pl/2010/programowanie/jak-pisac-dobry-kod/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/jak-pisac-dobry-kod/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 19:51:39 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[software craftsmanship]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=60</guid>
		<description><![CDATA[Jak pisać dobry kod? W TDD pracujemy w cyklach RED GREEN REFACTOR. Kiedy pierwszy raz spotkałem się z tym podejściem jednym z problemów było znalezienie odpowiedzi na pytanie: &#8222;Co i jak poprawiać w kodzie?&#8222;. Jeśli też stawiasz sobie te pytanie, polecam Ci książkę Clean Code &#8211; można się z niej dowiedzieć wiele przydatnych rzeczy. Tutaj [...]]]></description>
			<content:encoded><![CDATA[<p>Jak pisać dobry kod? <img class="alignright" title="Clean Code" src="http://pds13.egloos.com/pds/200903/30/02/c0025902_49cff1bd96e00.jpg" alt="Clean Code" width="145" height="193" /></p>
<p>W TDD pracujemy w cyklach <strong><span style="color: #ff0000;">RED </span><span style="color: #00ff00;">GREEN </span>REFACTOR</strong>. Kiedy pierwszy raz spotkałem się z tym podejściem jednym z problemów było znalezienie odpowiedzi na pytanie: &#8222;<strong>Co i jak poprawiać w kodzie?</strong>&#8222;.</p>
<p>Jeśli też stawiasz sobie te pytanie, polecam Ci książkę Clean Code &#8211; można się z niej dowiedzieć wiele przydatnych rzeczy.</p>
<p><a href="http://www.rajivnarula.com/blog/2009/04/22/book-review-clean-code-chapter-17-smells-and-heuristics/">Tutaj</a> znalazłem podsumowanie rozdziału 17, gdzie zebrane są wszystkie &#8222;heurystyki&#8221; i &#8222;brzydkie zapachy&#8221; związane z kodem.</p>
<p>Napisałem prościutki plugin do Eclipsa, który wyświetla listę tych heurystyk w okienku, dając nam możliwość sprawdzenia naszego kodu pod kątem tych heurystyk (oczywiście najpierw trzeba je znać i rozumieć)  &#8211; taka ściągawka. Jeśli jesteś ciekawy tego pluginu, daj znać na maila lub w komentarzach, wyśle  Ci <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjak-pisac-dobry-kod%2F&amp;linkname=Jak%20pisa%C4%87%20dobry%20kod%3F" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjak-pisac-dobry-kod%2F&amp;linkname=Jak%20pisa%C4%87%20dobry%20kod%3F" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjak-pisac-dobry-kod%2F&amp;linkname=Jak%20pisa%C4%87%20dobry%20kod%3F" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjak-pisac-dobry-kod%2F&amp;linkname=Jak%20pisa%C4%87%20dobry%20kod%3F" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fjak-pisac-dobry-kod%2F&amp;linkname=Jak%20pisa%C4%87%20dobry%20kod%3F" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/jak-pisac-dobry-kod/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Law of Leaky Abstractions</title>
		<link>http://agilesurfing.pl/2010/programowanie/the-law-of-leaky-abstractions/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/the-law-of-leaky-abstractions/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 20:09:58 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=43</guid>
		<description><![CDATA[Właśnie przeczytałem stary wpis znaleziony na blogu Joel on Software. Wpis daje parę przykładów tłumaczących &#8222;prawo przeciekających abstrakcji&#8221;. Chodzi mniej więcej o to, że mimo iż korzystamy z abstrakcji, to by poradzić sobie w trudnych sytuacjach ciągle musimy rozumieć mechanizmy, które kryją się za abstrakcją. All non-trivial abstractions, to some degree, are leaky. Wszystkie nie [...]]]></description>
			<content:encoded><![CDATA[<p>Właśnie przeczytałem stary wpis znaleziony na blogu <a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html">Joel on Software.</a></p>
<p>Wpis daje parę przykładów tłumaczących &#8222;prawo przeciekających abstrakcji&#8221;. Chodzi mniej więcej o to, że mimo iż korzystamy z abstrakcji, to by poradzić sobie w trudnych sytuacjach ciągle musimy rozumieć mechanizmy, które kryją się za abstrakcją.</p>
<p><strong>All non-trivial abstractions, to some degree, are leaky.</strong></p>
<p><strong>Wszystkie nie trywialne abstrakcje, do pewnego stopnia przeciekają.<br />
</strong></p>
<p>Np abstrakcja TCP pretenduje, że można coś przesłać przez sieć w sposób, który gwarantuje dostarczenie. Jednak TCP jest zbudowane przy użyciu protokołu IP, który takiej gwarancji nie daje. Korzystając z TCP możemy się więc spotkać z sytuacją, że coś nie zostaje dostarczone, żeby zrozumieć czemu musimy sobie zdawać sprawę z istnienia IP.</p>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-law-of-leaky-abstractions%2F&amp;linkname=The%20Law%20of%20Leaky%20Abstractions" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-law-of-leaky-abstractions%2F&amp;linkname=The%20Law%20of%20Leaky%20Abstractions" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-law-of-leaky-abstractions%2F&amp;linkname=The%20Law%20of%20Leaky%20Abstractions" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-law-of-leaky-abstractions%2F&amp;linkname=The%20Law%20of%20Leaky%20Abstractions" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fthe-law-of-leaky-abstractions%2F&amp;linkname=The%20Law%20of%20Leaky%20Abstractions" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/the-law-of-leaky-abstractions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello, World &#8211; Android</title>
		<link>http://agilesurfing.pl/2010/programowanie/hello-world-android/</link>
		<comments>http://agilesurfing.pl/2010/programowanie/hello-world-android/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 18:57:37 +0000</pubDate>
		<dc:creator>Grzegorz Dziemidowicz</dc:creator>
				<category><![CDATA[Programowanie]]></category>

		<guid isPermaLink="false">http://agilesurfing.pl/?p=28</guid>
		<description><![CDATA[Wczoraj rano zainteresowałem się Android SDK. Napisanie Hello World okazało się szybkie i przyjemne (dobra integracja z Eclipsem). Gdy znajdę więcej czasu to może napiszę jakąś prostą aplikację. Kilka pomysłów mam Aplikacje można publikować na Android Market]]></description>
			<content:encoded><![CDATA[<p>Wczoraj rano zainteresowałem się Android SDK.</p>
<p>Napisanie <a href="http://developer.android.com/resources/tutorials/hello-world.html">Hello World</a> okazało się szybkie i przyjemne (dobra integracja z Eclipsem).</p>
<p>Gdy znajdę więcej czasu to może napiszę jakąś prostą aplikację. Kilka pomysłów mam <img src='http://agilesurfing.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Aplikacje można publikować na <a href="http://www.android.com/market/">Android Market</a></p>
<p><a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fhello-world-android%2F&amp;linkname=Hello%2C%20World%20%26%238211%3B%20Android" title="Facebook" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fhello-world-android%2F&amp;linkname=Hello%2C%20World%20%26%238211%3B%20Android" title="LinkedIn" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/linkedin.png" width="16" height="16" alt="LinkedIn"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fhello-world-android%2F&amp;linkname=Hello%2C%20World%20%26%238211%3B%20Android" title="Digg" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fhello-world-android%2F&amp;linkname=Hello%2C%20World%20%26%238211%3B%20Android" title="Twitter" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/google_reader?linkurl=http%3A%2F%2Fagilesurfing.pl%2F2010%2Fprogramowanie%2Fhello-world-android%2F&amp;linkname=Hello%2C%20World%20%26%238211%3B%20Android" title="Google Reader" rel="nofollow" target="_blank"><img src="http://agilesurfing.pl/wp-content/plugins/add-to-any/icons/reader.png" width="16" height="16" alt="Google Reader"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Daj znać innym</a> </p>]]></content:encoded>
			<wfw:commentRss>http://agilesurfing.pl/2010/programowanie/hello-world-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
