<?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>dev garden &#187; Nieskategoryzowane</title>
	<atom:link href="http://darekzon.com/category/nieskategoryzowane/feed" rel="self" type="application/rss+xml" />
	<link>http://darekzon.com</link>
	<description>when technology meets nature</description>
	<lastBuildDate>Mon, 19 Mar 2012 23:02:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Wojna hostingowa? OVH vs 1&amp;1</title>
		<link>http://darekzon.com/2010/09/wojna-hostingowa-ovh-vs-11</link>
		<comments>http://darekzon.com/2010/09/wojna-hostingowa-ovh-vs-11#comments</comments>
		<pubDate>Thu, 09 Sep 2010 14:55:45 +0000</pubDate>
		<dc:creator>darek</dc:creator>
				<category><![CDATA[Nieskategoryzowane]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[ovh]]></category>

		<guid isPermaLink="false">http://darekzon.com/?p=1021</guid>
		<description><![CDATA[Niedawno na polski rynek weszła firma 1&#38;1 rozdając całkowicie za darmo pakiety hostingowe. Teraz odpowiedź na ich ofertę przedstawia francuski OVH która wygląda znacznie lepiej choć też posiada kilka wad. Zdziwiło mnie pojawienie się tej oferty gdyż nie tak dawno &#8230; <a href="http://darekzon.com/2010/09/wojna-hostingowa-ovh-vs-11">kontynuuj czytanie <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><img class="alignleft size-thumbnail wp-image-1023" title="logo-ovh" src="http://www3.darekzon.com/wp-content/uploads/2010/09/logo-ovh-150x150.jpg" alt="" width="150" height="150" />Niedawno na polski rynek weszła firma <a title="1&amp;1 w Polsce, czyżby hosting killer? niekoniecznie" href="http://darekzon.com/2010/09/11-w-polsce-czyzby-hosting-killer-niekoniecznie" target="_blank">1&amp;1</a> rozdając całkowicie za darmo pakiety hostingowe. Teraz odpowiedź na ich ofertę przedstawia francuski OVH która wygląda znacznie lepiej choć też posiada kilka wad. Zdziwiło mnie pojawienie się tej oferty gdyż nie tak dawno Kamila Włodarczyka(OVH) <a title="Firmy hostingowe nie reagują na wejście 1&amp;1" href="http://di.com.pl/news/33566,0,Firmy_hostingowe_nie_reaguja_na_wejscie_11.html" target="_blank">wypowiadając</a> się na temat 1&amp;1 który sugerował brak zainteresowania ze strony OVH nowym &#8222;konkurentem&#8221;. Polskie firmy również nie widzą w 1&amp;1 konkurenta, a może są w trakcie komponowania ofert, czas pokaże czy to prawda.<span id="more-1021"></span></p>
<p>Oferta francuzów prezentuje się nader ciekawie, tak samo jak 1&amp;1 oferują 2-letnie konto typu shared wraz z domeną i to wszystko gratis. W odróżnieniu od swojego konkurenta OVH proponuje nam 20GB pojemności oraz 4TB transferu miesięcznie, możliwość uruchamiania skryptów PHP (4,5,6), Perl oraz Python, a także aplikacji napisanych w C, <span style="text-decoration: line-through;">dostęp do shella, SFTP, &#8222;<a title="OVH - Wirtualny NAS " href="https://www.ovh.pl/serwer_wirtualny/wirtualny_nas.xml" target="_blank">Wirtualny NAS&#8221;</a> </span>to tylko kilka opcji (<a title="OVH Szybki start - specyfikacja techniczna" href="https://www.ovh.pl/serwer_wirtualny/hosting_www_osobisty_20gb_trafic_4tb_specyfikacja_techniczna.xml" target="_blank">zobacz pełną specyfikację</a>). Wszystko wygląda pięknie i zachęca do zarejestrowania, ale&#8230;</p>
<p>No właśnie i tu pojawiają się pewne haczyki i ograniczenia. Na nasz serwer może kierować tylko domena zarejestrowana podczas składania zamówienia (a szkoda), dodatkowo każde konto posiada 10 baz mysql o pojemności 25MB  co w dzisiejszych czasach jest wielkością nikłą pozwalającą na uruchomienie strony małej, młodej firmy lub zainstalowanie własnego bloga. Panel zarządzania (choć brzydki) wygląda znacznie lepiej od oferowanego nam przez 1&amp;1, mamy tu mnóstwo opcji odnośnie domen i naszego serwera wirtualnego, niestety OVH nie przewidziało opcji wielu kont FTP (co przy 1 możliwej domenie nie powinno stanowić problemu).</p>
<p>Regulamin wygląda niestety troszkę gorzej jak w przypadku konkurenta. Po zakończeniu okresu promocji (24 miesiące) możemy przenieść nasze konto na jeden z płatnych pakietów (wybrany przez nas), nie możemy natomiast wydelegować domeny  na inny serwer (no chyba, że coś źle zrozumiałem) przez co jesteśmy niejako skazani na OVH.</p>
<p>Dodam jeszcze, że proces rejestracji usługi wygląda bardzo podobnie do tego z 1&amp;1 choć jest znacznie sprawniejszy i nie nastręcza tylu błędów, OVH również dzwoni do nas z weryfikacją ale i tutaj przebiega ona bez jakichkolwiek problemów, widać, że firma się postarała.</p>
<p>Jeśli miałbym wybierać OVH czy 1&amp;1 z pewnością wezmę tego pierwszego, pomimo mniejszego zaplecza technicznego firma przedstawia znacznie wyższy poziom usług jak i doświadczenia kadry. Dodatkowo OVH to pełne zaplecze techniczne umożliwiające ciągły rozwój naszej witryny, jeśli aktualny pakiet nie wystarcza możemy z łatwością przechodzić na większe, czy też przenieść się na hosting w chmurze.</p>
<div class="shr-publisher-1021"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://darekzon.com/2010/09/wojna-hostingowa-ovh-vs-11/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Nowy Debugger na horyzoncie NetBeans-a</title>
		<link>http://darekzon.com/2008/10/nowy-debugger-na-horyzoncie-netbeans-a</link>
		<comments>http://darekzon.com/2008/10/nowy-debugger-na-horyzoncie-netbeans-a#comments</comments>
		<pubDate>Sat, 04 Oct 2008 21:58:33 +0000</pubDate>
		<dc:creator>darek</dc:creator>
				<category><![CDATA[Nieskategoryzowane]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debugger]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[odpluskwianie]]></category>
		<category><![CDATA[wątki]]></category>
		<category><![CDATA[wielowątkowy]]></category>

		<guid isPermaLink="false">http://blog.darekzon.com/?p=53</guid>
		<description><![CDATA[Od jakiegoś czasu mamy możliwość pracowaniana nowym Netbeans-ie oznaczonym numerem 6.1. Emocje nie opadły jeszcze wszystkim a programiści zaczeli ujawniać tajemnice na temat najnowszego ich dziecka oznaczonego numerem 6.5. Jedną ze znaczących zmian w tej wersji IDE będzie wprowadzenie nowego debugera, choć &#8230; <a href="http://darekzon.com/2008/10/nowy-debugger-na-horyzoncie-netbeans-a">kontynuuj czytanie <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Od jakiegoś czasu mamy możliwość pracowaniana nowym Netbeans-ie oznaczonym numerem 6.1. Emocje nie opadły jeszcze wszystkim a programiści zaczeli ujawniać tajemnice na temat najnowszego ich dziecka oznaczonego numerem 6.5. Jedną ze znaczących zmian w tej wersji IDE będzie wprowadzenie nowego debugera, choć słowo nowy jest może nad wyrost bo największe zmiany zaszły w jego wyglądzie.<span id="more-53"></span></p>
<p>Stary debuger choć służył dobrze nie należał do najwygodniejszych w użyciu:</p>
<div id="attachment_616" class="wp-caption aligncenter" style="width: 310px"><a href="http://darekzon.com/wp-content/uploads/2008/10/new-debug-old.gif" rel="lightbox[53]"><img class="size-medium wp-image-616" title="Netbeans - Stary debuger" src="http://www3.darekzon.com/wp-content/uploads/2008/10/new-debug-old-300x61.gif" alt="Netbeans - Stary debuger" width="300" height="61" /></a><p class="wp-caption-text">Netbeans - Stary debuger</p></div>
<p>Podczas jego użytkowania można było odnieść wrażenie marnotrawienia miejsca i naszego czasu, moim zdaniem dane powinny być skonsolidowane w jednym miejscu, przynajmniej te najważniejsze.</p>
<p>Nowy debugger, zamiast mieścić się na dole, dostępny jest standardowo w lewym bloku programu, w tym samym miejscu co boksy &#8222;Project&#8221; czy &#8222;Files&#8221;, a wygląda następująco:</p>
<div id="attachment_617" class="wp-caption aligncenter" style="width: 275px"><a href="http://darekzon.com/wp-content/uploads/2008/10/new-debug-window.gif" rel="lightbox[53]"><img class="size-medium wp-image-617" title="Netbeans - nowy debuger" src="http://www2.darekzon.com/wp-content/uploads/2008/10/new-debug-window-265x300.gif" alt="Netbeans - nowy debuger" width="265" height="300" /></a><p class="wp-caption-text">Netbeans - nowy debuger</p></div>
<p>Ten debugger wydaje się być bardziej przemyślany, integruje on widoki aktualnych sesji, wątków oraz stosu wywołań.<br />
Dodatkowo opcje pozwalają pogrupować wątki według wywołań, pokazać wątki systemowe, pokazać monitory oraz tzw. qualified names które pokazują na czym aktualnie zatrzymał się dany wątek. Oczywiście wątki można pogrupować według nazwy co na pewno ułatwi odnalezienie konkretnego wątku w gąszczu danych.</p>
<p>Ciekawą opcją jest na pewno wstrzymywanie wybranych wątków, dostępne po zaznaczeniu opcji &#8222;Show suspend/resume table&#8221; w opcjach okna debuggera.</p>
<div id="attachment_618" class="wp-caption aligncenter" style="width: 310px"><a href="http://darekzon.com/wp-content/uploads/2008/10/new-debug-run-pause.gif" rel="lightbox[53]"><img class="size-medium wp-image-618" title="Netbeans - nowy debuger - opcje" src="http://www1.darekzon.com/wp-content/uploads/2008/10/new-debug-run-pause-300x91.gif" alt="Netbeans - nowy debuger - opcje" width="300" height="91" /></a><p class="wp-caption-text">Netbeans - nowy debuger - opcje</p></div>
<p>Możemy również przełączać się między wątkami, i sprawdzać ich aktualną pozycję w kodzie. Aby wybrać interesujący nas wątek wciskamy kombinację klawiszy [CTRL+8], po wciśnięciu którego pojawia się okno wyboru:</p>
<div id="attachment_619" class="wp-caption aligncenter" style="width: 310px"><a href="http://darekzon.com/wp-content/uploads/2008/10/new-debug-switch-treads.gif" rel="lightbox[53]"><img class="size-medium wp-image-619" title="Netbeans - przełączanie mięzdy wątkami" src="http://www3.darekzon.com/wp-content/uploads/2008/10/new-debug-switch-treads-300x97.gif" alt="Netbeans - przełączanie mięzdy wątkami" width="300" height="97" /></a><p class="wp-caption-text">Netbeans - przełączanie mięzdy wątkami</p></div>
<p>Z którego możemy wybrać interesujący nas wątek. Na powyższej liście dostępne są wątki wstrzymane (przez nas z listy wątków), lub te które aktualnie w procesie debugowania doszły do breakpoint-a (te w ikonce zamiast znaku pauzy mają znak stop).</p>
<p>Ostatnią znaczącą zmianą dokonaną w debugerze jest automatyczne wykrywania zakleszczeń (deadlcock), po wykryciu którego debugger informuje nas komunikatem. Poza tymi zmianami w wyglądzie, poprawiono również sam proces debugowania, dzięki czemu odpluskwianie staje się przyjemniejsze i przebiega szybciej. Więcej informacji można znaleźć na stronach projektu netbeans.org.</p>
<div class="shr-publisher-53"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://darekzon.com/2008/10/nowy-debugger-na-horyzoncie-netbeans-a/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nowa gazeta w świecie Javy</title>
		<link>http://darekzon.com/2008/09/nowa-gazeta-w-swiecie-javy</link>
		<comments>http://darekzon.com/2008/09/nowa-gazeta-w-swiecie-javy#comments</comments>
		<pubDate>Fri, 12 Sep 2008 15:52:37 +0000</pubDate>
		<dc:creator>darek</dc:creator>
				<category><![CDATA[Inne javove]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Nieskategoryzowane]]></category>
		<category><![CDATA[gazeta magazyn artykuły nagrody]]></category>
		<category><![CDATA[lektura]]></category>
		<category><![CDATA[magazyn]]></category>
		<category><![CDATA[nauka]]></category>

		<guid isPermaLink="false">http://blog.darekzon.com/?p=50</guid>
		<description><![CDATA[JAVA exPress to nazwa nowego magazynku skierowanego do początkujących jak i zaawansowanych programistów Javy. Nie jest droga po kosztuje zaledwie 0zł, ale zawiera bardzo ciekawe treści. W pierwszym numerze możemy poczytać o Eclipse RCP oraz NetBeans Platform (o którym pisze &#8230; <a href="http://darekzon.com/2008/09/nowa-gazeta-w-swiecie-javy">kontynuuj czytanie <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><strong>JAVA exPress</strong> to nazwa nowego magazynku skierowanego do początkujących jak i zaawansowanych programistów Javy. Nie jest droga po kosztuje zaledwie <strong>0zł</strong>, ale zawiera bardzo ciekawe treści.</p>
<p>W pierwszym numerze możemy poczytać o Eclipse RCP oraz NetBeans Platform (o którym pisze <a title="Różności okołojavove" href="http://marekklis.blogspot.com/" target="_blank">Marek Kliś</a> i mam nadzieję, że będzie pisał jeszcze więcej), troszkę o debugowaniu kodu, a także refactoring.</p>
<p>Po wstępnych oględzinach wynika na to, że niemal każdy znajdzie coś dla siebie. Jedynym minusem jest okres wydawniczy który wynosi tutaj aż 3 miesiące co jak dla mnie jest długim okresem. Ale jeśli będzie więcej autorów tekstów to może zmniejszy się on do miesiąca.</p>
<p>Nowy magazyn można pobrać ze strony: <a title="Java exPress" href="http://groups.google.com/group/javaexpress" target="_blank">http://groups.google.com/group/javaexpress</a> uprzednio zapisując się do grupy. Serdecznie zapraszam również do wzięcia udziału w tworzeniu magazynu, gdyż dla autorów przewidziane są nagrody, i to naprawdę cenne.</p>
<div class="shr-publisher-50"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://darekzon.com/2008/09/nowa-gazeta-w-swiecie-javy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Ganymede Around the World &#8211; lista zgłoszeń zamknięta</title>
		<link>http://darekzon.com/2008/08/eclipse-ganymede-around-the-world-lista-zgloszen-zamknieta</link>
		<comments>http://darekzon.com/2008/08/eclipse-ganymede-around-the-world-lista-zgloszen-zamknieta#comments</comments>
		<pubDate>Fri, 01 Aug 2008 14:55:39 +0000</pubDate>
		<dc:creator>darek</dc:creator>
				<category><![CDATA[IDE]]></category>
		<category><![CDATA[Inne javove]]></category>
		<category><![CDATA[Nieskategoryzowane]]></category>
		<category><![CDATA[eclipse ganymede]]></category>
		<category><![CDATA[konkurs]]></category>
		<category><![CDATA[koszulki]]></category>
		<category><![CDATA[wygrana]]></category>

		<guid isPermaLink="false">http://blog.darekzon.com/?p=43</guid>
		<description><![CDATA[Z dniem dzisiejszym zamknięto listę wpisów/blogów które uczestniczyć będą w konkursie Eclipse Ganymede Around the World. Dla przypomnienia, konkurs ten ma na celu zachęcić blogerów do opisywania nowych funkcji programu Eclipse Ganymede. Do wygrania są koszulki(na zasadzie kto pierwszy ten &#8230; <a href="http://darekzon.com/2008/08/eclipse-ganymede-around-the-world-lista-zgloszen-zamknieta">kontynuuj czytanie <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Z dniem dzisiejszym zamknięto listę wpisów/blogów które uczestniczyć będą w konkursie Eclipse Ganymede Around the World. Dla przypomnienia, konkurs ten ma na celu zachęcić blogerów do opisywania nowych funkcji programu Eclipse Ganymede. Do wygrania są koszulki(na zasadzie kto pierwszy ten lepszy), kurtki oraz najciekawsze wejście na konferencje <a href="http://www.eclipsecon.org/2009/">EclipseCon 2009</a> lub <a href="http://eclipsesummit.org/summiteurope2008/">Eclipse Summit Europe 2008</a>.</p>
<p>Rozstrzygnięcie konkursu nastąpi za kilka tygodni jak poinformowała mnie Lynn Gayowski z Eclipse pisząc również, że udało mi się zdobyć koszulkę.</p>
<p>Mam nadzieję, że jakiś polski wpis zdobędzie jedną z głównych nagród, trzymam kciuki za wszystkich polskich blogerów, ale najmocniej za siebie.</p>
<div class="shr-publisher-43"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://darekzon.com/2008/08/eclipse-ganymede-around-the-world-lista-zgloszen-zamknieta/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Developer&#8217;s Day 2008</title>
		<link>http://darekzon.com/2008/06/java-developers-day-2008</link>
		<comments>http://darekzon.com/2008/06/java-developers-day-2008#comments</comments>
		<pubDate>Wed, 18 Jun 2008 13:24:00 +0000</pubDate>
		<dc:creator>darek</dc:creator>
				<category><![CDATA[Inne javove]]></category>
		<category><![CDATA[Konferencje]]></category>
		<category><![CDATA[Nieskategoryzowane]]></category>
		<category><![CDATA[J2EE]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[java developer's day]]></category>
		<category><![CDATA[jdd]]></category>
		<category><![CDATA[kraków]]></category>
		<category><![CDATA[spotkanie]]></category>

		<guid isPermaLink="false">http://blg.darekzon.com/2008/06/java-developers-day-2008/</guid>
		<description><![CDATA[Od jakiegoś czasu otwarta jest rejestracja na tegoroczną już 3 edycję konferencji Java Developer&#8217;s Day. Agenda nie jest jeszcze znana, ale patrząc na poprzednie lata zapowiada się naprawdę ciekawie. W chwili obecnej trwa call for papers, więc jeśli lubisz dużo &#8230; <a href="http://darekzon.com/2008/06/java-developers-day-2008">kontynuuj czytanie <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Od jakiegoś czasu otwarta jest rejestracja na tegoroczną już 3 edycję konferencji <a href="http://08.jdd.org.pl/">Java Developer&#8217;s Day</a>. Agenda nie jest jeszcze znana, ale patrząc na poprzednie lata zapowiada się naprawdę ciekawie. W chwili obecnej trwa call for papers, więc jeśli lubisz dużo mówić na ciekawe tematy (związane z javą) i możesz pochwalić się swoją wiedzą możesz zgłosić swoją kandydaturę na stronach organizatora. W tym roku organizatorzy liczą na wykłady o tematyce J2EE, a także conieco z programowania mobilnego.</p>
<p>Rejestracja trwa do 30 września, ale jest powód do pośpiechu. Im wcześniej zarejestrujemy się na konferencje tym mniej zaplacimy. Formularz rejestracyjny jak i cennik dostępne sa na <a href="http://08.jdd.org.pl/rejestracja">stronach jdd</a>.<br />
Ja na pewno będę, nie wiem czy was zapraszać, bo na koniec konferencji będą rozlosowane nagrody, a wiadomo im więcej ludzi tym mniejsze szanse ;)</p>
<div class="shr-publisher-13"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://darekzon.com/2008/06/java-developers-day-2008/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ArchLinux i repozytorium</title>
		<link>http://darekzon.com/2008/06/archlinux-i-repozytorium</link>
		<comments>http://darekzon.com/2008/06/archlinux-i-repozytorium#comments</comments>
		<pubDate>Wed, 18 Jun 2008 10:49:00 +0000</pubDate>
		<dc:creator>darek</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Nieskategoryzowane]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[instalacja]]></category>
		<category><![CDATA[pacman]]></category>
		<category><![CDATA[pacnet]]></category>
		<category><![CDATA[pakiety]]></category>
		<category><![CDATA[repozytoria]]></category>
		<category><![CDATA[szukanie]]></category>

		<guid isPermaLink="false">http://blg.darekzon.com/2008/06/archlinux-i-repozytorium/</guid>
		<description><![CDATA[Od jakiegoś czasu mam na swoim laptopie zainstalowanego Archlinux-a, dystrybucja bardzo przypadła mi do gustu. Działa niesamowicie szybko, jest stabilna i całkiem estetyczna, co prawda wystąpiło kilka problemów, ale społeczność niemal natychmiast mi pomogła. Jak dla mnie dystrybucja świetna, jest &#8230; <a href="http://darekzon.com/2008/06/archlinux-i-repozytorium">kontynuuj czytanie <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Od jakiegoś czasu mam na swoim laptopie zainstalowanego <strong>Archlinux</strong>-a, dystrybucja bardzo przypadła mi do gustu. Działa niesamowicie szybko, jest stabilna i całkiem estetyczna, co prawda wystąpiło kilka problemów, ale społeczność niemal natychmiast mi pomogła. Jak dla mnie dystrybucja świetna, jest tylko jeden szczegół który mnie trapi, a mianowicie manager pakietów (package manager), którym w tej dystrybucji jest pacman.<br />
Sam manager jest całkiem fajny, działa szybko i jest intuicyjny, problemem jego jest system kategoryzowania pakietów. W Archu mamy kategorie(repozytoria):</p>
<ul>
<li>Core &#8211; dla pakietów podstawowych systemu (kernel, sterowniki, etc.)</li>
<li>Extra &#8211; tam znajdziemy wszystko co nie pasuje do Core-a (X-y, pulpity, serwery)</li>
<li>Community &#8211; pakiety stworzone przez użytkowników, programy niestandardowe, gry<span id="more-12"></span></li>
</ul>
<p>Są jeszcze repozytoria testing oraz unstable, ale z racji, że z nich nie korzystam, sa dla mnie pomijalne.</p>
<p>I teraz zagadka. Chciałbym zainstalować jakiegoś klienta ftp, najlepiej graficzny, co zrobić? Tutaj mamy kilka opcji:</p>
<p>1. wywołać komendę:</p>
<blockquote><p>pacman -Ss ftp</p></blockquote>
<p>zalety:</p>
<ul>
<li>wbudowana w system</li>
<li>działa szybko</li>
</ul>
<p>wady:</p>
<ul>
<li>znajduje wszystko co ma w nazwie/opisie ftp</li>
<li>nieczytelny rezultat</li>
</ul>
<p>2. poszukać na stronach archlinux.org w dziale z pakietami<br />
zalety:</p>
<ul>
<li>czytelniejsze wyniki</li>
<li>pokazuje szczegóły pakietu</li>
</ul>
<p>wady:</p>
<ul>
<li>trzeba włączyć przeglądarkę</li>
<li>kliknąć kilka razy po linkach</li>
</ul>
<p>3. Zapytać/poszukać na forum<br />
zalety:</p>
<ul>
<li>można przy okazji dowiedzieć się o zaletach/wadach programu</li>
<li>zazwyczaj dostaniemy najlepsze rozwiązanie</li>
</ul>
<p>wady:</p>
<ul>
<li>potrzebna przeglądarka</li>
<li>trzeba się natrudzić i poszukać po google lub archlinux.org</li>
<li>długi czas oczekiwania na odpowiedź (jeśli piszemy post)</li>
</ul>
<p>4. Skorzystać z <strong><a href="http://pacnet.karbownicki.com/">Pacnet-u</a></strong><br />
zalety:</p>
<ul>
<li>podział pakietów na kategorie</li>
<li>szybka wyszukiwarka</li>
<li>szybko ładująca się strona i mniej klikania</li>
<li>podgląd szczegułów pakietu wraz z komendą instalacyjną i zrzutami ekranu</li>
</ul>
<p>wady:</p>
<blockquote>
<ul>
<li>potrzebna przeglądarka</li>
</ul>
</blockquote>
<p>Tak Pacnet potrafi znacznie ułatwić szukanie. Dzięki skategoryzowaniu pakietów (na modły repozytoriów Gentoo) znalezienie szukanego programu trwa relatywnie szybko i wygodnie.<br />
Dla estetów (np. dla Mnie) dostępny jest zrzut dzięki czemu możemy wybrać pakiet który dodatkowo odpowiada nam estetycznie.</p>
<p>Projekt choć jest w wczesnej fazie rozwoju działa stabilnie i szybko. <a href="http://karbownicki.com/">Tomek Karbownicki</a>, czyli autor Pacnetu dostaje od użytkowników wiele sugestii i co najważniejsze czyta je z zainteresowaniem, dzięki czemu już za jakiś czas możliwe, że będzie dostępne API, a jak będzie API to się będzie działo.</p>
<div class="shr-publisher-12"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://darekzon.com/2008/06/archlinux-i-repozytorium/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Czytelność kodu i styl kodowania</title>
		<link>http://darekzon.com/2008/06/czytelnosc-kodu-i-styl-kodowania</link>
		<comments>http://darekzon.com/2008/06/czytelnosc-kodu-i-styl-kodowania#comments</comments>
		<pubDate>Wed, 11 Jun 2008 09:00:00 +0000</pubDate>
		<dc:creator>darek</dc:creator>
				<category><![CDATA[Nieskategoryzowane]]></category>
		<category><![CDATA[coding styles]]></category>
		<category><![CDATA[czytelność kodu]]></category>
		<category><![CDATA[konwerter walut]]></category>
		<category><![CDATA[koszulki]]></category>
		<category><![CDATA[kraków]]></category>
		<category><![CDATA[lektura]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[standardy]]></category>
		<category><![CDATA[styl kodowania]]></category>

		<guid isPermaLink="false">http://blg.darekzon.com/2008/06/czytelnosc-kodu-i-styl-kodowania/</guid>
		<description><![CDATA[Każdemu programiście zdarzyło się czytać cudzy kod. W ten sposób najszybciej można poznać dany język, nauczyć się trików. Czytanie takie sprawia przyjemność o ile kod jest czytelny. Co to jest czytelność kodu? Każdy ma własną definicje, inaczej rozumie to słowo. &#8230; <a href="http://darekzon.com/2008/06/czytelnosc-kodu-i-styl-kodowania">kontynuuj czytanie <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><div style="text-align: justify;">Każdemu programiście zdarzyło się czytać cudzy kod. W ten sposób najszybciej można poznać dany język, nauczyć się trików. Czytanie takie sprawia przyjemność o ile kod jest czytelny.</p>
<p>Co to jest czytelność kodu? Każdy ma własną definicje, inaczej rozumie to słowo. Tak naprawdę trudno zdefiniować co to jest czytelność. Można powiedzieć, że kod jest czytelny gdy po przeczytaniu go raz od razu wiesz o co chodzi, skąd się biorą takie a nie inne wyniki i dlaczego akurat wybrano taką strukturę danych.<br />
Jest kilka zasad tworzenia czytelnego kodu, podstawą jest tzw. styl kodowania (ang. coding styles) czyli ogólne zasady jak ma wyglądać pisany kod. Wielkość wcięć, gdzie łamać linie, kiedy wstawiać klamerki jak komentować, to podstawowe zagadnienia jakie powinny być omówione podczas tworzenia &#8222;Stylu kodowania&#8221;.<span id="more-11"></span></p>
<p>Można by pomyśleć, że taki styl jest niepotrzebny, nie przyśpiesza przecież programu, a tylko wydłuża jego tworzenie, bo w końcu trzeba dodatkowo kod formatować. Nic bardziej mylnego, jeśli programujesz w grupie, styl kodowania potrafi znacząco przyśpieszyć pisanie programów. Gdy nad jednym projektem siedzi kilku programistów, często uzupełniają kod kolegów, jeśli jest on formatowany według ogólnych zasad w firmie/projekcie każdy programista bez problemu odczyta kolegi kod, co więcej, będzie się czuł jak we własnych bazgrołach i niemal od razu zacznie prace. Gdy natomiast każdy pisze według własnych modłów, osoba przejmująca kod musi najpierw przejść katorgę jaką jest czytanie i zrozumienie kodu.</p>
<p><span style="font-weight: bold;font-size:130%;">Na co zwrócić uwagę</span></p>
<p>Styl kodowania nie musi być od razu rozbudowaną na kilkanaście stron specyfikacją, na początek wystarczy, że będzie zawierać najważniejsze struktury wykorzystywane podczas programowania. Ważne jest by styl był określony ściśle, nie powinny występować w nim wybory (pisz tak albo tak), jeśli pozostawimy jakikolwiek wybór w naszych zasadach, jest praktycznie pewne, że każdy wybierze własną drogę, a styl będzie można wyrzucić.</p>
<p>Należy unikać <span style="font-weight: bold;">niejednoznaczności</span>, zapis w stylu:<br />
&#8222;zmienne piszemy camelcase-m&#8221;<br />
dużo mówi, ale nie mówi wszystkiego, możemy przecież zaczynać z dużej bądź z małej litery; od podkreślenia lub dwóch. O wiele lepszym zapisem będzie:<br />
&#8222;Zmienne należy pisać camelcase-m gdzie pierwsza litera będzie literą małą&#8221;</p>
<p>Jeśli macie już swoje coding styles, szkoda by było, gdyby ich nie używać. Trzymanie się stylów może być na początku dość denerwujące, ale szybko można się przyzwyczaić. Jeśli ktoś się ich nie trzyma można nałożyć niewielką karę lub dać mu do zrozumienia, że są one wymagane. Style nie są dla wybranych, są dla wszystkich.</p>
<p><span style="font-weight: bold;font-size:130%;">Kilka podstawowych styli kodowania</span><br />
Poniżej prezentuję kilka zasad które złożyć można w podstawowy styl, są to oczywiście propozycje, można je dowolnie modyfikować, nie zgadzać się z nimi bądź przyjąć za prawdę ostateczną.</p>
<p><span style="font-weight: bold;">Zmienne i stałe</span>:<br />
&#8222;Zmienne należy pisać camelcase-m zaczynając od małej litery (np. nazwaZmiennej).  Zmienne prywatne powinny zaczynać się od znaku podkreślenia po czym następuje domyślna nazwa rozpoczynająca się od małej litery (np. _zmiennaPrywatna)<br />
Stałe należy pisać używając duży liter, oddzielając kolejne tokeny znakami podkreślenia (np. STALA_PI)&#8221;</p>
<p><span style="font-weight: bold;">Metody:</span><br />
&#8222;Nazwa metody powinna zaczynać się od małej litery po czym kolejne tokeny nazwy należy zaczynać z dużej litery (np. nazwaNowejMetody(&#8230;)).<br />
Metody statyczne należy pisać rozpoczynając od litery dużej (np. NazwaMetodyStatycznej(&#8230;)).<br />
Metody prywatne rozpoczynamy od podkreślenia po którym następują kolejne tokeny nazwy, pierwszy token należy rozpocząć od małej litery (_metodaPrywatna(&#8230;)).&#8221;</p>
<p><span style="font-weight: bold;">Łamanie kodu:</span><br />
&#8222;Linijka kodu powinna mieć długość maksymalnie 80 znaków, po których powinno nastąpić jej złamanie. Złamana linia kodu powinna być przesunięta o jeden tabulator od początku lini wyżej&#8221;</p>
<p><span style="font-weight: bold;">Tabulacje:</span><br />
&#8222;Należy używać jednego tabulatora na wcięcie. Tabulator powinien składać się z 4 spacji&#8221;</p>
<p><span style="font-weight: bold;">Klamry</span>:<br />
&#8222;Klamra powinna być w odstępie jednej spacji od kodu, po klamrze należy dodać znak nowej lini.&#8221;</p>
<p><span style="font-weight: bold;"><span style="font-size:130%;">Podsumowanie<br />
</span></span><span style="font-size:100%;">Style są nieocenione choć wydawać się można, że mało potrzebne. Warto poświęcić im troszke czasu, najlepiej w grupie. Na starcie wszyscy będą zaznajomieni co do nowych norm w pisaniu kodu, każdy będzie mógł dodać coś od siebie, zaargumentować wypowiedź kolegi co dodatkowo wzmocni grupę. Same style o ile będą używane sumiennie na pewno polepszą komfort pracy.<br />
</span></p>
</div>
<div class="shr-publisher-11"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://darekzon.com/2008/06/czytelnosc-kodu-i-styl-kodowania/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Test-driven development</title>
		<link>http://darekzon.com/2008/05/test-driven-development</link>
		<comments>http://darekzon.com/2008/05/test-driven-development#comments</comments>
		<pubDate>Wed, 28 May 2008 14:46:00 +0000</pubDate>
		<dc:creator>darek</dc:creator>
				<category><![CDATA[Nieskategoryzowane]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[Konferencje]]></category>
		<category><![CDATA[konkurs]]></category>
		<category><![CDATA[konwersja walut]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[test-driven]]></category>
		<category><![CDATA[testowanie]]></category>
		<category><![CDATA[testy]]></category>

		<guid isPermaLink="false">http://blg.darekzon.com/2008/05/test-driven-development/</guid>
		<description><![CDATA[Nie trzeba chyba mówić nikomu, jak ważne są testy oprogramowania. Każdy program, każda jego funkcjonalność powinny być przetestowane pod względem poprawnego działania. Czym byłby program gdyby nie dawał poprawnych wyników lub czas oczekiwania był na tyle duży, aby wyniki się &#8230; <a href="http://darekzon.com/2008/05/test-driven-development">kontynuuj czytanie <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><span style="font-size:100%;">Nie trzeba chyba mówić nikomu, jak ważne są testy oprogramowania. Każdy program, każda jego funkcjonalność powinny być przetestowane pod względem poprawnego działania. Czym byłby program gdyby nie dawał poprawnych wyników lub czas oczekiwania był na tyle duży, aby wyniki się dewaluowały. Program który jest poprawnie przetestowany na pewno oszczędzi wiele nerwów programistom, klient będzie zadowolony z braku błędów lub jej bardzo małej ilości i wszystko gra.</span></p>
<p>Sam proces testowania jest jednym z najżmudniejszych zadań w procesie produkcyjnym, zajmuje dużo czasu, a  nie zawsze daje zadowalające wyniki. Często testowanie traktowane jest po macoszemu, robione tylko ogólnikowo dla wybranych funkcjonalności lub standardowych danych co tak naprawdę mija się z celem.</p>
<p>No dobra, rzeczywiście testowanie trzeba robić porządnie, ale jak?<span id="more-10"></span></p>
<p>Moja propozycja zapewne znana już większości to pisanie testów jednostkowych.<br />
W <span style="font-weight: bold;font-size:100%;">TDD </span><span style="font-size:100%;">zazwyczaj pisze się test do danej funkcjonalności jeszcze zanim zaczniemy tą funkcjonalność implementować.<br />
</span></p>
<ul>
<li><span style="font-size:100%;">test określa nam wymagania algorytmu, jeśli napiszemy poprawnie test przedstawia on nam wymagania które musimy spełnić, od tej chwili nie musimy martwić się o spełnienie wymagań w algorytmie tylko o poprawne przejście testu przez algorytm
<p></span></li>
<li><span style="font-size:100%;">już na wstępie może pokazać gdzie wyłonią się możliwe problemy w implementacji,
<p></span></li>
<li><span style="font-size:100%;">w pewnym sensie motywuje do szybkiego a przy tym poprawnego pisania (w końcu algorytm musi przejść test)  co zwiększa wydajność pracy</span></li>
</ul>
<p><span style="font-size:100%;">Każda róża ma kolce, tak i tutaj pojawiają się pewne minusy<br />
</span></p>
<ul>
<li><span style="font-size:100%;">niemal dwukrotnie więcej kodu do napisania
<p></span></li>
<li><span style="font-size:100%;">późniejsze zmiany w kodzie trzeba odzwierciedlić zmianami w testach co można by rozumieć jak prowadzenie dwóch projektów w jednym<br />
</span></li>
</ul>
<p><span style="font-size:100%;"><span style="font-weight: bold;"><span style="font-size:130%;">Podstawowe zasady pisania testów</span></span><br />
</span><span style="font-size:100%;"><br />
Metodologia pisania testów jest prosta. Piszemy test który sprawdza daną funkcjonalność pod względem poprawności algorytmicznej. Po czym implementujemy tą funkcjonalność tak aby przechodziła test. Cały kod pisze się w tak zwanych iteracjach:</span></p>
<p><a href="http://bp2.blogger.com/_aRtqXqjZ9pE/SDS4EtfKkEI/AAAAAAAAAHs/aLCViwEJLEo/s1600-h/tdd1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" rel="lightbox[10]"><img id="BLOGGER_PHOTO_ID_5202985860589064258" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_aRtqXqjZ9pE/SDS4EtfKkEI/AAAAAAAAAHs/aLCViwEJLEo/s320/tdd1.jpg" border="0" alt="" /></a><span style="font-size:100%;"><br />
Iteracje trwają zazwyczaj od kilku do kilkunastu minut w zależności od rozmiaru problemu. Cały kod uznaje się za poprawny jeśli przejdzie swój test. Koniec każdej iteracji powinien być zakończony przez pozytywne przejście testu.<br />
Ważne jest aby kod źródłowy testów pisany był z równą dokładnością co kod źródłowy aplikacji, jest on tak samo ważny i nie powinien być traktowany po macoszemu.</span></p>
<p>Należy również pamiętać, że program który poprawnie przechodzi testy niekoniecznie może działać poprawnie. Zapytacie pewnie po co w takim wypadku pisać testy?<br />
Otóż   testy same w sobie pozwalają wykryć większość błędów programistycznych, a wykryty błąd jest natychmiastowo lokalizowany i opisany przez test.</p>
<p>Wyobraź sobie, że prowadzisz duży projekt. Projekt składający się z kilkunastu/kilkudziesięciu modułów które ze sobą współpracują. Projekt działa całkiem dobrze, jednak po kilku miesiącach szef kazał Ci zmienić jakąś funkcjonalność w jednym z modułów. Sama zmiana może i trwa kilka minut, ale z racji że jeden moduł jest zależny od drugiego nie jesteś pewien, czy ta zmiana nie pociągnie za sobą nieprzewidzianych problemów z modułami zależnymi. Rzadko się zdarza by programista pamiętał każdy aspekt pisanego programu, szczególnie gdy jest on rozbudowany. Jeden moduł może być wykorzystywany w wielu miejscach które trzeba sprawdzić.<br />
Tu również z pomocą przychodzi pisanie testów. Jeśli będziemy stosować się do zaleceń TDD i każdy moduł/klasa będzie miała test, to taka poprawka nie stanowi dla nas najmniejszego problemu.<br />
Wystarczy wprowadzić zmiany i uruchomić testy dla całego projektu. Jeśli jakaś nieścisłość występuje zostanie ona wykryta a programista powiadomiony o tym. Dzięki temu można zaoszczędzić naprawdę dużo czasu i nerwów.</p>
<div class="shr-publisher-10"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://darekzon.com/2008/05/test-driven-development/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

