<?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>Dawid pisze... &#187; Programowanie</title>
	<atom:link href="http://dawidpisze.federowicz.net/category/programowanie/feed/" rel="self" type="application/rss+xml" />
	<link>http://dawidpisze.federowicz.net</link>
	<description>moim (nie)skromnym zdaniem</description>
	<lastBuildDate>Tue, 29 Jun 2010 08:08:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>WordPress 3.0 &#8211; on board!</title>
		<link>http://dawidpisze.federowicz.net/2010/06/wordpress-3-0-on-board/</link>
		<comments>http://dawidpisze.federowicz.net/2010/06/wordpress-3-0-on-board/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 13:33:42 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[Komentarz]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[off-topic]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=154</guid>
		<description><![CDATA[Właśnie zaktualizowałem WordPressa, na którym stoi ten blog, do wersji 3.0. Pełne zaskoczenie, muszę przyznać. O ile z wcześniejszymi poprawkami, czy pełnymi wersjami bywało różnie podczas instalacji, o tyle teraz &#8211; wszystko poszło, jak po maśle. Wystarczyło zgrać na serwer zastępując poprzednie pliki &#8211; i gra! Nowy WordPress jest dopiero od kilku minut na moim [...]]]></description>
			<content:encoded><![CDATA[<p>Właśnie zaktualizowałem WordPressa, na którym stoi ten blog, do wersji 3.0.<br />
Pełne zaskoczenie, muszę przyznać.<br />
O ile z wcześniejszymi poprawkami, czy pełnymi wersjami bywało różnie podczas instalacji, o tyle teraz &#8211; wszystko poszło, jak po maśle. Wystarczyło zgrać na serwer zastępując poprzednie pliki &#8211; i gra!<br />
Nowy WordPress jest dopiero od kilku minut na moim serwerze, więc ciężko tutaj o jakieś głębsze przemyślenia, bo w zasadzie nic nie testowałem &#8211; ale pierwsze wrażenie &#8211; całkowicie pozytywne.<br />
Zaraz rozejrzę się dokładniej, i pewnie jeszcze coś dopiszę <img src='http://dawidpisze.federowicz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2010/06/wordpress-3-0-on-board/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Free Software Foundation rusza przeciwko Windows 7</title>
		<link>http://dawidpisze.federowicz.net/2009/08/free-software-foundation-rusza-przeciwko-windows-7/</link>
		<comments>http://dawidpisze.federowicz.net/2009/08/free-software-foundation-rusza-przeciwko-windows-7/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 07:03:15 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[Komentarz]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Publicystyka]]></category>
		<category><![CDATA[Free Software Foundation]]></category>
		<category><![CDATA[FSF]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[system operacyjny]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=75</guid>
		<description><![CDATA[Windows 7 Microsoftu nie opuścił jeszcze tak na dobre fabryk, aby tropem swoich poprzedników opanować sklepowe półki, a już największy antagonista tej firmy (a raczej &#8211; wróg filozofii zamkniętego oprogramowania, której firma Microsoft jest ucieleśnieniem) rozpoczyna swoją kampanię (link). FSF i jej działalność ze wszech miar popieram, chociaż chcąc nie-chcąc &#8211; używam produktów z Redmond. [...]]]></description>
			<content:encoded><![CDATA[<p>Windows 7 Microsoftu nie opuścił jeszcze tak na dobre fabryk, aby tropem swoich poprzedników opanować sklepowe półki, a już największy antagonista tej firmy (a raczej &#8211; wróg filozofii zamkniętego oprogramowania, której firma Microsoft jest ucieleśnieniem) rozpoczyna swoją kampanię (<a href="http://www.heise-online.pl/news/Kampania-FSF-przeciwko-Windows-7--/9947" onclick="javascript:urchinTracker ('/outbound/article/www.heise-online.pl');">link</a>).<br />
FSF i jej działalność ze wszech miar popieram, chociaż chcąc nie-chcąc &#8211; używam produktów z Redmond. Wierzcie mi jednak, gdzie to tylko jest możliwe, staram się tego unikać. Niestety, na polskim rynku niewiele jest firm, które konsekwentnie odcinałyby się produktów Microsoftu. Wolą pre-instalowane systemy na swoich komputerach, niż odrobiny wysiłku, by działać całkowicie legalnie &#8211; ale bez &#8222;windowsów&#8221;.<br />
Kampania FSF wskazuje, co złego jest w korzystaniu z oprogramowania Microsoftu. Przerażające jest zwłaszcza to, że dzieci w szkołach uczy się wyłącznie przy wykorzystaniu produktów tej firmy, co prowadzi w prostej drodze do tego, że później komputer pozbawiony &#8222;windowsowych&#8221; programików będzie dla takiej młodzieży co najmniej czymś dziwacznym i niespotykanym. Już teraz większość dzieci utożsamia system operacyjny szkolnego (a bywa, że i domowego) komputera &#8211; wyłącznie z Windowsem.<br />
Niestety, Windows tak mocno zdominował rynek, że trudno się tutaj przebić innym OS-om. Jeszcze jako-tako radzi sobie z tym Linux i jego różne dystrybucje (prym wiodą tutaj bodajże Ubuntu i Mandriva, ale poprawcie mnie, jeśli się mylę), Unix doceniany jest zaś wyłącznie przez administratorów i zapaleńców, zaś pozostałe systemy są już taką niszą, że nawet wspominanie tutaj ich nazw niewielu ludziom cokolwiek powie (a warto chociażby zerknąć do <a href="http://pl.wikipedia.org/wiki/System_operacyjny" onclick="javascript:urchinTracker ('/outbound/article/pl.wikipedia.org');">artykułu w Wikipedii</a>, by uzmysłowić sobie, że nie samym windowsem człowiek żyje&#8230;<br />
Jak powiedziałem, open source&#8217;owe OS&#8217;y i poszczególne programy warte są bliższego poznania. Czasami korzystać z nich możemy jedynie w domu, bo w pracy obowiązuje &#8222;corporate standard&#8221; (czyli Windows w najróżniejszych odmianach), ale jednak &#8211; warto.</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2009/08/free-software-foundation-rusza-przeciwko-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kupuj.pl &#8211; czyli jak nabić sobie spam-listę!</title>
		<link>http://dawidpisze.federowicz.net/2009/08/kupujpl_wyludzenie_email/</link>
		<comments>http://dawidpisze.federowicz.net/2009/08/kupujpl_wyludzenie_email/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 18:44:00 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Komentarz]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Publicystyka]]></category>
		<category><![CDATA[oszuści]]></category>
		<category><![CDATA[idg]]></category>
		<category><![CDATA[kupuj.pl]]></category>
		<category><![CDATA[ochrona danych osobowych]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=71</guid>
		<description><![CDATA[Stosunkowo niedawno w sieci pojawiła się zajawka (bo systemem w pełnym tego słowa znaczeniu nazwać tego nie można) platformy handlowej &#8211; kupuj.pl. Cóż, nowością tego nazwać nie można, sklepów jest w sieci na pęczki. Ogromna większość szybko schodzi z tego świata bez rozgłosu, część jakoś tam trwa pewnie na granicy opłacalności i jak najmniejszymi kosztami, [...]]]></description>
			<content:encoded><![CDATA[<p>Stosunkowo niedawno w sieci pojawiła się zajawka (bo systemem w pełnym tego słowa znaczeniu nazwać tego nie można) platformy handlowej &#8211; <a href="http://www.kupuj.pl" onclick="javascript:urchinTracker ('/outbound/article/www.kupuj.pl');">kupuj.pl</a>.<br />
Cóż, nowością tego nazwać nie można, sklepów jest w sieci na pęczki. Ogromna większość szybko schodzi z tego świata bez rozgłosu, część jakoś tam trwa pewnie na granicy opłacalności i jak najmniejszymi kosztami, niewielka ich ilość zdobywa sobie rzeszę stałych klientów (czyli: stałego dochodu), a baaardzo nieliczne wybija się, zostaje, a nawet (bywa) rozwija.<br />
Tutaj, w przypadku kupuj.pl, warto jednak zwrócić uwagę na sposób wejścia na rynek. Takie podchody, rozpoznawanie, na co ludzie się rzucą jak na świeże bułeczki, a co można sobie spokojnie darować przy starcie.<br />
Po prostu &#8211; zbierają &#8222;zamówienia&#8221;. Nie, przepraszam &#8211; pytają grzecznie, czego sobie życzymy, dając oczywiście listę produktów, którymi moglibyśmy być zainteresowani. Wystarczy zostawić swój mail i zaznaczyć opcję, że zgadzamy się na &#8222;przetwarzanie danych osobowych zgodnie z Ustawą&#8230;&#8221;, itd.<br />
Ciekawe&#8230;<br />
Właściwie nie wiemy do końca, na co się zgadzamy, nigdzie nie jest to wyraźnie napisane. A powinno.<br />
Czemu? Bo zgodnie z ustawą, przedsiębiorca powinien wyraźnie zaznaczyć, w jakim celu zbiera nasze dane i do czego będą one wykorzystane. A tak, możemy się tylko domyślać, że do wysyłania spamu&#8230;<br />
Ale &#8211; czy tylko? Zgodnie z polskim prawem, przedsiębiorstwo (KAŻDE przedsiębiorstwo) tworzone jest głównie po to, żeby zarabiać. Na czymkolwiek, co sobie wymyśli. Również IDG Poland S.A. nie jest tutaj wyjątkiem. IDG powołane zostało w celach wydawniczych, marketingowych (wszak reklamą też się zajmuje), i pewnie jakichś innych (np. hodowli pieczarek, bo&#8230; kto im zabroni?). Zakładając firmę trzeba określić, czym się ona będzie zajmowała. Można wpisać dosłownie wszystko, co ślina na język przyniesie, i często tak się robi, bo późniejsze zmiany we wpisach kosztują, a nie musimy całej naszej działalności zaczynać od samego początku. Więc pewnie IDG również coś takiego ma wpisane. Dobra, mniejsza o to&#8230;<br />
Jako że jednym z podstawowych celów przedsiębiorstwa jest zysk, a sposobem na jego osiągnięcie &#8211; np. szeroko pojęte działania marketingowe, nikt nie może zabronić spółce IDG najzwyczajniej handlować zdobytymi w ten sposób adresami e-mail (!). Tak więc wszyscy, którzy zaintrygowani potencjalną promocją zapiszą się z własnej woli na spam-listę firmy IDG, spodziewać się mogą, że ich adres będzie wykorzystywany przez różne inne podmioty.<br />
Niekoniecznie do celów, jakich byśmy sobie życzyli.<br />
Dzisiaj dostałem maila z adresu ania@kupuj.pl pt. &#8222;Szukasz okazji w internecie?&#8221;.<br />
Pani Aniu, tutaj na tym blogu daję Pani odpowiedź: tak, szukam okazji w internecie. Ale pod adresem, który mi Pani przesłała, jej (ich?) nie znalazłem. Jak dla mnie, ta strona służy jedynie WYŁUDZENIU adresów e-mail mniej świadomych użytkowników Sieci. Ta strona nie różni się niczym od innych stron, które mój Firefox klasyfikuje jako potencjalnie niebezpieczne, bo WYŁUDZAJĄCE DANE.<br />
Jak dla mnie, powinniście zmienić adres na kupuj_ale_nie_tutaj.pl.<br />
Nie wróżę Wam sukcesu.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-1512785452250400";
google_ad_slot = "1428346834";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2009/08/kupujpl_wyludzenie_email/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Kolejny rok &#8211; kolejna robota&#8230;</title>
		<link>http://dawidpisze.federowicz.net/2009/08/kolejny-rok-kolejna-praca/</link>
		<comments>http://dawidpisze.federowicz.net/2009/08/kolejny-rok-kolejna-praca/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 13:17:25 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Publicystyka]]></category>
		<category><![CDATA[cv]]></category>
		<category><![CDATA[pin]]></category>
		<category><![CDATA[praca]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=62</guid>
		<description><![CDATA[Tak to już się w moim życiu układa, że co jakiś czas, chcąc / nie-chcąc &#8211; zmieniam pracę. W poprzedniej było całkiem spoko, ale z czasem&#8230; Często jest to po prostu znudzenie. Jak wiadomo, bywają ludzie, którzy nie potrafią przesiedzieć w jednym miejscu przez dłuższy czas, nie potrafiliby na przykład siedzieć na poczcie w okienku [...]]]></description>
			<content:encoded><![CDATA[<p>Tak to już się w moim życiu układa, że co jakiś czas, chcąc / nie-chcąc &#8211; zmieniam pracę. W poprzedniej było całkiem spoko, ale z czasem&#8230;<br />
Często jest to po prostu znudzenie. Jak wiadomo, bywają ludzie, którzy nie potrafią przesiedzieć w jednym miejscu przez dłuższy czas, nie potrafiliby na przykład siedzieć na poczcie w okienku i stemplowali znaczki. Przy czymś takim popadają w marazm, straszliwie się nudzą, a jeśli w odpowiednim czasie nie znajdą sobie innego zajęcia (&#8222;wyzwania&#8221;, jak to się pisze w CV), to powolutku schodzą z tego świata.<br />
I ja chyba w znacznej części jestem właśnie kimś takim.<br />
Są też ludzie, którzy z czasem dostrzegają braki swojego obecnego pracodawcy, by po kilku głębszych przemyśleniach dojść do wniosku, że to niesprawiedliwe/krzywdzące/to chamstwo, etc. (niepotrzebne skreślić). Po części również należę do tej grupy.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-1512785452250400";
google_ad_slot = "1428346834";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<br />
W tym przypadku do mojego odejścia od poprzedniego pracodawcy doszedł &#8222;kryzys&#8221;. Tak, niestety, firma odczuła go na własnej skórze już w kwietniu, bodajże, i tak sobie myślę, że gdyby mój pracodawca sam nie wyszedł z inicjatywą, byśmy się rozstali, pewnie ja bym do niego poszedł z tym tematem.<br />
Po tych kilku tygodniach jestem jednak bardzo szczęśliwy, że odszedłem i dłużej nie ciągnąłem tej współpracy; dochodzą mnie takie słuchy o firmie, o tym co się w niej dzieje, że to ludzkie pojęcie przechodzi. Będę mocno zaskoczony, jeśli firma utrzyma się na rynku do końca bieżącego roku.<br />
Nie będę tutaj więcej wymieniał mojego byłego pracodawcy; zachowam swoje zdanie co do jego postępowania dla siebie.<br />
W przyszłym tygodniu postaram się za to więcej napisać o obecnym zajęciu (znowu w PHP&#8230;), może też opublikuję jakiś tekścik branżowy, z zakresu PHP właśnie?</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2009/08/kolejny-rok-kolejna-praca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google od kuchni</title>
		<link>http://dawidpisze.federowicz.net/2009/08/google-od-kuchni/</link>
		<comments>http://dawidpisze.federowicz.net/2009/08/google-od-kuchni/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 17:35:57 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[off-topic]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[firma]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google analytics]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=60</guid>
		<description><![CDATA[Jeśli myślimy o wyszukiwaniu informacji w Internecie, nieodmiennie do głowy przychodzi nam w pierwszej kolejności wyszukiwarka Google. Na czym polega jej sukces? Jak w ogóle wygląda sama firma od środka? Natrafiłem w sieci na film nieco przybliżający Google przeciętnym ludziom. Po jego obejrzeniu nasuwa się tylko jeden komentarz: żeby tak wszystkie firmy pracowały w ten [...]]]></description>
			<content:encoded><![CDATA[<p>Jeśli myślimy o wyszukiwaniu informacji w Internecie, nieodmiennie do głowy przychodzi nam w pierwszej kolejności wyszukiwarka Google. Na czym polega jej sukces? Jak w ogóle wygląda sama firma od środka?<br />
Natrafiłem w sieci na film nieco przybliżający Google przeciętnym ludziom. Po jego obejrzeniu nasuwa się tylko jeden komentarz: żeby tak wszystkie firmy pracowały w ten sposób, życie byłoby piękne! <img src='http://dawidpisze.federowicz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Zapraszam do obejrzenia.</p>
<p><object width="600" height="450"><param name="movie" value="http://www.megavideo.com/v/6D8DV0YSc97f6d2ad063d0210a1b30c9b40d2797"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.megavideo.com/v/6D8DV0YSc97f6d2ad063d0210a1b30c9b40d2797" type="application/x-shockwave-flash" allowfullscreen="true" width="600" height="450"></embed></object></p>
<p>Jeśli film by się zacinał, włącz na moment pauzę, żeby więcej danych ściągnęło się na komputerek.</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2009/08/google-od-kuchni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KonferencjaEvent.pl &#8211; nowy wortal poświęcony konferencjom, eventom</title>
		<link>http://dawidpisze.federowicz.net/2009/06/konferencjaeventpl-nowy-wortal-poswiecony-konferencjom-eventom/</link>
		<comments>http://dawidpisze.federowicz.net/2009/06/konferencjaeventpl-nowy-wortal-poswiecony-konferencjom-eventom/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 16:15:22 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[off-topic]]></category>
		<category><![CDATA[adresy]]></category>
		<category><![CDATA[catering]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[firmy eventowe]]></category>
		<category><![CDATA[hotel]]></category>
		<category><![CDATA[integracja]]></category>
		<category><![CDATA[konferencja]]></category>
		<category><![CDATA[restauracja]]></category>
		<category><![CDATA[spotkanie integracyjne]]></category>
		<category><![CDATA[wyjazd integracyjny]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=55</guid>
		<description><![CDATA[Od około 2-ch miesięcy pracuję nad nowym serwisem. Kilka dni temu ujrzał wreszcie światło dzienne. Nazywa się KonferencjaEvent.pl. Miejsce, które szybko stanie się doskonałym narzędziem, przydatnym w pracy event-managerom, PR-owcom, HR-owcom. Tutaj zgłosić się mogą (za darmo!) firmy, które świadczą swoje usługi podczas różnego rodzaju konferencji, eventów, organizują wyjazdy integracyjne dla firm, ale też wypożyczają [...]]]></description>
			<content:encoded><![CDATA[<p>Od około 2-ch miesięcy pracuję nad nowym serwisem. Kilka dni temu ujrzał wreszcie światło dzienne. Nazywa się <a href="http://www.konferencjaevent.pl" onclick="javascript:urchinTracker ('/outbound/article/www.konferencjaevent.pl');">KonferencjaEvent.pl</a>.<br />
Miejsce, które szybko stanie się doskonałym narzędziem, przydatnym w pracy event-managerom, PR-owcom, HR-owcom. Tutaj zgłosić się mogą (za darmo!) firmy, które świadczą swoje usługi podczas różnego rodzaju <strong>konferencji</strong>, eventów, <strong>organizują wyjazdy integracyjne dla firm</strong>, ale też wypożyczają im podczas takich spotkań sprzęt, jak np. różnego rodzaju obiekty dmuchane: zamki, zjeżdżalnie dla dzieci. Również firmy towarzyszące takim spotkaniom mogą się zarejestrować; jeśli ktoś prowadzi firmę fotograficzną, prowadzi usługi video-filmowania. Ba, nie zapomniano też o czymś tak ważnym, jak catering!<br />
Jeśli nasza praca polega na organizacji właśnie tego typu imprez, koniecznie potrzebujemy informacji, które tutaj zgromadzone są w jednym miejscu. Nie trzeba żmudnie przeszukiwać listy setek firm, wystarczy kilka kliknięć, żeby odszukać potrzebną nam informację, numer telefonu, czy adres strony WWW.<br />
<a href="http://www.konferencjaevent.pl" onclick="javascript:urchinTracker ('/outbound/article/www.konferencjaevent.pl');">KonferencjaEvent.pl</a> to wortal ludzi dobrze poinformowanych. Jeśli nie chcemy już prowadzić własnych notatek, lub też wolimy, by ktoś prowadził to za nas &#8211; warto tutaj zaglądać!</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-1512785452250400";
google_ad_slot = "1428346834";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2009/06/konferencjaeventpl-nowy-wortal-poswiecony-konferencjom-eventom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dokumentacja projektów programistycznych</title>
		<link>http://dawidpisze.federowicz.net/2009/03/dokumentacja-projektow-programistycznych/</link>
		<comments>http://dawidpisze.federowicz.net/2009/03/dokumentacja-projektow-programistycznych/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 19:55:12 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Publicystyka]]></category>
		<category><![CDATA[dokumentacja techniczna]]></category>
		<category><![CDATA[programiści]]></category>
		<category><![CDATA[webdeveloper]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=49</guid>
		<description><![CDATA[Tak się jakoś (szczęśliwie?) złożyło, że staram się skończyć z programowaniem czegokolwiek na zasadach tzw. cowboy-coding&#8217;u &#8211; czyli pisania kodu na podstawie kilku świstków, które &#8211; w zamierzeniu ich autorów &#8211; stanowić miały dokumentację techniczno-funkcjonalną, do tego &#8211; całkowicie wyjaśniać, co się po mnie jako wykonawcy projektu zleceniodawca spodziewa. Zazwyczaj był to po prostu świstek [...]]]></description>
			<content:encoded><![CDATA[<p>Tak się jakoś (szczęśliwie?) złożyło, że staram się skończyć z programowaniem czegokolwiek na zasadach tzw. cowboy-coding&#8217;u &#8211; czyli pisania kodu na podstawie kilku świstków, które &#8211; w zamierzeniu ich autorów &#8211; stanowić miały dokumentację techniczno-funkcjonalną, do tego &#8211; całkowicie wyjaśniać, co się po mnie jako wykonawcy projektu zleceniodawca spodziewa.<br />
Zazwyczaj był to po prostu świstek papieru z ogólnym opisem, co serwis zawiera, jakaś jedna, bądź dwie mindmapy i to wszystko, na co mogłem liczyć.<br />
Niestety, trudno na takiej podstawie cokolwiek zrobić. Oczywiście dochodzi po czymś takim do rozmowy w stylu: to co Pan/Pani/Państwo opisał/a &#8211; kompletnie nic mi nie mówi. Czy mógłbym otrzymać jakiś, hmmm&#8230; poważniejszy dokument, pod którym moglibyśmy złożyć nasze podpisy, i który dokładnie by wyjaśniał, o czym my w ogóle rozmawiamy?<br />
Jeśli trafia się na poważnego zleceniodawcę, pewnie po dłuższych lub krótszych negocjacjach taki dokument dostaniemy, a przynajmniej da się go wspólnie &#8222;wypracować&#8221;. Ale są również takie osoby, które w ogóle nie wiedzą, o co nam chodzi; co gorsza, uważają, że wymagamy od nich Bóg wie czego! &#8222;Przecież wszystko jest w tym ^projekcie^, który Pan dostał!&#8221;<br />
Niestety, ale często bywa tak, że kiedy człowiek oponuje, często zrywa się z nim kontakt, uznaje za dziwaka, a projekt albo nigdy nie dochodzi do fazy &#8222;narodzin&#8221;, albo wykonuje go jakiś licealista za 200 złotych (&#8222;okazyjnie&#8221;, bez zbędnych &#8222;opisów&#8221;).<br />
Trafiłem właśnie na dyskusję na ten ważny temat: http://www.goldenline.pl/forum/webdesign/815801/s/1#16184536<br />
W każdym razie z tej dyskusji można się dowiedzieć więcej na ten temat, niż z takiej Wikipedii, która ogranicza się do podania podziału dokumentacji, jakiś ogólnych haseł i tyle (czytaj <a href="http://pl.wikipedia.org/wiki/Dokumentacja_techniczna" onclick="javascript:urchinTracker ('/outbound/article/pl.wikipedia.org');">tutaj</a>).</p>
<p>Gdzie więc najlepiej szukać informacji na temat najbardziej interesujący programistów, ale też (albo &#8211; PRZEDE WSZYSTKIM) &#8211; Zleceniodawców?</p>
<p>Nieco akademickiego żargonu można znaleźć <a href="http://student.uci.agh.edu.pl/~wwatroba/psi/SI-Dokumentowanie.doc" onclick="javascript:urchinTracker ('/outbound/article/student.uci.agh.edu.pl');">tutaj</a> (nie doczytałem do końca, bo mnie to po prostu przeraziło&#8230;).<br />
Można również przeczytać <a href="http://www.computerworld.pl/artykuly/25323/Z.notesem.w.reku.html" onclick="javascript:urchinTracker ('/outbound/article/www.computerworld.pl');">ten</a> artykuł, który powinien nam trochę przybliżyć temat, albo przynajmniej nakreślić ogólny obra, czyli wyjaśnić, co się składa na taką dokumentację, co w niem być powinno, itd.<br />
Zanim zabierzecie się za tworzenie własnej dokumentacji, Szanowni Zleceniodawcy, proponuję lekturę <a href="http://aspectized.com/java/prevayler/VIkkio//XP-case-study-aktnpw-paper-final.doc" onclick="javascript:urchinTracker ('/outbound/article/aspectized.com');">tego materiału</a>. Zobaczycie, co Was czeka, jeśli dokumentacja nie zostanie przemyślana, albo w ogóle będziecie unikać jej stworzenia! <img src='http://dawidpisze.federowicz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
Można się oczywiście wesprzeć <a href="http://www.webdeveloper.pl/szybkie_tworzenie_projektow_informatycznych,280,1,3,pl.html" onclick="javascript:urchinTracker ('/outbound/article/www.webdeveloper.pl');">tym mini-poradnikiem</a>.<br />
Więcej informacji (jak zwykle) znaleźć można w sieci (zresztą, powyższe przykłady również wyszukane zostały za pomocą &#8222;gugli&#8221;&#8230;). Jeśli ktoś z czytelników zna jakiś, bądź napisał dobry manual, który z czystym sumieniem można by upowszechnić wśród Szanownych Zleceniodawców &#8211; proszę pisać! Chętnie dołączę tutaj stosowny link!</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-1512785452250400";
google_ad_slot = "1428346834";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2009/03/dokumentacja-projektow-programistycznych/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ROzważania o RoR, PHP&#8230;</title>
		<link>http://dawidpisze.federowicz.net/2009/03/rozwazania_ror_ruby_php/</link>
		<comments>http://dawidpisze.federowicz.net/2009/03/rozwazania_ror_ruby_php/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 13:01:48 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Komentarz]]></category>
		<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=44</guid>
		<description><![CDATA[Kilka miesięcy temu (gdzieś koło roku nawet, więc wypadałoby napisać &#8211; kilkanaście&#8230;) zetknąłem się z językiem Ruby, i oczywiście z frameworkiem Ruby On Rails. Jako że jestem programuję głównie dla sieci, ale też nie bezmyślnie, od dawna dostrzegam pewnie nazwijmy to niedostatki języka PHP. Dlatego właśnie wyczytałem w sieci wszystko, co się da na temat [...]]]></description>
			<content:encoded><![CDATA[<p>Kilka miesięcy temu (gdzieś koło roku nawet, więc wypadałoby napisać &#8211; kilkanaście&#8230;) zetknąłem się z językiem Ruby, i oczywiście z frameworkiem Ruby On Rails. Jako że jestem programuję głównie dla sieci, ale też nie bezmyślnie, od dawna dostrzegam pewnie nazwijmy to niedostatki języka PHP. Dlatego właśnie wyczytałem w sieci wszystko, co się da na temat tej wówczas dla mnie nowości, mocno się zainteresowałem, przyrzekłem sobie, że będę się tego &#8222;czegoś&#8221; uczyć w wolnych chwilach, aby nie tylko podnieść własne kwalifikacje, ale po prostu &#8211; aby poznać nowe trendy, jak to się ładnie nazywa&#8230;<br />
Niestety, smutna rzeczywistość zgotowała dla mnie coś zupełnie innego, bowiem w ciągu ostatnich kilku miesięcy tak byłem zawalony robotą, że początkowe &#8222;mocne postanowienia&#8221; musiałem, chcąc-niechcąc, odłożyć w kąt i skupić się na dotychczasowym klepaniu kodu.<br />
Teraz, po lekturze http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html zastanawiam się, czy właściwie nie zrobiłem dobrze? Czy Railsy nadal, mimo że upłynęło przecież kilka miesięcy, są w powijakach? Myślę, że tak, mimo wszystko nadal jest to technologia bardzo niszowa, z której przyswojeniem można jeszcze spokojnie poczekać.<br />
Póki co, w naszym zresztą mocno zacofanym kraju wciąż niepodzielnie rządzi &#8222;cowboy-codding&#8221; w postaci zgraj licealistów, którzy za pół darmo piszą serwisy i-netowe (czy zresztą mocno wkurzają &#8222;prawdziwych&#8221; programistów; można o tym przeczytać na niemal każdym forum poświęconym językowi PHP).<br />
Czy to źle, że Railsy tak kiepsko sobie radzą? Z mojej perspektywy &#8211; wcale nie. Mogę chociażby dzisiaj zasiąść do zgłębiania tego frameworka, i powiedzmy za miesiąc mieć go jako-tako opanowanego, a i tak pewnie byłbym jednym z pierwszych kilkudziesięciu zapaleńców, którym w ogóle chciało się to robić. <img src='http://dawidpisze.federowicz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
Z drugiej jednak strony, czy warto? Powiem szczerze: mocno mnie ten język pociąga, jego konstrukcja jest wręcz bajeczna, ale&#8230; no właśnie, zapytam po raz kolejny: <strong>czy warto uczyć się Ruby, Ruby On Rails</strong>???</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-1512785452250400";
google_ad_slot = "1428346834";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2009/03/rozwazania_ror_ruby_php/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails, vol. 3 &#8211; podstawy Ruby</title>
		<link>http://dawidpisze.federowicz.net/2008/11/ruby-on-rails-vol-3-podstawy-ruby/</link>
		<comments>http://dawidpisze.federowicz.net/2008/11/ruby-on-rails-vol-3-podstawy-ruby/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 18:57:14 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=28</guid>
		<description><![CDATA[Skoro instalację języka Ruby i frameworka Rails mamy już za sobą, warto byłoby poświęcić trochę czasu na bliższe zapoznanie się zarówno z samym językiem, jak i podstawami frameworka. Zaznaczam, że w tym miejscu podaję podstawy tego języka, które w żadnym razie nie wyczerpują tematu, a czasami są tylko szczytem góry lodowej. Jeśli Twoja ciekawość, Drogi [...]]]></description>
			<content:encoded><![CDATA[<p>Skoro instalację języka Ruby i frameworka Rails mamy już za sobą, warto byłoby poświęcić trochę czasu na bliższe zapoznanie się zarówno z samym językiem, jak i podstawami frameworka.<br />
Zaznaczam, że w tym miejscu podaję podstawy tego języka, które w żadnym razie nie wyczerpują tematu, a czasami są tylko szczytem góry lodowej. Jeśli Twoja ciekawość, Drogi Czytelniku, w którymś momencie jest niezaspokojona, pod koniec tego wpisu podaję kilka przydatnych linków, pod którymi znaleźć powinieneś odpowiedzi na interesujące Cię pytania. Zapraszam oczywiście również do komentowania wpisu &#8211; wszelkie uczestnictwo jest jak najbardziej mile widziane!<br />
No, ale zacznijmy już w końcu, prawda?</p>
<p><strong>Nieco historii&#8230;</strong><br />
Jak każdy tutorial, czy opis technologii, tak i tutaj zacznę od pewnego rysu historycznego, który pozwoli Ci nieco przychylniej spojrzeć na język Ruby i Railsy.</p>
<p>Zacznijmy od samego języka Ruby. Jest to stosunkowo młody język, bo jego historia zaczęła się w roku 1995, kiedy to <a href="http://pl.wikipedia.org/wiki/Yukihiro_Matsumoto" onclick="javascript:urchinTracker ('/outbound/article/pl.wikipedia.org');">Yukihiro Matsumoto</a> (pseudonim <em>Matz</em>) stworzył interpretowany, w pełni obiektowy i dynamicznie typowany język programowania, który nazwał Ruby (z angielskiego &#8211; <em>rubin</em>).<br />
Aby zdobyć sobie popularność, trzeba było tylko 8. lat &#8211; wtedy to, w 2008 roku, na rynku pojawił się framework Ruby on Rails. Od tego czasu (darujmy sobie szczegóły historii i ewolucji Ruby&#8217;iego i Railsów) masowo zdobywa sobie popularność.<br />
Co jest przyczyną aż takiej &#8222;kariery&#8221; Railsów (umówmy się: kiedy używam słowa Rails, to w kontekście połączenia Ruby&#8217;iego i frameworka Rails; kiedy natomiast wskazuję wyraźnie &#8222;ruby&#8221; &#8211; piszę o samym języku programowania)? Praktycy podawać tutaj będą dużo przyczyn, ale najczęściej wymienianymi są: prostota, szybkość pisania kodu (trudno właściwie mówić tutaj o pisaniu&#8230; ale nie uprzedzajmy wydarzeń), intuicyjność&#8230; Te zachwyty można by mnożyć, jednak wróćmy do głównego wywodu.<br />
Co jeszcze nas w tym miejscu powinno interesować? Acha, licencjonowanie. Oczywiście Ruby i framework są otwartym oprogramowaniem, licencjonowanym na zasadach GPL. Czyli &#8211; w zasadzie dowolność.</p>
<p>Teraz przejdźmy dalej, do rzeczy bardziej interesujących&#8230;</p>
<p><strong>Podstawowe typy danych</strong><br />
Ruby wspiera wszystkie typy danych znane programistom. Są to więc stringi, integery, floaty, itd. Nieco inaczej się nazywają, ale &#8211; jak napisano wyżej &#8211; jest to jeden z języków typowanych dynamicznie, w związku z czym nie musimy jawnie deklarować używanego typu danych, jak to ma miejsce chociażby w języku C. Tutaj wystarczy napisać:</p>
<p><code>puts 1+2</code><br />
w odpowiednim miejscu, żeby &#8222;na wyjściu&#8221; otrzymać wynik z dodawania 1 + 2.</p>
<p>Ach, ale jeszcze nie wspomnieliśmy o najpopularniejszych sposobach pracy z Rubym!<br />
Już nadrabiam&#8230;</p>
<p>Jeśli tak się nieszczęśliwie składa, że naszym środowiskiem roboczym jest jedynie słuszny Windows, nie rozpaczajmy! Mamy tutaj do dyspozycji &#8222;okienkowego&#8221; (a jakże&#8230;) <code>fxri</code>. Wyglądem przypomina komunikator w rodzaju GG, w swojej przed-betowej wersji. Ta całkiem niepozornie wyglądająca aplikacyjka może być całkiem przydatnym narzędziem, szczególnie teraz, kiedy stawiamy dopiero pierwsze kroki&#8230; Zwróćmy chociażby uwagę na lewą, dość długą listę klas i metod. Wystarczy jedno kliknięcie, by dowiedzieć się składni wybranej klasy, czy metody. Taki podręczny help na pewno nam nie zaszkodzi. Ale wróćmy teraz do głównego wywodu.</p>
<p>Wpiszmy więc do naszego fxri <code>puts 1+2</code>. Po zatwierdzeniu Enterem otrzymamy poniżej coś takiego:</p>
<p><code>3<br />
=> nil</code></p>
<p>Trójka &#8211; to oczywiście wynik naszego dodawania, bo właśnie takie polecenie wydaliśmy (1+2). Komenda <code>puts</code> była zwykłym poleceniem wyświetlenia ciągu tekstowego na domyślnym wyjściu. A ponieważ jako ciąg tekstowy wpisaliśmy <code>1+2</code>, interpreter policzył wynik tego dodawania i po prostu nam go wypisał.<br />
Zmodyfikujmy teraz nieco nasze polecenie; napiszmy</p>
<p><code>puts "1+2"</code></p>
<p>No, tym razem rzeczywiście zażyczyliśmy sobie na wyjściu stringa składającego się z trzech znaków! (1, 2, oraz znaku +). Na wyjściu otrzymaliśmy</p>
<p><code>1+2<br />
=> nil</code></p>
<p>Aby zachować w tym miejscu pewną dokładność, przyznać należy, że polecenie <code>puts</code> dokłada na końcu ciągu znak nowej linii, dlatego też <code>=> nil</code> pojawia się niżej.<br />
Z kolei => nil oznacza zakończenie działania naszego &#8222;programu&#8221; (mówiąc w wielkim skrócie, ale o tym kiedy indziej&#8230;).<br />
Aby karetka nie przechodziła nam do kolejnej linii, wystarczy nieco zmodyfikować nasz program:</p>
<p>print &#8222;1+2&#8243;</p>
<p>Teraz na wyjściu otrzymamy</p>
<p>1+2<br />
=> nil</p>
<p>W ten właśnie sposób doszliśmy do miejsca, w którym zaczyna się każdy podręcznik programowania, jaki tylko wzięlibyśmy do ręki: czas na napisanie &#8222;<strong>Hello world!</strong>&#8222;.</p>
<p>Jeśli nie jesteś na tyle bystry, by zrobić to samemu, masz dwa wyjścia: przewinąć nieco stronę i raz jeszcze przeczytać ten wpis, albo skorzystać z &#8222;gotowca&#8221;, który wygląda następująco:</p>
<p>puts &#8222;Hello world&#8221;</p>
<p>Prostsze, niż budowa cepa, prawda?</p>
<p><strong>Wejście-wyjście</strong><br />
Poznaliśmy już dwie metody wyprowadzenia ciągu znaków na standardowe wyjście, jakim jest ekran konsoli. Są to:<br />
<code>puts</code> &#8211; wyprowadzenie ciągu znaków na ekran i dodanie na koniec &#8222;ukrytego&#8221; znaku nowej linii, oraz<br />
<code>print</code> &#8211; jak wyżej, tylko bez dodawania nowej linii.<br />
Jest jeszcze <code>printf</code>, który działa identycznie, jak analogiczna funkcja znana z języka C (więcej informacji znajdziecie <a href="http://pl.wikibooks.org/wiki/C/printf" target="_blank" onclick="javascript:urchinTracker ('/outbound/article/pl.wikibooks.org');">tutaj</a>).<br />
Czas bliżej poznać polecenie <code>open</code> &#8211; najprostsze z serii poleceń operujących na plikach.<br />
Przeanalizujmy prosty przykład:<br />
<code>plik = open "C:\\dowolny_plik.txt"<br />
puts plik.gets</code><br />
a teraz porównajmy go z nieco dłuższym zapisem:<br />
<code>open "C:\\dowolny_plik.txt" do |plik|<br />
  puts plik.gets<br />
end</code><br />
Skutek działania tych dwóch zapisów jest w zasadzie ten sam: oba otwierają dowolny_plik.txt, pobierają z niego pierwszą linię, po czym wypisują ją (stosując znane nam już <code>puts</code>) na ekranie.<br />
Odczytu danych z dowolnego w zasadzie pliku możemy dokonać na dwa sposoby: klasycznie, lub w sposób blokowy. Zarknijmy na dwa przykłady:<br />
<code>plik = File.open "C:\\dowolny_plik.txt"<br />
while ln = plik.gets do puts ln end<br />
plik.close</code><br />
i drugi:<br />
<code>File.open "C:\\dowolny_plik.txt" do |plik|<br />
  while ln = plik.gets do puts ln end<br />
end</code><br />
Przewaga tego drugiego sposobu widoczna jest wtedy, kiedy przyjdzie nam śledzić wyjątki. W pierwszym przykładzie, jeśli wystąpi błąd proces może pominąć zamknięcie pliku, czego oczywiście byśmy nie chcieli. W drugim przykładzie plik zostanie zawsze zamknięty, nawet w przypadku wystąpienia błędu. Dlatego oczywiście zalecany jest ten drugi, jak można się domyślić&#8230; <img src='http://dawidpisze.federowicz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Na tym zakończymy &#8222;podstawy podstaw&#8221; Ruby&#8217;ego. W następnym odcinku zajmiemy się sterowaniem programem. <img src='http://dawidpisze.federowicz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-1512785452250400";
google_ad_slot = "1428346834";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2008/11/ruby-on-rails-vol-3-podstawy-ruby/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails, vol. 2 &#8211; instalacja</title>
		<link>http://dawidpisze.federowicz.net/2008/11/ruby-on-rails-vol-1-instalacja/</link>
		<comments>http://dawidpisze.federowicz.net/2008/11/ruby-on-rails-vol-1-instalacja/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 09:31:19 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=24</guid>
		<description><![CDATA[Zacznijmy w takim razie od tego samego, od czego zaczynają się zazwyczaj podobnego rodzaju tutoriale &#8211; od instalacji Ruby oraz Ruby on Rails. Aby nie popełnić w tym miejscu zbyt dużo błędów, wsparłem się lekturą kilku innych tutoriali, jakie znalazłem w sieci, oraz &#8211; żeby to wszystko zweryfikować &#8211; własnym doświadczeniem. Źródła Odnalezienie w sieci [...]]]></description>
			<content:encoded><![CDATA[<p>Zacznijmy w takim razie od tego samego, od czego zaczynają się zazwyczaj podobnego rodzaju tutoriale &#8211; od instalacji Ruby oraz Ruby on Rails. Aby nie popełnić w tym miejscu zbyt dużo błędów, wsparłem się lekturą kilku innych tutoriali, jakie znalazłem w sieci, oraz &#8211; żeby to wszystko zweryfikować &#8211; własnym doświadczeniem.</p>
<p><strong>Źródła</strong><br />
Odnalezienie w sieci pakietów instalacyjnych na różne platformy nie jest trudne. Wystarczą odwiedziny na stronie <a href="http://www.rubyonrails.pl" onclick="javascript:urchinTracker ('/outbound/article/www.rubyonrails.pl');">http://www.rubyonrails.pl</a> &#8211; tam znajdziemy link do pobrania odpowiednich instalatorów dla Windowsa, Linuksa, i oczywiście na Maca.</p>
<p><strong>Ruby</strong><br />
Lepiej poinformowani ode mnie twierdzą, że wersją języka Ruby, którą zaleca się do pracy z Ruby On Rails jest wersja 1.8.6. Jeśli chodzi o wcześniejsze wydania, to również dobrze możemy używać wersji 1.8.5, czy 1.8.4, ale już wersji 1.8.3 nie.<br />
Dla platformy Windows mamy oczywiście instalator (dostępny <a href="http://rubyforge.org/frs/?group_id=167" onclick="javascript:urchinTracker ('/outbound/article/rubyforge.org');">tutaj</a>), a wraz z nim Ruby&#8217;ego, najpopularniejsze rozszerzenia, oraz edytor.</p>
<p><strong>RubyGems</strong><br />
Kiedy uda nam się szczęśliwie zainstalować Ruby&#8217;ego, w następnej kolejności powinniśmy zainteresować się RubyGems. Użytkownicy linuksa będą bardziej zorientowani w temacie, kiedy powiem, że RubyGems są standardowym managerem pakietów Ruby. Działają na podobnej zasadzie, jak apt-get, czy emerge. Za pomocą kilku zaledwie poleceń wydanych w konsoli możemy z Internetu dociągnąć odpowiedni pakiet i go zainstalować.</p>
<p><strong>Rails</strong><br />
Kiedy mamy już zainstalowane RubyGems, problem zainstalowania frameworku Rails jest już bajecznie wręcz prosty do rozwiązania. Aby zainstalować to środowisko wraz ze wszystkimi zależnymi pakietami, wystarczy z konsoli wydać polecenie:<br />
<code><br />
gem install rails<br />
</code><br />
Zobaczymy wtedy zarówno postęp w ściąganiu najbardziej aktualnej wersji poszczególnych pakietów, jak i postęp samej instalacji. Za pomocą tego samego polecenia możemy później doinstalowywać kolejne pakiety, usuwać te, które są zbędne, czy w jakikolwiek sposób manipulować ustawieniami naszego środowiska. Co ważne, w przypadku wyjścia na świat aktualizacji, za pomocą tego samego polecenia możemy również zaktualizować nasze Railsy!</p>
<p><strong>Sprawdzamy środowisko</strong><br />
Aby sprawdzić, czy wszystko zostało zainstalowane poprawnie, to znaczy &#8211; czy nasze wcześniejsze działania przyniosły pożądany skutek, proponuję przejść do konsoli, przejść do katalogu, w którym umieścimy naszą przykładową aplikację, i wpisać kolejno:<br />
<code><br />
rails przyklad<br />
cd przyklad<br />
ruby script/server<br />
</code><br />
Pierwsze polecenie (<code>rails przyklad</code>) utworzy nam cały szkielet aplikacji, wszystkie katalogi, podstawowe pliki &#8211; zrobi za nas dosłownie wszystko, nie karząc nam tworzyć własnego zestawu katalogów, w których umieścilibyśmy (np. w PHP) pliki konfiguracyjne, te odpowiedzialne za widok, kontrolery, czy modele&#8230; Tutaj wystarczyło jedno polecenie! Przyjemne, prawda?<br />
Kolejne polecenie (<code>cd przyklad</code>) nie wymaga chyba wytłumaczenia. Za jego pomocą wchodzimy po prostu do świeżo utworzonego katalogu. I tyle.<br />
Ostatnie z serii (<code>ruby script/server</code>) służy do uruchomienia domyślnego serwera Ruby&#8217;ego.<br />
Po szczęśliwym wykonaniu powyższych kroków, powinniśmy uruchomić naszą ulubioną przeglądarkę internetową, i odwiedzić adres <code>http://localhost:3000</code>. Jeśli wszystko działa, Twoim oczom powinna się ukazać strona przykładowej aplikacji Ruby on Rails.</p>
<p><strong>Gotowce</strong><br />
W sieci istnieje oczywiście kilka lepszych lub gorszych w pełni wyposażonych środowisk, gotowych do natychmiastowego zainstalowania i użycia.<br />
Dla Mac OS X istnieje <a href="http://locomotive.sourceforge.net/" onclick="javascript:urchinTracker ('/outbound/article/locomotive.sourceforge.net');">Locomotive</a>, natomiast dla Windowsów &#8211; <a href="http://instantrails.rubyforge.org/" onclick="javascript:urchinTracker ('/outbound/article/instantrails.rubyforge.org');">Instant Rails</a>.<br />
Jeśli jednak chcielibyście znać moje zdanie, to chyba nie ma to jak samemu stworzyć swoje własne środowisko. To tak, jak instalować na komputerze Krasnala, kiedy lepiej nieco pomęczyć się z osobnym instalowaniem Apache, PHP i MySQL&#8217;a. Nie wiem, jak Wam, ale ja wolę trochę poczytać dokumentacji, trochę samemu pokombinować. Później, w przypadku wystąpienia błędów, zawsze łatwiej mi znaleźć je w takim własnoręcznie zainstalowanym i skonfigurowanym środowisku, niż w kombajnie, który instalowałem za pomocą jednego kliknięcia.<br />
Ale oczywiście to jest nasz indywidualny wybór. <img src='http://dawidpisze.federowicz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>Następny odcinek &#8211; już wkrótce!</em></p>
<ul>Przeczytacie w nim o:</p>
<li>podstawy języka Ruby</li>
<li>typy danych</li>
<li>sposób pisania kodu</li>
<li>sposób uruchamiania kodu</li>
<li>kilka przydatnych tricków, które mogą nam wydatnie pomóc w pracy z kodem <img src='http://dawidpisze.federowicz.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p><strong>Zapraszam!</strong><br />
<script type="text/javascript"><!--
google_ad_client = "pub-1512785452250400";
google_ad_slot = "1428346834";
google_ad_width = 728;
google_ad_height = 90;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2008/11/ruby-on-rails-vol-1-instalacja/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
