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

Что такое Ruby on Rails

Время на прочтение 1 мин
Количество просмотров 12K
Разработка веб-сайтов *
"Ruby on Rails — это современный высокоуровневый фреймворк веб-разработки. Создатели утверждают, что Ruby on Rails позволит в разы повысить продуктивность веб-разработчиков по сравнению с предыдущими популярными технологиями, такими как PHP. Версия 1.0 вышла в прошлом году и с тех пор Ruby on Rails быстрыми темпами набирает популярность."
Alex Lebedev

Под линком весьма приятная статья с разбором полетов…
Источник: alexlebedev.com/blog/we-are-on-rails
Всего голосов 40: ↑35 и ↓5 +30
Комментарии 206

Markdown разметка в RubyOnRails-приложении

Время на прочтение 4 мин
Количество просмотров 9.5K
Блог компании Southbridge Разработка веб-сайтов *Ruby on Rails *

В одном новом проекте, написанном на ruby on rails, была поставлена задача дать возможность пользователю использовать markdown-разметку для форматирования текста. Один из вариантов реализации описан в данной статье.
Читать дальше →
Всего голосов 15: ↑9 и ↓6 +3
Комментарии 4

Выпущены Rails 3.2.13, 3.1.12, и 2.3.18: исправление 4х уязвимостей безопасности

Время на прочтение 1 мин
Количество просмотров 3.6K
Ruby on Rails *

Итак, найдены очередные уязвимости в Rails. На этот раз их 4:

Уязвимости исправлены в версиях 3.2.13, 3.1.12, и 2.3.18. Настоятельно рекомендуется обновиться.
Подробнее тут.
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 17

Организация роутинга в clojure веб-приложении

Время на прочтение 4 мин
Количество просмотров 3.7K
Разработка веб-сайтов *Проектирование и рефакторинг *Ruby on Rails *Функциональное программирование *Clojure *

Существуют библиотеки на различных языках, имеющие общие черты. Это compojure, sinatra, grape, express, koa и подобные.


У них схожий подход к роутингу. Они не накладывают никаких ограничений и не предлагают структуру для организации url. Разработчики в таких условиях склонны не заботиться о структуре и впоследствии получают плохо поддерживаемый код.


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


Я расскажу, как улучшить поддерживаемость кода в экосистеме Clojure, и покажу, как:


  1. организовать url'ы
  2. структурировать код обработчиков
  3. использовать языковые конструкции для генерации url
Читать дальше →
Всего голосов 10: ↑9 и ↓1 +8
Комментарии 19

Соответствие между ограничениями базы данных и валидациями

Время на прочтение 2 мин
Количество просмотров 1.4K
Ruby *Ruby on Rails *
Из песочницы
Спустя некоторое время с начала разработки вашего проекта, вы можете заметить, что у вас есть несоответствия между ограничениями в базе данных и валидациями в приложении. В данной статье, я объясняю как gem database_consistency поможет вам привести в порядок вашу базу данных.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 3

factory_trace gem поможет почистить ваши factories

Время на прочтение 2 мин
Количество просмотров 1.3K
Ruby *Ruby on Rails *
Если вы пишите тесты для вашего проекта и используете factory_bot для генерации тестовых данных, то представляю вам гем factory_trace, который поможет вам поддерживать ваши factories & traits в актуальном состоянии.
Читать дальше →
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 0

Как технологии быстрой разработки могут стать источником неприятных уязвимостей

Время на прочтение 3 мин
Количество просмотров 9K
Информационная безопасность *Тестирование IT-систем *Тестирование веб-сервисов *IT-компании
Безопасность на реальных примерах всегда более интересна.

Как тестировщик на проникновение, люблю, когда приходят проекты, построенные на фреймворках быстрой разработки (Rapid development), подобно Ruby-on-Rails, Django, AdonisJs, Express и так далее. Они позволяют очень быстро строить систему за счет того, что бизнес модели прокидываются сразу на все уровни, включая клиентский браузер. Model (модели бизнес объектов в базе) и ViewModel (контракт взаимодействия с клиентами) такие фреймворки часто объединяют вместе, чтобы избежать лишнего перекладывания из Model во ViewModel и обратно, REST сервисы автоматом генерируются. C точки зрения разработки можно просто разработать бизнес модель на сервере, и потом использовать ее сразу на клиенте, что несомненно увеличивает скорость разработки.

Еще раз, я не утверждаю, что вышеупомянутые фреймворки плохие, или с ними что-то не то, у них есть средства и инструменты правильной защиты, просто с ними разработчики делают больше всего ошибок. Такое встречал и на одном ASP.NET MVC проекте, в котором разработчики наделали те же уязвимости, выставляя Models вместо ViewModels…
Читать дальше →
Всего голосов 27: ↑21 и ↓6 +15
Комментарии 2