Рубин с рельсов

Иногда мне кажется, что моя компания - единственная компания в мире, использующая Ruby, но не Ruby on Rails, до такой степени, что Rails почти стал синонимом Ruby.

Я уверен, что это не совсем так, но было бы интересно услышать несколько историй об использовании Ruby без использования Rails.

Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
114
0
9 126
38
Перейти к ответу Данный вопрос помечен как решенный

Ответы 38

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

Я не занимался веб-разработкой на Ruby, отличном от Rails, но все мои решения Проект Эйлер находятся на Ruby, а также некоторые другие небольшие проекты, такие как мой IRC бот.

В основном мы используем рельсы, но у нас есть много других рубиновых вещей, не относящихся к рельсам - например, автономный демон аутентификации для централизованной аутентификации пользователей и «сервер обработки изображений», который запускает произвольное количество процессов ruby ​​для параллельной обработки изображений.

Да, и не забывайте старые добрые грабли :-)

Единственный сайт, на котором я работал с Ruby, - это использование Rails, но я бы хотел попробовать Мерб.

Помимо этого, я создаю множество небольших служебных программ на Ruby - например, приложение, которое читает RSS-каналы и импортирует новые сообщения в базу данных.

Это весело, поэтому я также пишу глупые вещи только потому, что это так быстро. Вчера я написал приложение, чтобы сыграть в проблема Монти Холла 100 000 раз, чтобы помочь другу убедить своего профессора, что переключение - правильная стратегия.

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

vava 03.03.2009 10:19

Мне было бы интересно увидеть ваш алгоритм.

maček 01.06.2010 21:58

Если я правильно понимаю, Мерб в значительной степени был поглощен - или, по крайней мере, перекрестно оплодотворен, или как вы хотите это называть - в Rails 3.

Andy 01.07.2011 23:20

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

Я много профессионально использовал Ruby для быстрых сценариев для таких вещей, как перемешивание файлов. Точно так же я использовал Ruby, прежде чем вообще касался Rails.

Ответ принят как подходящий

Одно из огромных преимуществ Ruby - возможность очень легко создавать DSL. Ruby позволяет создавать «бизнес-правила» на естественном языке, что обычно достаточно просто для использования бизнес-аналитиком. Для этой цели существует множество приложений Ruby, не связанных с веб-разработкой.

Я настоятельно рекомендую поискать в Google "ruby dsl" для отличного чтения, но я хотел бы оставить вам один пост в частности. Расс Олсен написал сообщение в блоге из двух частей на DSL. Я видел, как он выступал с презентацией о DSL, и это было очень хорошо. Я очень рекомендую прочитать эти посты.

Я тоже нашел этот отличная презентация Ruby DSL от Оби Фернандеса. Настоятельно рекомендуется к прочтению!

Цифровая абонентская линия на Ruby?

user142019 02.02.2011 17:34

Я широко использую Ruby в своей работе, и ни один из них не основан на Rails (или даже в Интернете).

Мой домен - это обычно клиентские приложения Окна (wxRuby GUI) и сценарии, автоматизирующие Excel, Internet Explorer, запросы SQL Server и генерацию отчетов (автоматизация win32ole COM). Я также использую библиотеки sqlite, pdf-writer и gruff для различных задач по изменению данных и генерации графиков.

Успех Rails был большим для Ruby, но я согласен с тем, что Rails привлекло столько внимания, что ценность Ruby за пределами сети часто упускается из виду.

Ruby с расширением homebrew, написанным на C++, выполняет всю тяжелую работу с пикселями при обработке моих фотографий. Я использовал Python + numpy, но при выполнении вычурные вещи Ruby просто веселее. Кроме того, относительное отсутствие или меньшая зрелость хороших библиотек обработки изображений заставляет меня меньше чувствовать, что я изобретаю колеса. Я ничего не знаю о Rails, кроме того, что слышал о нем, имею нечеткое представление о том, что это такое, и на самом деле у меня есть книга об этом (неоткрытая)

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

У них также была пицца получше, чем у группы Python, которые встречались также в один и тот же день месяца. Можно выбрать только один ...

Ага, но группе Python лучше Py! (глупая шутка, я знаю, я знаю ...)

dguaraglia 30.09.2008 22:38

Так смешно, я забыл посмеяться! 8P

DarenW 12.10.2008 01:51

Ruby также используется для настольных приложений. Особенно использование JRuby для разработки настольного приложения Swing.

Я использовал Ruby на работе для

  • Средство извлечения данных, генерирующее файлы csv из двоичного вывода.
  • Генератор файлов .ini, превращающий простой синтаксис в повторяющийся формат .ini.
  • Простой TCP / IP-сервер, действующий в качестве заместителя для системы заказчика во время тестирования.

Считается ли часть Rails? Мы использовали Ruby для приложения ETL и подключили ActiveRecord только для проверки его модели.

Мне тоже нравится активная поддержка. 3. days.from_now

Matthew Schinckel 03.03.2009 09:54

В основном мы специализируемся на C++, но мы обнаружили несколько областей, в которых Ruby оказался весьма полезным. Вот несколько:

  • Генерация кода - построено несколько DSL для генерации кода C++ / Java / C# из отдельных входных файлов.
  • Поддержка сборки
    • скрипты для создания файлов Makefile для unix из файлов проекта Visual Studio
    • скрипты для сборки проектов и форматирования вывода для круиз-контроля
    • скрипты для запуска наших модульных тестов и форматирования вывода для круиз-контроля
    • скрипты для управления проектами и решениями Visual Studio из командной строки
  • Интеграционные тесты - мы можем проводить тесты намного быстрее и чище, используя Ruby, чем C++.
  • Весь пакет тестирования QA написан на Ruby

Ruby - это, по сути, мой инструмент там, где это имеет смысл. И это имеет смысл во многих местах.

Вам следует серьезно подумать об использовании CMake для создания файлов сборки как для Unix (Makefiles), так и для Windows (Visual Studio).

JesperE 05.10.2008 22:20

Мы используем Ruby для реализации нашего программного обеспечения для автоматизации тестирования. Сюда входит тестовая среда и код драйвера для Selenium RC, WATIR и AutoIT.

Ruby достаточно мощный, чтобы создавать комплексные приложения, которые могут взаимодействовать с инструментами тестирования, такими как Selenium или WATIR, одновременно читая файлы данных, взаимодействуя с удаленным пользовательским интерфейсом Windows и выполняя почти прозрачную сетевую связь. И все это при работе в Windows или Linux.

Лаконичный синтаксис делает его идеальным для чтения начинающими и неопытными программистами. Хотя его полностью объектно-ориентированный характер позволяет этим же программистам с самого начала применять хорошие (недавно изученные) методы объектно-ориентированного программирования.

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

Не все драгоценные камни так хорошо работают в Windows. По моему опыту, Linux - гораздо более удобная среда для запуска Ruby.

Zombies 28.05.2010 00:19

Я использовал Ruby для генерации кода хранимых процедур C# и T-SQL в проекте с нестабильными требованиями. Модель данных была закодирована в файл YAML, а для классов и хранимых процедур использовались шаблоны .erb. Это также позволило получить гораздо более СУХИЕ решения, чем было бы возможно с обычным C#, поскольку повторяющийся код мог быть выделен в один метод в генераторе кода.

Или вы можете использовать Ruby для создания музыки, как «Археоптерикс» Джайлза Боукетта. Эта презентация Джайлза об археоптериксе - одна из лучших презентаций на свете. Я очень рекомендую это.

Невероятно увлекательный материал, генеративная музыка.

iono 29.04.2013 12:46

Мы используем Watir (библиотека Ruby) для тестирования нашего веб-приложения .net.

Ватир чрезвычайно полезен. Мы также иногда используем Selenium через Ruby.

Swanand 04.09.2009 09:39

Там, где я работаю, мы используем Ruby для выполнения ряда различных разовых пакетных заданий. Одним из примеров этого является работа, которая взаимодействует с сервисом Amazon S3. В то время библиотека Ruby S3 была, вероятно, самой простой из имеющихся для нас, чтобы начать работу за короткий промежуток времени.

Я написал экспертную систему обработки заказов (см. Также ответ DSL), преобразовал 100 тыс. Строк клиентского Perl в около 10 тыс. Строк ruby, обслуживающих десятки клиентов. Никаких веб-компонентов, никаких Rails.

Google Эскиз использует Ruby в качестве встроенного языка сценариев. Вы можете использовать его для выполнения всевозможных задач 3D-моделирования и импорта / экспорта. Скрипт работает с бесплатной версией и даже есть приличный документация.

Хм, интересно. Я действительно должен попытаться найти время, чтобы поиграть со Sketchup.

JesperE 19.02.2009 09:35

RubyCocoa и MacRuby. Можно создавать полноценные приложения с графическим интерфейсом на основе Какао без Rails. И тогда вы тоже можете использовать Interface Builder.

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

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

Сам использую как рубин по отдельности, так и в сочетании с рельсами каркаса. Я сделал приложение на Ruby, которое ежедневно извлекает все рекорды с веб-сайта и помещает их в базу данных mysql. Это первое и единственное приложение, которое я сделал на Ruby самостоятельно.

Я часто использую Rails в работе, но для небольших приложений или простых служб на основе REST я обычно использую Sinatra. Еще я пишу текстовую приключенческую игру на Ruby для развлечения.

На работе я пишу все свои сценарии для Windows с помощью Ruby. Благодаря этому я могу попрощаться со скриптом Dos

Я пользуюсь веб-драйверами. ruby используется webdriver для автоматизации процесса сборки благодаря rake. подробности см. в http://code.google.com/p/webdriver/

В прошлом году я работал над музейным проектом, в котором использовалось много Ruby. (http: // http: //ourspace.tepapa.com/home)

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

Весь контрольный код для этой части выставки - рубиновый. Я написал интерфейсы C с рубиновыми оболочками для связи с датчиками пола и контроллерами освещения. Система запрашивает базу данных MYSQL для отображения мультимедийных файлов, а затем сообщает компьютерам в стенах воспроизводить мультимедийные файлы через UDP.

Это самая надежная часть всей выставки.

Рубин использовался для другой важной части выставки, Стены, хотя я не имел к этому никакого отношения. Большая часть графики была прототипирована на Ruby с использованием интерфейсов для OpenGL, немного Cocoa и библиотеки физики, прежде чем была перенесена на чистый Obj-C.

Хех, отличный вопрос.

Я использовал Ruby для преобразования данных об объектах аэропорта из электронной таблицы Excel в sqlite3 для платформы телефона Android при создании приложения для пилотов.

Я использую Ruby с Sinatra, который намного проще, чем Rails. Я действительно использовал Rails, но только что обнаружил, что он превратился в своего рода монстра, хотя Rails по-прежнему великолепен по сравнению с веб-фреймворками, доступными для Java.

Однако главная особенность Ruby, которая мне нравится, - это eval и method_missing, которые Rails фактически использует, например, в ActiveRecord, чтобы вы могли использовать удивительные запросы «find_by-field-name-».

Я использовал Ruby для большого количества внутреннего кода просто потому, что я был единственным человеком, которому было поручено это сделать, и мне нужен был хороший чистый язык, который позволил бы мне быть очень продуктивным и писать простой в поддержке код. Я считаю, что Ruby позволяет мне делать это проще, чем Perl и Python. Мнения других людей могут отличаться от этого, но для меня это работает хорошо.

Кроме того, мне нравится, как работают Sequel и Nokogiri. Я также некоторое время использовал ActiveRecord отдельно от Rails.

Я почти оскорблен тем, что рубин - это рельсы. Это как в те времена, когда CGI был последней тенденцией, и все считали, что если вы знаете Perl, вы должны делать это только потому, что вы программировали приложения CGI. Ruby для меня - это просто язык сценариев, хотя и не такой зрелый, как python, поэтому я несколько сожалею о том, что пришлось прыгнуть через некоторые из его обручей и недавних изменений, мне он все еще нравится и я его использую. Хотя я работаю в магазине java, и поэтому groovy - идеальный выбор для языка сценариев, я все еще использую ruby ​​дома и для выбрасывания сценариев, которые не нужны для совместного использования на работе.

Я подумывал о том, чтобы попасть в RoR из-за всей этой шумихи и о том, насколько это быстро / просто, но, посмотрев на рельсы, я не увидел вообще ничего удивительного или хотя бы немного инновационного или быстрого в его разработке по сравнению с Любые другим. рамки. Единственное преимущество, которое я увидел, заключалось в том, что я мог писать код на Ruby, что было бы неплохо, но первоначальная настройка, обслуживание сервера и масштабирование сложнее, что сводит на нет удовольствие от кодирования на Ruby.

Я создал презентацию - по совпадению названную Off The Rails - для обсуждения веб-приложений на основе Rack:

https://github.com/alexch/Off-The-Rails

Репозиторий git включает слайды в формате Markdown и образец кода (в виде запущенных приложений и промежуточного программного обеспечения). Вот аннотация:

Ruby on Rails is the most popular web application framework for Ruby. But it's not the only one! If you think Rails is too big, or too opinionated, or too anything, you might be happy to learn about the new generation of so-called microframeworks built on Rack. And since Rails 3 is itself a Rack app, you don't have to give up Rails to get the benefit of Sinatra routes or Grape APIs.

И вот несколько ссылок:

Надеюсь, вы найдете ее полезной!

Помимо Rails, я активно использую Ruby в следующих малых и средних проектах:

  1. При синтаксическом разборе больших иерархических текстовых файлов (в некоторой степени аналогично структуре YAML)
  2. Специализированные мелкие пауки-пауки.
  3. Три приложения Sinatra.

Я в основном веб-разработчик и изучил Ruby для использования Rails, но мне настолько нравится этот язык, что я начал разрабатывать настольное приложение Swing на Ruby, используя JRuby и Monkeybars. Я компетентен в Java, но не очень люблю его, а Swing API ужасен, поэтому размещение Ruby на вершине было большой победой.

Ruby очень мощный, и Rails был хорошим доказательством его мощи, применяемой к веб-сервисам.

Тем не менее, Ruby продолжает (и будет продолжать) получать более широкое распространение в различных контекстах, таких как системное администрирование, сценарии, автоматизация и т. д.

Дело в том, что в какой-то момент Rails приобрел такую ​​известность, что «затмил» Ruby и заставил его выглядеть так, как будто это Ruby следует за Rails. Но, как показывает количество ответов в этом посте, Ruby - это намного больше, чем Rails.

Я тоже чувствую "зуд", когда ищу информацию о Ruby, и мне приходится постоянно отклонять информацию Rails, которая мешает ... но, эй, Rails также внес большой вклад в развитие Ruby и маркетинг :)

Марионетка и шеф-повар: DevOps

Я не видел упоминания о Кукольный или Повар в 30 ответах, предшествовавших моему приезду. Ruby, кажется, доминирует в текущей работе по автоматизации облачных вычислений и является базовым языком, расширением и языком шаблонов этих двух крупных игроков. Они используются в основном для распространения информации о конфигурации системы и приложений для массивов серверов и для общего управления ИТ-рабочими станциями.

Поле DevOps хорошо известно Ruby. Сегодня у Perl появился конкурент. Хотя действительно простой сценарий часто все еще может быть написан непосредственно для sh(1),, сложная задача теперь может выполняться на Ruby, а не на Perl.

Я унаследовал устаревшее приложение, которое поддерживает мобильные устройства для некоторых известных сайтов знакомств (которые я не буду называть из-за конфиденциальности).

Устаревшее приложение использует Ruby, но не Rails. Исходное приложение использует предшественника Rails под названием "Merb" (https://en.wikipedia.org/wiki/Merb).

Часть приложения была перенесена для использования различных технологий для разделения технологии на внутренний и внешний уровень. Внутренний уровень использует чистый рубин, а внешний интерфейс использует ReactJS с некоторой интеграцией NodeJS.

Другие вопросы по теме