Ссылка на подкаст: http://rubynoname.ru/posts/2014/S06E03.html
Читать полностью »
Метка «ruby on rails» - 2
RubyNoName Podcast S06E03: О книгах с Лешей Гусевым
2014-02-25 в 16:16, admin, рубрики: bookmate, elasticsearch, ruby, ruby on rails, метки: bookmate, elasticsearch, ruby, ruby on railsRails: Frontend-валидация в стиле DRY
2014-02-18 в 18:45, admin, рубрики: DRY, ruby on rails, validation, метки: dry, ruby on rails, validation Когда я только начинал задумываться о том, чтобы приобщиться к миру веб-разработки, и выбирал язык, с которого начну, одна из википедий мне напела, что в основе философии Rails лежат 2 принципа: Convention over configuration (CoC) и Don’t Repeat Yourself (DRY). Что касается первого — я тогда вобще не понял о чём речь, а вот второй понял, принял и ожидал, что в недрах этого замечательного фреймворка, я отыщу нативный инструмент, позволяющий мне один раз написать правила валидации для атрибутов модели, и потом использовать эти правила как для front, так и для back проверок.
Читать полностью »
Эволюция сборщика мусора в Ruby. RGenGC
2014-01-12 в 19:47, admin, рубрики: garbage collector, ruby, ruby on rails, Программирование, сборка мусора, метки: garbage collector, ruby, ruby on rails, сборка мусораКоити: Порог срабатывания сборщика мусора в Ruby — 8 МБ. Почему используется такое маленькое значение?
Matz: Потому что 20 лет назад я работал на машине с 10 МБ памяти.
Вопрос производительности всегда был одним из наиболее обсуждаемых и актуальных в Ruby-сообществе. Будь то высоконагруженный веб-сайт или простой скрипт по бекапу данных — скорость работы является их важнейшей характеристикой. При этом знание возможностей и ограничений языка разработки зачастую служит важным источником идей для оптимизации, позволяет «выжать» максимум из системы.
В статье речь пойдет об одной из наиболее сильно влияющих на производительность частей языка Ruby — сборщике мусора, алгоритмах его работы и улучшениях, внесенных в его работу в последних версиях языка. Речь пойдет о наиболее распространенной, «канонической» реализации Ruby — так называемой MRI или CRuby.
Читать полностью »
Полиморфные сквозные ассоциации в Ruby on Rails
2014-01-12 в 14:32, admin, рубрики: ruby, ruby on rails, Программирование, проектирование баз данных, метки: ruby, ruby on rails, проектирование баз данныхВ статье идет речь о методе создания полиморфизма для связей many-to-many в Ruby on Rails.
Задача
Допустим, что необходимо разработать систему управления грузовым транспортом. В нашем распоряжении имеются несколько видов этого транспорта: поезда, вертолеты, грузовики и баржи. И известно, что каждое средство осуществляет перевозку только в строго определенные населенные пункты. Например, часть грузовиков катается по центральной части России, часть по южной, вертолеты работают в Сибири и на Камчатке, поезда вообще ограничены железнодорожным полотном и так далее.
Каждый вид транспорта в разрабатываемой системе будет представлен своим классом: Train, Copter, Truck, Ship соответственно.
Населенные пункты (города, поселки, научные станции, тут нас интересует не размер, а географические координаты), куда осуществляется перевозка, представлены классом Location.
Стоит условие: к каждой единице транспорта может быть привязано сколько угодно Location. В свою очередь к каждому населенному пункту может быть привязано сколько угодно единиц транспорта разных видов.
Читать полностью »
Обработка ошибок в RESTful приложениях
2014-01-07 в 20:59, admin, рубрики: json, rest, RESTful, ruby on rails, Веб-разработка, Проектирование и рефакторинг, метки: json, rest, RESTful, ruby on rails
За последнее время очень многие веб-фреймворки обзавелись RESTful роутингом. Более того, REST стал де-факто стандартом проектирования архитектуры веб-приложений. Практически все более-менее значимые сервисы обзавелись RESTful API с представлением данных через xml и json форматы. Такой популярности REST помогло как появление большого количества руководств, так и горячие обсуждения REST среди специалистов.
Вместе с тем, REST до сих пор воспринимается скорее как некоторый набор правил роутинга, а всё что не связано в прямую с роутингом решается произвольным путём, в частности это касается обработки ошибок в RESTful-приложениях.
Модуль определения источников посетителей сайта для Ruby on Rails
2014-01-04 в 10:18, admin, рубрики: ruby on rails, веб-аналитика, метки: ruby on rails, веб-аналитика Этот пост в основном о веб-аналитике: о том, как корректно определять источники посетителей вашего сайта, и о моём модуле для Ruby on Rails, который помогает в этом нелёгком деле. В конце есть небольшая часть, на которую я попрошу обратить внимание участников Rails сообщества: она обо мне и Rails. Но давайте по порядку.
Читать полностью »
Не так давно, 18 декабря, состоялся релиз очередной версии Rails. Забавно, что существует пост, датированный 17-м декабря, и ссылающийся на статью из будущего. Из очередных полезностей новой версии:
- Ускорение загрузки с помощью Spring
- Единое место для хранения разнообразных ключей API, секретов и прочего: config/secrets.yml
- Предпросмотр email'ов: Action Mailer Previews
- Удобная генерация различного контента в зависимости от конкретного request с помощью Action Pack Variants
- Добавление enum-атрибутов в Active Record
Ruby on Rails и Nginx: эффективно отдаем большие файлы
2013-12-17 в 14:57, admin, рубрики: nginx, ruby on rails, метки: nginx, ruby on railsВ этом посте я расскажу, как правильно настроить Nginx для максимально эффективной отдачи больших файлов из вашего rails приложения. К своему удивлению, на русском языке я такой информации не нашел. Есть статьи про использование X-Accel-Redirect совместно с php, а вот чтобы про рельсы да на родном языке что-то не густо… Вобщем, постараюсь восполнить этот пробел.
Задача
Итак, исходные данные следующие:
- мы используем Ruby on Rails, запросы пользователей проходят через Nginx;
- нам нужно отдавать большие файлы;
- файлы должны быть недоступны для прямого скачивания, решение об отдаче файла принимает rails приложение.
Сезон обновлений в JetBrains: RubyMine 6.0
2013-11-29 в 13:31, admin, рубрики: ruby, ruby on rails, rubymine, zeus, Блог компании JetBrains, метки: ruby, ruby on rails, rubymine, zeus
Мы выпустили RubyMine 6 — новую версию нашей профессиональной интегрированной среды разработки для Ruby и Rails. В 6-й версии добавлена долгожданная поддержка работы с несколькими проектами, для ускорения работы переписан парсер Ruby, которому заодно добавили поддержку Ruby 2.1-preview1. IDE стала значительно производительнее, а поддержку Ruby 2.1-preview2 мы планируем сделать в RubyMine 6.0.1.
Rails переадресация старых url
2013-11-25 в 12:32, admin, рубрики: ruby, ruby on rails, метки: ruby on rails Здесь опишу как я боролся с переездом страниц на новые url.
Эта заметка рассчитана на новичков в Ruby On Rails.
Изначально имею свой проект на Ruby on Rails, структура url в нем выглядит следующим образом: /locale/group/product
пример: /ru/bar-code-scanners/datalogic-magelan-1100i
group и product это permalink — строка по которой осуществляется поиск в DB, в место id.
Проблема в том, что пользователи которые добавляют контент на сайт иногда допускают ошибки в permalink.
Вот пример: /ru/bar-code-scanners/datalogic-magelan-1100i
Ошибка в том, что магелан пишется с двумя ll — magellan.
Но товар был добавлен относительно давно и страница уже проиндексирована поисковиками, по этому стоит задача исправить permalink и настроить пере адресацию на новый URL.
Читать полностью »