Відповіді:
Однією з величезних переваг Ruby є можливість створювати DSL дуже легко. Ruby дозволяє створити "бізнес-правила" природним мовою, що зазвичай є досить простим для використання бізнес-аналітиком. Для цього існує багато додатків Ruby за межами веб-розробки.
Я настійно рекомендую Googling "ruby dsl" для чудового читання, але я хотів би залишити вас одним постом, зокрема. Росс Олсен написав публікацію в блозі у двох частинах про DSL . Я бачив, як він виступив з доповіддю про DSL, і це було дуже добре. Дуже рекомендую прочитати ці пости.
Я також знайшов цю чудову презентацію на рубінах DSL від Obie Fernandez . Настійно рекомендуємо читати!
Я активно використовую Ruby у своїй роботі, і жодна з них не заснована на Rails (або навіть в Інтернеті).
Мій домен зазвичай - це клієнтські програми для Windows (графічний інтерфейс wxRuby) та скрипти, що автоматизують Excel, Internet Explorer, запити SQL Server та створення звітів (автоматизація COM32 win32ole). Я також використовую бібліотеки sqlite, pdf-Writer та gruff для різних завдань з пошуку даних та створення графіків.
Успіх Рейлів був великий для Рубі, але я згоден, що Рейлам приділено стільки уваги, що цінність Рубі за межею Інтернет часто не помічається.
Ми в основному магазин C ++, але ми знайшли кілька областей, де Рубі виявився досить корисним. Ось декілька:
Рубі - це в основному мій інструмент, де це має сенс. І це має сенс у багатьох місцях.
Google Sketchup використовує Ruby як вбудовану мову сценаріїв. Ви можете використовувати його для виконання всіляких завдань 3d моделювання та імпорту / експорту. Сценарій працює з безкоштовною версією, і там є навіть гідна документація .
Ruby з розширенням домашнього письма, написаним на C ++, робить усі важкі пікселі для обробки моєї фотографії. Я використовував Python + numpy, але, роблячи мистецькі речі , Ruby просто веселіше. Крім того, відносна відсутність або менша зрілість гарних бібліотек для обробки зображень змушує мене відчувати себе менш схожими на переосмислення коліс. Я незрозумілий про Рейки, крім того, що я чув про нього, маю нечітке уявлення про те, що це таке, і насправді маю на ньому книгу (не відкрито)
Або ви можете використати Рубі, щоб створити музику ала Джилса Боукета Археоптерикс. Ця презентація Джайлса про Археоптерикс - одна з найкращих презентацій коли-небудь. Я дуже рекомендую його.
RubyCocoa та MacRuby. Можна зробити повні графічні програми на основі какао без Rails. І тоді ви також можете скористатися Interface Builder.
Я працював над музейним проектом минулого року, в якому було багато Рубі. ( http: // http: //ourspace.tepapa.com/home )
Частина, на яку я провів більшу частину свого часу, - це інтерактивна підлога. Карта на підлозі має датчики, тому коли люди ходять по ній, спрацьовують вогні, а на стіні відображаються зображення чи відео та звукові доріжки.
Весь контрольний код цієї частини експонату - рубіновий. Я написав інтерфейси C з рубіновими обгортками, щоб спілкуватися з датчиками підлоги та контролерами освітлення. Система запитує базу даних MYSQL для відображення медіа-файлів, а потім повідомляє комп'ютерам у стінах відтворювати носії через UDP.
Це найнадійніша частина всього експонату.
Рубі використовували для іншої основної частини експонату, Стіна, хоча я з цим не мала нічого спільного. Більшість графіки були прообразовані в рубіні, використовуючи інтерфейси для OpenGL, трохи какао та бібліотеку фізики, перш ніж переносити їх на чистий Obj-C.
У 30 відповідях, які передували моєму приходу, я не бачив лялечки чи шефа . Здається, що Ruby домінує над поточною роботою в облачній автоматизації і є базою, розширенням та мовою шаблону цих двох великих гравців. Вони використовуються головним чином для поширення інформації про конфігурацію системи та додатків для серверних масивів та для загального управління робочими станціями ІТ.
Поле DevOps досить обізнане з Ruby. Сьогодні у Perl є конкурент. Хоча справді простий сценарій часто все ще може бути написаний безпосередньо для sh(1),
складної задачі, тепер це може бути виконано в Ruby, а не в Perl.
Єдиний сайт, який я робив з Ruby на роботі, - це використання Rails, але я хотів би спробувати Мерб .
Крім цього, я роблю багато невеликих корисних програм у Ruby - наприклад, додаток, який читає RSS-канали та імпортує нові публікації в базу даних.
Це весело, тому я також пишу деякі німі речі лише тому, що це так швидко. Вчора я написав додаток, щоб зіграти проблему Monty Hall 100 000 разів, щоб допомогти подрузі переконати її професора, що переключення - це правильна стратегія.
Я майже ображаюсь, що рубін - це річ. Це як колись, коли CGI був останнім трендом, і всі подумали, що якщо ти знаєш perl, ти повинен робити це лише тому, що ти програмуєш програми CGI. Рубі - це просто сценарна мова для мене, хоча і не така зріла, як пітон, тому я дещо шкодую, що перескочив деякі її обручі та останні зміни, мені все одно подобається і користуюсь нею. Хоча я працюю в магазині java, і тому groovy є ідеальним вибором мови сценаріїв, я все ще використовую рубіни вдома і для викидання сценаріїв, які не потрібно ділитися на роботі.
Я розглядав питання про те, як потрапити в RoR від усієї шуму і як це швидко / просто, але, переглянувши рейки, я не побачив нічого, що було б дивовижним, або навіть найменш інноваційним або швидким швидким про його розвиток порівняно з будь-яким іншим рамки. Єдиною перевагою, яку я бачив, було те, що я міг кодувати в рубіні, що було б непогано, але початкові налаштування, обслуговування сервера та масштабування складніше, тим самим знову компенсуючи задоволення від кодування в рубіні.
Я створив презентацію - випадково названу Off The Rails - для обговорення веб-додатків на основі Rack:
https://github.com/alexch/Off-The-Rails
Git repo включає слайди у форматі Markdown та зразок коду (у вигляді запущених програм та програмного забезпечення). Ось реферат:
Ruby on Rails - найпопулярніша рамка веб-додатків для Ruby. Але це не єдине! Якщо ви вважаєте, що Rails занадто великий, або занадто впевнений у собі, або занадто щось, ви, можливо, будете раді дізнатись про нове покоління так званих мікрофреймів, побудованих на Rack. А оскільки Rails 3 - сама програма Rack, вам не доведеться відмовлятися від Rails, щоб отримати користь від маршрутів Sinatra або API-програм винограду.
Ось кілька посилань:
Сподіваюся, вам це стане в нагоді!
Я в основному веб-розробник, і я навчився Рубі використовувати Rails, але мені так подобається мова, що я почав розробляти настільний додаток Swing в Ruby, використовуючи JRuby та Monkeybar. Я грамотний у Java, але не дуже люблю його використовувати, а API Swing - жахливо, тому велике виграш став Рубі на вершині.
В основному ми використовуємо рейки, але у нас є багато інших рубінових речей, що не належать до рейки - наприклад, окрема річ демона аутентифікації для централізованої аутентифікації користувачів та "сервер обробки зображень", який виконує довільну кількість рубінових процесів для паралельної обробки зображень.
О, і не забувайте старого доброго Грабля :-)
Ruby також використовується для настільних додатків. Особливо використання JRuby для розробки настільних додатків Swing.
Ми використовуємо Ruby для реалізації нашого програмного забезпечення для автоматизації тестів. Сюди входить тестова основа та код драйвера для Selenium RC, WATIR та AutoIT.
Ruby є достатньо потужним для створення комплексних програм, які можуть взаємодіяти з інструментами тестування, такими як Selenium або WATIR, одночасно читаючи з файлів даних, взаємодіючи з віддаленим інтерфейсом Windows і здійснюючи майже прозорі мережеві комунікації. Все під час роботи в Windows або Linux.
Незграбний синтаксис робить його ідеальним для читання нових та недосвідчених програмістів. Незважаючи на те, що цілком OO-характер дозволяє цим самим програмістам легко застосовувати хороші (нещодавно вивчені) методи OO з самого початку.
Гнучка природа синтаксису Ruby також значно полегшує використання та створення DSL. Це дозволяє менш технічним людям отримувати права, читати та, можливо, створювати там власні тести.
Я використовував Ruby для генерації кодів збережених процедур C # і T-SQL в проекті з нестабільними вимогами. Модель даних була закодована у файл YAML, а шаблони .erb використовувались для класів та зберігалися процедур. Це також дозволило отримати набагато більше DRY рішення, ніж це було б можливо з прямим C #, оскільки код repetitve міг бути розроблений в єдиний метод в генераторі коду.
Я користувач веб-драйвера. ruby використовується webdriver для автоматизації процесу збирання завдяки граблям. см http://code.google.com/p/webdriver/ подробиці
Хе, чудове запитання.
Я використовував Ruby для перетворення даних електронної таблиці аеропорту Excel в sqlite3 для платформи телефону Android, роблячи додаток для пілотів.
Я використовую Ruby з Sinatra, що набагато простіше, ніж Rails. Я використовував Rails, але тільки що виявив, що він перетворився на чудовисько, хоча Rails все ще дивовижний порівняно з веб-рамками, доступними для Java.
Основна особливість Ruby, яку я люблю, але це "eval" та "method_missing", яку Rails використовує, наприклад, в ActiveRecord, щоб ви могли використовувати дивовижні запити "find_by-field-name-".
Я використовував Ruby для багатьох бек-енд-кодів просто тому, що я був єдиною людиною, якій було доручено це зробити, і мені потрібна чудова чиста мова, яка дозволила мені бути дуже продуктивним і писати простий у підтримці код. Я вважаю, що Рубі дозволяє мені зробити це простіше, ніж Perl і Python. Пробіг інших людей може залежати від цього, але це добре працює для мене.
Крім того, мені подобається, як працюють Секвел і Нокогірі. Я також використовував ActiveRecord деякий час окремо від Rails.
Ми використовуємо деякі Ruby для обробки файлів, але ще не змогли включити рейки.
У Боулдері була чудова група користувачів Ruby, які зустрічалися щомісяця. Цей пункт був зроблений - що Рубі має існування поруч із його використанням у Rails. Користувачі Plain Ruby існують, просять уваги, мають чіткі речі для показу та можуть знайти один одного на зустрічах групи користувачів.
Вони також мали кращу піцу, ніж група Python, яка також зустрічалася в той же день місяця. Можна вибрати лише один ...
Хоча у нас є кілька додатків Rails на роботі, ми також використовуємо Ruby для деяких досить інтенсивних немережевих матеріалів.
У нас є демон для доставки SMS, який витягує повідомлення з черги, а потім доставляє їх, і демон, що обробляє кредитну карту, на який можуть звертатися інші програми, що гарантує наявність центрального аудиту.