BESIDES导轨使用的ruby是什么?
Ruby on Rails已经成为服务器编程行业的一个新的竞争面,以及php,asp.net,jsp,python等等。 但是,ruby用于任何东西BESIDES轨道? 它的全部成功归功于rails框架吗? 这里有更多的问题是ruby-on-rails比ruby。 但是,我认为PHP不是用于服务器之外的东西,
想法?
首先,PHP首先被build立为服务器语言。 这是通常不用于Web应用程序之外的主要原因之一 – 它不是为它devise的,因此不能满足脚本化桌面应用程序的要求。
Ruby被devise成一种通用的脚本语言,因此对许多不同的应用程序有广泛的支持。 从Web应用程序到Web服务器本身,到智能graphics库,到图像识别引擎,到线程化数据库服务器,到低级别的系统实用程序,它都被广泛应用。 它在整个计算中有广泛的用途。
Rails肯定大大提高了Ruby的受欢迎程度,将其带到了脚本语言的前沿,产生了40多本书籍,18个会议,几乎所有主要操作系统和7种不同的实现启动!
首先,所有Rails的内部部件都是用Ruby自己编写的,但Rails开发人员使用的所有Rubygems,库,片段或其他内容都是用Ruby编写的,而且很可能是在Rails之外工作的叠加。
话虽如此,stream行的Web框架并不是Rubystream行的原因。 当然,这已经使人们非常需要注意语言,但这并不是人们日常使用它的原因。 它用于从Web应用程序到桌面GUI应用程序的所有事情,因为它简单,优雅的语法,干净,明智和完整的标准库,它是广泛的社区代码,支持和工具链生态系统。
Ruby 被使用是因为它的岩石。
生物医学
Jules J. Berman博士写了一本378页的关于如何使用ruby来解决生物医学领域最常见的计算任务的书。 至于我的知识,这本书没有提到Rails。
但是,ruby用于任何东西BESIDES轨道?
哦,我的天哪,是的。 看看RubyForge ,它比Rails更早,甚至更早的RAA是非Rails的例子。 在工作中,除了不可避免的基于Rails的Intranet应用程序外,我还使用ActiveRecord独立进行数据库工作,定时备份,XMLparsing,FTP下载,CSVparsing,操作Excel工作簿以及任何其他特定的脚本工作。 但是我老了 – 在Rails成为DHH之前的一个苹果之前,我开始使用Ruby。
在国内,我做了各种各样的奇怪的事情,有的成功了,有的甚至不如此。 然而,所有这些都很有趣,而且与Rails相关的很less。
它的全部成功归功于rails框架吗?
不,有些,但不是全部。 说Rails大部分的成功归功于Ruby,也是如此,没有它,它将是一个不同的野兽。
Rails无疑增加了对Ruby的接受度,把它带到了某种程度上的关键性的群体,那里有足够多的开发者 – 不pipe他们的意见 – 现在已经听到了这个语言,并且有了一些可以使用的东西的想法。
是的,它是岩石。
在Rails出来之前,Ruby确实是一种精品语言。 它满足了Perl和Python所做的相同的需求。 在脚本空间中,Perl与Python在过去的十年里一直保持着很大的关系。 在编写Perl和Python程序的人中,Ruby被很less使用或听说过。 当Rails出来时,对Web开发人员(通常是PHP)非常有吸引力,所以很多Web程序员select了Ruby,而其他人则没有理由从舒适的Perl和Python环境中切换。
大多数人仍然只使用Rails,但是越来越多的接触导致更多的人将其用于非networking任务。 大多数地方已经有很多Perl或Python编写的程序,没有理由切换。 大多数Linux发行版都预装了Perl和Python,但不包含Ruby。 Ruby也没有尽可能多的第三方模块可用。
所有广泛使用的configuration(自动化)工具,如Puppet , Chef , Capistrano都是用Ruby编写的。 语言的select并不是随机的,例如Chef也使用Ruby来处理所有的configuration语句,因为语言具有performance力,简单易读。 木偶有自己的DSL(域特定语言),它被devise为可供系统pipe理员访问。 Ruby使得解释这种configuration语言更容易。
另外Vagrant – 创build和testing系统映像的工具是用Ruby编写的。 Bundler将是另一个用于pipe理gem依赖关系的Ruby应用程序的例子。
Metasploit框架用于testing安全问题并帮助进行渗透testing。 它已经在2007年用Ruby完成了重写(之前用Perl编写)。
Ruby中也编写了一个简化创build包(deb,rpm,gem,python模块,节点包,pear,…)的过程的打包工具fpm 。
Ruby是一般的脚本语言(不像PHP)可以用来编写脚本。 你可以使用正则expression式编写简单的文本文件parsing器,只需很less的几行,而不需要谷歌的一切,因为语法简单易学。
Ruby on Rails绝对是最受欢迎的,并且引起了很多关注Ruby语言(这很好),但是还有很多其他的应用程序,新的应用程序肯定会出现。
脚本任务。
例如,我曾经使用Ruby将整个网站的内容(数百页)分隔成逗号分隔的文件。 是否将某人的静态HTML网站迁移到dynamic数据库驱动的网站? 只需批量插入csv。 这样做手工将是不可能的。
Shoes是一个用Ruby编写的跨平台GUI工具包。
正如其他人所说,一般脚本。 我比较喜欢通用脚本(通过Python)的原因很简单:内联正则expression式。 Python的正则expression式支持不幸的是,对于脚本来说,正则expression式通常非常重要。
我甚至不认为我必须提到为什么它击败Perl。
它也可以用于脚本独立(与解释器)和许多其他程序。 Google Sketchup (用于三维build模)让人想起…
它被用作DSL的基础。 这是完美的,因为它的语法非常灵活。 比如有一个叫做Rake的replace。
使用Gosu图书馆的Rubystein – Wolfenstein游戏克隆:)
它被用来编写各种应用程序。 经常用来编写像python这样的小脚本应用程序。
看看ruby伪造。
Web应用程序,脚本,一些游戏,任何你能想到的。 我的一个朋友正在研究as3编译器的ruby:D
Metasploit框架是用Ruby编写的, 模块也是用Ruby编写的。 这已成为编写安全漏洞和安全研究的常用方法。
RubyDNS:用ruby编写的dns服务器
Homebrew是Mac OSX的开源软件包pipe理器,完全用Ruby编写,是github上最受欢迎的项目之一
LessCSS和Webgen 。 即使没有ROR,这两者也足以certificateRuby在我书中的存在。
各种testing场景。 WATIR和RSPEC为例。
- 地图,每个和收集有什么区别?
- 使用send_file从Amazon S3下载文件?
- 如何解决“你的Ruby版本是1.9.3,但你的Gemfile指定为2.0.0”
- 我怎样才能密码保护我的/ sidekiq路线(即要求authentication的Sidekiq :: Web工具)?
- 如何find安装Ruby Gem的path(即Gem.lib_path cf Gem.bin_path)
- 为什么不`config.time_zone`似乎做任何事情?
- 如何使用ruby保存一个base64string作为图像
- 为什么在安装PaperClip时会得到一个“has_attached_file`的未定义方法?
- 我如何强制RAILS_ENV在耙子任务?