Как стать автором
Обновить

Комментарии 31

нужно
нет, НУЖНО написать обширную статью об использовании HAML, так как его аналоги есть уже и для PHP и для .NET платформы и даже для Erlang
Аналоги?
порты
Извините, вопрос не по теме, но:
DataMapper действительно оправдывает своё название, то есть является data mapper'ом как описывается PoEAA? Если сравнивать с python: он больше похож на django orm или на sqlalchemy? Можно ли мапить класс не на одну таблицу а на селект например?
Очень поверхностно знаком с django orm и sqlalchemy, но в рамках того что я знаю datamapper ближе к django orm, а аналогом sqlalchemy в руби будет скорее sequel.
Он соответствуем этому патерну в том, что выполнет мэпинг, но он также включает и сами модели, а также, в ближайшим планах, мапинг на yaml, xml, веб сервисы и т.д., т.е. в общем независимость от реляционной БД
Не знаком с django orm и sqlalchemy вообще, но класс можно мапить только на таблицу (возможно и на представление, но сталкиваться с таким не приходилось).
НЛО прилетело и опубликовало эту надпись здесь
На бис еще статейку можно? А лучше не одну! =) Спасибо.
А на какую тему? :)
например об возможностях DataMapper. в частности об IdentityMap.
Лично мне интересно программирование на Руби для веб «на низком уровне», то есть без фреймворков вообще, или как совсем крайность и без использования библиотек входящих в дистрибутив. «Легковесные фреймворки» пример с Синатрой был хорош, но можно еще Кампин к примеру. Из под кнута шедевр не выдашь, так что пишите на тему в первую очередь интересную вам. Если это будет не очередной блог на рельсах, и не описание синтаксиса Руби с неизменным «там даже число — объект, вах», лично для меня это будет уже однозначно интересно.
Без фреймворков вообще? Это примерно то же самое, что писать веб-приложения на C++ — а кто должен заниматься взаимодействием с веб-сервером (Rack — это тоже фреймворк) и выполнять рутинные задачи (отсылка HTTP-заголовков и всё в таком духе). Можно, конечно, писать CGI-приложения в стиле классических perl-скриптов середины 90-х, но неужели это действительно практично? А Camping уже погиб, как я недавно узнал — так что о нем писать тоже бессмысленно.
Не обязательно подробно, можно поверхностно. Но чтобы было понимание как это устроено и функционирует. К примеру тот же Rack, в чем его отличительная особенность в связи с чем он ста столь популярен. Библиотеки CGI или CGI-lib которые входят в стандартную дистрибьюцию языка. О том как в самом Ruby устроен механизм взаимодействия с переменными окружения. И на счет без фреймворков, я писал что как крайность (намеренно утрировал, дабы более нагляден был смысл). Вобщем хочется в том же стиле, побольше маргинального и пауз на разъяснение. Касательно кампина раз погиб, значит того не стоил.
НЛО прилетело и опубликовало эту надпись здесь
Я за что купил, за то и продаю. Open-source проект погибает, когда нет коммитерров (если его при этом нельзя назвать законченым). Посмотрел историю коммитов — не густо их для живого развивающегося проекта. Хотя в коммиты не глядел — может, там горы переворачивают каждый раз :)
Спасибо, было интересно читать этот цикл :)
Для решения проблемы с одноименными файлами, я бы предложил подмешивать в дайджест размер файла и проверять по базе, возможно данный файл уже выкладывался, тогда просто отдавать на него линк. Конечно бывают ситуации когда имена и размеры совпадают, это можно избежать делая дайджест по самому файлу.
Отличный цикл статей!
Вариантом, действительно свободным от коллизий, будет именно дайджест по всему файлу, но полагаю, что это довольно неэффективно с точки зрения ресурсов сервера.
если взять в расчет то что нахождение дайджеста происходит при добавлении нового файла, а это не самая частая операция, то можно пожертвовать ресурсами и добавить новую фишку, показ дайджеста для проверки на целостность скаченного файла
Банально добавлять к названию, сразу после дайджеста, время создания файла типо ГодМесяцДеньМинутаСекунда. Нагрузка минимальна и задачу выполняет на все 99,9.
Да, хороший вариант, спасибо. Я, скорее всего, у себя оставлю, как есть. Но все желающие приглашаются на github для развития проекта (если вдруг есть такое желание) =)
Алексей, не подскажите, как с помощью RSpec тестировать post/delete/put запросы?
Боюсь, что не подскажу, к сожалению — не сталкивался. Гугл пишет что-то более-менее вменяемое…
Никогда не сталкивался с тестирование до этого, поэтому быть может глупый вопрос…

Когда я запускаю тест как-то так «spec test/data_spec.rb», то шаблоны вида ищутся не в views а в test/views. Подозреваю что я как-тоне так запускаю тесты. Не подскажите, в чём дело?
Ммм… А зачем вам шаблоны в тестах? RSpec — это для бизнес-логики и моделей, а не представлений.
Я хочу протестировать валидацию данных, то есть я отправляю невалидные данные а шаблон просто заворачивает ошибку в xml
Проверяте, что контроллер делает то, что надо. Например, @object.valid?.should_be false
Для тестирования шаблонов есть Selenium — он в стопицот раз лучше.
Спасибо, посмотрю
Спасибо, мне уже не пригодится, а вот остальным — наверняка.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории