После двух лет разработки представлен (http://weblog.rubyonrails.org/2010/8/29/rails-3-0-it-s-done) релиз MVC (Model-View-Controller) web-фреймворка Ruby on Rails 3.0 (http://guides.rails.info/3_0_release_notes.html), в подготовке которого приняли участие более чем 1600 разработчиков. Фреймворк подвергся значительной реструктуризации в результате слияния (http://www.opennet.me/opennews/art.shtml?num=19537) с проектом Merb (http://merbivore.com/). Ранее Merb выступал в роли конкурирующего проекта, рожденного с целью воплощения идеи создания легкого MVC-движка, основанного на идентичных с Rails принципах и расширяемого через плагины. В результате, вобрав лучшие качества обоих проектов, Ruby on Rails 3 стал более легковесным, быстрым и легким для понимания. Фреймворк может работать под управлением Ruby 1.8.7, Ruby 1.9.2 и JRuby 1.5.2.
Основные улучшения:- Переработанный модуль для разбора URL (Router) акцентирован на использовании REST (http://ru.wikipedia.org/wiki/REST)...
URL: http://weblog.rubyonrails.org/2010/8/29/rails-3-0-it-s-done
Новость: http://www.opennet.me/opennews/art.shtml?num=27789
Ура!! Хороший пример здорового проекта! Молодцы!
>Ура!! Хороший пример здорового проекта! Молодцы!Наверное, молодцы.
Но для описанных задач - Python.
Заруляет рубю по всем местам.
Ошибка в коде?Мы выделили 20 Давидов, потом находим всех, чей возраст больше 29, в итоге получаем от 0 до 20.
Или я что-то не понимаю в этом коде?
Написано что может привести, а может и не привести :)
Это я туплю или код неверный? В одном случае сначала берётся 20 штук и фильтруется, а в другом фильтруется и берутся первые 20 отфильтрованных...
в итоге получаем 20 раз написаное слово Давид :-)
Мне больше нравится идея сортировки по имени, притом что запрос был WHERE name = 'david'
Как ни странно это может иметь смысл, если сравнение регистронезависимо, а сортировка зависима. Чисто гипотетически. =)
do etogo momenta:users = User.where(:name => "david").limit(20)
users = users.where("age > 29")
users.order(:name).nikakogo SQL zaprosa ne budet
a vot zdes':
each { |user| puts user.name }
poletit zapros i pojdet iteracyja po rezul'tatam zaprosa
то есть он по "and" соединяет несколько .where... хотелось бы по "not or"... где писать жалобу? :)
Вы доку почитайте новой рельсы и все станет ясно. Там Довольно сильный ОРМ, а пример для непосвященных не понятен.
pishyte patch ane zhalobu. v rails community kontributory v pochete.
Да я пошутил :) а идея встроить реляционную алгебру в язык конечно хлебная
да и or в скором времени обещают будет у них
А чем лучше уход от классического SQL with placeholders к новому движку? Я пока не вижу преимуществ. Из соображений производительности: новая прослойка увеличивает нагрузку, также исключается низкоуровневая оптимизация посредством USING INDEXES. А как быть со сложными запросами, использующими подзапросы, множественный JOIN?
Дайте ссылку, что почитать. Я не против подучиться;)
писать простыми SQL никто не запрещает, более того, чистый SQL код можно насаживать на AR запросы
Только переносимость при этом страдает и migrations работать не будут, то есть довольно значительные плюсы ORM теряются