将 Subversion 与 Adobe Dreamweaver CS5 结合使用

2008 年推出 Dreamweaver CS4 后,Adobe 引入了对 Subversion 版本控制系统 (VCS) 的支持。推出 Dreamweaver CS5 后,Adobe 继续为 Web 设计人员和开发人员提供 VCS 带来的所有优势,这些优势一直以来得到更传统的代码开发人员的认可和青睐,但更新了对 Subversion 1.6.6 客户端库的支持并新增了几个功能,包括在 VCS库中更简单的文件提交和还原方式。

Adobe 支持这一功能旨在改善 Dreamweaver 用户的工作情况。设计人员/开发人员不必再使用一个图形用户界面 (GUI) 进行 Web 开发,使用另一个 GUI 管理他们的 VCS。这一集成显著改善了设计人员/开发人员的工作流程。

注意:Dreamweaver CS5 与 Subversion 集成并不能作为一个全功能的 Subversion 客户端。虽然 Dreamweaver CS5 不提供其他 Subversion 客户端提供的所有高级功能,但它使 Dreamweaver 用户能将 Subversion 集成到日常工作流程中。

这是三部文章系列的第 1 部分,我将通过这个系列说明为什么设计人员/开发人员会发现 Subversion 如此实用以及如何将 VCS 使用集成到他们的现有工作流程中。首先,我将侧重于一些基本的 VCS 概念以及使用这类工具的原因。稍后,我会说明如何将 Subversion 集成到工作流程中。在第 2 部分中,我会说明如何将 Dreamweaver CS5 配置为使用 Subversion 库;在第 3 部分中,我会说明如何创建您自己的库。

如果已经熟悉 VCS 概念,您可以转至第 2 部分:将 Dreamweaver CS5 配置为使用 Subversion。

什么是 Subversion 和版本控制?

Subversion (SVN) 是目前可用的多款商业和开放源代码版本控制系统 (VCS) 之一。自问世以来,它得到了广泛应用,并提供一款出色的 VCS 或不可缺的许多功能。Subversion 软件运行于服务器上,该服务器提供一个库,供开发人员存储源代码和配置文件等关键数据。与标准的文件系统不同,VCS 跟踪对每个文件所做的更改,使用户能跟踪更改情况并恢复到任何文件的先前版本。它还允许多个开发人员使用分支、合并和标记在一个更复杂的开发流程中互动。

Subversion 由 CollabNet 开发小组发起,该小组与开放源代码社区一起继续支持它。它已发布,供大众根据 Apache 许可证进行使用。Subversion 网站提供该软件及其源代码的免费下载和安装。包括 Mac OS X 10.6 和许多 Linux 变体在内的许多平台预装该软件。Dreamweaver CS5 用户无需下载或安装 Subversion 客户端,因为 Dreamweaver CS5 可以作为 Subversion 库的客户端。

Subversion 并不是公用域中唯一可用的 VCS。其他经典的开放源代码系统包括 Revision Control System (RCS) 和 Concurrent Versions System (CVS)。如果您对商业应用程序感兴趣,可查看 Perforce 和 Microsoft Visual SourceSafe 等产品。截至撰写本文时,Subversion 是 Dreamweaver CS5 只支持 VCS。

基本 VCS 概念

无论属于 Web 设计/开发小组还是个人 Web 设计人员/开发人员,您考虑 VCS 时主要出于几个原因。我在这两种环境中都用过 VCS 并发现优势远远超出将 Subversion 集成到工作流程所需的额外工作。

注意:Dreamweaver CS5 和 Subversion 在 VCS 概念方面所使用的术语不同。在本文的其余部分,我将使用 Adobe 在 Dreamweaver CS5 中所采用的术语并用括号括起相应的 Subversion 术语。

作为一名属于小组的设计人员/开发人员,您的组织可能要求您将代码(如 HTML、CSS、JavaScript)取出和存回(提交)一个现有 Subversion 库。这样,整个开发组可以使用同一个项目和代码库。Subversion 提供几种处理冲突和意外更改的方法。您还可以在指定时刻使用一组不同文件的快照(标签),创建一个标准化的发布流程。

作为个人设计人员/开发人员,您可以使用自己的 Subversion 库跟踪代码更改情况,当您要还原为之前的某个版本时,系统允许您撤消(还原)更改。为网站以及脚本和其他代码开发 HTML 时,我主要以这种方式使用 Subversion。要查看代码的某个修订版的情况更是数不胜数。我每次都能使用 Subversion 快速获得特定修订版并找出之前版本与当前版本之间的差异。

库是数据的中央存储点,使用版本控制管理的所有文件都保存在那里。库通常存放在中央服务器上,但也可以在本地系统上创建它。对于 Subversion 客户端(包括 Dreamweaver CS5)而言,库与标准目录结构很相似,就像机器上的本地文件系统一样。虽然客户端将库视为一个目录结构,服务器则将库视为一个用于跟踪文件及其更改情况的复杂系统。多个用户可以同时访问一个库,因此 Subversion 是小组开发的理想之选。

Dreamweaver CS5 用户通过一个库路径和连接方法访问库,它通常由库管理员提供。

取出和存回(提交)

使用 Subversion(或任何 VCS)时,有三种基本的开发操作:取出一个或多个文件,对任何文件做出更改,然后将这些文件存回库中。该系统旨在跟踪对文件所作的每个更改并观察开发人员之间的冲突。每当库的本地副本与远程版本不同步时,可以通过执行更新重新同步库目录结构。

如果两个设计人员/开发人员更改同一个文件,提交者将收到冲突警报,他/她随后即可联系另一方以解决冲突并确定谁的更改占先。

比较 (diff) 与撤消 (revert)

使用 Subversion 管理开发项目有许多优势,但最主要的优势有两个。第一个优势是可以通过比较当前文件和之前文件,确定它们的差异以及所作的更改。这个过程有时称为比较文件,它使您能找出两次提交到 Subversion 库的文件之间的更改情况。

第二个主要优势在于,使用 Subversion 可以还原为给定文件之前的某个版本。假设某人更改了一个网页或 CSS 文件,令网站无法使用。如果没有 VCS,开发人员将不得不手动重新生成旧版文件或找出备份。借助 Subversion,您可以轻松还原为已更改文件的先前版本。回复之前某个时刻的快照的功能与 Mac OS X 10.6.x 中新增的 Time Machine 功能十分相似。

主干、分支和标签

如果您属于一个较大的开发小组,可能有一名 Subversion 管理员负责管理库中的目录结构。这个目录结构因每家公司的开发工作流程方法不同而异。理解主干、分支和标签可以帮助您在讨论 Subversion 时与小组成员实现有效沟通。

  • 主干:库中的某个项目的主要部分称为主干。将通过它管理代码的主要部分并将站点的主线开发放在其中。如果库要管理多个网站,则它们可能有各自的主干。
  • 分支:当开发人员或小型开发小组要使用自己的主线主干版本控制“副本”时,通常会创建分支。分支中进行的工作通常时间有限,并且当派生项目完成时,会合并回主干中。如果某些项目保留派生状态,它们不会合并回主干。
  • 标签:您可能熟悉商业及开放源代码软件不同的版本编号系统。Apple 使用 xx.x.x 格式对发行版进行编号(例如,10.6.3)。Microsoft 采用另一种方法,在主产品名称后面加上构建号(例如,Windows XP,版本 5.1,构建 2600.xpsp.080413-2111)。这两种编号系统都与 VCS 中的标签有关。标签是一个或多个文件在 VCS 库中的时间快照。您可以将它视为完整复制一个 Web 内容文件夹,然后使用版本号为它添加标签(例如,WebSite_1.0)。大多数组织都有一个构建系统,它为一组文件添加标签,用于发布到登台(测试版)或生产(最终发行版)。在我工作过的一家公司,我负责开发自定义推送脚本,它们为库中的 Web 内容添加标签,然后将所有已添加标签的代码从构建服务器同步到负载平衡系统后方所有不同的 Web 服务器。

个人开发人员可能从不需要在主干外创建分支,但有些开发人员使用标签。如果您不准备使用标签,请参阅本文结尾部分的后续步骤部分获取更多 Subversion 资源。

将版本控制集成到工作流程中

Web 设计和开发工作流程因组织不同而相差悬殊。这一差异使得很难为在工作流程中使用 VCS 定义一个标准。我曾效力于多家进行 Web 开发和传统软件开发的公司,每家公司都采用自己的方法将 VCS 集成到工作流程中。但是,可以借助一些相似性指导从一个不基于 VCS 的工作流程转到一个使用 Subversion 的工作流程。此处概述的方法绝不是唯一的最佳做法或选择,但我认为它是一个好起点。

大多数 Dreamweaver 用户有一个网站的本地副本和一台远程服务器,后者用于托管设计小组开发的内容。远程服务器可以是登台或开发系统,或是实际的生产服务器(对于较小的小组而言)。较大的公司倾向于使用开发服务器测试和试用代码及内容。他们通常有专人负责将代码推送到生产网站。

个人开发人员或属于较小的小组的典型工作流程是编辑站点的本地副本,然后在不同的时刻推送编辑结果(完成任务时或一天结束时)。开发人员可以定期下载整个站点,确保自己与小组的其余人员持有相同的内容,但发生这种情况的频率较低,因为更改很少重叠。如果本地内容与远程内容不同或是不同的开发人员更改了同一文件,这种方法比较容易造成问题。

对于较大的小组,这种工作流程略有不同,因为不同开发人员所做的更改更容易产生冲突并导致潜在的网站问题。在这种情况下,个人设计人员的流程可能如下:

  1. 上午进办公室,喝杯咖啡并查看电子邮件。
  2. 使用 Dreamweaver 将站点的最新副本从登台服务器下载到本地系统。
  3. 对需要更新的不同本地文件做出相应更改,或为站点扩展添加新文件。
  4. 将那些更改上传回登台服务器。
  5. 测试更改,确保一切可用。

一旦站点可转入生产,设计人员或设计小组将要求负责发布的人员将站点推送到生产,此时客户就可以访问它。

将 Subversion 用作工作流程的一部分可以大幅改善更改管理并提供本文之前部分中提到的许多其他优势。我建议使用以下工作流程:

  1. 个人开发人员上午进公司,查看与站点开发相关的任务列表。这可以包括对现有内容的增强或缺陷修复。许多公司采用 Bugzilla 等功能或缺陷跟踪系统,实现对这些任务的跟踪。
  2. 开发人员随后执行取出操作,从 Subversion 服务器更新他们的本地文件副本。这可以确保他们获得所有最新副本以及最后一次更新后其他开发人员存回的更改。
  3. 随后就可以对文件进行更改和添加操作。要测试这些更改,开发人员可以将内容上传到登台服务器。
  4. 在登台服务器上测试更改后,开发人员可以将文件存回(提交)到库。此时,其他开发人员可以取出它们。如果存回时发生冲突,开发人员可以联系其他小组成员,讨论相关问题并决定如何解决它们。要帮助解决这个问题,开发人员可以使用 diff 工具将库副本与文件最新的可用副本进行比较。
  5. 构建开发人员将定期(按计划或到达某个开发里程碑时)将更新库中的本地站点副本,并将该版本推送给生产。大多数公司会使用高级 Subversion 功能,如用于协助这一流程的标签。

这一流程可以帮助您的小组将 Subversion 集成到工作流程中。这个流程可能会越来越复杂,但这是着手使用 VCS 的一个好起点。

当您作为一个大型小组的一部分处理某个项目时,通常已有一名小组成员设置 Subversion 服务器和库,并且可以为您提供远程库的连接方法和凭据。Dreamweaver CS5 支持四个主要的 Subversion 连接协议:HTTP、HTTPS、SVN 和 SVN+SSH。

根据我的经验,大多数环境设置了 Subversion 和 Apache,并且支持使用 HTTP 或 HTTPS 协议方法连接到 Subversion 服务器。还可以通过其他方法连接到 Subversion 服务器,因此请务必向 Subversion 管理员咨询连接的详细信息。在本文的示例中,我使用 HTTP 方法连接到库。

不同于大型小组中的设计人员/开发人员,个人开发人员可能已使用 Dreamweaver 管理他们的网站并确定了大部分站点定义,但他们需要设置一个 Subversion 库。这可能还适用于公司负责最初创建 Subversion 库的资深开发人员。

因此必须理解如何创建库以及最初存回一些 Web 内容。但这个过程比较高级,因此它包含在本文系列的最后一部分中。对于最初存回内容,我已经在 Dreamweaver 中设置了一个网站,并将启用 Subversion 支持,开始在 Dreamweaver CS5 中使用 Subversion 客户端。

为 Subversion 库配置新站点

在 Adobe Dreamweaver CS5 中,版本控制系统的配置设置作为站点定义的一部分进行管理。管理的各个网站可使用不同的 Subversion 设置。

假设一些内容已经存回库中,作为设计/开发小组的一名新成员,您希望访问这个现有 Web 内容和代码。

在 Dreamweaver 中,选择“站点”>“管理站点”,打开“站点定义”对话框(请参阅图 1)。

图 1.选择“站点”>“管理站点”,访问一个现有站点

要为当前站点新建站点定义,依次单击“新建”和“站点”(请参阅图 2)。如果显示的是“基本”视图,单击“高级”(靠近对话框顶部)可切换视图并访问版本控制设置。

图 2.依次单击“新建”和“站点”。

在左侧的“类别”下,选择“本地信息”(请参阅图 3)。然后,输入站点的本地信息,包括名称、本地根文件夹和 HTTP 地址。我在本例中使用 voltmer.com,设置如下:

  • 站点名称:voltmer.com
  • 本地根文件夹:/Users/Voltmer/Web Sites/voltmer.com
  • 默认图像文件夹
  • HTTP 地址:http://www.voltmer.com

图 3.输入新站点的本地信息。

注意:我在 Web Sites 文件夹中为 voltmer.com 新建了一个空目录。它是空的,因为我还没有从 Subversion 服务器取出我的 Web 内容。并且,我将“默认图像文件夹”字段留空,因为那里还没有文件夹。它将来自库,并且我稍后会返回并编辑该值。

设置本地信息后,单击左侧的“远程信息”,并将“访问”设置为“无”(请参阅图 4)。一些经验丰富、习惯于将数据从 Dreamweaver 直接推送到生产网站的 Dreamweaver 用户可能会觉得奇怪。但对于一个较大的组织而言,由子小组或自动化脚本从 Subversion 服务器执行更新,然后将添加标签的一组文件推送到产品服务器是很常见的事。

图 4.在“远程信息”下,将“访问”设置为“无”。

如果不要将远程站点用于测试或登台,可以像以前那样配置这些设置。

如果您负责将更新推送到生产(或是负责该操作的人员之一),您可能还希望在该界面中配置生产服务器;但是,我建议您考虑使用自动构建系统,将内容部署到生产站点。

然后,选择“版本控制”,选择“Subversion”作为访问方法(请参阅图 5)。您只有一个选项,因为截至撰写本文时,Dreamweaver CS5 只支持一种 VCS。

指定连接到 Subversion 库所需的各种连接设置,包括协议和服务器地址等。您的 Subversion 管理员应当可以提供这些值。我的设置如下:

  • 访问: Subversion
  • 协议: HTTP
  • 服务器地址: localhost
  • 存储库路径: /repo/voltmer.com/
  • 服务器端口: 默认值
  • 用户名: voltmer
  • 密码: <secretpassword>

图 5.指定 Subversion 库的版本控制设置。

注意:本例中的服务器与客户端运行在同一台机器上,因此我将 localhost 用作服务器名。Localhost 是一个别名,它指本地机器。

要验证设置是否有效,单击“测试”。如果一切配置正确,Dreamweaver 将显示一个对话框,其中显示“服务器和项目可访问!”(请参阅图 6)。如果看不到此消息,请参阅 Dreamweaver CS5 文档或咨询 Subversion 库管理员,确认配置设置。

图 6.如果一切配置正确,可看到该对话框。

要完成,单击“站点定义”对话框中的“确定”。

注意:您可能需要在其他类别中修改站点定义设置,但那些配置已超出本文范围。

取出和编辑内容

此时,Dreamweaver CS4 界面的“本地文件”区域中没有任何内容,因为还没有从库中取出内容。要取出内容,请确保您在网站的“本地文件”区域,右键单击或按 Ctrl 键单击目录结构顶部的站点文件夹,选择“版本控制”>“获取最新版本”(请参阅图 7)。此时,本地目录结构将与服务器上的 Subversion 库中的内容进行同步。您已经取出代码,随时可以开始进行编辑。

图 7.选择“版本控制”>“获取最新版本”,从 Subversion 检索内容。

图 8 显示我的 voltmer.com 取出结果。我现在可以更改某些内容。

图 8.更新后的本地视图。

具体而言,我决定更新 voltmer.com 上的 index.html 文件的部分内容。我忘记更改主页标题的默认值,并且不喜欢此时的标题,所以我要将:

Title

更改为:

Voltmer's Website

为了进行更改,我双击“本地文件”区域中的 index.html 文件,打开它进行编辑。默认情况下,我看到的是“设计”视图。在页面顶部,我将“Title”更改为“Voltmer's Website”。我也可以切换到“代码”视图或“拆分”视图,直接在 HTML 中进行编辑。上述任何操作都可以更改底层的文件。完成更改后,我关闭文件并保存更改。

此时,我的“本地文件”区域略有变化。Dreamweaver CS4 在 index.html 旁添加了一个勾号,表明我已更改此文件(请参阅图 9)。这只是本地更改;库中的文件保持不变。对于 Subversion 服务器而言,该文件尚未更改。其他用户可以取出他们自己的站点副本并做出更改,但他们看不到我对 index.html 所做的更改。

我要将所做的更改提交回库,最终发布到生产网站,因此我需要将这些更改存回(提交)到库。

图 9.index.html 旁的勾号表明对文件的本地更改。

要这样做,我右键单击已更改的文件并选择“存回”(请参阅图 10)。随后会提示我提供“提交消息”。该消息将与文件更改内容一起存储在库中,作为取出与存回之间对文件所作更改的记录。

图 10.选择“存回”,将更改后的文件提交到库。

专业设计人员和开发人员都知道清晰、准确的更改描述十分重要,因为它们可以帮助小组中的每个人理解更改内容及其原因。您甚至可以使用注释回想自己过去所做的某次编辑的细节。对于此次更改,我键入“Changed the title of index.html”(请参阅图 11)。

图 11.为“提交消息”输入一个有意义的更改描述。

在对话框中键入内容后单击“提交”,我的更改即提交到库。当您自己这样做时,您会发现 Dreamweaver CS4 删除了“本地文件”列表中的文件旁的勾号,表明该文件已经与库同步。

使用 diff 和 revert

Subversion 最强大的两大功能是 diff 和 revert。diff 功能允许设计人员/开发人员比较同一文件的两个不同版本,找出它们之间的差异。如果要找出受损版网站与之前的可用版网站之间的更改情况,您就明白它为何如此实用了。借助文件 diff 功能,您可以轻松找出更改部分。

借助 revert 功能,您可以还原为之前的版本。例如,如果客户不喜欢您所作的某项更改,您只需还原为旧版页面。我可以在库中找到旧副本,而不是保留多个旧版,使用 diff 比较旧副本和当前副本,然后还原为旧版。

我们再回到我的示例情景,我接到客户的电话,他/她希望主页标题像以前一样。我手头在处理许多站点,已经记不清自己所作的更改,所以我执行 diff。

我右键单击文件 index.html 并选择“版本控制”>“显示修订版”(请参阅图 12)。

图 12.选择“版本控制”>“显示修订版”进行版本比较。

在“修订历史记录”对话框中,我选择要比较的两个修订版,然后单击“比较”(请参阅图 13)。

图 13.选择要比较的修订,单击“比较”。

因为我还没有定义一个用于文件比较的应用程序,所以 Dreamweaver 会询问我是否要选择一个应用程序(请参阅图 14)。我希望使用已安装的某个应用程序。我现在使用的是 Bare Bones Software 的 TextWrangler,您可以选择最适合自己需求的工具。

图 14.单击“确定”选择一个用于文件比较的应用程序。

有关如何安装各种 diff 工具的详细信息,请单击“Dreamweaver 首选项”对话框的“文件比较”类别中的“帮助”(请参阅图 15)。

图 15.在“首选项”的“文件比较”类别中指定首选比较应用程序。

配置 diff 应用程序后,每当我选择“版本控制”>“显示修订版”时,Dreamweaver 会启动该应用程序并比较文件的不同修订(请参阅图 16)。

单击可放大

查看差异后,我认为需要还原为之前的版本。在同一个“修订历史记录”对话框中,我选择要取代当前版本的文件旧版,单击“提升到当前版本”。Dreamweaver 提示我确认要还原为选定版本(请参阅图 17)。

图 17.单击“是”确认要还原为选定修订。

单击“是”后,修订历史记录将自动更新并显示文件更改的新修订号(请参阅图 18),但内容与旧版文件相同。

图 18.修订 2,即最初的存回,现在是最新修订。

此时,如果编辑该文件,我可以看到原来的 </code> 标签而不是我之前所作的更改。</p> <p>右键单击已更改的某个本地文件,然后选择“撤消取出”,也可以还原它。</p> </div> </div> <p> </p> </div> </div> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1304187516559069184"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(网页开发)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1773450885851054080.htm" title="python转码" target="_blank">python转码</a> <span class="text-muted">Desamond</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>转码在许多场景中都有应用,以下是一些常见的场景:网页开发:当用户在网页上输入文本时,可能需要将特殊字符(如空格、引号、特殊符号等)进行转码,以防止这些字符对URL或HTML代码产生干扰。文件名处理:在处理文件名时,可能需要将特殊字符进行转码,以避免文件名被错误地解析或显示。数据传输:在数据传输过程中,为了确保数据的完整性和正确性,可能需要将数据中的特殊字符进行转码。数据存储:在数据库或数据存储中,</div> </li> <li><a href="/article/1759557301028614144.htm" title="4.1.浏览器的开发者工具" target="_blank">4.1.浏览器的开发者工具</a> <span class="text-muted">sty3318</span> <a class="tag" taget="_blank" href="/search/python%E5%AD%A6%E4%B9%A0/1.htm">python学习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a> <div>浏览器的开发者工具是一组内置于现代浏览器的工具集,旨在帮助开发人员进行网页开发、调试和性能优化。这些工具提供了丰富的功能和特性,可以对网页的结构、样式、脚本和网络请求进行实时监控、调试和分析。下面是开发者工具的主要用途:调试和修复问题开发者工具允许开发人员检查和调试网页上的问题,如JavaScript错误、CSS样式问题、网络请求问题等。通过在开发者工具中设置断点、观察变量、查看日志和错误报告等,</div> </li> <li><a href="/article/1757930348953485312.htm" title="HTML5与CSS3总结" target="_blank">HTML5与CSS3总结</a> <span class="text-muted">胡小七</span> <a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>HTML5总结1.HTML5由W3C和WHAT组织机构共同研发出来的,于2014年正式发布。2.HTML5成为了新一代网页开发标准。3.HTML5新特性(面试)1)增加了audio和video音频播放,抛弃了Flash2)新增了canvas画布(绘画,制作动画(如小游戏开发等))3)地理定位4)增加了离线缓存5)硬件加速6)WebSocket(全双工通信)7)增加了本地存储8)新增了一些语义化标签</div> </li> <li><a href="/article/1757915460390633472.htm" title="代码编辑器Visual Studio Code Insiders1.36.0中文版" target="_blank">代码编辑器Visual Studio Code Insiders1.36.0中文版</a> <span class="text-muted">希希的莫斯呱</span> <div>VisualStudioCodemac中文版是mac上一款跨平台轻量级代码编辑器,该编辑器也集成了所有一款现代编辑器所应该具备的特性,支持语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT等特性,而且VisualStudioCodemac针对网页开发和云端应用开发做了优化。VisualStudioCodeInsidersMac版中文设置教程:打开VisualStudi</div> </li> <li><a href="/article/1757674313915318272.htm" title="1.Electron初始与安装" target="_blank">1.Electron初始与安装</a> <span class="text-muted">余识-</span> <a class="tag" taget="_blank" href="/search/electron/1.htm">electron</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>这里写目录标题一、前言二、下载三、简要总结一、前言原文以及该系列后续文章请参考:安装Electron随着前端的不断强盛,现在的前端已经不再满足于网页开发了,而是在尝试能否使用前端的开发逻辑来开发PC端的桌面软件。即用html、js、css这三者来开发桌面软件。本栏目所介绍的Electron框架就是这众多实践中目前成效最好的一个。就连家喻户晓的QQ,目前也已经采用了这套框架重写。其优点就在于:你只需</div> </li> <li><a href="/article/1757465460980334592.htm" title="【知识】浅谈xss攻击及如何简单的预防" target="_blank">【知识】浅谈xss攻击及如何简单的预防</a> <span class="text-muted">小黑马i</span> <div>什么是xss攻击?XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容</div> </li> <li><a href="/article/1757387198681858048.htm" title="webview 微信网页 ios andriod 列表滑动 ios溢出问题" target="_blank">webview 微信网页 ios andriod 列表滑动 ios溢出问题</a> <span class="text-muted">陈程城</span> <div>布局:flex对于公众号网页开发,ios和android的兼容一直都是很让开发头痛功能列表滚动(ios/andriod都可以)input调起软键盘,随视图高度压缩,input所在盒子上移(ios/andriod都可以)动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动态渲染列表动</div> </li> <li><a href="/article/1757023973977112576.htm" title="[韩顺平]python笔记" target="_blank">[韩顺平]python笔记</a> <span class="text-muted">超级用户 root</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>AI工程师、运维工程师python排名逐年上升,为什么?python对大数据分析、人工智能中关键的机器学习、深度学习都提供有力的支持Python支持最庞大的代码库,功能超强数据分析:numpy/pandas/os机器学习:tensorflow/scikit-learn/theano爬虫:urllib/reques/bs4/scrapy网页开发:Django/falsk/web运维:saltstac</div> </li> <li><a href="/article/1756653073972871168.htm" title="C语言常见面试题:C语言中如何进行网页开发编程?" target="_blank">C语言常见面试题:C语言中如何进行网页开发编程?</a> <span class="text-muted">广寒舞雪</span> <a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>在C语言中进行网页开发通常不是一个直接的过程,因为C语言主要用于系统级编程,而不是Web开发。传统的Web开发主要使用高级语言如JavaScript、Python、Ruby、PHP等,以及与Web相关的技术,如HTML、CSS和数据库。然而,如果你确实想在C语言中实现与Web相关的功能,你可以考虑以下几种方法:CGI(CommonGatewayInterface):CGI是Web服务器与外部应用程</div> </li> <li><a href="/article/1756620531810975744.htm" title="Webstorm 2023.3.3最新安装教程(附激活码,亲测有效)" target="_blank">Webstorm 2023.3.3最新安装教程(附激活码,亲测有效)</a> <span class="text-muted"></span> <div>WebStorm是一款由JetBrains公司开发的强大的网页开发集成环境。这款工具为开发者提供了许多有用的功能,包括代码编辑、调试、测试以及版本控制等。安装教程:kdocs.cn/l/cmuBDCz2KFTj一、代码编辑与自动完成WebStorm的代码编辑器是它的核心功能之一。它提供了丰富的代码提示和自动完成功能,可以帮助开发者更快速、更准确地编写代码。当你在编写HTML、CSS、JavaScr</div> </li> <li><a href="/article/1756270436884168704.htm" title="JavaScript -- jQuery网页开发案例笔记" target="_blank">JavaScript -- jQuery网页开发案例笔记</a> <span class="text-muted">秣凡</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>视频地址:黑马程序员前端基础必备教程|jQuery网页开发案例精讲_哔哩哔哩_bilibili视频代码地址:JavaScript_jQuery测试案例:本仓库是学习jQuery相关知识。视频网址:https://www.bilibili.com/video/BV1a4411w7Gx?share_source=copy_web&vd_source=d60891811856d864c216f6f099</div> </li> <li><a href="/article/1756115410064785408.htm" title="解析ajax原理是什么(如何实现)" target="_blank">解析ajax原理是什么(如何实现)</a> <span class="text-muted">章IT</span> <a class="tag" taget="_blank" href="/search/ajax/1.htm">ajax</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/es6/1.htm">es6</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a> <div>文章目录一、是什么二、实现过程创建XMLHttpRequest对象与服务器建立连接给服务端发送数据绑定onreadystatechange事件三、封装一、是什么AJAX全称(AsyncJavascriptandXML)即异步的JavaScript和XML,是一种创建交互式网页应用的网页开发技术,可以在不重新加载整个网页的情况下,与服务器交换数据,并且更新部分网页Ajax的原理简单来说通过XmlHt</div> </li> <li><a href="/article/1756102212284596224.htm" title="Python web开发之CSS中级语法外加Bootscrap" target="_blank">Python web开发之CSS中级语法外加Bootscrap</a> <span class="text-muted">一树樱花白</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>1.前言续上节我们说到“基于Flask框架的Pythonweb开发的HTML+CSS”的内容点击即可传送,我们知道了一些基本语法和一些简单的网页开发设计,那么这篇文章将会学习一些高级内容及魔法工具CSS高级语法知识点hover伪类after伪类positionfixrelativeabsolute前端开发设计工具“BootScrap的使用”2.CSS进阶语法在这里提前说一下什么是伪类用来定义元素的</div> </li> <li><a href="/article/1755904251093073920.htm" title="前端开发:(四)JavaScript入门" target="_blank">前端开发:(四)JavaScript入门</a> <span class="text-muted">星光闪闪k</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/ecmascript/1.htm">ecmascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>JavaScript是一种强大的脚本语言,用于在网页中实现交互性和动态性。它的发展历史可以追溯到1995年,由Netscape公司的BrendanEich设计开发而成。JavaScript的重要性在于它能够让网页实现丰富的功能和用户体验,成为Web开发的核心技术之一。1.介绍JavaScript1.1什么是JavaScriptJavaScript是一种轻量级、解释性的脚本语言,主要用于网页开发,可</div> </li> <li><a href="/article/1755719615775784960.htm" title="开发实践12_DataMiningSys." target="_blank">开发实践12_DataMiningSys.</a> <span class="text-muted">even_123</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>朔宁夫基于Pycharm的网页开发课程笔记。Tips1实际的分析系统构建可能涉及不同开发工具,无法基于模型关系关联,需要明确item的id。role_id=models.IntegerField(primary_key=True,verbose_name="Authority")id=models.BigAutoField(primary_key=True,verbose_name="UserID</div> </li> <li><a href="/article/1755421044237156352.htm" title="2024.2.4日总结(小程序开发1)" target="_blank">2024.2.4日总结(小程序开发1)</a> <span class="text-muted">明里灰</span> <a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a> <div>小程序开发和普通网页开发的区别运行环境不同网页运行在浏览器环境中,小程序运行在微信环境中API不同由于运行的环境不同,所以小程序中无法调用DCM和BOM的API,但是可以调用微信环境提供的各种API,如:地理定位,扫码,支付开发模式不同网页的开发模式:浏览器+代码编辑器申请小程序开发账号安装小程序开发者工具创建和配置小程序项目体验微信小程序:小程序代码构成项目结构pages用来存放所有小程序的页面</div> </li> <li><a href="/article/1755022620669001728.htm" title="vue学习的第一步,vscode介绍及相关插件安装" target="_blank">vue学习的第一步,vscode介绍及相关插件安装</a> <span class="text-muted">都是地址而已</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>1:vsvode简介VisualStudioCode(简称VSCode/VSC)是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持Win、Mac以及Linux。还有其几款ide,webstorm,Sublime,text3等,看</div> </li> <li><a href="/article/1754904627406454784.htm" title="程序员知识点:Java和JavaScript有哪些区别与联系?" target="_blank">程序员知识点:Java和JavaScript有哪些区别与联系?</a> <span class="text-muted">ms3_ishenglu</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>Java和JavaScript是两种不同的编程语言,它们有以下区别和联系:区别:设计目的不同:Java是一种面向对象的编程语言,主要用于企业级应用程序开发、移动应用程序开发等领域。而JavaScript是一种脚本语言,主要用于网页开发和Web应用程序开发。语法不同:Java是一种强类型语言,需要在编写代码时声明变量的类型。而JavaScript是一种弱类型语言,变量的类型可以在运行时动态确定。运行</div> </li> <li><a href="/article/1754698007594418176.htm" title="你经常在网页禁用的JavaScript到底与java有什么不同?" target="_blank">你经常在网页禁用的JavaScript到底与java有什么不同?</a> <span class="text-muted">库巴拉西白白</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>经常偷懒的大学生都知道,如果一个网页禁止复制粘贴,那么只需要在网页开发者模式的设置里面禁用JavaScript即可恢复复制粘贴在外表上JavaScript与java看起来有着密不可分的联系,那么具体有什么区别呢?网页禁用JavaScript的原理又是什么呢?其实Java和JavaScript是两种完全不同的编程语言,尽管它们的名称相似,但它们在设计、用途和语法上都有很大的不同。以下是它们之间的一些</div> </li> <li><a href="/article/1754623030761373696.htm" title="【python】网页开发——Flask基础(一)介绍、安装、版本、入门程序、网页相关知识、项目配置" target="_blank">【python】网页开发——Flask基础(一)介绍、安装、版本、入门程序、网页相关知识、项目配置</a> <span class="text-muted">zz的学习笔记本</span> <a class="tag" taget="_blank" href="/search/Python%E5%AD%A6%E4%B9%A0/1.htm">Python学习</a><a class="tag" taget="_blank" href="/search/Flask/1.htm">Flask</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/flask/1.htm">flask</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Flask介绍Flask官方文档:https://flask.palletsprojects.com中文文档:https://dormousehole.readthedocs.io/en/latest/Flask是一个使用Python编写的轻量级Web开发框架。它被设计成简单、易用,并且具有灵活性,可以帮助开发者快速搭建Web应用程序。以下是Flask的一些主要特点和优势:简单易用:Flask的设</div> </li> <li><a href="/article/1754597634040938496.htm" title="Java和JavaScript有什么区别和联系" target="_blank">Java和JavaScript有什么区别和联系</a> <span class="text-muted">莱森泰克科技</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Java和JavaScript是两种不同的编程语言,虽然他们是不同的编程语言,但他们直接还是有一些“联系”的,下面简单说一下他们直接的区别和联系(有问题请各位及时指点出来)首先是区别:1.最大的区别就是Java主要是用于后端应用程序开发,而JavaScript主要用于前段网页开发、实现网页特效等,后面简单讲一下两种编程语言的主要的应用领域。2.Java是一种静态类型的编程语言,而JavaScrip</div> </li> <li><a href="/article/1754364483108618240.htm" title="jquery table实现分页" target="_blank">jquery table实现分页</a> <span class="text-muted">DHLSP15</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>jquerytable实现分页介绍在网页开发中,经常会使用表格来展示数据,如果数据量比较大时,通常需要将数据拆解成多个段落,进行分页展示。准备在开始之前需要在HTML中导入jQuery库。实现步骤步骤描述1请求加载要渲染的数据2初始化分页3根据当前分页的页数和页的数量展示对应的数据4改变页码,数据也随之更新数据5更新分页信息1、加载数据首先,先请求加载获取展示的数据结构。//根据数据模拟数组对象v</div> </li> <li><a href="/article/1754361932422332416.htm" title="前端简历内容模板" target="_blank">前端简历内容模板</a> <span class="text-muted">雪梅零落</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">面试题</a><a class="tag" taget="_blank" href="/search/%E9%9A%8F%E7%AC%94/1.htm">随笔</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E5%8E%86%E6%A8%A1%E6%9D%BF/1.htm">简历模板</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E5%8E%86/1.htm">简历</a> <div>文章目录模板一模板二模板三模板四模板五模板一简历个人信息:姓名:联系方式:邮箱:教育背景:XX大学,XX专业,XX学位,XX年毕业工作经验:前端开发工程师,XX公司,XX日期工作职责:负责与设计团队合作,将设计稿转化为可交互的网页界面使用HTML,CSS,JavaScript等相关技术进行网页开发和优化,确保页面的响应速度和用户体验使用Vue.js框架开发复杂的单页应用程序,实现数据的动态加载和交</div> </li> <li><a href="/article/1754331550045978624.htm" title="【HTML 基础】元数据 meta 标签" target="_blank">【HTML 基础】元数据 meta 标签</a> <span class="text-muted">好久不见的流星</span> <a class="tag" taget="_blank" href="/search/HTML/1.htm">HTML</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>文章目录1.设置字符集2.描述网页内容3.设置关键词4.网页重定向5.移动端优化注意事项结语在网页开发中,标签是一种十分重要的HTML元数据标签。通过巧妙使用标签,我们能够设置各种元数据,从而影响网页在浏览器中的表现和搜索引擎的处理。本博客将介绍标签及其在网页中的多种用途。1.设置字符集指定字符集是标签中最基础的用法之一。在头部(head)中插入以下标签,能够确保浏览器正确解析并显示文档的字符编码</div> </li> <li><a href="/article/1754174991064121344.htm" title="Java和JavaScript的区别与联系" target="_blank">Java和JavaScript的区别与联系</a> <span class="text-muted">HWL5679</span> <a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>JavaScript和Java是两种完全不同的编程语言,它们的名称虽然相似,但并没有直接的关系。JavaScript的名字来源于它最初被命名为LiveScript,并在1995年被Netscape公司更名为JavaScript,以吸引更多使用Java的开发者。这是因为当时Java非常流行,而JavaScript的设计目标之一就是与Java兼容,并让网页开发更加容易。区别:运行环境:Java是一种在</div> </li> <li><a href="/article/1753972796410576896.htm" title="PC端静态网页应用开发及项目" target="_blank">PC端静态网页应用开发及项目</a> <span class="text-muted">WGP鹏灬</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">前端开发学习笔记</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>笔记来源:拉勾教育-大前端就业集训营文章内容:学习过程中的笔记、感悟、经验一、网页开发流程1、需求分析:对开发产品进行定位(如产品类型、产品功能、面向的客户群、达到的目的等)2、整体规划:根据需求分析的结论,确定网站中要展示的内容、层次、展示形式等,给出对应内容的文案3、界面设计:设计师根据整体规划的方案、将网站各个页面进行设计,最终给出设计图、颜色、数据信息等4、前端程序设计:前端开发人员根据设</div> </li> <li><a href="/article/1753972797178134528.htm" title="静态PC端网页开发" target="_blank">静态PC端网页开发</a> <span class="text-muted">程序媛Render</span> <a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%AD%A6%E4%B9%A0/1.htm">前端学习</a><a class="tag" taget="_blank" href="/search/HTML/1.htm">HTML</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>文章目录前言一、静态项目开发基础1.网页项目开发流程2.页面开发常见界面和布局流程二、项目制作1.head内部配置2.header区域3.多余文字显示成...省略号4.footer区域5.copyright区域6.backtop区域三、快速搭建公共页面总结前言今天开始新的模块,pc端静态网页开发应用。这部分主要是对于前面HTML和css学习的一个验收和巩固。</div> </li> <li><a href="/article/1753950055116587008.htm" title="用友NC移动审批,2023最新版本" target="_blank">用友NC移动审批,2023最新版本</a> <span class="text-muted">QQ767574478</span> <a class="tag" taget="_blank" href="/search/NC%E7%A7%BB%E5%8A%A8%E5%AE%A1%E6%89%B9/1.htm">NC移动审批</a><a class="tag" taget="_blank" href="/search/nc65/1.htm">nc65</a><a class="tag" taget="_blank" href="/search/NCC/1.htm">NCC</a><a class="tag" taget="_blank" href="/search/NC65/1.htm">NC65</a><a class="tag" taget="_blank" href="/search/%E5%BE%85%E5%8A%9E%E9%9B%86%E6%88%90/1.htm">待办集成</a><a class="tag" taget="_blank" href="/search/%E7%94%A8%E5%8F%8B/1.htm">用友</a><a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8A%A8%E5%AE%A1%E6%89%B9/1.htm">移动审批</a><a class="tag" taget="_blank" href="/search/%E5%AE%A1%E6%89%B9%E9%9B%86%E6%88%90/1.htm">审批集成</a> <div>移动审批H5应用介绍1产品介绍1.1前言1.1.1简介移动审批H5应用,不需要安装APP,采用web网页开发,可以直接点击链接打开。1.1.2产品特色(NC57,NC65,NCC有细微差别):支持审批NC所有类型单据。支持微信直接打开,不需要安装APP。支持无缝集成,钉钉,企业微信集成。支持消息实时推送。支持手写签名。支持NC的所有模块支持所有单据支持驳回到指定环节支持加签和改派支持NC原有的单据</div> </li> <li><a href="/article/1753941497159368704.htm" title="FullStack实践(1)之个人网站Nginx基础配置" target="_blank">FullStack实践(1)之个人网站Nginx基础配置</a> <span class="text-muted">Once_day</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5%E5%BC%80%E5%8F%91/1.htm">网页开发</a><a class="tag" taget="_blank" href="/search/FullStack%E5%BC%80%E5%8F%91/1.htm">FullStack开发</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>FullStack实践之(1)个人网站Nginx基础配置Author:OnceDayDate:2024年1月27日人生在世,如同梦一场…全系列文章请查看专栏:网页开发_Once_day的博客-CSDN博客参考文档:简易文件下载服务器-CSDN博客SSL证书Nginx服务器SSL证书安装部署-证书安装-文档中心-腾讯云(tencent.com)文章目录FullStack实践之(1)个人网站Nginx</div> </li> <li><a href="/article/1753570404921786368.htm" title="微信小程序新手入门教程一:零基础上手" target="_blank">微信小程序新手入门教程一:零基础上手</a> <span class="text-muted">爱写代码的July</span> <a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">微信小程序</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a> <div>小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。它提供了一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生APP体验的服务。小程序与普通网页开发的区别1.开发环境不同。网页运行在浏览器环境中,而小程序运行在微信环境中。2.API调用不同。小程序不能调用DOM和BOM的API。但是它可以调用微信环境提供的如扫码支付、地理</div> </li> <li><a href="/article/38.htm" title="ASM系列六 利用TreeApi 添加和移除类成员" target="_blank">ASM系列六 利用TreeApi 添加和移除类成员</a> <span class="text-muted">lijingyao8206</span> <a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86/1.htm">动态代理</a><a class="tag" taget="_blank" href="/search/ASM/1.htm">ASM</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E7%A0%81%E6%8A%80%E6%9C%AF/1.htm">字节码技术</a><a class="tag" taget="_blank" href="/search/TreeAPI/1.htm">TreeAPI</a> <div>    同生成的做法一样,添加和移除类成员只要去修改fields和methods中的元素即可。这里我们拿一个简单的类做例子,下面这个Task类,我们来移除isNeedRemove方法,并且添加一个int 类型的addedField属性。   package asm.core; /** * Created by yunshen.ljy on 2015/6/</div> </li> <li><a href="/article/165.htm" title="Springmvc-权限设计" target="_blank">Springmvc-权限设计</a> <span class="text-muted">bee1314</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a> <div> 万丈高楼平地起。 权限管理对于管理系统而言已经是标配中的标配了吧,对于我等俗人更是不能免俗。同时就目前的项目状况而言,我们还不需要那么高大上的开源的解决方案,如Spring Security,Shiro。小伙伴一致决定我们还是从基本的功能迭代起来吧。 目标: 1.实现权限的管理(CRUD) 2.实现部门管理 (CRUD) 3.实现人员的管理 (CRUD) 4.实现部门和权限</div> </li> <li><a href="/article/292.htm" title="算法竞赛入门经典(第二版)第2章习题" target="_blank">算法竞赛入门经典(第二版)第2章习题</a> <span class="text-muted">CrazyMizzz</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>2.4.1 输出技巧 #include <stdio.h> int main() { int i, n; scanf("%d", &n); for (i = 1; i <= n; i++) printf("%d\n", i); return 0; } 习题2-2 水仙花数(daffodil</div> </li> <li><a href="/article/419.htm" title="struts2中jsp自动跳转到Action" target="_blank">struts2中jsp自动跳转到Action</a> <span class="text-muted">麦田的设计者</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/webxml/1.htm">webxml</a><a class="tag" taget="_blank" href="/search/struts2/1.htm">struts2</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E8%B7%B3%E8%BD%AC/1.htm">自动跳转</a> <div>1、在struts2的开发中,经常需要用户点击网页后就直接跳转到一个Action,执行Action里面的方法,利用mvc分层思想执行相应操作在界面上得到动态数据。毕竟用户不可能在地址栏里输入一个Action(不是专业人士)   2、<jsp:forward page="xxx.action" /> ,这个标签可以实现跳转,page的路径是相对地址,不同与jsp和j</div> </li> <li><a href="/article/546.htm" title="php 操作webservice实例" target="_blank">php 操作webservice实例</a> <span class="text-muted">IT独行者</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a> <div>首先大家要简单了解了何谓webservice,接下来就做两个非常简单的例子,webservice还是逃不开server端与client端。我测试的环境为:apache2.2.11 php5.2.10做这个测试之前,要确认你的php配置文件中已经将soap扩展打开,即extension=php_soap.dll; OK 现在我们来体验webservice //server端 serve</div> </li> <li><a href="/article/673.htm" title="Windows下使用Vagrant安装linux系统" target="_blank">Windows下使用Vagrant安装linux系统</a> <span class="text-muted">_wy_</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/vagrant/1.htm">vagrant</a> <div>准备工作: 下载安装 VirtualBox :https://www.virtualbox.org/ 下载安装 Vagrant :http://www.vagrantup.com/ 下载需要使用的 box : 官方提供的范例:http://files.vagrantup.com/precise32.box 还可以在 http://www.vagrantbox.es/ </div> </li> <li><a href="/article/800.htm" title="更改linux的文件拥有者及用户组(chown和chgrp)" target="_blank">更改linux的文件拥有者及用户组(chown和chgrp)</a> <span class="text-muted">无量</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/chgrp/1.htm">chgrp</a><a class="tag" taget="_blank" href="/search/chown/1.htm">chown</a> <div>本文(转) http://blog.163.com/yanenshun@126/blog/static/128388169201203011157308/ http://ydlmlh.iteye.com/blog/1435157 一、基本使用: 使用chown命令可以修改文件或目录所属的用户:        命令</div> </li> <li><a href="/article/927.htm" title="linux下抓包工具" target="_blank">linux下抓包工具</a> <span class="text-muted">矮蛋蛋</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>原文地址: http://blog.chinaunix.net/uid-23670869-id-2610683.html tcpdump -nn -vv -X udp port 8888 上面命令是抓取udp包、端口为8888 netstat -tln 命令是用来查看linux的端口使用情况 13 . 列出所有的网络连接 lsof -i 14. 列出所有tcp 网络连接信息 l</div> </li> <li><a href="/article/1054.htm" title="我觉得mybatis是垃圾!:“每一个用mybatis的男纸,你伤不起”" target="_blank">我觉得mybatis是垃圾!:“每一个用mybatis的男纸,你伤不起”</a> <span class="text-muted">alafqq</span> <a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a> <div>最近看了  每一个用mybatis的男纸,你伤不起 原文地址 :http://www.iteye.com/topic/1073938 发表一下个人看法。欢迎大神拍砖; 个人一直使用的是Ibatis框架,公司对其进行过小小的改良; 最近换了公司,要使用新的框架。听说mybatis不错;就对其进行了部分的研究; 发现多了一个mapper层;个人感觉就是个dao; </div> </li> <li><a href="/article/1181.htm" title="解决java数据交换之谜" target="_blank">解决java数据交换之谜</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BA%A4%E6%8D%A2/1.htm">数据交换</a> <div>交换两个数字的方法有以下三种 ,其中第一种最常用   /* 输出最小的一个数 */ public class jiaohuan1 { public static void main(String[] args) { int a =4; int b = 3; if(a<b){ // 第一种交换方式 int tmep =</div> </li> <li><a href="/article/1308.htm" title="渐变显示" target="_blank">渐变显示</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div><style type="text/css"> #wxf { FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#ffffff, EndColorStr=#97FF98); height: 25px; } </style></div> </li> <li><a href="/article/1435.htm" title="探索JUnit4扩展:断言语法assertThat" target="_blank">探索JUnit4扩展:断言语法assertThat</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a><a class="tag" taget="_blank" href="/search/assertThat/1.htm">assertThat</a> <div>一.概述         JUnit 设计的目的就是有效地抓住编程人员写代码的意图,然后快速检查他们的代码是否与他们的意图相匹配。 JUnit 发展至今,版本不停的翻新,但是所有版本都一致致力于解决一个问题,那就是如何发现编程人员的代码意图,并且如何使得编程人员更加容易地表达他们的代码意图。JUnit 4.4 也是为了如何能够</div> </li> <li><a href="/article/1562.htm" title="【Gson三】Gson解析{"data":{"IM":["MSN","QQ","Gtalk"]}}" target="_blank">【Gson三】Gson解析{"data":{"IM":["MSN","QQ","Gtalk"]}}</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/gson/1.htm">gson</a> <div>  如何把如下简单的JSON字符串反序列化为Java的POJO对象? {"data":{"IM":["MSN","QQ","Gtalk"]}}   下面的POJO类Model无法完成正确的解析:   import com.google.gson.Gson;</div> </li> <li><a href="/article/1689.htm" title="【Kafka九】Kafka High Level API vs. Low Level API" target="_blank">【Kafka九】Kafka High Level API vs. Low Level API</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a> <div>1. Kafka提供了两种Consumer API High Level Consumer API Low Level Consumer API(Kafka诡异的称之为Simple Consumer API,实际上非常复杂) 在选用哪种Consumer API时,首先要弄清楚这两种API的工作原理,能做什么不能做什么,能做的话怎么做的以及用的时候,有哪些可能的问题  </div> </li> <li><a href="/article/1816.htm" title="在nginx中集成lua脚本:添加自定义Http头,封IP等" target="_blank">在nginx中集成lua脚本:添加自定义Http头,封IP等</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/nginx+lua/1.htm">nginx lua</a> <div>Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。 location /{</div> </li> <li><a href="/article/1943.htm" title="java-归并排序" target="_blank">java-归并排序</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> import java.util.Arrays; public class MergeSort { public static void main(String[] args) { int[] a={20,1,3,8,5,9,4,25}; mergeSort(a,0,a.length-1); System.out.println(Arrays.to</div> </li> <li><a href="/article/2070.htm" title="Netty源码学习-CompositeChannelBuffer" target="_blank">Netty源码学习-CompositeChannelBuffer</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a> <div>CompositeChannelBuffer体现了Netty的“Transparent Zero Copy” 查看API( http://docs.jboss.org/netty/3.2/api/org/jboss/netty/buffer/package-summary.html#package_description) 可以看到,所谓“Transparent Zero Copy”是通</div> </li> <li><a href="/article/2197.htm" title="Android中给Activity添加返回键" target="_blank">Android中给Activity添加返回键</a> <span class="text-muted">hotsunshine</span> <a class="tag" taget="_blank" href="/search/Activity/1.htm">Activity</a> <div> // this need android:minSdkVersion="11" getActionBar().setDisplayHomeAsUpEnabled(true); @Override public boolean onOptionsItemSelected(MenuItem item) { </div> </li> <li><a href="/article/2324.htm" title="静态页面传参" target="_blank">静态页面传参</a> <span class="text-muted">ctrain</span> <a class="tag" taget="_blank" href="/search/%E9%9D%99%E6%80%81/1.htm">静态</a> <div> $(document).ready(function () { var request = { QueryString : function (val) { var uri = window.location.search; var re = new RegExp("" + val + "=([^&?]*)", &</div> </li> <li><a href="/article/2451.htm" title="Windows中查找某个目录下的所有文件中包含某个字符串的命令" target="_blank">Windows中查找某个目录下的所有文件中包含某个字符串的命令</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E6%9F%A5%E6%89%BE%E6%9F%90%E4%B8%AA%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%89%80%E6%9C%89%E6%96%87%E4%BB%B6/1.htm">查找某个目录下的所有文件</a><a class="tag" taget="_blank" href="/search/%E5%8C%85%E5%90%AB%E6%9F%90%E4%B8%AA%E5%AD%97%E7%AC%A6%E4%B8%B2/1.htm">包含某个字符串</a> <div>findstr可以完成这个工作。   [html]  view plain copy   >findstr /s /i "string" *.*   上面的命令表示,当前目录以及当前目录的所有子目录下的所有文件中查找"string&qu</div> </li> <li><a href="/article/2578.htm" title="改善程序代码质量的一些技巧" target="_blank">改善程序代码质量的一些技巧</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a> <div>有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。让我们看一些基本的编程技巧:    尽量保持方法简短    尽管很多人都遵</div> </li> <li><a href="/article/2705.htm" title="SharedPreferences对数据的存储" target="_blank">SharedPreferences对数据的存储</a> <span class="text-muted">dcj3sjt126com</span> <div>SharedPreferences简介:                                                   &nbs</div> </li> <li><a href="/article/2832.htm" title="linux复习笔记之bash shell (2) bash基础" target="_blank">linux复习笔记之bash shell (2) bash基础</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a><a class="tag" taget="_blank" href="/search/bash+shell/1.htm">bash shell</a> <div>转载请出自出处: http://eksliang.iteye.com/blog/2104329 1.影响显示结果的语系变量(locale)  1.1locale这个命令就是查看当前系统支持多少种语系,命令使用如下: [root@localhost shell]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" </div> </li> <li><a href="/article/2959.htm" title="Android零碎知识总结" target="_blank">Android零碎知识总结</a> <span class="text-muted">gqdy365</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>1、CopyOnWriteArrayList add(E) 和remove(int index)都是对新的数组进行修改和新增。所以在多线程操作时不会出现java.util.ConcurrentModificationException错误。 所以最后得出结论:CopyOnWriteArrayList适合使用在读操作远远大于写操作的场景里,比如缓存。发生修改时候做copy,新老版本分离,保证读的高</div> </li> <li><a href="/article/3086.htm" title="HoverTree.Model.ArticleSelect类的作用" target="_blank">HoverTree.Model.ArticleSelect类的作用</a> <span class="text-muted">hvt</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a> <div>ArticleSelect类在命名空间HoverTree.Model中可以认为是文章查询条件类,用于存放查询文章时的条件,例如HvtId就是文章的id。HvtIsShow就是文章的显示属性,当为-1是,该条件不产生作用,当为0时,查询不公开显示的文章,当为1时查询公开显示的文章。HvtIsHome则为是否在首页显示。HoverTree系统源码完全开放,开发环境为Visual Studio 2013</div> </li> <li><a href="/article/3213.htm" title="PHP 判断是否使用代理 PHP Proxy Detector" target="_blank">PHP 判断是否使用代理 PHP Proxy Detector</a> <span class="text-muted">天梯梦</span> <a class="tag" taget="_blank" href="/search/proxy/1.htm">proxy</a> <div>1. php 类 I found this class looking for something else actually but I remembered I needed some while ago something similar and I never found one. I'm sure it will help a lot of developers who try to </div> </li> <li><a href="/article/3340.htm" title="apache的math库中的回归——regression(翻译)" target="_blank">apache的math库中的回归——regression(翻译)</a> <span class="text-muted">lvdccyb</span> <a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a> <div>这个Math库,虽然不向weka那样专业的ML库,但是用户友好,易用。 多元线性回归,协方差和相关性(皮尔逊和斯皮尔曼),分布测试(假设检验,t,卡方,G),统计。   数学库中还包含,Cholesky,LU,SVD,QR,特征根分解,真不错。   基本覆盖了:线代,统计,矩阵, 最优化理论 曲线拟合 常微分方程 遗传算法(GA), 还有3维的运算。。。 </div> </li> <li><a href="/article/3467.htm" title="基础数据结构和算法十三:Undirected Graphs (2)" target="_blank">基础数据结构和算法十三:Undirected Graphs (2)</a> <span class="text-muted">sunwinner</span> <a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a> <div>  Design pattern for graph processing. Since we consider a large number of graph-processing algorithms, our initial design goal is to decouple our implementations from the graph representation</div> </li> <li><a href="/article/3594.htm" title="云计算平台最重要的五项技术" target="_blank">云计算平台最重要的五项技术</a> <span class="text-muted">sumapp</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%B9%B3%E5%8F%B0/1.htm">云平台</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E5%9F%8E%E4%BA%91/1.htm">智城云</a> <div>云计算平台最重要的五项技术 1、云服务器 云服务器提供简单高效,处理能力可弹性伸缩的计算服务,支持国内领先的云计算技术和大规模分布存储技术,使您的系统更稳定、数据更安全、传输更快速、部署更灵活。 特性 机型丰富 通过高性能服务器虚拟化为云服务器,提供丰富配置类型虚拟机,极大简化数据存储、数据库搭建、web服务器搭建等工作; 仅需要几分钟,根据CP</div> </li> <li><a href="/article/3721.htm" title="《京东技术解密》有奖试读获奖名单公布" target="_blank">《京东技术解密》有奖试读获奖名单公布</a> <span class="text-muted">ITeye管理员</span> <a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a> <div>ITeye携手博文视点举办的12月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。  12月试读活动回顾: http://webmaster.iteye.com/blog/2164754 本次技术图书试读活动获奖名单及相应作品如下: 一等奖(两名) Microhardest:http://microhardest.ite</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>