当前位置:首页 » 操作系统 » rails源码

rails源码

发布时间: 2022-07-15 19:11:37

1. 如何安装多个不同版本的rails

另一个方法,可以在终端执行gem install v=2.02 rails,这样就可以指定版本安装rails了。 HOHO....这个问题很易解,如果是使用NetBeans之类的IDE进行应用开发时,在生成应用框架时,可以直接选择rails版本的。 如果想高深一点,那就还是进入终端吧源码天空

2. 在Linux平台上安装和配置Ruby on Rails ERROR: While executing gem ... (Gem::RemoteSourceException) HT

这个是远程的gem包加载错误.

3. 学习Ruby需要什么资料

Programming Ruby(2nd Edition)

这似乎已经不是怪事:关于一种编程语言的经典教材,作者不是这门语言的创造者。就像Stan Lippman之于C++、Joshua Bloch之于java、Martin Fowler之于UML一样,Dave Thomas也许是这个世界上最善于向别人讲解Ruby语言的人——至少超过Matsumoto是毫无问题的。也许正是因为自己也经历了“不懂到懂”的学习过程,有时候“旁观者”反倒比“创造者”更清楚学习者们需要什么。

所以这本书就是Ruby的经典教材。关于Ruby的基本语法和常用工具,书中第一部分和第二部分做了详细的介绍。第三部分“Ruby Crystallized”更加阐述了Ruby语言的一些细节和设计理念,其中第23章“Duck Typing”是刚从Java或者.NET平台走出来的读者不可错过的,因为对于类型与契约的理解、对于类与类型的理解,正是Ruby这种动态语言与Java/C#等静态语言最大的区别之一。随后的第四部分提供了Ruby基础类库的速查手册。

Dave Thomas和Andy Hunt这两个“Pragmatic Programmer”并非浪得虚名:这本Programming Ruby虽然不是一本称职的参考手册,却足够帮助一个初学者步入Ruby世界而不致误入歧途,并且能够在很少见的一些情况下——譬如说忘了yield的用法——给有经验的Ruby程序员提供帮助。在我看来,这也就足够奠定它作为经典教材的地位了。由于封面上有一柄丁字镐,这本书也被昵称为“镐头书”——它正是你发掘“红宝石”(Ruby)宝藏的必备工具。

Agile Web Development with Rails

Rails的作者David Heinemeier Hansson说过一句大实话:“我从来不会为了学语言而学语言。”大多数人在大多数时候学习一种新的语言不是为了比较语言的优劣,而是因为这个语言底下的某个工具能给他的工作带来帮助。Ruby世界里的这个“杀手应用”,让Ruby在短短一年时间里成为焦点的这个工具,就是Rails。

这是第一本介绍Rails的图书,又是由Rails的作者DHH和前面提到的Dave Thomas共同撰写,其价值可谓不言而喻了。许是两位作者有太多的“乾货”想要交给读者,这本书的第一版被他们——不幸地——写到了558页之厚。书中首先展示了一个规模不大的在线购物网站,让读者亲身体验用Rails进行敏捷开发的感受;然后针对Rails框架的各个组件和安全、部署等延伸话题展开了深入的讨论。其内容之全面、探讨之深入,令人叹为观止。看起来,和Matsumoto不同,DHH很清楚应该怎么介绍自己的作品——不管是“浅出”还是“深入”。

值得中国读者高兴的是,这本书的第一版已经由林芷薰翻译,电子工业出版社付梓。Rails仍然处在高速发展的阶段,从本书第一版截稿至今,Rails已经发生了相当大的变化,因此这本中译本甫一面世便已经有很多过时之处。但这本书毕竟不是参考手册,作者更多地是在其中阐述Rails的设计理念和最佳实践。对于英文阅读无法达到最快速度的读者来说,这个译本未尝不可以是一个称职的向导。

Rails开发者助手两种

不难想象,有很多性急的程序员会——就像我一样——草草了解Ruby语法之后就一头扎进Rails的绚丽宫殿,体验快速开发web应用的成就感,却不得不时时因为缺乏对Ruby语言的深入了解而感到迷惑:这个类里什么都没有,它为什么会工作?那个地方写的代码是什么意思?可是,要全面系统地学习Ruby,又实在令人望而生畏。还好,我们有这本Ruby for Rails。书中介绍了一些Ruby语言特性——既有普通的也有高级的,都是Rails中使用到的。简而言之,这就是一本专门为Rails应用开发者提供的Ruby指南。更有趣的是,书中还用了一章(第17章)篇幅专门介绍“如何探索Rails源代码”,真可谓是“授人以渔”的典范了。

另一个“助手”则是Chad Fowler——他也是Programming Ruby的合着者——的Rails Recipes。和任何一本“菜谱”(recipe)一样,这本书不会教你如何使用菜刀与炒勺、如何把蔬菜切片——你可以从别的很多地方学到这些技巧。这本RailsRecipes教给读者的,是如何在 Rails环境下急就章地完成一个你需要的功能。譬如说“用户登录与身份验证”这件事,每个网站、每个开发者都曾经做过不止一次,这本书中就给了读者一个简单而可靠的解决方案,读者只要抄抄改改,几分钟就可以完成这个功能。对于初接触Rails(以及Web 2.0)、面对很多问题尚且无从下手的新兵来说,这本书确实可以帮助他们解决一些实际问题。

不过这本书的局限也同样明显:如果你需要的菜色超出了这份菜谱的范围,它就只好爱莫能助了;而且,仅仅给出解决问题的代码,却没有对应的单元测试,也让习惯了TDD的读者多少有些忐忑。在我看来,这本书对“授人以鱼”的专注恰好和前一本Ruby for Rails构成了一对“可怕的对称”,也让这两本书有理由共存于Rails开发者的案头。

Ruby In A Nutshell

作为Ruby语言的缔造者,Yukihiro Matsumoto只能写一本“果壳书”,这本身就是一件耐人寻味的事情。O’Reilly的“果壳书”系列历来褒贬不一:有人认为它们缺乏深度,也有人认为它们是快速入门的好帮手。但Matsumoto最大的问题在于:他创造了Ruby,却没有真正意识到这种语言到底有多大的威力——后来他经常在Ruby on Rails讨论组活动,从中了解一些精妙的Ruby用法。其结果也很自然:这本Ruby In A Nutshell作为语言参考中规中矩,但对于实际应用中的妙处——例如在DSL方面的应用——却语焉不详。再加上它所针对的Ruby版本是略显过时的1.6版,也让这本书的地位略显尴尬。

Ruby 奇书两种

称它们为“奇书”,因为它们的主题实在偏颇。先看这本Enterprise Integration with Ruby:虽说脚本语言常常被称为“胶水”,有多少人会当真想到用Ruby去做企业应用集成?不过细看之下,这本书多少有些名不副实之嫌,因为它真正介绍的无非只是如何访问数据库、如何操作XML、如何通过SOCKET通信之类比较底层的技术而已。在一个生僻的题目之下写着另一些生僻的内容,尽管这些内容算得上有趣,但我还是要对那些没有读过这本书的Ruby程序员说:你没有错过太多——尽管这本书与你想象的并不一样。

最后要介绍的这本书更是备受争议:有人盛赞它是“精通Ruby的必经之路”,也有人批评它沉溺于奇技淫巧缺乏实用价值。但无论褒贬,更多的读者正在逐一挑战其中的谜题——这本书就是James Edward Gray所着的Best of Ruby Quiz。这本书(目前出版的是第一卷)列举了25道题目,读者大多可以想出一种办法来解决这些问题,往往还能 通过思考和重构找到第二种优雅的设计,但这本书却给你列出了第三种、第四种真正精巧的解决方案——充分利用Ruby技巧才能得出的解决方案。这些题目的最终解法之巧妙,常常令人拍案叫绝(或是破口大骂)。不过这些“奇技淫巧”也并非全无用处,例如书中很多题目在解答时都用到了正则表达式,理解这些解答对于深入学习正则表达式的用法是很有帮助的

4. Rails 不能完整渲染 HTML 页面吗

用Rails做应用来管理公司内部资源.但是遇到一个比较的诡异问题.
我的服务器环境: Centos(6.4)+Ruby(1.9.3)+Rails(3.2.2)+Nginx(1.0.10)+Passenger(3.0.11)
用到了一个activeAdmin gem 来快速搭建应用一切Ok.访问页面发现其中部分页面正常显示一些页面不能完全显示出来.只能显示部分
我查看了页面源码,发现这个页面html代码并没有生成完整:
<html>
......
<option value="eid101033">eid101033</option>
<option value="eid101034">eid101034</option>
<option value="eid101035">eid101035</option>
<option value="eid101036">eid101036</option>
<option value=

问题出在最后 <option value= 这个是并没有生成完整的html元素所以造成我的页面只能显示部分.

5. BSD BSD 2-clause BSD 3-clause 这三者之间是什么关系

一、概览

The BSD License(BSD)是Berkeley Software Distribution License(柏克莱软体散布授权条款)的缩写,许多软体是在此一授权条款下发布的。因为BSD起源自加州大学柏克莱分校,所以最原始散布的BSD拥有者是加州大学董事会。又因一些软体设计师修订BSD的部份内容以做为其软体程式授权使用,造成BSD有多种不同条款内容,统称BSD-style授权条款。

最初的BSD是由四个主要条款构成的,其中广告条款的存在让许多后来参与修改原始码的使用者均会将其名字加入声明之中,而遭受GNU计画(GNU Project)的批评:该广告条款造成非常冗长的声明内容,是相当不便利,且易发生使用上困扰而与GPL不相容。而为了回应Richard Stallman(GNU 计画的主导者与GPL的起草者),BSD的官方主导人William Hoskins遂在一九九九年七月二十二日率先将该广告条款自BSD中删除,也引发其他使用BSD者的跟进,删除广告条款之后的BSD被称为“三条款 BSD”(3-clause BSD),而原本的被称为“四条款BSD”(4-clause BSD)。

而BSD与其他授权条款如GPL条款内容相比,是几乎没有限制的,因此是更接近公共领域(public domain)的。

二、运用状况

目前实际上的使用是以三条款BSD为主,而又因为BSD可以任由他人修改条款部份内容以符合使用上需求,因此实务上有许多BSD-style授权条款存在。

目前实际使用上,只有NetBSD仍然使用四条款BSD;而在某些包含在KDE里面的程式库使用了二条款BSD,除删除广告条款外,亦将着作权所有者名称作为背书使用许可的禁止规定去除,而这样的二条款BSD在功能上相当于MIT;FreeBSD也是使用二条款BSD,但另增加了后继贡献者的观点并非 FreeBSD计画的官方观点的额外声明。

三、权利义务

(一) 被授权人权利
允许任何商业上或私有使用。

(二) 被授权人义务

1. 在原始码的重制物中一定要保有本授权条款的着作权标示内容。
2. 以二进位制格式呈现的重制物必须再现本授权条款的着作权声明和内容。
3. 在没有事前书面同意的情况下,“the name of the ”及“the names of its contributors”均不得被用于支持或宣传从既有软体衍生出的产品(不为产品背书)。ORGANIZATION视使用BSD的使用者名称而定。

四、其他重要特性

1. 可与其他授权条款并存。
2. 是一个近乎公共领域的授权条款,一般个人或组织可以为了使授权条款内容符合自身需求而更改”University of California”此一标示。
3. 使用BSD的软体程式码可以被任意使用,代表的是在开放源码和封闭源码软体上均可利用采用此类授权条款的程式码。
4. 简单的免责条款。
5. 三条款BSD是由自由软体基金会(FSF)所认可的自由软体授权条款,也被开放源码组织(OSI)认可为开放源码授权条款。并与GPL相容。

6. 哪能下载java网上商城源码,并且可执行的

据我了解shop++是java类型的商城,有提供源代码,不过是一款需付费才能商用的软件。

7. ruby开发的软件,怎么避免源代码泄漏

在Ruby中,一切皆是对象。下面举一个例子来更直观地说明Ruby语言的这一特点。

在Java中,求一个数的绝对值的代码如下。

int c = Math.abs(-20);

而在Ruby语言中,一切皆是对象,也就是说“-20”这个数也是一个对象,因此,求一个数绝对值的Ruby代码形式如下。

c = -20.abs 这样的代码编写方式是不是更形象一些呢?

Rails 框架是一个更符合实际需要而且更高效的Web开发框架,Rails结合了PHP体系的优点(快速开发)和Java体系的优点(程序规整)。

Rails是一个全栈式的MVC框架,换句话说,通过Rails可以实现MVC模式中的各个层次,并使它们无缝地协同运转起来。

在实际开发一个MVC模式的Web应用项目时,如果使用Java开发,需要用到Struts、Hibernate和Spring等框架,而且需要额外整合3个框架开发出的内容。而使用Ruby语言开发相同的项目时,只需要用到Rails框架就可以完成。

RoR的效率肯定要比Java高一个数量级,这确实是事实,比PHP至少也要高好几倍,这也是事实,这一点在这篇文章中不展开了,但是为什么开发效率这么高,我也想谈谈我的看法,当然还很不成熟的看法:

一、主要原因是ruby语言的语法非常强大我记得庄表伟说过一个观点:“框架是强化的语法”,意思就是说语法比较弱,所以才需要n多框架,如果语法很强,框架就很少。这一点在Java和ruby身上得到了验证。

1、ruby的open class VS Java的AOP,反射、动态代理,字节码增强等技术JDK1.3开始引入反射,就已经打开了Java这种静态类型语言通往动态类型语法的潘多拉魔盒。随后的动态代理技术,字节码增强技术,静态和动态的AOP技术开始层出不穷,为什么呢?就是需要在程序运行期动态改变对象的行为。但是对于ruby来说是open class的,语法级别上就支持程序运行期修改对象行为,所以Java需要很复杂技术才能实现的功能对于ruby来说就是非常简单的搞定了。

2、ruby的ck typing VS Java的IoC,泛型Java的IoC不用说了,泛型在库级别也开始广泛使用。IoC就是根据对象行为来进行对象组装,泛型就是在不确定对象行为的情况下确定对象的交互。但是ruby的对象行为是在运行期才确定的,天然就是泛型的,行为不是静态的,所以不需要IoC。

3、ruby的block,closure VS Java的匿名内部类大家对spring的Template肯定印象很深刻,但是这是ruby标准的用法,所以各种资源释放,异常处理在语法级别上就支持的很好,做起来很简单。

4、ruby的Meta programming VS Java缺乏method_missing机制大家耳熟能详了,Java没有这么强的Meta programming,很多ruby magic耍不出来。

5、脚本语言 VS 编译语言这也是一个很大的优势,脚本编程速度确实快。

二、rails框架确实做的很棒

1、full-stackrails是一个概念一致的fullstack框架,不知道为什么,在Java世界目前只有Rife这一个可以和RoR相提并论的fullstack框架,但是Rife的实现并不好(作者从PHP转过来的,和DHH爆发过口水战)。不过因为底层语法支持的不同,用Java是做不出来RoR框架的。因此也有人用Groovy做Grails,不过这帮人不太争气。

2、CoC这个不用说了,现在很多Java框架开始吸收这一点。

3、为web开发良身打造web开发需要用到各种技术全部提供,绝对的贴心,如果用Java,这些东西都需要自己集成或者自己实现,省了一大堆麻烦事。

4、开发测试部署快速这个不说了,Java劣势太明显了

关于“效率提高的来源”问题,我的理解就是次要复杂性被ROR降低到了极致。说的难听一点,不是ROR太聪明,而是我们以前做得蠢事太多了。各种各样的xml, taglib,单元测试困难 ... ...

做过项目的人都知道这些次要复杂性很多情况下真的是要命的。ROR没有降低软件的内在复杂性,也就是业务问题。但是它把复杂性降低到无限趋近于业务复杂性,也有人称ROR是Web开发的DSL。而解决业务问题正是人发挥聪明才智的地方,ROR不能代替人,但是它把人从次要复杂性的泥潭之中解救了出来。
参考资料:南京赛威信息科技

8. 谁告诉我 网站源码 用什么软件容易编辑 本人0基础

你是学习还是要建网站。这个要看源码是神魔语言了,sublime text ,
eclispe 这是我们常用的。有疑问可以扣我,望采纳!

热点内容
怎么查电脑配置和网络 发布:2025-01-22 12:19:16 浏览:586
linuxsnmp查看 发布:2025-01-22 12:17:49 浏览:37
安卓数据线怎么接蓝牙 发布:2025-01-22 12:07:29 浏览:229
扣扣账号多少次密码不正确会被封 发布:2025-01-22 12:07:19 浏览:400
python是32位还是64位 发布:2025-01-22 11:51:41 浏览:894
铃声多多缓存文件夹 发布:2025-01-22 11:51:39 浏览:724
java按键精灵 发布:2025-01-22 11:49:31 浏览:81
python配色 发布:2025-01-22 11:46:40 浏览:613
安卓如何使用屏幕录制 发布:2025-01-22 11:46:36 浏览:777
phpencoding 发布:2025-01-22 11:46:35 浏览:257