Brakujące reguły pluralizacji w Rails

Opublikowane przez Jarosław Zabiełło Mon, 02 Aug 2010 21:39:00 GMT

Połączenie sił wbudowanego mechanizmu I18n oraz pluginu Globalize daje całkiem duże możliwości do budowania wielojęzycznych aplikacji w Rails. Globalize służy do tłumaczenia danych trzymanych w bazie. Zaś moduł I18n do typowych prac lokalizacyjnych związanych z interfejsem aplikacji (włącznie ze wszystkimi komunikatami wyświetlanymi przez sam framework Ruby on Rails). Jedynym problemem jaki spotkałem jest brak reguł pluralizacji dla języków innych od języka angielskiego.

Czytaj dalej...

Tagi , , , ,  | 10 comments

Rails3 i wygasający cache

Opublikowane przez Jarosław Zabiełło Fri, 02 Jul 2010 20:37:00 GMT

Standardowa obsługa cache’a w Rails 2.x (trzymająca buforowane dane w plikach) pozbawiona jest automatycznego odświeżania buforowanych treści po zadanym okresie czasu. Co prawda Rails dostarcza bogaty zestaw warunków które są w stanie wyzwolić “sweepera” (metodę regenerującą wybrany fragment cache’a), ale regenerowanie cache’a możliwe jest tylko na żądanie. I aby to zmienić, w Rails 2.x konieczne jest użycie Memcached jako domyślnego backendu dla systemu cache’owania.

Czytaj dalej...

Tagi , , , , ,  | brak comments

Rails3 & Globalize2

Opublikowane przez Jarosław Zabiełło Fri, 02 Jul 2010 12:42:00 GMT

Standardowa metoda umiędzynarodowienia aplikacji webowej oparta na plikach YAML, czy bibliotece Gettext, dobrze się sprawdza w przypadku tłumaczenia interfejsu aplikacji, ale już niekoniecznie w sytuacji, kiedy teksty trzymane są w bazie danych. Standardowo i18n w Rails używa plików YAML (choć można użyć Gettext lub zdefiniować zupełnie własną obsługę). Aby tłumaczyć dane trzymane w bazie, trzeba sięgnąć po odpowiedni plugin.

Jednym z najlepszych pluginów (opisywałem go w książce), jest Globalize. Niestety, Globalize nie działa z nowym Rails 3. Istnieje co prawda nowy, przebudowany od podstaw Globalize2, ale (w chwili pisania tego tekstu), nawet sam autor nie jest pewny czy działa z Rails 3. Okazuje się, że można zmusić Globalize2 do pracy z Rails 3 i to całkiem prosto.

Czytaj dalej...

Tagi , , , , , , ,  | 9 comments

Rails 3.0 beta

Opublikowane przez Jarosław Zabiełło Wed, 24 Feb 2010 02:30:00 GMT

Muszę przyznać, że wydana parę tygodni temu wersja beta Ruby on Rails 3.0 wygląda bardzo obiecująco. Choć to dopiero beta, to wprowadzone razem z nią ulepszone zarządzanie gemami za pomocą Bundler'a robi dobre wrażenie. Aby ułatwić sobie eksperymentowanie z nowym RoR 3.0, najlepiej zainstalować wpierw RVM...

Czytaj dalej...

Tagi , , , ,  | 6 comments

Uwolnienie potęgi iPhona - jailbreaking

Opublikowane przez Jarosław Zabiełło Sun, 17 Jan 2010 02:58:00 GMT

Tak, jak pewnie większość użytkowników iPhone’a, mimo że słyszałem od dawna o możliwości zdjęcia apple’owskich blokad (proces określany jako jailbreaking), to trochę się obawiałem że taka operacja to potencjalne ryzyko zablokowania aparatu lub jakichś innych nieodwracalnych uszkodzeń. Prawda jest taka, że to wszystko to brednie i ploty. Jailbreak jest bardzo łatwy do przeprowadzenia i jest to proces w pełni odwracalny.

Czytaj dalej...

Tagi , , , , , , , , , , , , , ,  | 16 comments

RubyMine - najlepszy IDE dla Ruby i Rails

Opublikowane przez Jarosław Zabiełło Mon, 12 Oct 2009 22:13:00 GMT

Mimo, że spora część programistów Ruby’ego i Rails pozostaje wierna edytorom tekstowym takim jak TextMate, Emacs, Vim czy (opisywany dwa lata temu) JEdit, druga część woli IDE ze względu na rozbudowany lepszy refactoring, wbudowany (graficzny) debugger, podpowiedzi i analiza składni kodu Ruby’ego w czasie rzeczywistym. Z różnych IDE do Rails to tak naprawdę liczą się tylko trzy.

Czytaj dalej...

Tagi , , , , , , , ,  | 11 comments

Rails dopalony Sinatrą

Opublikowane przez Jarosław Zabiełło Mon, 12 Oct 2009 22:11:00 GMT

Dostępne w Rails 2.x kontrolery rackowe (tzw. metal applications) wprowadzono aby maksymalnie przyśpieszyć działanie Rails (pomijają prawie cały stos wywołań frameworka). Ich wadą jest trochę niewygodna, niskopoziomowa składnia. Z drugiej strony, dzięki Rackowi, istnieje kilka bardzo szybkich mikroframeworków, z których najbardziej znany to Sinatra i Ramaze. Dzięki możliwości wpięcia ich do Rails, uzyskuje się połączenie dużej szybkości z wygodniejszą składnią.

Czytaj dalej...

Tagi , , ,  | 2 comments

Scala - język przyszłości

Opublikowane przez Jarosław Zabiełło Sat, 28 Mar 2009 06:17:00 GMT

Kiedy zapytano Jamesa Goslinga (twórcę Javy) o to, który z języków programowania współpracujących z JVM (wirtualną maszyną Javy) by użył teraz, pomijając samą Javę, odpowiedź była zaskakująco szybka i bardzo jasna – Scala.

Nazwa “Scala” pochodzi od “Scalable language” (język skalowalny). Język ten nadaje się równie dobrze do krótkich, zwartych skryptów jak i do tworzenia wydajnych, ogromnych, bezpiecznych systemów sieciowych. W swych założeniach Scala nawiązuje do minimalizmu składni Lispa i Smalltalka (większość rzeczy oparta jest na bibliotekach a nie na składni) dzięki czemu język ten praktycznie nie ma ograniczeń rozwoju i doskonale się skaluje (w miarę potrzeb można tworzyć nowe typy i całe nowe struktury wyglądające jak nowa składnia języka).

Scala jest językiem kompilowanym do bytecodu JVM dzięki czemu potrafi się integrować w sposób praktycznie przezroczysty, z całą platformą Javy (istnieje co prawda implementacja Scali dla platformy .NET ale jest jeszcze niedojrzała). W Scali mamy też wygodną konsolę do interaktywnego testowania kodu (tak jak to jest w Pythonie i Ruby). W Scali każda wartość jest obiektem, każda funkcja zwraca wartość. Zatem każda funkcja też jest obiektem (first class object). Funkcje są też obiektami wyższego rzędu (higher order kinds), można je zagnieżdżać, przekazywać w parametrach, a nawet stosować mechanizm dziedziczenia.

Czytaj dalej...

Tagi , , , , , , , , , , ,  | 108 comments

Rails 2.3

Opublikowane przez Jarosław Zabiełło Tue, 17 Mar 2009 02:48:00 GMT

W końcu się doczekaliśmy finalnej wersji Rails 2.3 (oznaczona jest jako wersja 2.3.2 użytkownicy Passengera muszą sobie zrobić aktualizację do wersji 2.1.2). Cieszy może wsparcie do Rack’a i liczne usprawnienia frameworka, ale tak naprawdę to czekam raczej na następną wersję, jaką ma być Rails 3.0 (aka Merb 2.0). Ponoć na najbliższej konferencji Railsconf 2009 ma być jakaś wersja beta kodu źródłowego (w każdym razie 6 maja przewidziane są jakieś prezentacje na temat Rails 3). Mam nadzieję że stabilna wersja Rails 3 pojawi się szybko i nie będzie rozczarowaniem dla tych, co wcześniej cenili sobie prostotę i elastyczność Merba.

Tagi , ,  | brak comments

W kierunku Rails 3

Opublikowane przez Jarosław Zabiełło Sun, 18 Jan 2009 23:24:00 GMT

W dosyć regularnie publikowanych postach Yehudy Katza można obserwować jak postępuje refactoring Rails. Okazało się też, że DHH jest rozsądnym człowiekiem i posiada sensowne pomysły co do przyszłego, wspólnego API Rails 3. Połączenie Merba z Rails wprowadziło jednakże trochę zamieszania wśród autorów piszących książki o Merbie. Myślę, że mówienie o zupełnej deaktualizacji tych wszystkich książek jest zdecydowanie przedwczesne, bo zanim wyjdzie oficjalna wersja Rails 3, upłynie jeszcze sporo czasu.

Czytaj dalej...

Tagi , ,  | 5 comments

Merb łączy się z Rails

Opublikowane przez Jarosław Zabiełło Wed, 24 Dec 2008 14:01:00 GMT

Ogłoszone wczoraj połączenie się frameworków Merb i Rails wywołało z miejsca burzę na kanale IRC #merb. Informacja pojawiła się już na blogu RoR, Ezry, Yehudy czy Matta Aimonetti jak i samego DHH (wpis z dzisiaj). Na oficjalnej stronie Rails stworzono specjalną podstronę rubyonrails.org/merb mającą upamiętnić ten dzień. Co z tej, trochę sensacyjnej, fuzji wynika, a co nie?

Czytaj dalej...

Tagi , ,  | 15 comments

Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych.

Opublikowane przez Jarosław Zabiełło Sat, 20 Dec 2008 03:28:00 GMT

Wydana niedawno przez Helion książka "Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych.". w zamierzeniu autora, nie jest tylko kolejnym, kompleksowym wprowadzeniem do frameworka Ruby on Rails dla początkujących programistów (Takim wprowadzeniem jest – mająca wyjść wiosną 2009 r – referencyjna Agile Web Development with Rails. 3rd ed.) Zamiast więc powtarzać w kółko te same informacje dostępne w innych książkach, autor skupił się tu na innych kwestiach.

Czytaj dalej...

Tagi , , ,  | 10 comments

Merb - źródła informacji

Opublikowane przez Jarosław Zabiełło Fri, 12 Dec 2008 15:55:00 GMT

Od czasu wyjścia Merb 1.0 przybywa coraz więcej dobrych materiałów n/t tego frameworka (koledzy od Pylons, ktorzy od wieków tkwią w tej swojej wersji 0.9.x mogliby to sobie wziąć do serca). Przede pojawia się coraz więcej zapowiedzi książek…

Czytaj dalej...

Tagi , , , , , ,  | 13 comments

Merb - tworzenie nowego projektu

Opublikowane przez Jarosław Zabiełło Wed, 19 Nov 2008 01:13:00 GMT

Rozpoczęcie pracy z Merb’em, podobnie jak w Rails, zaczyna się od stworzenia projektu. Domyślnie Merb proponuje predefiniowany zestaw dobranych modułów, nie jest to jednak jedyna opcja i dobrze wiedzieć o tym szczególnie dla tych co chcieliby użyć Merb w JRuby (jeden z domyślnych modułów, DataMapper, jeszcze nie jest przygotowany do pracy z JRuby).

Czytaj dalej...

Tagi , , , ,  | 33 comments

Merb 1.0, JRuby docelową platformą?

Opublikowane przez Jarosław Zabiełło Mon, 10 Nov 2008 01:13:00 GMT

Ezra Zygmuntowicz oficjalnie w swoim blogu obwieścił wydanie wersji 1.0 dla frameworka Merb. Mimo, że formalnie Merb nie ma zamiaru walczyć z Rails, na pewno taka konfrontacja nastąpi. Tym bardziej ciekawa, że wkrótce ma wyjść Rails 2.2, który wprowadził trochę znaczących zmian w stosunku do wersji poprzednich, m.in. wielowątkowość oraz wsparcie dla wersji międzynarodowych.

Czytaj dalej...

Tagi , , , , , ,  | 32 comments

Merb 0.9.6

Opublikowane przez Jarosław Zabiełło Wed, 10 Sep 2008 22:22:00 GMT

Ci, co instalowali sobie Merba i robią sobie czasem aktualizację gemów Rubiego, mogą zauważyć że, co dwa tygodnie pojawia się kolejna jego wersja (w tej chwili jest to 0.9.6). Tak ma być aż do październikowej wersji 1.0. Co ciekawe, synchronicznie z Merbem pojawia się zbliżona wersja DataMappera. Nie jest to przypadek, bo deweloperzy obu projektów ściśle ze sobą współpracują (DataMapper 1.0 ma wyjść razem z Merbem 1.0).

Czytaj dalej...

Tagi , , ,  | 10 comments

MagLev - wirtualna maszyna Smalltalka dla Rubiego

Opublikowane przez Jarosław Zabiełło Sat, 14 Jun 2008 17:11:00 GMT

Gemstone to komercyjna, rozwijana od ponad 20 lat, bardzo szybka maszyna wirtualna dla języka Smalltalk. Jest używana od lat w zastosowaniach biznesowych, m.in. w instytucjach finansowych. W odróżnieniu od innych Gemstone to coś więcej niż tylko maszyna wirtualna. Gemstone posiada wbudowany mechanizm bardzo wydajnego, transakcyjnego zapisu obiektów, chodzi to obsługę obiektów rzędu setek i tysięcy miliardów (lub informacji o wielkości 17 petabajtów). MagLev to smalltalkowy GemStone S64 VM z dodanym bytecodem pozwalającym na uruchamianie Rubiego. W różnych benchmarkach MagLev jest szybszy od Rubiego MRI od 7 do ponad 100 razy i osiąga szybkość zbliżoną do czystego C. Dodatkowo daje przezroczysty, wydajny zapis obiektów Rubiego w sposób znacznie wygodniejszy od tego co oferują relacyjne bazy danych. Czyżby wkrótce można było pokusić się o napisanie odpowiednika Zope w Rubim pracującym pod wydajną, wirtualną maszyną Smalltalka?

Czytaj dalej...

Tagi , , , , ,  | 6 comments

Passenger bliżej - Rails, Rack i WSGI

Opublikowane przez Jarosław Zabiełło Sat, 07 Jun 2008 13:24:00 GMT

Stworzony pierwotnie na użytek Rails, aktualnie mod_passenger już obsługuje nie tylko Rails ale także masę innych frameworków używających Rack’a. W nowej dokumentacji wymienione są frameworki: Camping, Halcyon, Mack, Merb, Ramaze i Sinatra. W dokumentacji nie wymieniono jeszcze “drugiej listy”, zawierającej frameworki korzystające z WSGI i Pythona (np. Pylons, Django, TurboGears itp.). Chcąc sprawdzić plotki wokół tej sprawy, sprawdziłem, czy faktycznie mod_passenger pracuje nie tylko z Ruby, ale także z Pythonem. Sprawdziłem także jak to jest faktycznie z obługą Rails i frameworków na Rack’u (tu sprawdziłem tylko Merba). Sprawdziłem też JRuby dla Rails i Merba.

Czytaj dalej...

Tagi , , , , , , ,  | 6 comments

JRuby Rack

Opublikowane przez Jarosław Zabiełło Wed, 04 Jun 2008 01:56:00 GMT

JRuby Rack pozwala na wygodne uruchamianie pod JRuby zarówno Rails, Merb jak i każdy inny framework korzystający z Rack. JRuby Rack został właczony do gemu Warbler 0.9.9 używanego do budowania pliku WAR dla Rails 2.x. Vide Introducing JRuby-Rack

Tagi , , ,  | 1 comment

Sprzątanie po PHP czyli Passenger 2.0 i Ruby Enterprise 1.0

Opublikowane przez Jarosław Zabiełło Tue, 03 Jun 2008 23:40:00 GMT

Stało się! Twórcy świetnego modułu Apache’a – mod_rails – zmieniają jego nazwę na mod_passenger, bo mod_rails nie jest już więcej modułem tylko dla Rails. W nowej wersji 2.0 (ktora ma wyjść na dniach) dodano pełne wsparcie dla Rack i tym samym mod_passenger 2.0 obsługuje wszystkie pozostałe frameworki używające Rack’a (ze świetnym Merbem włącznie).

Czytaj dalej...

Tagi , , , , , , , ,  | 34 comments

Starsze wpisy: 1 2 3 ... 5