gpt4 book ai didi

version-control - 如何创建一个合适的网站?

转载 作者:行者123 更新时间:2023-12-04 06:59:01 26 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

2年前关闭。




Improve this question




Web 开发已不再像过去那样。它曾经包括将一些 PHP 脚本组合在一起(我不反对 PHP,实际上它是目前我的主要编程语言),通过 FTP 将它们上传到某个网络主机,就是这样。今天,事情变得更加复杂。正如我通过查看许多专业和现代网站所看到的(SO 是主要的网站,我认为 SO 是 Web 开发中良好实践的一个很好的例子,即使它是用 ASP.NET 制作并托管在 Windows 上的),开发一个网站远不止这些:

  • 网站代码实际上在一个存储库中(页脚中的那个小小的 svn 修订让我的 Nerd 感觉刺痛);
  • 静态文件(CSS、JavaScript、图像)存储在单独的域中;

  • 好吧,这些是我的观察。现在回答我的问题:
  • 你如何处理 JavaScript 和 CSS 文件?您只是不将它们置于版本控制之下吗?那会显得很愚蠢。您是否为他们创建了一个单独的存储库?
  • 你如何设置存储库?您是否只是在 Web 服务器的根目录中创建一个?或者您是否创建某种提交后触发器将最新文件复制到其适当的目的地?
  • 如果您有多台机器运行网站并希望对所有机器推送一些更改,会发生什么?
  • 每个这样的项目都必须有配置文件。这些不同于本地存储库到远程存储库。例如,在我的开发机器上我没有 MySQL root 密码,而在生产服务器上我当然有密码。这个密码将存储在一个配置文件中,除其他外,这在我的机器和服务器上将完全不同。也许它们在生产机器之间也不同(就像我之前说的,也许网站在多台机器上运行以进行负载平衡)。我该如何处理?

  • 我希望使用以下方法启动一个新的 Web 项目:
  • Python + SQLAlchemy + Werkzeug + Jinja2
  • Apache httpd + modwsgi
  • MySQL
  • Mercurial

  • 我想要的是关于使用上述工具的一些最佳实践建议以及对我上述问题的回答。

    最佳答案

    没错,在尝试部署可扩展的网站时,事情会变得复杂。以下是我发现的一些很好的指导方针(免责声明:我是一名 Rails 工程师):

  • 大多数关于代码存储库文件结构的决定主要基于您选择实现的语言、框架和平台的约定。您提出的许多问题(JS、CSS、 Assets 、生产与开发)都是用 Rails 处理的。但是,从 PHP 到 Python 再到您要使用的任何其他语言,这可能有所不同。我发现您应该对您选择使用的语言进行一些研究,并尝试找到适合该社区惯例的方法。当您稍后尝试在障碍物上寻求帮助时,这将对您有所帮助。您的代码将像他们的代码一样组织起来,您将能够更轻松地获得答案。
  • 我会版本控制所有尺寸不是很大的东西。我发现 VC 的唯一问题是当你的 repo 变大时。除此之外,我从不后悔保留以前代码的版本。
  • 对于部署到多台服务器,有许多脚本可以帮助您完成需要执行的操作。对于 Ruby/Rails,使用最广泛的工具是 Capistrano。其他语言也有类似的资源。基本上,您只需要配置您的服务器设置是什么样的,然后编写或寻找开源的一组脚本,这些脚本可以将您的代码库部署/回滚/操作到您在配置文件中列出的服务器。
  • 开发与生产是一个重要的区别。虽然您可以在没有这种区别的情况下进行操作,但当您必须在整个存储库中修补代码时,它很快就会变得很麻烦。如果我是你,我会编写一些在每个请求开始时运行的代码,以确定您正在运行的环境。然后您在处理该请求时可以获得这些知识。当您在连接到数据库时指定要使用的配置时,可以使用此信息,一直到仅在开发时在浏览器中显示调试信息。它派上用场了。
  • RESTful 通常会决定您的大部分设计如何发现您的网站页面。尝试将您的代码保持在 restful 框架内有助于您记住代码所在的位置,保持您的路由可预测,防止您的代码变得过于耦合,并遵循越来越被接受的约定。显然还有其他约定可以实现这些相同的目标,但我在使用 REST 方面有很好的经验,它大大改进了我的代码。

  • 说了这么多。我发现虽然你可以有良好的意图来制作一个可以无限扩展并且漂亮和干净的原始代码库,但很少会出现这种情况。如果我是你,我会做一些关于你觉得最舒服的事情以及什么会让你的生活更轻松的研究,然后继续下去。

    希望这有帮助!

    关于version-control - 如何创建一个合适的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367065/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com