Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
大图:Ruby文件、gems、vcs、html、网站_Html_Ruby_Git_Rubygems_Gem Bundler - Fatal编程技术网

大图:Ruby文件、gems、vcs、html、网站

大图:Ruby文件、gems、vcs、html、网站,html,ruby,git,rubygems,gem-bundler,Html,Ruby,Git,Rubygems,Gem Bundler,我是Ruby新手,也是编程新手。我已经学习了Ruby和HTML的基础知识,但随着我开始着手一个项目,我很难理解我们编写的Ruby代码如何与Ruby gems、vcs(特别是Git)、gembundler等应用程序以及我们编写的HTML交互,从而构建一个功能性网站。我搜索了这个过程的大致概况,但没有找到运气。有人有好的类比、模型或解释吗?非常感谢 如果我正确理解了您的问题,您想知道gem是如何工作的,例如gem是如何扩展您的类方法等 如果这是真的,我可以向你推荐一本书“ruby元编程” 在现实生活

我是Ruby新手,也是编程新手。我已经学习了Ruby和HTML的基础知识,但随着我开始着手一个项目,我很难理解我们编写的Ruby代码如何与Ruby gems、vcs(特别是Git)、gembundler等应用程序以及我们编写的HTML交互,从而构建一个功能性网站。我搜索了这个过程的大致概况,但没有找到运气。有人有好的类比、模型或解释吗?非常感谢

如果我正确理解了您的问题,您想知道gem是如何工作的,例如gem是如何扩展您的类方法等

如果这是真的,我可以向你推荐一本书“ruby元编程”


在现实生活中的例子中有很多有用的信息

事实上,Ruby只是web开发技术堆栈中的一部分。这是我的世界观

Gems是Ruby代码包。它们可能包含库、实用程序和应用程序。当您
需要'x'
时,我们说您依赖于
x
库。对于
require
工作调用,您必须安装
x
gem

确保安装代码所依赖的所有gem的正确版本的过程称为依赖关系管理。是一个Ruby应用程序,它本身打包为一个gem,这使得这个过程变得更加简单。它允许您通过
Gemfile
跟踪所有依赖项,甚至导入gem规范中声明的依赖项。Bundler对于gem开发非常有用。它允许您:

  • 确保每个人都使用与您使用的gems相同的版本
  • 以受控方式升级依赖项
  • 无需将代码作为gem本地安装,就可以轻松地执行和测试代码
版本控制系统是独立的应用程序,用于跟踪对代码所做的更改、更改人以及更改时间。对代码的更改可能包括但不限于:添加行、删除行、更改字符、添加文件、删除文件、更改权限。提交是一个变更单元。分支是项目的快照,它们是单独发展的,并且具有单独的变更集。合并是指整合两个不同分支中所做的所有更改,并解决出现的任何冲突

版本控制系统可以是集中式的,也可以是分布式的。后者类似于在本地处理文件系统。这很直观。不同之处在于,您提交了更改,并在完成后将其推送到某个中央服务器。我从来没有使用过集中式版本控制系统,所以我不会对它说什么

一般来说,从web开发的角度来看,Ruby代码将运行在Ruby虚拟机上,接受来自不同来源的请求并提供数据。这些请求包含确定服务器返回的响应所需的信息。信息,例如您试图访问的资源类型、可用于标识该资源的数据以及您希望数据采用的格式

然后,代码将与数据库交互以获取所请求的信息,并且信息将按照指定的格式进行格式化。如果浏览器以HTML页面的形式请求用户配置文件,Ruby将生成一个,将请求的用户配置文件信息放入正确的标记中。移动客户端可能会收到相同的编码信息


Ruby代码可能会受到许多依赖项的支持,这些依赖项在Bundler的帮助下开发,并由版本控制系统跟踪。它可能会在虚拟机上运行,接受请求并以各种方式提供格式化信息。

对于堆栈溢出,您的问题太广泛了。你需要把它分解成更小的、独立的、处理特定问题的问题,而不是web开发的一般概述,使用git,Ruby gems是如何加载的,代码是如何使用它们的。谢谢Matheus。非常有用的概述。您对Ruby代码和数据库之间的交互的解释对我预期的项目非常有帮助,谢谢。看来我的问题以“不是真正的问题”结束了…一群强硬的人!我很惊讶我居然能发布它。我在问题结束大约二十分钟后提交了它。