我是Ruby新手,也是编程新手。我已经学习了Ruby和HTML的基础知识,但随着我开始着手一个项目,我很难理解我们编写的Ruby代码如何与Ruby gem、vcs (特别是Git)、gembundler等应用程序以及我们编写的HTML交互,从而构建一个功能强大的网站。我搜索了这个过程的大致概况,但没有找到任何机会。有人有什么好的类比、模型或解释吗?非常感谢!
发布于 2013-06-03 23:59:47
事实上,Ruby只是web开发所涉及的技术堆栈中的一部分。这是我的世界观。
Gem是Ruby代码的包。它们可能包含库、实用程序和应用程序。当你依赖时,我们说你依赖于x库。要使require调用正常工作,必须安装x gem。
确保您的代码所依赖的所有gem都安装了正确版本的过程称为依赖管理。Bundler是一个Ruby应用程序,打包成gem本身,这使得这个过程变得容易得多。它允许您通过Gemfile跟踪所有依赖项,甚至可以导入在gem规范中声明的依赖项。Bundler对gem开发非常有用。它允许您执行以下操作:
安装在本地
版本控制系统是单独的应用程序,它们跟踪对代码所做的更改、更改的作者以及更改的时间。对代码的更改可能包括但肯定不限于:添加行、删除行、更改字符、添加文件、删除文件、更改权限。提交是更改的单位。分支是项目的快照,它们分别发展,并具有单独的变更集。合并是将两个不同分支中的所有更改集成在一起,并解决出现的任何冲突的行为。
版本控制系统可以是集中式的也可以是分布式的。后者类似于在文件系统上本地工作。这很直观。不同之处在于,您可以提交更改,并在完成后将其推送到某个中央服务器。我从来没有使用过集中式版本控制系统,所以我不会说任何关于它的事情。
一般来说,从web开发的角度来看,Ruby代码将在Ruby虚拟机上运行,接受来自各种来源的请求并提供数据。这些请求包含确定服务器返回的响应所需的信息。信息,如您尝试访问的资源类型、可用于标识该资源的数据以及您希望数据采用的格式。
然后,代码将与数据库交互,以获取所请求的信息,并且信息将按照指定的格式进行格式化。如果浏览器请求将用户的配置文件作为HTML页面,Ruby将生成一个页面,并将请求的用户配置文件信息放入正确的标记中。移动客户端可能会收到以json编码的相同信息。
Ruby代码可能会受到许多依赖项的支持,这些依赖项是在Bundler的帮助下开发的,并由版本控制系统跟踪。它可能会在虚拟机上运行,接受请求并以各种方式提供格式化的信息。
发布于 2013-06-03 23:13:36
如果我正确理解你的问题,你想知道gem是如何工作的,例如gem是如何扩展你的类方法等。
如果这是真的,我可以向你推荐一本书“用ruby进行元编程”http://pragprog.com/book/ppmetr/metaprogramming-ruby
许多有用的信息和现实生活中的例子
https://stackoverflow.com/questions/16899914
复制相似问题