红宝石脱轨

时间:2020-03-06 14:53:47  来源:igfitidea点击:

有时,我觉得我的公司是世界上唯一使用Ruby的公司,但没有使用Ruby on Rails,以至于Rails几乎已经成为Ruby的代名词。

我敢肯定这不是真的,但是听到一些有关非Rails Ruby使用的故事会很有趣。

解决方案

我们使用了一些Ruby来进行文件操作,但是还不能合并Rails。

我没有做过任何非Rails Ruby Web开发人员,但是我所有的Project Euler解决方案都在Ruby中以及其他一些小项目(例如IRC机器人)中。

我们主要使用Rails,但我们还有许多其他非Rails的ruby事物,例如用于用户集中身份验证的独立认证守护程序事物,以及运行任意数量的ruby进程并行处理图像的"图像处理服务器"。

哦,别忘了老Rake :-)

我在工作中使用Ruby完成的唯一网站是使用Rails,但我想尝试使用Merb。

除此之外,我在Ruby中做了很多小的实用程序,例如,一个读取RSS feed并将新文章导入到dabase中的应用程序。

这很有趣,所以我也写一些愚蠢的东西,只是因为它是如此之快。昨天我写了一个应用程序,可以播放100,000次Monty Hall问题,以帮助一位朋友说服她的教授切换是正确的策略。

请查看Shoes,这是一个针对Ruby的GUI的简单API,面向新手程序员。

我已经很专业地使用Ruby作为快速脚本来处理诸如重新整理文件之类的事情。我的使用方式与之前接触Rails之前先使用Ruby的方式相同。

Ruby的巨大好处之一就是能够非常轻松地创建DSL。 Ruby允许我们以自然语言的方式创建"业务规则",通常对于业务分析师来说足够容易使用。为此,存在许多Web开发之外的Ruby应用程序。

我强烈建议我们使用Google搜索" ruby​​ dsl"以获得一些出色的读物,但我想特别留给我们一个职位。 Russ Olsen在DSL上写了一个由两部分组成的博客文章。我看到他在DSL上作了演讲,这非常好。我强烈建议我们阅读这些文章。

我还发现了Obie Fernandez在Ruby DSL上的出色演示。强烈推荐阅读!

我在工作中广泛使用Ruby,但都不是基于Rails(甚至是Web)的。

我的域通常是客户端Windows应用程序(wxRuby GUI)和脚本,它们可以自动执行Excel,Internet Explorer,SQL Server查询和报告生成(win32ole COM自动化)。我还将sqlite,pdf编写器和gruff库用于各种数据处理和图形生成任务。

Rails的成功对Ruby来说是巨大的,但是我同意Rails受到了如此多的关注,以至于Ruby在Web之外的价值常常被忽视。

使用C ++编写的带有Homebrew扩展名的Ruby可以完成我的摄影处理中所有繁重的工作。我当时使用的是Python + numpy,但在做一些艺术作品时,Ruby会更有趣。同样,相对缺乏或者不那么成熟的良好图像处理库也使我不太喜欢重新发明轮子。除了对Rails的了解外,我一无所知,对它的含义一无所知,并实际上有一本书(未打开)

在Boulder中,有一群优秀的Ruby用户每月聚会一次。有人指出,Ruby在Rails中的使用确实存在。普通的Ruby用户确实存在,正在乞求关注,展示了整洁的东西,并且可以在用户组会议上找到彼此。

他们的披萨也比Python组要好,Python组在一个月的同一天也见过面。只能选一个...

Ruby也用于桌面应用程序。尤其是使用JRuby来开发Swing桌面应用程序。

我曾经在工作中使用过Ruby

  • 数据提取器,从二进制输出生成csv文件。
  • .ini文件生成器,将简单的语法转换为重复的.ini格式。
  • 一个简单的TCP / IP服务器,在测试过程中充当客户系统的替身。

Rails的一部分算在内吗?我们已经将Ruby用于ETL应用程序,并仅将ActiveRecord插入其模型验证中。

我们主要是C ++商店,但是我们发现Ruby在许多领域都非常有用。这里有一些:

  • 代码生成-构建了多个DSL,以从单个输入文件生成C ++ / Java / C#代码
  • 用于构建项目和格式化Cruise Control输出的脚本
  • 用于运行单元测试和格式化Cruise Control输出的脚本
  • 用于从命令行操作Visual Studio项目和解决方案的脚本
  • 集成测试-与C ++相比,我们可以使用Ruby更快,更干净地进行测试
  • QA的整个测试套件都是用Ruby编写的

基本上,Ruby是我在有意义的地方使用的工具。在很多地方都有意义。

我们使用Ruby来实现我们的测试自动化软件。这包括用于Selenium RC,WATIR和AutoIT的测试框架和驱动程序代码。

Ruby足够强大,可以创建可以与Selenium或者WATIR等测试工具进行交互的综合应用程序,同时可以读取数据文件,与远程Windows UI进行交互并执行近乎透明的网络通信。全部在Windows或者Linux上运行。

简洁的语法使其非常适合新手和没有经验的程序员阅读。尽管它具有完全的OO性质,但使这些程序员从一开始就很容易应用良好的(最近学习的)OO技术。

Ruby语法的灵活性还使DSL的使用和创建更加容易。这使技术含量较低的人可以调用,阅读并可以在其中创建自己的测试。

我已经在需求不稳定的项目中将Ruby用于Cand T-SQL存储过程的代码生成。数据模型被编码在YAML文件中,.erb模板用于类和存储过程。与直接的Cas重复代码可以在代码生成器中的单个方法中分解出来相比,它还提供了比直接的Cas Repetitve代码更可行的DRY解决方案。

或者,我们可以使用Ruby来制作音乐,例如Giles Bowkett的始祖鸟。 Giles的有关始祖鸟的演示是有史以来最好的演示之一。我强烈推荐它。

我们使用Watir(Ruby库)来测试.net Web应用程序。

在我工作的地方,我们使用Ruby来完成许多不同的一次性类型批处理作业。其中一个示例是与亚马逊的S3服务进行交互的工作。当时,Ruby S3库可能是最简单的库,对于我们来说,它可以在很短的时间内启动并运行。

我编写了一个订单处理专家系统(也请参阅DSL答案),将10万行客户特定的perl转换为约1万行红宝石处理数十个客户的行。完全没有Web组件,也没有Rails。

Google Sketchup使用Ruby作为嵌入式脚本语言。我们可以使用它来执行各种3D建模和导入/导出任务。该脚本可与免费版本一起使用,甚至还有不错的文档。

RubyCocoa和MacRuby。无需Rails即可制作完整的基于Cocoa的GUI应用程序。然后,我们也可以使用Interface Builder。

虽然我们确实有几个Rails应用程序在工作,但我们也将Ruby用于一些相当密集的非Web应用程序。

我们有一个SMS传递守护程序,它从队列中提取消息然后传递它们,还有其他应用程序可以调用的信用卡处理守护程序,这确保了中央审核跟踪。

我本人既可以单独使用红宝石,也可以与框架导轨结合使用。
我制作了一个ruby应用程序,每天从网站上获取所有高分,并将其放入mysql数据库中。这是我自己在红宝石上进行的第一个也是唯一的应用程序

我在工作中经常使用Rails,但是对于较小的应用程序或者基于REST的简单服务,我倾向于使用Sinatra。我也在用Ruby编写文字冒险游戏,很有趣。

在工作中,我使用Ruby为Windows编写所有脚本。因此,我可以对Dos脚本说再见

我是一个webdriver用户。由于rake,webdriver使用ruby来自动化构建过程。有关详细信息,请参见http://code.google.com/p/webdriver/

去年,我参与了一个博物馆项目,该项目使用了很多Ruby。 (http:// http://ourspace.tepapa.com/home)

我大部分时间都花在的部分是交互式平面图。地板上的地图具有传感器,因此当人们在上面行走时,会触发灯光并在墙上的显示中播放图像或者视频以及音轨。

展览这部分的所有控制代码都是红宝石。我用红宝石包装纸编写了C接口,以便与地面传感器和照明控制器进行通信。系统在MYSQL数据库中查询要显示的媒体文件,然后告诉墙上的计算机通过UDP播放媒体。

这是整个展览中最可靠的部分。

Ruby被用于展览的其他主要部分,Wall,尽管我与此并没有多大关系。在移植到纯Obj-C之前,大多数图形都是使用OpenGL的接口,一些可可粉和一个物理库在ruby中进行原型制作的。

嘿,好问题。

我使用Ruby将android电子表格的Excel电子表格机场设施数据转换为sqlite3,同时为飞行员制作了一个应用程序。

我将Ruby与Sinatra一起使用,这比Rails简单得多。我确实使用过Rails,但只是发现它变成了一个怪物,尽管与Java可用的Web框架相比,Rails仍然很棒。

但是,我喜欢的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,以及它有多快速/简单,但是在查看Rails之后,与其他任何东西相比,我都没有发现任何令人惊叹的东西,甚至一点点创新或者快速的东西都没有框架。我看到的唯一好处是我可以用ruby编写代码,这很好,但是初始设置,服务器维护和扩展更加困难,因此重新抵消了使用ruby编写代码的乐趣。