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