如何建立一个动态网站(build a dynamic website)

这个主题的问题在可能的方法上是如此广泛和多样,以至于对不可避免的问题的任何现实的回答都只能指出总体方向。今天,许多人想要并希望建立动态(数据驱动)的网站,其架构很容易适应新的材料、修订和访问者的互动。虽然高质量项目的目标是所有勤奋的人都能达到的,但低估最终是一项具有极大挑战性的任务是错误的,特别是在任何潜在项目的技术对象方面。即使是最简单的动态网站也需要各种学科的足够技能。在满足不可或缺的目标方面...

步骤

  1. 1让你的大脑围绕着什么样的工具和程序来完成你的目标。因为任何动态网站的核心是它的数据库和数据处理,所以我们的第一个重要目标是对数据库引擎做出一个深远的决定。希望在一些看似最合理的初始方式中随便做出这样的决定不是一个好主意。这第一个决定的重要目标是以一种方式(用工具和数据库引擎)来规划我们的项目,这将支持你的需求,一直到未来的道路,其中,因为你做出了正确的初始决定,你将有效地建立在你的初始基础上,高效且没有最终障碍。这意味着在理想情况下,例如,你选择的数据库引擎不仅仅是今天容易部署的,或者看起来简单的;从一开始它就必须是一个能够支持你的下游处理需求的引擎。哪些引擎的出勤率高(而且成本高)?哪些引擎在维持你最终项目必须维持的处理目标的实施中几乎没有出勤率?一般来说,要遵循的模式是根据两种可能的处置方式之一来选择你的引擎。要做到这一点,你必须首先描绘出你的基本表需求。一个专业人员甚至不需要建立这张地图(即使涉及成百上千张表也不例外),因为他们通常会立即看到你需要支持的架构和未来需求是读还是写密集型的。然后,你将根据这个总体布局选择一个合适的数据库,也许还可以进一步根据个人的品味和经验,因为使用各自的软件开发工具可能预示着。MySQL是读密集型实现的通常选择。许多开发者希望使用诸如PostgreSQL这样的数据库来实现可靠的写密集型系统。我们通过仔细的研究,并借鉴一般软件开发行业的经验,来发展我们对这些重要工具的处置。一般来说,花费是可以避免的,因为有非常好的工具可以免费部署。我们所寻找的是在读或写密集型环境中的性能、可靠性、管理的简易性和最小化,以及与潜在的软件开发工具的随时整合。
  2. Image titled Build a Dynamic Website Step 1
  3. 2选择你的软件开发工具。在选择软件开发工具时,有两种模式需要考虑。据称 "容易 "的工具实际上很少容易,当一个项目不可避免地打破了开发和功能模式的铸就时,"容易 "的工具一般都被限制在其中。如果你想做一些超越 "简单 "工具的事情,比如在动态生成的URLS中加入语言或翻译参数,那么在 "简单 "工具中完成这些事情可能要困难得多,甚至需要极其复杂的编程技巧来欺骗简单模式以完成更复杂的事情。我们必须掌握我们的工具来建立好的项目。这并不意味着简单的工具是最好的选择,也不意味着最复杂的工具是一个困难的提议。简单 "开发的陷阱通常包括一些限制,这些限制在项目不可避免的发展过程中会变得非常昂贵,难以克服。通常会出现大量的此类工具,表面上是为了满足这些需求。但是,这些工具持续存在的模式背叛了一个表面上的事实,即已经完成了这个目标;因此,通常我们发现,最复杂和强大的工具,遵循良好的模式(或对象和库的可用性),不仅缓解了实际上不可避免的对简单工具的阻碍,而且同样然后使 "到达那里 "成为一个更直接的过程。当我们检查可用工具的范围时,一般来说,不太全面的模型是在最初的开发概念中提出的,而更好的概念是由后来出现的工具提供的(否则它们就没有机会在已经赢得的市场中生存)。如果我们选择了一个所谓的简单的工具,那么,我们要寻找的是一个既丰满又没有最终阻碍的发展模式。对于新手来说,矛盾之处在于我们很难看到这么远的路,以至于我们可以察觉到特定工具集的编程障碍。有些人认为最好的工具是最强大的,在项目方法上限制最少的。自由开发你想要的和需要的东西往往意味着打破表面上简单的工具的一般模式,那么,其中的挑战实际上可以打破最老练和复杂的软件工程师的大脑,因为在这样的对象中成功意味着让 "简单 "的模式做一些它可能没有原生能力来支持的事情。例如,"Ruby "真的是一个比基本的C++或C#更容易的工具吗?不,不是的,特别是如果你必须打破Ruby的简单模型来提供重要的功能。像Ruby一样,GCC对Linux和OSX是免费的。Ruby在OSX上也有--你只需要在你的系统上发现它。在那些据称更容易的工具中,有些人选择了Ruby。在真正复杂的工具中,C++和C#将在未来很长一段时间内占据至高无上的地位;事实是,这些是唯一可以无障碍开发的工具。所以,请坐直身体,准备认真学习,因为无论你选择哪条路,你不仅要掌握你的工具,还要掌握这些工具最终可能给你带来的潜在限制性模型。Ruby可能比几乎所有它的 "简单 "同行要干净得多。C++是不受约束的卓越工具;事实上,经验丰富的大师们在完成无以伦比的项目时,其难度可能远远低于他们用一个所谓的简单工具完成同样的目标。最终,偏离这一观察的开发者要付出一些代价:要么选择最有利的 "简单 "工具,要么对最复杂的工具中的无障碍自由不太担心。在后一种情况下,你掌握了快速CGI对象,拿着球就跑。巨大的概念往往用很少的代码就能实现。是的,简单的工具也提出了同样的要求,但是通过将表面上的困难从我们身边抽象出来,以至于偏离他们通常的单一模式会带来非常困难的工程挑战,此外还有C++所解决的性能障碍。
  4. Image titled Build a Dynamic Website Step 2
  5. 3在解决这些问题的过程中,我们不可避免地要研究我们希望变成的那种性质的项目的基本模式或发展模式。这意味着要抓住我们想要比较的工具的最佳文献,至少要给我们的概念以某种形式,使它在一组给定的工具中与其他工具相比较。例如,在你选择Ruby之前,你可以拿起重要的书籍,如 "Ruby编程语言 "和 "Rails的敏捷网络开发"。你的初步研究不仅要充分掌握这些工具,还必须设想你如何能达到这个目的--你如何能用你可能选择的工具提供所需功能。这对初学者来说是一项艰巨的任务。如果你要把一个据称很容易的开发环境与最好的开发环境相比较,你也必须评估最好的C语言工具。如果你真的要成为一名经验丰富的工程师,你将会选择C语言,因为它不受限制。C语言真的更难吗?不,句法就是句法。最后,你必须掌握表达相同的功能;而事实上,C语言家族是很优秀的。在C++中一开始就表现出色的困难之处在于把你的手放在你可能需要建立的模型上。15年前,Borland的CPPBuilder中的FastCGI组件是一个很好的开始,它可能仍然是Windows下最好的C++。即使是C语言的初学者也能在这种面向对象的方法中走得很远,因为维持功能的一般模型就在你工作的东西中建立。你的工作比在Ruby中要自由得多,例如,只要你的方法可能打破或超过Ruby模型。另一方面,Rails脚手架技术为新手加快了许多工作,如果并且仅当项目符合Ruby和Rails的一般模式。例如,在你所有的Ruby接口中引入基本的安全规定,然而,接下来你知道的是,你要为你的应用程序所协商的每个表重新编写一千行自动生成的Ruby代码。这很容易吗?试试一个叫NoteTab Pro的Windows编辑器,在驻扎在OSX系统上的Ruby项目上操作;还有复杂的宏,也许在一秒钟内就能完成你的修改,把一千行代码定制成几乎两倍的代码。尽管如此,这仍然涉及到相对简单的、基本的功能,一个项目被限制在其中。事实上,在C++中,我们可以编写自己的对象,真正普遍地处理这些任务--你甚至不必复制这个过程。所以这些都是权衡的结果。最后,面向对象的C语言是最强大和最有效的。这意味着它也是最省事的。
  6. Image titled Build a Dynamic Website Step 3
  7. 4请注意,无论你选择何种编程工具,都无法避免依赖对HTML和CSS的合理掌握。一般来说,经验丰富的开发人员依靠W3C.org获得重要的资料。 网页
  8. Image titled Build a Dynamic Website Step 4
  • 那么你的探索的一个重要部分将是让你掌握最好的资源。我会从Ruby开始;如果你想出人头地,你就必须评估面向对象的C语言,以及写得好的项目会胜过所有同行的环境。
  • 因此,没有什么可以取代详尽的研究和评估。
  • 发表于 2022-03-10 13:46
  • 阅读 ( 70 )
  • 分类:IT

你可能感兴趣的文章

如何为您的网站编写隐私策略

...解释访问者是否可以选择不收集和使用他们的信息,以及如何这样做。 访问:提供任何链接,读者可以在其中看到您收集的数据,如果他们想更正它。 安全性:详细说明为保护已更正的任何用户数...

  • 发布于 2021-03-25 02:21
  • 阅读 ( 267 )

博客(blog)和网站(website)的区别

...门为人们提供信息的网站。它只是一个子类的网站,可以建立。博客是一种非正式的媒体,用于分享关于某个特定话题的新闻、信息、观点和想法。Â 它不必像一本书,甚至像一篇报纸文章那样正式。Â 有时,对某一特定主题的...

  • 发布于 2021-06-22 11:51
  • 阅读 ( 191 )

动态(dynamic)和运动粘度(kinematic viscosity)的区别

主要区别–动态粘度与运动粘度 粘度对于任何依赖于流体流动的过程都是非常重要的。通常引用两种粘度:动态粘度和运动粘度。动态粘度和运动粘度之间的主要区别在于,动态粘度是一种测量流体流动困难程度的方法...

  • 发布于 2021-06-27 09:21
  • 阅读 ( 321 )

域(domain)和网站(website)的区别

域和网站的主要区别在于,域是一个唯一的名称,有助于识别网站,而网站是一个相关网页的集合,用户可以通过web浏览器看到这些网页。 目前,互联网上有大量的网站。域和网站是与web开发相关的两个术语。虽然它们看起来...

  • 发布于 2021-06-30 17:05
  • 阅读 ( 1223 )

静止的(static)和动态网站(dynamic website)的区别

静态网站和***站的主要区别在于,静态网站是一个具有固定内容的基本网站,而***站是一个根据客户要求提供不同内容的高级网站。 每个组织都维护网站。这有助于他们与客户沟通。设计和创建网站的过程称为web开发。HTML、CSS...

  • 发布于 2021-07-01 01:36
  • 阅读 ( 644 )

登录页(landing page)和网站(website)的区别

...计的网页,而网站是相关网页的集合。 大多数组织都会建立一个网站来与客户互动并增加利润。万维网上有许多属于不同类别的网站。有电子商务、教育、**、社交媒体和许多其他网站。每个网站都由网页、图像和其他媒体文件...

  • 发布于 2021-07-01 13:20
  • 阅读 ( 1336 )

如何我为一个网站做广告?(i advertise a website?)

... 学习如何为网站做广告并不难。自由时间和资金较少的网站所有者可能会选择更昂贵的选择,通过一个广告就能吸引成千上万感兴趣的人。其他网站所有者,花费更少的钱或更...

  • 发布于 2021-12-06 15:18
  • 阅读 ( 110 )

如何我建立一个网站?(i build a website?)

...反,投资一个网站建设项目,让他们在扩展的过程中学习如何建立网站。许多这类程序为刚刚起步的人提供教程和帮助,并指导长期用户如何充分利用新选项。 ...

  • 发布于 2021-12-06 15:24
  • 阅读 ( 176 )

什么是从头开始创建网站的最佳技巧是什么?(the best tips for building a website from scratch?)

... 任何考虑从头开始建立网站的人都应该知道互联网和万维网(WWW)之间的区别,并熟悉两者。他应该了解一个正常运行的网站所需的元素的角色,例如web主机和web服务器。这方面的知识最好...

  • 发布于 2021-12-08 13:14
  • 阅读 ( 165 )

什么是创建网站的最佳技巧是什么?(the best tips for starting a website?)

...经验很少。一旦一个人知道了网站的用途,就很容易知道如何让网站达到这个目标。例如,如果有人正在建立一个个人博客,那么她可以研究不同的博客平台或设计一个独特的平台。如果网站的功能是作为一个商店,那么在制定...

  • 发布于 2021-12-08 14:13
  • 阅读 ( 132 )