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 – 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 – 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 – ale bez “windowsów”.
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 “windowsowych” 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 – wyłącznie z Windowsem.
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 artykułu w Wikipedii, by uzmysłowić sobie, że nie samym windowsem człowiek żyje…
Jak powiedziałem, open source’owe OS’y i poszczególne programy warte są bliższego poznania. Czasami korzystać z nich możemy jedynie w domu, bo w pracy obowiązuje “corporate standard” (czyli Windows w najróżniejszych odmianach), ale jednak – warto.
Stosunkowo niedawno w sieci pojawiła się zajawka (bo systemem w pełnym tego słowa znaczeniu nazwać tego nie można) platformy handlowej – 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, niewielka ich ilość zdobywa sobie rzeszę stałych klientów (czyli: stałego dochodu), a baaardzo nieliczne wybija się, zostaje, a nawet (bywa) rozwija.
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.
Po prostu – zbierają “zamówienia”. Nie, przepraszam – 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 “przetwarzanie danych osobowych zgodnie z Ustawą…”, itd.
Ciekawe…
Właściwie nie wiemy do końca, na co się zgadzamy, nigdzie nie jest to wyraźnie napisane. A powinno.
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…
Ale – 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… 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…
Jako że jednym z podstawowych celów przedsiębiorstwa jest zysk, a sposobem na jego osiągnięcie – 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.
Niekoniecznie do celów, jakich byśmy sobie życzyli.
Dzisiaj dostałem maila z adresu ania@kupuj.pl pt. “Szukasz okazji w internecie?”.
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.
Jak dla mnie, powinniście zmienić adres na kupuj_ale_nie_tutaj.pl.
Nie wróżę Wam sukcesu.
Tak to już się w moim życiu układa, że co jakiś czas, chcąc / nie-chcąc – zmieniam pracę. W poprzedniej było całkiem spoko, ale z czasem…
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 (”wyzwania”, jak to się pisze w CV), to powolutku schodzą z tego świata.
I ja chyba w znacznej części jestem właśnie kimś takim.
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.
W tym przypadku do mojego odejścia od poprzedniego pracodawcy doszedł “kryzys”. 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.
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.
Nie będę tutaj więcej wymieniał mojego byłego pracodawcy; zachowam swoje zdanie co do jego postępowania dla siebie.
W przyszłym tygodniu postaram się za to więcej napisać o obecnym zajęciu (znowu w PHP…), może też opublikuję jakiś tekścik branżowy, z zakresu PHP właśnie?
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 sposób, życie byłoby piękne!
Zapraszam do obejrzenia.
Jeśli film by się zacinał, włącz na moment pauzę, żeby więcej danych ściągnęło się na komputerek.
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ą 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!
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. KonferencjaEvent.pl to wortal ludzi dobrze poinformowanych. Jeśli nie chcemy już prowadzić własnych notatek, lub też wolimy, by ktoś prowadził to za nas – warto tutaj zaglądać!
Tak się jakoś (szczęśliwie?) złożyło, że staram się skończyć z programowaniem czegokolwiek na zasadach tzw. cowboy-coding’u – czyli pisania kodu na podstawie kilku świstków, które – w zamierzeniu ich autorów – stanowić miały dokumentację techniczno-funkcjonalną, do tego – całkowicie wyjaśniać, co się po mnie jako wykonawcy projektu zleceniodawca spodziewa.
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ć.
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 – kompletnie nic mi nie mówi. Czy mógłbym otrzymać jakiś, hmmm… 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?
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 “wypracować”. 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! “Przecież wszystko jest w tym ^projekcie^, który Pan dostał!”
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 “narodzin”, albo wykonuje go jakiś licealista za 200 złotych (”okazyjnie”, bez zbędnych “opisów”).
Trafiłem właśnie na dyskusję na ten ważny temat: http://www.goldenline.pl/forum/webdesign/815801/s/1#16184536
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 tutaj).
Gdzie więc najlepiej szukać informacji na temat najbardziej interesujący programistów, ale też (albo – PRZEDE WSZYSTKIM) – Zleceniodawców?
Nieco akademickiego żargonu można znaleźć tutaj (nie doczytałem do końca, bo mnie to po prostu przeraziło…).
Można również przeczytać ten 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.
Zanim zabierzecie się za tworzenie własnej dokumentacji, Szanowni Zleceniodawcy, proponuję lekturę tego materiału. Zobaczycie, co Was czeka, jeśli dokumentacja nie zostanie przemyślana, albo w ogóle będziecie unikać jej stworzenia!
Można się oczywiście wesprzeć tym mini-poradnikiem.
Więcej informacji (jak zwykle) znaleźć można w sieci (zresztą, powyższe przykłady również wyszukane zostały za pomocą “gugli”…). 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 – proszę pisać! Chętnie dołączę tutaj stosowny link!
Kilka miesięcy temu (gdzieś koło roku nawet, więc wypadałoby napisać – kilkanaście…) 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 “czegoś” uczyć w wolnych chwilach, aby nie tylko podnieść własne kwalifikacje, ale po prostu – aby poznać nowe trendy, jak to się ładnie nazywa…
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 “mocne postanowienia” musiałem, chcąc-niechcąc, odłożyć w kąt i skupić się na dotychczasowym klepaniu kodu.
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ć.
Póki co, w naszym zresztą mocno zacofanym kraju wciąż niepodzielnie rządzi “cowboy-codding” w postaci zgraj licealistów, którzy za pół darmo piszą serwisy i-netowe (czy zresztą mocno wkurzają “prawdziwych” programistów; można o tym przeczytać na niemal każdym forum poświęconym językowi PHP).
Czy to źle, że Railsy tak kiepsko sobie radzą? Z mojej perspektywy – 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ć.
Z drugiej jednak strony, czy warto? Powiem szczerze: mocno mnie ten język pociąga, jego konstrukcja jest wręcz bajeczna, ale… no właśnie, zapytam po raz kolejny: czy warto uczyć się Ruby, Ruby On Rails???
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 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 – wszelkie uczestnictwo jest jak najbardziej mile widziane!
No, ale zacznijmy już w końcu, prawda?
Nieco historii…
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.
Zacznijmy od samego języka Ruby. Jest to stosunkowo młody język, bo jego historia zaczęła się w roku 1995, kiedy to Yukihiro Matsumoto (pseudonim Matz) stworzył interpretowany, w pełni obiektowy i dynamicznie typowany język programowania, który nazwał Ruby (z angielskiego – rubin).
Aby zdobyć sobie popularność, trzeba było tylko 8. lat – wtedy to, w 2008 roku, na rynku pojawił się framework Ruby on Rails. Od tego czasu (darujmy sobie szczegóły historii i ewolucji Ruby’iego i Railsów) masowo zdobywa sobie popularność.
Co jest przyczyną aż takiej “kariery” Railsów (umówmy się: kiedy używam słowa Rails, to w kontekście połączenia Ruby’iego i frameworka Rails; kiedy natomiast wskazuję wyraźnie “ruby” – 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… ale nie uprzedzajmy wydarzeń), intuicyjność… Te zachwyty można by mnożyć, jednak wróćmy do głównego wywodu.
Co jeszcze nas w tym miejscu powinno interesować? Acha, licencjonowanie. Oczywiście Ruby i framework są otwartym oprogramowaniem, licencjonowanym na zasadach GPL. Czyli – w zasadzie dowolność.
Teraz przejdźmy dalej, do rzeczy bardziej interesujących…
Podstawowe typy danych
Ruby wspiera wszystkie typy danych znane programistom. Są to więc stringi, integery, floaty, itd. Nieco inaczej się nazywają, ale – jak napisano wyżej – 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ć:
puts 1+2
w odpowiednim miejscu, żeby “na wyjściu” otrzymać wynik z dodawania 1 + 2.
Ach, ale jeszcze nie wspomnieliśmy o najpopularniejszych sposobach pracy z Rubym!
Już nadrabiam…
Jeśli tak się nieszczęśliwie składa, że naszym środowiskiem roboczym jest jedynie słuszny Windows, nie rozpaczajmy! Mamy tutaj do dyspozycji “okienkowego” (a jakże…) fxri. 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… 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.
Wpiszmy więc do naszego fxri puts 1+2. Po zatwierdzeniu Enterem otrzymamy poniżej coś takiego:
3
=> nil
Trójka – to oczywiście wynik naszego dodawania, bo właśnie takie polecenie wydaliśmy (1+2). Komenda puts była zwykłym poleceniem wyświetlenia ciągu tekstowego na domyślnym wyjściu. A ponieważ jako ciąg tekstowy wpisaliśmy 1+2, interpreter policzył wynik tego dodawania i po prostu nam go wypisał.
Zmodyfikujmy teraz nieco nasze polecenie; napiszmy
puts "1+2"
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
1+2
=> nil
Aby zachować w tym miejscu pewną dokładność, przyznać należy, że polecenie puts dokłada na końcu ciągu znak nowej linii, dlatego też => nil pojawia się niżej.
Z kolei => nil oznacza zakończenie działania naszego “programu” (mówiąc w wielkim skrócie, ale o tym kiedy indziej…).
Aby karetka nie przechodziła nam do kolejnej linii, wystarczy nieco zmodyfikować nasz program:
print “1+2″
Teraz na wyjściu otrzymamy
1+2
=> nil
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 “Hello world!“.
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 “gotowca”, który wygląda następująco:
puts “Hello world”
Prostsze, niż budowa cepa, prawda?
Wejście-wyjście
Poznaliśmy już dwie metody wyprowadzenia ciągu znaków na standardowe wyjście, jakim jest ekran konsoli. Są to: puts – wyprowadzenie ciągu znaków na ekran i dodanie na koniec “ukrytego” znaku nowej linii, oraz print – jak wyżej, tylko bez dodawania nowej linii.
Jest jeszcze printf, który działa identycznie, jak analogiczna funkcja znana z języka C (więcej informacji znajdziecie tutaj).
Czas bliżej poznać polecenie open – najprostsze z serii poleceń operujących na plikach.
Przeanalizujmy prosty przykład: plik = open "C:\\dowolny_plik.txt"
puts plik.gets
a teraz porównajmy go z nieco dłuższym zapisem: open "C:\\dowolny_plik.txt" do |plik|
puts plik.gets
end
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ż puts) na ekranie.
Odczytu danych z dowolnego w zasadzie pliku możemy dokonać na dwa sposoby: klasycznie, lub w sposób blokowy. Zarknijmy na dwa przykłady: plik = File.open "C:\\dowolny_plik.txt"
while ln = plik.gets do puts ln end
plik.close
i drugi: File.open "C:\\dowolny_plik.txt" do |plik|
while ln = plik.gets do puts ln end
end
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ć…
Na tym zakończymy “podstawy podstaw” Ruby’ego. W następnym odcinku zajmiemy się sterowaniem programem.
Zacznijmy w takim razie od tego samego, od czego zaczynają się zazwyczaj podobnego rodzaju tutoriale – 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 – żeby to wszystko zweryfikować – własnym doświadczeniem.
Źródła
Odnalezienie w sieci pakietów instalacyjnych na różne platformy nie jest trudne. Wystarczą odwiedziny na stronie http://www.rubyonrails.pl – tam znajdziemy link do pobrania odpowiednich instalatorów dla Windowsa, Linuksa, i oczywiście na Maca.
Ruby
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.
Dla platformy Windows mamy oczywiście instalator (dostępny tutaj), a wraz z nim Ruby’ego, najpopularniejsze rozszerzenia, oraz edytor.
RubyGems
Kiedy uda nam się szczęśliwie zainstalować Ruby’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ć.
Rails
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:
gem install rails
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!
Sprawdzamy środowisko
Aby sprawdzić, czy wszystko zostało zainstalowane poprawnie, to znaczy – 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:
rails przyklad
cd przyklad
ruby script/server
Pierwsze polecenie (rails przyklad) utworzy nam cały szkielet aplikacji, wszystkie katalogi, podstawowe pliki – 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… Tutaj wystarczyło jedno polecenie! Przyjemne, prawda?
Kolejne polecenie (cd przyklad) nie wymaga chyba wytłumaczenia. Za jego pomocą wchodzimy po prostu do świeżo utworzonego katalogu. I tyle.
Ostatnie z serii (ruby script/server) służy do uruchomienia domyślnego serwera Ruby’ego.
Po szczęśliwym wykonaniu powyższych kroków, powinniśmy uruchomić naszą ulubioną przeglądarkę internetową, i odwiedzić adres http://localhost:3000. Jeśli wszystko działa, Twoim oczom powinna się ukazać strona przykładowej aplikacji Ruby on Rails.
Gotowce
W sieci istnieje oczywiście kilka lepszych lub gorszych w pełni wyposażonych środowisk, gotowych do natychmiastowego zainstalowania i użycia.
Dla Mac OS X istnieje Locomotive, natomiast dla Windowsów – Instant Rails.
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’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.
Ale oczywiście to jest nasz indywidualny wybór.
Następny odcinek – już wkrótce!
Przeczytacie w nim o:
podstawy języka Ruby
typy danych
sposób pisania kodu
sposób uruchamiania kodu
kilka przydatnych tricków, które mogą nam wydatnie pomóc w pracy z kodem
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…
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.
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’ów, porad, “forumów”, 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. “jak zacząć”… Ale żeby znaleźć jakoś więcej informacji na temat zastosowania poszczególnych funkcji – z tym już będzie trudniej, oj, dużo trudniej.
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… Acha, już wiem czego!
Wyjaśniam: język PHP trafił pod strzechy z kilku powodów:
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).
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 – i po prostu znaleźć rozwiązanie.
3. Może część community RoR uzna, że się mylę, ale cóż… Otóż uważam, że pod przykrywką “otwartości”, “open-sourcowości”, 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 “układu”… 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 “tortu” dopuszczać studentów, którzy zaczną z czasem odbierać chleb?
Taka jest moja teoria, jeśli chodzi o niepopularność, czy też – mniejszą popularność Ruby & RoR.
Może się mylę. Może błądzę. Ale – postanowiłem dodać swoją cegiełkę, jeśli chodzi o Railsy.
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.
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 – proszę mi to spokojnie wytykać. Postaram się na bieżąco poprawiać błędy i uzupełniać.
Za kilka dni – pierwsza część kursu! Zapraszam!