Podejmę pracę/współpracę. Najchętniej jako programista Ruby On Rails. Masz propozycję - pisz! Więcej informacji

Tuż przed świętami pojawił się baaardzo interesujący news! Wrzucam wzmiankę o nim dopiero teraz, gdyż musiałem ochłonąć ;-) rubyonrails.org/merb, czyli Merb łączy się z Rails. Wywołało to sporą burzę. Zwolennicy Merb-a są zdegustowani, a fani Rails w zasadzie zadowoleni (można powiedzieć, że to świąteczny prezent). Jedno jest pewne, takie połączenie będzie z korzyścią dla języka Ruby i dalszej popularyzacji aplikacji www opartych na nowym framework-u. Wygląda na to, że nowy rok, który właśnie się zaczął, zapowiada się niezwykle interesująco. Pozostaje czekać na Rails3 i wtedy będzie można zweryfikować wszystkie zapowiedzi, które zostały zwięźle opisane na blogu Jarosława Zabiełło Jestem dobrej myśli, gdyż nad nową wersją RoR będzie pracował core team z Ezrą Zygmuntowiczem na czele.

Czekam niecierpliwie :-)

Moja biblioteczka Ruby, RoR

Zbliżają się święta. Z tej okazji, a raczej z okazji wolnego czasu na który bardzo liczę, postanowiłem nadrobić zaległości związane z Ruby i Rails-ami. Zebrałem wszystkie książki i zobaczyłem, że całkiem tego sporo! Większość z pozycji, które widnieją na fotce, przerobiłem w mniejszym lub większym stopniu. A tu jeszcze naszła mnie ochota na kolejną: Ruby. Programowanie, jednym z autorów jest sam Yukihiro Matsumoto (!) Zakupu dokonam raczej w przyszłym roku. Teraz muszę się zastanowić, co wrzucić do torby na wyjazd świąteczny. Podejrzewam, że Ruby Programowanie i TAO – te książki można przerabiać wielokrotnie. W związku z moim nowym pomysłem na aplikację szczególnie przydatna może być ta druga.

okładka książki

Skusiłem się ostatnio na książkę Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych autorstwa Jarosława Zabiełło. Jest to nowość w Helionie. Miałem pewne opory jak zobaczyłem, że książka ma 216 stron. W końcu RoR to temat rzeka. Z racji tego, że cenie sobie bardzo autora, regularnie czytuję jego blog-a, zakupiłem tą pozycję.

Przerobiłem ją dość szybko. Nie mam wielkiego doświadczenia w RoR-ach (ciągle się wdrażam). Dla mnie ta książka okazała się świetnym usystematyzowaniem pewnych wiadomości. Szczególnie cenny okazał się rozdział dotyczący testowania. Wiele się dowiedziałem i zmieniło to trochę moje podejście do testów TDD i BDD. Informacje o Merb-ie, w ostatnim rozdziale, zainspirowały mnie do bliższego przyjrzenia się temu framework-owi. Fajnie, że jest jakaś alternatywa dla Rails-ów. Jeśli tylko pojawia się książka o Merbie autorstwa JZ (o której to książce wspomina na swoim blogu) to podejrzewam, że się skuszę :-) Ostatecznie bardzo udany zakup. To jest to, czego spodziewałem się na tych 216 stronach, czyli nie obszernej analizy Rails-ów, ale konkretów, pewnego ukierunkowania, spojrzenia z perspektywy osoby z dużym doświadczeniem w Rails-ach i technologiach pokrewnych.

Sporo tej lektury dotyczącej Ruby/RoR w mojej biblioteczce. Wkrótce zrobię jakieś podsumowanie…

Mephisto 0.8.1 Dec 09, 2008

Na grupie Mephisto od kilku dni/tygodni obserwuję ruch, związany z uruchomieniem tego bloga pod najnowszym wydaniem RoR-ów. Cieszy mnie to bardzo, gdyż moja strona opiera się na tym silniku. Dobrze jest wiedzieć, że prace nad dalszym rozwojem nie zostały zarzucone.

Na oficjalnej stronie jest nowy temat, który potwierdza dobre wiadomości Edge Mephisto supports Rails 2.2 Jest jeszcze kilka błędów do poprawienia, ale myślę, że wkrótce będzie już oficjalnie wersja 0.8.1.

Na GitHub jest wersja zawierająca najnowsze modyfikacje Można w wolnej chwili przetestować.

Obawiałem się, że sytuacja taka, że projekt zostaje zawieszony, może dotknąć Mephisto. Na szczęście temat nie jest rozwijany przez jedną osobę, ale przez grupę entuzjastów, więc wydaje się, że będzie dobrze :-)

Jak do tej pory moje próby związane z Ruby i Rails odbywały się pod MacOS Tiger. Ostatnio postanowiłem sprawdzić jak uruchomić tą machinę pod Windows (konkretnie XP, ale to nie ma znaczenia).

Na początek chciałem znaleźć coś, co zastąpi mi CMD, czyli windowsowy wiersz poleceń. Może “zastąpi” to jest złe słowo, uczyni go bardziej użytecznym i zbliży wyglądem do Terminala pod MacOS. Grzebiąc po forach szybko trafiłem na Console2 . Tutaj zrodziło się pytanie, jak zmusić Console do pracy na rzecz ruby/rails, jak to wszystko powiązać …? Z pomocą przychodzi Cygwin – “Implementacja standardu POSIX funkcji systemowych przeznaczona dla systemów Win32 oraz zestaw oprogramowania w większości przeniesionego z systemów typu Unix (np. Linux, BSD)” . W tym momencie byłem już w domu ;-)

Zainteresowanych szczegółami instalacji i konfiguracji Console + Cygwin + Ruby/Rails odsyłam do dwóch bardzo fajnych postów, na podstawie których każdy bez problemu sobie poradzi, skoro ja sobie poradziłem ;-)

Setting up Rails on Windows with Cygwin A Mac-esque Rails Development Environment on Windows

Od początku maja testowałem sobie serwer Rails-owy. W końcu postanowiłem, że przenoszę mojego bloga na RoR-y. Pod uwagę wziąłem Typo i Mephisto. Po kilku godzinach już wiedziałem, że będzie to ten drugi. Dlaczego? Nie sugerowałem się żadnymi postami w stylu, że Typo ma więcej możliwości (wtyczki), a Mephisto jest bardziej stabilny etc. Zwyczajnie Mephisto przypadł mi do gustu i tyle ;-)

Znalazłem kilka tutoriali odnośnie pisania wtyczek i planuję dodać kilka ułatwień do moich szablonów liquid-owych. Fajna sprawa.

Z bieżących rzeczy. Dałem krok do tyłu jeśli chodzi o Rails-y, a mianowicie zacząłem czytać słynną książkę z kilofem Wcześniej język ten starałem się opanować na podstawie materiałów dostępnych w necie. Kolejna pozycja, dość stara, która mnie zaciekawiła to From Journeyman to Master Wszystko zaczęło się od pewnej dyskusji na polskim forum RoR. Zobaczymy jak uda się zrealizować te plany czytelnicze, gdyż na biurku leży też trochę prozy.

Agile Rails-owy to podstawowa książka dla wszystkich, którzy zaczynają przygodę z tym framework-iem. 2nd Edition zaraziła mnie Rails-ami, a także rozwiązała sporo problemów, które pojawiają się przy starcie. Dlatego gdy przeczytałem news-a, że pojawiła się kolejna wersja zaktualizowana do Rails 2, to postanowiłem ją zakupić nie przykładając wagi do słowa “Beta” ;-)

Niestety, prawie każdy dział ma pewne braki i rzeczy do uzupełnienia. Czasem jest to przykładowy kod, czasem zrzuty ekranów, a czasem wszystko w danym rozdziale. Na stronie 15 jest opisany status prac nad trzecim wydaniem. Myślałem, że będę miał co czytać podczas długiego weekend-u (w przypadku deszczu oczywiście). W zasadzie to będę miał, ale jest tego niewiele. Na szczęście wersja ostateczna będzie dostępna bez dodatkowych opłat: You’ll get the final PDF when the book is finished.

Z drugiej strony, troszkę się wlecze wydawanie nowych Agile-i. Wersja trzecia w postaci papierowej ukażę się w październiku, a już dzisiaj czytam o wydaniu Rails-ów 2.2(!) Kiedyś myślałem, że to Helion wydaje z dużym opóźnieniem ;-)

Szperając na Amazonie zauważyłem, że w najbliższych miesiącach pojawi się kilka nowych pozycji, między innymi ze stajni Pragmatic Programmers. Warto być czujnym i polować na promocje.

PS. ...no i pada!

Przeglądając zaległe news-y dotyczące Rails-ów trafiłem na “Rails is moving from SVN to Git”. Z racji tego, że nie miałem pojęcia o Git (rozproszony system wersjonowania), postanowiłem trochę “pogooglować”. Znalazłem kilka ciekawych informacji, także na polskich stronach. Np. krótko i treściwie na blogu Drogomir-a. Stwierdziłem, że Git faktycznie wygląda bardzo obiecująco (wnioski z komentarzy i opisów :-) i trzeba się bliżej temu przyjrzeć. Postanowiłem poszukać instrukcji jak to “cudo” odpalić na moim PowerBook-u z Tigerem. Znalazłem kilka ciekawych instrukcji/tutoriali jednak wszystkie dotyczyły Leoparda. Hmmm, pomyślałem, że albo pod Tigerem jest to bardzo proste do uruchomienia, albo już mało kto używa Tygrysa ( ...wszyscy siedzą na Leo!?). Z racji tego, że temat systemu kontroli wersji nie jest moją specjalności (ważne żeby działało i robiło to, co ma robić jak najszybciej się da) postanowiłem “zagooglować” nieco głębiej i dotarłem do takiej oto notki: “Installing GIT on OS-X In 3 Minutes” na blogu Iraklis-a. To pomogło bez problemu zainstalować Git-a.

Teraz czas to przetestować! Może skorzystam z darmowego konta na github (?) ..hmm.

Rails 2, przesiadka Feb 14, 2008

Ostatnio robiłem aktualizację aplikacji nad którą aktualnie pracuję do Rails 2. W zasadzie wszystko poszło nadspodziewanie gładko. Pojawiło się kilka błędów, ale nie były to poważne zmiany.

Na początek nie mogłem odpalić migracji, okazało się że miałem pole w tabeli nazwane create. Potem wyczytałem, że jest zalecane zainstalowanie will_paginate zamiast classic_pagination, które podobno chodzi baaardzo wolno. Dodatkowo doszło kilka zmian w definiowaniu formularzy. Wiadomo, że formularz to podstawa aplikacji rails-owej w związku z tym czekało mnie w tym temacie kilka modyfikacji. Warto odpalić rake deprecated zanim zabierzemy się do zmian. Więcej tutaj. Dla tych co chcą pozostać przy klasycznej paginacji> script/plugin install svn://errtheblog.com/svn/plugins/classic_pagination

Dla chcących się wdrożyć w will_paginate (polecam!): railscasts.com/episodes/513.

Tyle problemów z konwersją mojej aplikacji. Co do korzyści płynących z nowych RoR-ów to hmm… no jest ich sporo (m. in. lepsze narzędzia do debugowania, większa wydajność i wiele więcej ), ale jeszcze ich nie doświadczyłem na własnej skórze, pewnie za chwilę to nastąpi ;-)

Poszukując forum, które będzie proste i bez specjalnych wymagań trafiłem na Beast. Rzeczywiście dla tych co nie szukają klonu BBForum oraz cenią sobie minimalistyczne podejście do aplikacji internetowych, jest to rozwiązanie idealny. Jak można wyczytać na stronie Beast:

What is Beast? A small, light-weight forum in Rails with a scary name and a goal of around 500 lines of code when we’re done.

Co oddaje sedno sprawy ;-)W moim przypadku celem przetestowania zainstalowałem bestię na Rails, które chodzą pod Locomotive na MacOS X Tiger. Był mały zgrzyt przy konfiguracji, ale w końcu wszystko poszło jak należy. Zacząłem od zainstalowania wszystkich potrzebnych gem-ów, potem odpaliłem rake db:schema:load i poszło. Wszystko biega na bazie sqlite3. Aha! na wstępie warto zmienić w boot.rb require_gem na gem, wtedy unikniemy pojawiania się błędu przy ‘odpalaniu’. To informacja dla tych, co instalują gem-y ‘defaultowo’.To tyle drobnych uwag dla fanów Lokomotywy. Dla tych, co chcą rozpocząć zabawę/testowanie polecam: Getting Started with Beast

UPDATE: W Rails2, pojawiają się inne problemy przy odpalaniu Bestii. Generalnie polecam zaciągnąć wersję:

svn checkout http://svn.techno-weenie.net/projects/beast/trunk

Następnie jeśli pojawią się kolejne problemy to warto sprawdzić czy ruszy po zakomentowaniu w pliku environment.rb linijki zawierającej whiny_protected_attributes.