Pull to refresh

Comments 99

ну наконец хоть что-то в этом блоге появилось)))
про тестирование - А вы пробовали RSpec? ;-)
Нет. Только обычный Test::Unit. Уже второй раз слышу про RSpec - значит, посмотрю :)
Нет, только Test:Unit. уже второй раз слышу о RSpec - значит, посмотрю.
Если бы по нему еще кто-то написал вменяемую доку - было бы вообще волшебно. А то сейчас на вопросы о документации обычно посылают читать тесты для самого rspec. Я в свое время тоже так мельком сунулся, но сроки давили как обычно и я плюнул и остался на обычных тестах.
Говорят, лучше хоть какие-то тесты, чем вообще никаких.
Когда уже сделают прекомпилятор для ruby?
Все прекрасно, скорость разработки потрясная, но работает ОЧЕНЬ медленно, даже вторые рельсы.
ДА ускорили роутс, да актив рекорд можно отключить при желании, и искать через sql, да можно и то и другое вместе использовать, но где скорость, блин?
Да мне нравится ruby, после него не хочется писать ни на чем другом :) Но посмотрите на твиттер, его ж лихорадит! Скажите, что до твиттера еще дорасти надо? Вы правы, но уже на полпути сайт станет проигрывать в скорости сами_знаете_на_чем_написанным.

Кто-нибудь знает как максимально ускорить работу rails сайта с часто изменяемыми страницами, где кеширование (полное,частичное) уже не помогает?
UFO landed and left these words here
UFO landed and left these words here
Про твиттер , почему ж я не мог зайти буквально сегодня? Открылся спустя пару минут.
Если вы знаете - то поделитесь из-за чего у них трудности? БД? Polling? Насколько мне известно это самый нагруженный rails проект в сети.
Большое спасибо за ссылку!
Про YARV имеются конкретные тесты?
UFO landed and left these words here
Про esi вспомнил, все же хороший вопрос, что вы используете в продакшен ? mongrel - esi?
Мне кажется кеширование это все таки отодвигание проблемы на более позднее время. И по
моему не решение проблемы с производительностью самого интерпретатора. Как думаете? Хотелось бы увидеть тесты с тем же пхп, пусть такие же синтетические.
UFO landed and left these words here
UFO landed and left these words here
Вопрос, mysql (или что у вас БД) на той же машин установлен?
UFO landed and left these words here
достаточно хорошие результаты!
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Перед тем как ковыряться в старлинге, спрошу:
- что там за архитектура такая сверхустойчивая?
- командует напрямую мемкешедем ?
- можно ли на несколько кластеров обработку очереди запихнуть?
да, как уже сказали, есть 1.9 с YARV, но мне кажется, что стоит ждать следующуюю ступень - Rubinius... Как говорят (сам я пока его еще не тестировал ни коем образом, так что говорю голосовно) - прирост скорости ощутим...
Поделитесь пожалуйста вашими цифрами - сколько вы намерили и на каком железе (2, 4, 8 процессоров...)
Можно в личку, если данные не хочется разглашать.
ilike.com и scribd.com Отлично работают на рельсах.
Если у вас что-то начинает тормозит всегда можно найти, что оптимизнуть. Erb заменить например на erubis. Есть альтернативы активрекорду. Добавить монгрелов...
А то все говорят что рельсы медленные, а сами на них толком и не писали. Нормальные они :)
Ну альтернатива актив рекорду всегда есть )) это sql (если без других примочек конечно)
Рельсы в принципе не могут быть медленные, претензии к тому на чем они выполняются к руби.
Насчет монгрелов на одной среднестатистической машине имхо не стоит более 8 запускать.
А вообщем интересно, как с помощью монгрелов делать множественный аплоад на сервер?
Ну вот к примеру монгрил кластер из 4 монгрилов, 4 пользователя грузят файл. Тут даже ДДОС не надо.. Есть выходы(особенно к modaz вопрос)?
UFO landed and left these words here
UFO landed and left these words here
Не моделировали? А попробуйте :)) Загрузите 4 монгрила четырьмя запросами по закачке больших файлов. Поскольку Rails не работает safely multi-threaded приложение тотально заблокируется.
По поводу nginx это удачный выход, но как там upload прогресс мониторить? д
rghost.ru на рельсах. Проблем с аплоадом не было :)
А какие характиристики - что на front что на backend? Сколько процессов? Жуть как интересно есть ли прогресс мониторинг, проверить сейчас не могу ибо корп.сеттингс запрещают
аплоадинг в интернет. :)
UFO landed and left these words here
сколько то монгрелов + нжинкс
Не совсем понимаю почему заминусован пред. коммент?
Ну замените вы аплоадинг на долгоиграющие запросы скажем по генерации капчи, получится тот же ДОС. Я не с целью опорочить рельсы и руби, наоборот, с целью прояснить для себя некоторые моменты, поскольку свое решение в их пользу давно сделал.
UFO landed and left these words here
Ну генерить капчу с помощью backgroundb это конечно сильно )))
Я им почту отправляю и так, кое какие процессы делаю, но чтобы например на капчу подрядить
это знаете ли перебор :) . Другие альтернативы не вызвали восторга.
Все же как вы nginx файлы аплоадите (и вероятно прогресс закачки) получаете?
По моему альтернативой, так сказать не лабораторной а промышленной будет merb или
camping как раз для аплоада.
UFO landed and left these words here
Поясню наверное :)
Чему равен у вас параметр num-procs? Допустим 100
(по вашей же ссылке про монгрил, для примера)
значит на 101 закачке большого файлика первый процесс должен будет убит.
Понимаете? Слишком длинные файлы (ну 100 не много как не крути) будут по
таймауту выноситься как жадные и старые процессы.
UFO landed and left these words here
You take it :)
ну в монгриле тоже дело, довольно накладный процесс около 22 метров
каждый сервер. плюс еще имеет тенденцию расти в потреблении памяти.
в целом для загрузки пойдет конечно, но для больших файлов надо однозначно
другое решение.
Кстати размер файла не обязательно больше чем 100 мб, тоже зависит от
ширины канала, как понимаете. Можно и 100 мег быстро загрузить и
уложиться timeout. А проектов грузящих по 100 файлов уйма, тут ведь еще ширина клиентского соединения будет важна, может он с модема отгружает фотку в пару тройку мегабайт?
UFO landed and left these words here
db migration хранит изменения базы данных и возможность откатить их назад. при чём тут меппинг?
Фарш невозможно провернуть назад
Друп тэйбл без дампА не восстановишь ;)
Есть, конечно, необратимые операции :)
На самом деле можно все миграции выполнить с первой до нужной вам. Но тут вы потеряете данные, которые скорее всего вносили в базу в обход миграций.
Имелось ввиду добавление/удаление полей. Вместо alter table в мускуль оно описано прямо в миграции. И не надо alter'ы руками в текстовик сохранять, чтоб потом накатить на рабочий проект.
Я в курсе что это, мы используем схожий механизм
Тут смысл в том, что переходя к какой-то ревизии SVN, вы получаете дб миграции на тот же момент (миграции хранятся в файлах). Запускаете скрипт rake db:migration, который апдейтит или откатывает назад вашу базу.
UFO landed and left these words here
а откатить базу, после откатить код религия не позволяет? :)
UFO landed and left these words here
Когда вы выполняете команду rake db:mogration вы можете указать номер нужной вам миграции.
Ну это вам после PHP Ruby on Rails понравился, взгляните лучше на Python с его WSGI, например Werkzeug. Мне вообще Ruby противен, с его неясными языковыми конструкциями...
Почему же они неясные? Они наоборот дают некую свободу самовыражения, часто очень сильно облегчая код.
Свобода самовыражения? А потом другому программисту ваш код не прочитать...
Не имея за плечами большого опыта программирования на Ruby я могу спокойно читать/понимать чужие исходники. Имея много бОльший опыт программирования на РНР чужой код на РНР читать тяжелее.
> спокойно читать/понимать
Смотря кем написан код.
Ок, при условии что человек не задавался целью написать максимально неудобоваримый код. Ну или если руки совсем... того.
а зачем его понимать другому программисту? если вы работаем в комнде (коммиты в SVN/git) то вся комманда придерживается стиля и при необходимости делает ревизию кода... А если я пишу программу для себя... Некий каждодневный tool... Зачем другому программисту вникать в мой, ему не нужный, код? Да и комментраии и документрирование, кстати, никто не отменял....
Правка опечаток:
>если вы работаем
мы
>комманда
команда
>комментраии
комментарии
>документрирование
документирование
>серию скирнкастов (с нижнего коммента)
серию скринкастов :)
Кстати его пипкоды в emule видел.
о) благодарю) надо мне себя в руках держать и не так быстро печатать)))
да? хм... Интересно... )
Довольно таки, целостное изложение, примерно на полчаса-час. Было RJS, prototype,
caching каэтса. Надо будет еще что нить новенькое поискать. Что мне не очень нравится, что он тот же рестфулл плагин часто в примерах показывает, хотя в нем была и
есть серьезная уязвимость.
Я сейчас поискал на просторах Сети... Какие то файлы на 1.5 гига выложены... но за деньгу... Поищу вот в муле сейчас, а потом и в DC...
А то, что используется... Ну ведь никто не заставляет делать именно так... Можно и что то свое выдумать и найти решение... )
> а зачем его понимать другому программисту?
категорически несогласен.
код пишут для того, чтобы его читал человек и лишь иногда — машина (с) кто-то из великих
тем не менее, считаю, что с синтаксисом у руби все в порядке.
С великими спорить не буду) Но я правда не понимаю зачем моя так сказать private программа может понадобится другому)) оттого так и говорю...
а по синтаксису соглашусь... абсолютно нормален и логичен...
а запутать то можно не только руби-код, но и любой другой... это уже проблема самих кодеров и их стилистических норм, имхо...
Согласен :)
Но вот elsif как то знаете не очень звучит ))
А вообще на руби два стиля написания: со скобочками и без :)
Питон и руби как языки очень похожи. Вообще питон быстрый и тоже очень хорош.
ну это как минимум неправда. конструкции ruby очень даже приятны. частенько приходится делать code-review одного студенческого проекта. никаких затруднений с чтением кода нет. дело привычки, наверное.
ps: а вообще я программист на python :) так что все объективно.
да, и кстати, на pyhton я использую фреймворк pylons. там очень многие концепции портированны с рельсов (например url-dispatcher, webhelpers, связка controller-action). при этом фреймворк сохранил все вкусности wsgi.
в общем питонистам советую если даже не использовать, то хотябы посмотреть.
UFO landed and left these words here
UFO landed and left these words here
Файлы генерятся фреймворком
Кстати статья немног устарела. Щас больше юзается map.resources да и рспек вместо рельсовых юнит тестов. Но вообще приятно когда про любимые рельсы пишут :)
Посоветуйте что нить по рспек для " детей младшего школьного возраста " ?:) Честно пытался начинать тестировать, поняв что уходит до половины времени на это дело решил подождать когда тот же рспек доделают. Его уже не меняют по сто раз на день, стоит изучать?
Про РСпек... Могу посоветовать серию скирнкастов от PeepCode...
знаете где взять их бесплатно?
Пока еще не совсем... А вы?
когда уже наконец время будет, чтобы попробовать...
Развитее технологий вообще и Rails в частности постоянно продолжается – печальным следствием этого, является процесс устаревания литературы – особенно печатной.
Именно это в настоящее время и произошло с Rails – почти все существующая литература морально устарела.
Упомянутая «Agile Web Development…» хороша всем, кроме одного – она описывает Rails версии 1.2.Х, - в то время как последняя версия Rails 2.0.2
Rails 2.0.Х достаточно сильно отличается от 1.2.Х – некоторые вещи изменились, стали работать по другому или исчезли вообще.
Но главное это та новая идеология (не побоюсь этого слова) – RESTful архитектура , на которую теперь опираются Rails – это судя по всему скоро будет важный тренд в разработке ПО вообще . То, что это по большому счету вещь на много более важная, чем какое бы то ни было удобство синтаксиса или легкая работа с Ajax – и то, что кроме Rails эта архитектура не интегрирована так глубоко – и делает Rails уникальным фреймворком.
Для начинающих Agile Web Development сойдёт. А потом уже можно почитать о новинках в рейлс 2.
Просто с середины декабря достаточно часто наблюдается ситуация - на форумах эта тема поднимается регулярно - люди которые хотят познакомиться с Rails устанавливают последнюю версию (а это вполне логичное поведение) - пытаются сделать все по книге - но у них не получается, или получается не так как написано. Это в общем не способствует доверию к фреимворку. По этому эту особенность в работе с версиями RoR нужно учитывать.

Кроме Agile Web Development - которая конечно книга историческая, есть еще и (даже лучше в некоторых моментах)
"Rails Solutions - Ruby on Rails Made Easy" - Williams
"Beginning Ruby on Rails E-Commerce" - Hellsten/Laine
"Beginning Rails: From Novice to Professional" - Hardy/Carneiro
"Build Your Own Ruby On Rails Web Applications" - Lenz

Если кто то из читателей топика надумает начать изучать Rails - совет от всего сердца :) - не ограничиваться только "Agile Web Development" а найти какую ни будь из этих 4 книг - они стоят того.
Но начать изучение советую с самого языка руби! Это вам не Си и не РНР. Кое что придётся переосмыслить.
Тем более что сделать это сейчас достаточно легко - когда я впервые узнал о Ruby - по русски не было практически ничего. Теперь же - кроме печатной литературы (которая наконец стала повалятся) - есть в сети несколько очень хороших вводных курсов - раз и два например.
Кстати, а ведь существует не только RoR. На том же Ruby есть, например, Merb, который немного отличается и может лучше подойти другим программистам. Например, там нет жёсткой привязки к ActiveRecord, которая не является идеальной системой.
Вот вот - а есть еще и Nitro, с альтернативной ActiveRecord ORM - Og (весьма интересной)
Карсас приложения (дело вкуса)
Думаю всё же: Карксас приложения???
=)
Посмотрите еще Python и MVC-фреймворки, сделанные на нем.
Rails хороший фреймворк, но для нагруженных проектов, возможно, стоит выбрать что-то на Python.
Only those users with full accounts are able to leave comments. Log in, please.