LINUX.ORG.RU

Вышел Rails 2.2

 , , ,


0

0

Новая версия Web-фреймворка на Ruby включает:

  • Интернационализацию.
  • Потокобезопасность, пулинг соединений с БД.
  • Совместимость с JRuby и Ruby1.9.
  • Улучшенную документацию.

>>> Подробности

anonymous

Проверено: maxcom ()

Остается только молиться, чтобы сумасшествие коммитеров все же прекратится и уважение к языку преобладает над периодическими приступами вроде этих:

http://github.com/rails/rails/commit/22af62cf486721ee2e45bb720c42ac2f4121faf4

http://github.com/rails/rails/commit/e50530ca3ab5db53ebc74314c54b62b91b932389

Хорошо хоть Merb есть, но пока до I18N там еще далеко, дефолтный DataMapper обламывает а плагин AR все же плагин. Форкнули бы AR и вылизали, чем DataMapper в корне отличается кроме как отсутствием named_scope и других нужных и красивых фич?

anonymous
()

Ну теперь ждём тестов от JRuby guys - после этого релиза у них отличные шансы оставить всех за бортом.

anonymous
()
Ответ на: комментарий от anonymous

> А я все жду rubinius, но похоже не дождусь.

У них 2/3 команды недавно уволили, так что... CLR & JVM чем не хватает?

anonymous
()

Когда-то довольно активно использовал, пока не меня не соблазнил Python с Django (при всех его недостатках). Впрочем, рад прогресс rails.

init ★★★★★
()
Ответ на: комментарий от init

>Когда-то довольно активно использовал, пока не меня не соблазнил Python с Django (при всех его недостатках). Впрочем, рад прогресс rails.

О, отлично. можешь набросать маленький спиосок достоинтств/недостатков rails и django и что же повлияло на выбор в пользу второго.

anonymous
()
Ответ на: комментарий от anonymous

> О, отлично. можешь набросать маленький спиосок достоинтств/недостатков rails и django и что же повлияло на выбор в пользу второго.

Пистон есть везде из коробки и в целом более популярен на рынке? Работает быстрее? Больше библиотек? Стабильный и простой mod_wsgi, который работает даже с WinServer в отличие от mod_rails? Yandex&Google use it? GAE?

anonymous
()

главное, что merb-1.0 вышел. с интырпрайз поддержкой и стабильным апи. вот это - да, радость.

volh ★★
()
Ответ на: комментарий от anonymous

>дефолтный DataMapper обламывает а плагин AR все же плагин

они равноправны, мерб orm-agnostic.

>чем DataMapper в корне отличается кроме как отсутствием named_scope и других нужных и красивых фич?

тем что он mixin? тем что описание модели находится в самой модели, а не в миграциях? скоростью? меньшим кол-вом магии?

volh ★★
()
Ответ на: комментарий от volh

Вот бы еще он развился до такого состояния, когда можно спокойно сесть и строить приложение, без прыгания с кучкой уродских плагинов от васи для интернационализации, аттачментов, та же интеграция с tztime просто необходима, config.gem, initializers. Мерб на первый взгляд крут и похоже прост так как написан без тупых выебонов. Гиков там не много, однако из рельс можно было бы и взять некоторые хорошие вещи.

anonymous
()
Ответ на: комментарий от anonymous

но в то же время, имхо, дефолтный стек ( aka gem install merb ) вполне включает в себя необходимую базу :

volh@ehursagkurkurra ~ >> gem search merb

*** LOCAL GEMS ***

merb (1.0)
merb-action-args (1.0.1, 1.0)
merb-assets (1.0.1, 1.0)
merb-auth (1.0.1, 1.0)
merb-auth-core (1.0.1, 1.0)
merb-auth-more (1.0.1, 1.0)
merb-auth-slice-password (1.0.1, 1.0)
merb-cache (1.0.1, 1.0)
merb-core (1.0.1, 1.0)
merb-exceptions (1.0.1, 1.0)
merb-gen (1.0.1, 1.0)
merb-haml (1.0.1, 1.0)
merb-helpers (1.0.1, 1.0)
merb-mailer (1.0.1, 1.0)
merb-more (1.0.1, 1.0)
merb-param-protection (1.0.1, 1.0)
merb-slices (1.0.1, 1.0)
merb_datamapper (1.0.1, 1.0)


gem dependencies в конфиге есть, причем приятнее чем в рельсах - config/dependencies.rb, initializers вполне можно засунуть в    config/init.rb, или вынести в те же config/initializers парой строк. по поводу tztime пока ничего сказать не могу. чего вам еще не хватает? я тоже вот последнее время думаю, но никаких действительно нужных фич из рельс найти не получается.

volh ★★
()
Ответ на: комментарий от volh

Ах, твоя правда, я не заметил или не было, хз. А почему у него модель от базового класса не наследуется и надо миксить Resource? Мне это кажется плохой идеей.

anonymous
()
Ответ на: комментарий от anonymous

хех, как-то пропустил "Array#second through Array#tenth") пипец

kelyar ★★★★★
()
Ответ на: комментарий от anonymous

>А почему у него модель от базового класса не наследуется и надо миксить Resource?

ну, так можно придти к спору множественное наследование vs примеси. год назад, ЕМНИП, datamapper "был как все" и нужно было наследовать от Datamapper::Resource, но потом они это изменили. насколько я понимаю, это общепринятый способ расширения классов в datamapper и merb, призванный, в том числе, чтобы не плодить ужасов манкипатчинга как в рельсовых плагинах.

class User
include DataMapper::Resource
include Merb::Authentication::Mixins::SaltedUser
include My::Own::Super::Extension

property :email, String, :format=>:email_address
property :login, String, :nullable=>false
end

впрочем, я определенно не совсем в теме :/

>Мне это кажется плохой идеей.


почему?

volh ★★
()
Ответ на: комментарий от anonymous

>Судя по аргументам, рулит пхп

Точна!

>Пистон есть везде из коробки и в целом более популярен на рынке

С этим соглашусь, но что мне до рынка? Я красноглазый линуксойд и ненавижу все коммерческое. А жава предоставляет вообще полный стек технологий, так что теперь?

>Работает быстрее

Прям в сто-питьсот раз? Не так уж и быстрее.

>Больше библиотек?

Давай-ка список либ которые ты используешь, что же нету для руби. И если ты совсем без питонячих либ не можешь, есть ruby-python, тока им никто не пользуется, своего добра хватает.

>Стабильный и простой mod_wsgi, который работает даже с WinServer в отличие от mod_rails?

Не существенно

>Yandex&Google use it?

OMG они его там для всякой туфты используют. Основные их инструменты это не православные Java и C++.

>GAE

narod.ru возвращяеться. GAE не-не-не, нее

anonymous
()
Ответ на: комментарий от anonymous

>Вот бы еще он развился до такого состояния, когда можно спокойно сесть и строить приложение, без прыгания с кучкой уродских плагинов от васи для интернационализации

grails?

anonymous
()
Ответ на: комментарий от volh

Я не понимаю как тут пожно избавиться от манкипатчинга, User это модель, она персистентная и должна явно наследоваться от базового класса. Персистентность тут явно _не лишный обвес_.

В данном случае придется матчить примеси, а не базовый функционал. К тому же acts_as_* это круто, в DM вроде это другое - is_a. Короче не понимаю нахрена было плодить еще одну сущность, AR написан более менее хорошо. Лучше бы развивали и вылизывали один "ORM".

Чувствуется небольшая ненависть к рельсам, даже :exclude вместо :except :)

anonymous
()
Ответ на: комментарий от anonymous

>Давай-ка список либ которые ты используешь, что же нету для руби.

ниееет, только не опять! АААААААААА!

volh ★★
()
Ответ на: комментарий от anonymous

> narod.ru возвращяеться. GAE не-не-не, нее

Судя по всему, ты этот GAE в глаза не видел. А если и видел, то абсолютно не понял, что это такое и с чем его едят.

anonymous
()
Ответ на: комментарий от anonymous

> OMG они его там для всякой туфты используют.

O rly? Почитай Сагалаева. Он пишет, что в Яндексе только Django используется для прототипирования большинства проектов. Плюс есть несколько проектов, которые работают на джанго в продакшне. Про гугл вообще смешно, это практически кузница питоновской популярности. Youtube на питоне конечно был куплен, но его не стали переписывать на жабе, угадай почему.

anonymous
()
Ответ на: комментарий от anonymous

>кузница питоновской популярности

Во-во, они просто вербуют в свою проприетарную секту красноглазых. На месте питона там вполне мог быть любой похожий язык, к примеру perl. А практической ценности там от питона почти 0. Ну предположим руби используют в NASA, и что? "Американские физики выбирают руби?", не? Это не говорит ровном счетом ниочем.

anonymous
()
Ответ на: комментарий от anonymous

Так это ты акцентировал внимания на этих вещах, типа популярности, больших компаний и т.л. Ну так получи и распишись. Лично для меня это не играет никакой роли. Работа идёт, несмотря на твою сопли.

anonymous
()
Ответ на: комментарий от anonymous

> О, отлично. можешь набросать маленький спиосок достоинтств/недостатков rails и django и что же повлияло на выбор в пользу второго.

Соскучился по флеймам на эту тему? Нет уж, питон мне просто больше понравился:)

init ★★★★★
()
Ответ на: комментарий от Voker57

Сайт oDesk, специализирующийся на трудоустройстве, сообщает о резко возросшем спросе на PHP-программистов, предложения по зарплатам для таких специалистов также быстро растут. Судя по аргументам, рулит пхп --из новости-- В последнем ежемесячном обзоре вакансий программистов, который составил ODesk, отмечается тот факт, что спрос на PHP-программистов стабильно высок, а уровень предлагаемых им зарплат – выше среднего.

По словам управляющего oDesk Гэри Суорта, спрос на специалистов, работающих с языком PHP, вдвое превышает спрос на программистов, работающих с другими языками. По его мнению, это связано с тем, что специалисты в области технологий с открытыми исходными кодами, таких как PHP и MySQL, сейчас наиболее востребованы на рынке. Суровый финансовый климат, похоже, еще не сказался на рынке труда для программистов и разработчиков, однако в oDesk тщательно отслеживают ситуацию.

Как пояснил владелец Innovative Web Solutions Николя Прежан, PHP превосходно сочетается с любой другой языковой платформой и является бесплатной, гибкой программной средой с возможностью получить квалифицированную помощь у огромного сообщества работающих с ней людей. Плюс к этому, доступно огромное число стандартных скриптов PHP и MySQL, которые можно с легкостью переделать под собственные нужды или портировать на практически любое сетевое приложение. -- не скажу, что мне особенно нравится пхп, но писать на нем можно, потому что это глобально и надежно:D

anonymous
()
Ответ на: комментарий от anonymous

> Yandex&Google use it?

1. есть community со своими задачами, есть Гвидо и есть гугл на который он работает. Кто определяет развитие Python?

2. Яндекс когда-то пытался продаться Гуглу. Какие гарантии, что выбор Python определился не этим?

немного разбирался с Python и Ruby. IMHO первый проще, второй функциональнее. Та же ситуация с Django и Rails.

anonymous
()
Ответ на: комментарий от KRoN73

> В 1.9 Ruby догнал Python :)

ну да, конечно жутко актуально числа фиббоначи считать. нет что бы написать лишний десяток строк и соорудить тест на обработку строк и работу контейнеров.

P.S. не, я писать не буду ☺

dmiceman ★★★★★
()
Ответ на: комментарий от volh

>gem dependencies в конфиге есть, причем приятнее чем в рельсах - config/dependencies.rb, initializers вполне можно засунуть в config/init.rb, или вынести в те же config/initializers парой строк.

В этом-то и тема. Все пользуются соглашениями и ничего никуда не выносят, потому код рельсовый читать быстро и приятно.

jackill ★★★★★
()
Ответ на: комментарий от jackill

Соглашения это здорово, рельсы предоставляют готовый стек, все на своих местах и т.д. Безусловно, на основе merb сделано приблизительно то же самое - в качестве метагема "merb". Но эта штука больше для тех, кому может быть удобнее создать свой стек, с теми: ORM, JS framework, testing framework, и т.д, которые больше по душе. И крупные компании так и делают, например, afaik, yellowpages.com используют merb и sequel в качестве orm. Что теперь, бояться, что новый разработчик запутается в структуре проекта, если не увидит настройки роутинга там, где они по его мнению должны быть? На mephisto вроде как-то не особо жаловались. Я видел достаточно роровских приложений, где черт ногу сломит со всеми соблюденными правилами и соглашениями.

>потому код рельсовый читать быстро и приятно.

Проблемы начинаются, когда надо использовать прошлые наработки. Нередко в плагинах делается такое волшебство, которое попросту ломает все приложение при обновлении рельс. Поэтому стабильное API в merb - штука определенно нужная. Или вот классическая задача - нужно использовать форум. Как это делается в джанго? Пишется приложение форума и потом монтируется в структуру проекта, который в форуме нуждается. Со своими моделями, роутами, шаблонами. Как это делается в рельсах? Большой Дэ говорит: пишите все с нуля, ведь это круто и по-пацански. Просто потому, что это не нужно 37signals. Ну и в результате берется какой-нибудь altered_beast, копируется в приложение без всяких нэймспейсов, как составная часть одного проекта, без разбора. А уж обновлять его потом - вообще весело.

Ну и да, ссылки на абсолютно невменяемые коммиты - в первом сообщении треда.

Вобщем, все вышенаписанное сводится к "больше велосипедов, хороших и разных" )

volh ★★
()
Ответ на: комментарий от KRoN73

> Там по ссылке измеряется скорость работы с объектами :)

да, действительно, виноват. увидел знакомое «Fib», и не вчитался.

dmiceman ★★★★★
()
Ответ на: комментарий от volh

>Проблемы начинаются, когда надо использовать прошлые наработки.

Видно, что человек питался использовать это поделие в продакшне. Я вот тоже пытался и не раз. Вконце получался такой кривой урод, что уж лучше PHP в одном файле без разделения логики и то проще было бы разобраться, чем во всех этих бесконечных расширения классов, class_eval, module_eval и прочей мути который насилуют рантайм и конфликтуют с новыми версиями либ. Единственный приемлимый костыль - все обкладывать вдоль и поперек тестами, извините уж лучше пехапе одним файлом чем все это велосипедостроение.

anonymous
()
Ответ на: комментарий от Pi

> пулинг? только теперь?!!

У меня тоже волосы на спине дыбом встали от такого известия. Выходит это поделие до сего времени не умело пулинг. И кто то им даже пользовался в production. Жуть...

anonymous
()
Ответ на: комментарий от anonymous

> Видно, что человек питался использовать это поделие в продакшне. Я вот тоже пытался и не раз. Вконце получался такой кривой урод, что уж лучше PHP в одном файле без разделения логики и то проще было бы разобраться

Ага, а вот и жертвы руби-хайпа.

anonymous
()
Ответ на: комментарий от anonymous

>Вконце получался такой кривой урод, что уж лучше PHP в одном файле без разделения логики и то проще было бы разобраться, чем во всех этих бесконечных расширения классов, class_eval, module_eval и прочей мути который насилуют рантайм и конфликтуют с новыми версиями либ.

не надо впадать в крайности. просто рельсы на то и рельсы, чтобы ехать на них по пути, построенном 37signals. это. ну как его. opinionated, ага.

volh ★★
()
Ответ на: комментарий от anonymous

> Ну предположим руби используют в NASA, и что?

питон тоже в НАСА используют

val-amart ★★★★★
()
Ответ на: комментарий от anonymous

> Во-во, они просто вербуют в свою проприетарную секту красноглазых. На месте питона там вполне мог быть любой похожий язык

если бы вы были правы, то там был бы не ruby, а perl. посему...

anonymous
()

рельсы для тех, кого надо направлять, кто не может без руководящей и направляющей руки.

ruby для тех, кому осточертел perl, но слишком прост python.

нет счастья в жизни. счастье есть в вечном поиске счастья.

anonymous
()
Ответ на: комментарий от anonymous

>Ну теперь ждём тестов от JRuby guys - после этого релиза у них отличные шансы оставить всех за бортом.

Угу - лишь бы не Титаника.

r ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.