<?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; Ruby On Rails</title>
	<atom:link href="http://dawidpisze.federowicz.net/category/ruby-on-rails/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>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>
		<item>
		<title>Ruby on Rails??? (vol. 1)</title>
		<link>http://dawidpisze.federowicz.net/2008/10/ruby-on-rails-vol-1/</link>
		<comments>http://dawidpisze.federowicz.net/2008/10/ruby-on-rails-vol-1/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 07:58:53 +0000</pubDate>
		<dc:creator>Dawid</dc:creator>
				<category><![CDATA[Programowanie]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://dawidpisze.federowicz.net/?p=11</guid>
		<description><![CDATA[Już jakiś czas temu trafiłem na informację o języku Ruby i frameworku Ruby On Rails. Niestety, z braku czasu nie mogłem sobie pozwolić na bardziej dogłębne jego przestudiowanie, czego bardzo żałuję i codziennie sobie wypominam&#8230; Wymawianie się brakiem czasu nie jest tutaj podstawowym powodem; jest właściwie jednym z wielu. Kolejnym, niemniej ważnym jest brak ogólnodostępnej [...]]]></description>
			<content:encoded><![CDATA[<p>Już jakiś czas temu trafiłem na informację o języku Ruby i frameworku Ruby On Rails. Niestety, z braku czasu nie mogłem sobie pozwolić na bardziej dogłębne jego przestudiowanie, czego bardzo żałuję i codziennie sobie wypominam&#8230;<br />
Wymawianie się brakiem czasu nie jest tutaj podstawowym powodem; jest właściwie jednym z wielu. Kolejnym, niemniej ważnym jest brak ogólnodostępnej dokumentacji w języku polskim, która w sposób bardziej przejrzysty pozwoliłaby zapoznać się z tym niesamowitym narzędziem.<br />
Oczywiście, można by mi tutaj zarzucić, że nie dość wytrwale przeszukiwałem sieć. Możliwe, ale proszę sobie porównać chociażby ilość wszelkiego rodzaju dokumentacji, tutoriali, faq&#8217;ów, porad, &#8222;forumów&#8221;, jakie stworzone zostały dla PHP. Są tego setki, jeśli nie tysiące. A teraz poszukajmy informacji na temat Ruby/Ruby On Rails. Google oczywiście podadzą nam kilka, kilkanaście, czy kilkadziesiąt adresów, na których znajdziemy podstawy: składnię języka, sposób instalacji, krótkie wprowadzenie pt. &#8222;jak zacząć&#8221;&#8230; Ale żeby znaleźć jakoś więcej informacji na temat zastosowania poszczególnych funkcji &#8211; z tym już będzie trudniej, oj, dużo trudniej.<br />
Oczywiście zaraz odezwą się tutaj głosy przeciwne: że przecież wszystko jest open source, że są fora, jest już znaczne community skupione wokół tego języka. Tak, zgadzam się z Wami. Ale mimo wszystko, nadal czegoś mi tutaj brakuje&#8230; Acha, już wiem czego!</p>
<ul>
Wyjaśniam: język PHP trafił pod strzechy z kilku powodów:</p>
<li>1. Jest raczej prosty, można w nim właściwie pisać znając podstawy, kilka głównych zasad. (tutaj też upatrywać należy przyczyn tego, że zawodowi programiści PHP często narzekają na fakt, że robotę odbierają im studenci).</li>
<li>2. Wszystko, dosłownie wszystko już w tym języku zostało napisane, nie ma problemu, na który już ktoś przed nami nie natrafił i nie opisał. Dlatego właśnie wystarczy sięgnąć do php.net/Google &#8211; i po prostu znaleźć rozwiązanie.</li>
<li>3. Może część community RoR uzna, że się mylę, ale cóż&#8230; Otóż uważam, że pod przykrywką &#8222;otwartości&#8221;, &#8222;open-sourcowości&#8221;, kryje się jednak pewna doza zawiści. Osoby, które poznały język Ruby i RoR niechętnie dzielą się swoją wiedzą. Zapytane, dlaczego tak się dzieje, nawet nie potrafią tego wyjaśnić. Moja teoria jest taka, że podświadomie nie chcą by grono programistów RoR zwiększało się zbyt gwałtownie, by RoR (tak jak PHP) trafiło pod strzechy. Dlatego wiedzę przez siebie zdobytą traktują jako wiedzę tajemną, do której nie dopuszcza się innych, spoza &#8222;układu&#8221;&#8230; To, co programiście PHP zajmuje tydzień, tutaj można napisać w kilka godzin, używając przy tym znacznie wymyślniejszych technik, jak AJAX. Więc: po co robić sobie konkurencję? Po co, jak miało to miejsce przy PHP, do &#8222;tortu&#8221; dopuszczać studentów, którzy zaczną z czasem odbierać chleb?</li>
</ul>
<p>Taka jest moja teoria, jeśli chodzi o niepopularność, czy też &#8211; mniejszą popularność Ruby &#038; RoR.<br />
Może się mylę. Może błądzę. Ale &#8211; postanowiłem dodać swoją cegiełkę, jeśli chodzi o Railsy.<br />
Pomysł mam taki, że w tym miejscu publikował będę swój kurs RoR. Tak, jak ja go rozumiem, jak ja go widzę. Mam dzięki temu nadzieję, że znajdzie się grupa wiernych Czytelników, która rozrośnie się później w stałe grono ludzi, dla których RoR będzie narzędziem profesji.<br />
Od razu na wstępie chciałbym zaznaczyć, że nie mam monopolu na wiedzę; jeśli gdzieś się mylę, coś podaję niezgodnie z prawdą, czy o czymś zapomniałem &#8211; proszę mi to spokojnie wytykać. Postaram się na bieżąco poprawiać błędy i uzupełniać.<br />
Za kilka dni &#8211; pierwsza część kursu! Zapraszam!</p>
]]></content:encoded>
			<wfw:commentRss>http://dawidpisze.federowicz.net/2008/10/ruby-on-rails-vol-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
