Atom 1.0 Syndication Format 概述

Atom 1.0 Syndication Format 概述

流行的 Web 内容联合格式是如何构成的

文档选项
将此页作为电子邮件发送

将此页作为电子邮件发送


最新推荐

Java 应用开发源动力 - 下载免费软件,快速启动开发


级别: 初级

James Snell, 软件工程师, IBM

2005 年 8 月 22 日

从技术角度来看流行的 Atom Syndication Format。本文将讨论 Atom 与其他联合格式相比在技术上的优势,并通过几个典型的例子加以说明。

在 Internet 上,Web 内容联合是防火墙后面日渐重要的一个领域。一旦 bolg 爱好者的独有领地和在线新闻网站演变成基于 Web 的服务和内容发布的下一代平台,会怎么样呢?虽然联合技术(syndication technology)的采用突飞猛进,但这些技术一直都面临着技术问题、意义不明确和互操作性的挑战,这些为紧跟新潮流的软件开发人员和消费者带来了困难。为了解决这些问题,联合技术社区的成员走到了一起,他们共同分享经验,定义了 Atom Syndication FormatAtom Publishing Protocol 标准(请参阅 参考资料)。2005 年 7 月 15 日,第一个规范 Atom Syndication 正式面世。

本文假设您对内容联合和已有的规范家族至少有基本的了解。阅读本文时,建议手头上准备一份 Atom 1.0 格式规范的副本,以便作为所讨论的各种元素的交叉参考。

必须指出的是,本文中的讨论没有任何贬低 RSS 的目的。我们的目的是说明相对于现有的联合格式规范家族,Atom 格式带来了哪些改进,强调 Atom 格式所固有的长处。

一个简单的例子

只要使用 RSS 规范系列产品做过内容联合,任何人都很容易掌握 Atom 1.0。不过 Atom 在很多重要的方面都与 RSS 不同。清单 1 给出了一个简单的 Atom 1.0 feed 的例子。


清单 1. 简单的 Atom 的例子


Atom 要求每个提要(feed)和记录(entry)都包括三个元素:

  • 惟一的标识符,可以与 blog 记录或者用记录表示的其他 Web 资源的 URI 一样简单,也可以像真正的 128 位全球统一标识符(GUID)那样复杂。
  • 标题(title),简短的、人类可读的记录主体行;允许使用空字符串(用空的标题元素表示,如 </code>)。 </li> <li><strong>时间戳</strong> 表示上一次更新的时间。 </li> </ul> <p>此外,Atom 花费很多时间精心描述了一种健壮、灵活、一致的内容模型,该模型能够支持普通文本、不严格的 HTML、结构良好的 XHTML、任意的 XML、base-64 编码的二进制内容、指向没有直接包含在提要(feed)中的内容的 URI 指针,等等。相比之下,由于不考虑使用非标准的名称空间扩展以及已实现的不一致的名称空间扩展,RSS 只能处理普通文本和不严格的 HTML 内容。</p> <p>Atom 还提供了定义良好的可扩展模型,该模型提供了添加受 RSS 支持的新元数据和内容的类似分散动态机制,但采用的方法便于保证实现之间的互操作性。比如,Atom 明确说明文档中什么地方能够和不能使用扩展元素、什么样的扩展是语言敏感的(因此要受 <code>xml:lang</code> 属性的影响)、Atom 实现遇到不认识的扩展元素时必须如何应对。</p> <p>最后,Atom 为核心名称空间中的各种必需和可选元数据元素提供了严格定义。比如,Atom 定义了 <code>author</code> 元素,这是一个复杂结构,包括姓名、邮件地址(按照 RFC 2822 的定义)以及与作者有某种联系的资源标识符(比如作者主页的 URI)。</p> <p>提要(feed)或记录(entry)可以有多个 <code>author</code> 元素,零个或多个 <code>contributor</code> 元素。这些元素表示可能对提要(feed)或记录(entry)的生产作出贡献的个人,但是不能按照输入级别确定作者(如音频工程师、编辑、软件开发人员等)。<code>author</code> 和 <code>contributor</code> 元素都是可扩展的,只要自己认为合适,内容的生产者可以提供关于作者或者参与者更详细的信息。相比之下,RSS 只规定了更加严格的 <code>author</code> 元素,这类元素只能在每个记录中出现一次,而且只能表示电子邮件地址。</p> <br> <strong>清单 2. 使用 FOAF 扩展的例子</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <p>Atom 1.0 新增的标准特性包括:</p> <ul> <li>单个记录能够独立于提要(feed)存在,为采集和发布联合内容提供了全新的选择。 </li> <li>与 ISO-8601 和 XML Schema 兼容的时间戳。 </li> <li>使用 <code>xml:base</code> 支持相对 URI。 </li> <li>通过使用 Internationalized Resource Identifiers (IRIs) 和 <code>xml:lang</code> 增强了国际化。 </li> <li>可访问性(Accessability)特性使残障人士更容易使用提要(feed)。 </li> <li>类 HTML 的动态可扩展链接机制可以将提要(feed)或记录(entry)链接到外部资源。 </li> <li>自参考(self-referential)提要(feed)有助于简化订阅过程。 </li> <li>可以标识 Atom 1.0 文档的 MIME 媒体类型。 </li> <li>对 XML Digital Signatures 和 XML Encryption 提供内建支持。 </li> <li>验证 Atom 1.0 文档示例的非标准 RELAX NG 模式。 </li> <li>兼容 RDF 的核心子集。 </li> </ul> <p>总之,Atom 内建的种种特性是这种格式能够支持更广泛的联合应用,并克服了现有联合标准家族中普遍存在的很多技术不足。</p> <br> <table width="100%" border="0"> <tbody> <tr> <td><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/d9e5fef902f5495e8fa6f894d7e35b75.gif"><br><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"></td> </tr> </tbody> </table> <table align="right" class="no-print"> <tbody> <tr align="right"> <td><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"><br> <table border="0"> <tbody> <tr> <td valign="middle"><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/12fe515f8e564045ad82598ca2a4928d.gif"><br></td> <td valign="top" align="right"><strong><font color="#996699">回页首</font></strong></td> </tr> </tbody> </table></td> </tr> </tbody> </table> <br> <br> <p><span class="atitle"><font>支持 enclosure 标签</font></span></p> <p>在 Weblog 和新闻内容联合之外,联合技术正在发展中的一种最流行的应用是<strong>播客(podcasting)</strong>。播客是发布录制的数据音频文件的数据提要(feed),可自动下载和复制到用户的便携式媒体设备上。目前,播客是通过 RSS 2.0 的 <code>enclosure</code> 标签实现的,如清单 3 所示。</p> <br> <strong>清单 3. RSS 2.0 播客的例子</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <p>虽然播客迅速盛行,但 RSS 2.0 enclosure 标签至少有一个很突出的局限性,播客们对这一局限性非常讨厌:RSS 只允许每个记录存在一个 <code>enclosure</code> 标签。这意味着对那些希望让自己的音频能以多种格式(如 MP3、BitTorrent 或 WMA)下载的播客生产者,必须为每种格式提供单独的提要(feed)。但是 Atom 允许一个记录中包含多个 enclosure,每个 enclosure 都有相关的媒体 <code>type</code> 属性,这样播客制作者就可以在一个提要(feed)中包含所有发布格式。</p> <p>作为一个例子,可以考虑 IT Conversations(请参阅 <font color="#996699">参考资料</font>)提供的播客提要(feed)列表。因为 IT Conversations 播客是以多种格式提供的,潜在的订阅者必须在至少 73 种带有 enclosure 的 RSS 提要(feed)(不包括列出的 37 种纯文本提要(feed))中进行选择。使用 Atom enclosure,只要在每个 Atom 记录(entry)中包括两个 enclosure 链接,IT Conversations 就可以把提要(feed)数减少一半。提要(feed)的减少可以降低内容发布者和内容订阅者的复杂度。</p> <br> <strong>清单 4. Atom 1.0 播客的例子</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <p>Atom enclosure 并不是只能用来发布音频内容。Enclosure 链接可以引用任何类型的资源。比如,清单 5 在一个记录中使用多个 enclosure 来引用可通过 FTP 访问的 PDF 文档的翻译版本。<code>hreflang</code> 属性表示每个 PDF 文档被翻译成的语言。</p> <br> <strong>清单 5. 使用 enclosure 表示多种语言版本的 Atom 1.0 提要(feed)</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <p>除非在提要(feed)中引入非标准名称空间扩展,否则 RSS 2.0 不可能支持 <font color="#996699">清单 5</font> 中的格式。原因是多方面的:</p> <ul> <li>RSS 不允许记录中包含多个 enclosure。 </li> <li>RSS 没有提供关于附加资源语言的含义。 </li> <li>RSS enclosure 要求使用 HTTP URL。 </li> <li>RSS 没有提供一种方式为引用资源添加人类可读的标题。 </li> </ul> <p>Atom <code>link</code> 元素的另一个重要特点是,使 enclosure 不仅能把可下载文件与记录关联在一起,还可以为其他类型的资源规定有意义的链接:</p> <ul> <li><code><link rel="alternate" /></code> —— 表示提要(feed)或记录(entry)的替代版本(如 weblog 主页)。 </li> <li><code><link rel="related" /></code> —— 表示记录(entry)内容中以某种形式描述的资源。 </li> <li><code><link rel="self" /></code> —— 表示和提要(feed)或记录(entry)等价的资源,一般来说,它允许提要(feed)或记录(entry)成为自参考的,从而能实现更灵活的自动发现机制。 </li> <li><code><link rel="via" /></code> —— 表示提供提要(feed)或记录(entry)所含信息的资源。比如,如果通过在线聚合服务来发布记录,那么可以使用 <code>via</code> 链接来标识该聚合程序,代替目前让聚合程序重写 RSS 的 <code>link</code> 元素的一般做法。 </li> </ul> <p>这些内建的链接关系是为提要(feed)中可能使用的最常见、最一般的链接类型设计的。可使用完全限定的 URI 来动态定义新的联系类型。稍后将通过一个例子进一步讨论 link 元素的可扩展性。</p> <br> <table width="100%" border="0"> <tbody> <tr> <td><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/d9e5fef902f5495e8fa6f894d7e35b75.gif"><br><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"></td> </tr> </tbody> </table> <table align="right" class="no-print"> <tbody> <tr align="right"> <td><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"><br> <table border="0"> <tbody> <tr> <td valign="middle"><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/12fe515f8e564045ad82598ca2a4928d.gif"><br></td> <td valign="top" align="right"><strong><font color="#996699">回页首</font></strong></td> </tr> </tbody> </table></td> </tr> </tbody> </table> <br> <br> <p><span class="atitle"><font>基于引用的内容</font></span></p> <p>除了 link 和 enclosure 外,Atom 还支持通过 URI 引用记录内容。清单 6 显示了一个图片 weblog 的 Atom 提要(feed)。<code>content</code> 元素引用 bolg 中的每一幅图片,<code>summary</code> 元素提供了图像标题。</p> <br> <strong>清单 6. 使用 Atom 1.0 的简单图像列表</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <p>这种基于引用的内容(content-by-reference)机制提供了一种非常灵活的机制,可用于扩展通过 Atom 联合的内容类型。</p> <p>比如,人们常常讨论使用联合模型来发布软件升级的想法。这样做的话,链接到包含软件升级、描述升级的网页的可下载文件会很有帮助。因为 Atom 明确区分了 <code>link</code> 和 <code>content</code> 元素的角色,创建这样的提要(feed)非常简单,不需要扩展核心 Atom 名称空间。</p> <br> <strong>请但 7. 使用 Atom 1.0 的软件升级提要(feed)</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <p>基于引用的内容的其他应用包括通常不适合静态嵌入到提要(feed)中的数据联合。这样的内容包括音频或视频的实时转播流、安全帐户信息或事务的链接和大型数据流。</p> <br> <strong>清单 8. 实时广告音频流的 Atom 1.0 提要(feed)</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <br> <table width="100%" border="0"> <tbody> <tr> <td><font face="Lucida Console"><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/d9e5fef902f5495e8fa6f894d7e35b75.gif"><br><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"></font></td> </tr> </tbody> </table> <table align="right" class="no-print"> <tbody> <tr align="right"> <td><font face="Lucida Console"><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"><br></font> <table border="0"> <tbody> <tr> <td valign="middle"><font face="Lucida Console"><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/12fe515f8e564045ad82598ca2a4928d.gif"><br></font></td> <td valign="top" align="right"><strong><font color="#996699">回页首</font></strong></td> </tr> </tbody> </table></td> </tr> </tbody> </table> <br> <br> <p><span class="atitle"><font>扩展 Atom</font></span></p> <p>当前联合技术的一大优势是开发人员能够用新的元数据类型扩展提要(feed)。Atom 工作组的主要目标之一就是定义良好的可扩展性模型,同时保留内容发布者和联合应用程序开发人员所期望的分散的、动态的可扩展机制,保持 Atom 实现之间的核心互操作性。</p> <p>Atom 的扩展有两种方式,下面将分别举例说明:</p> <ul> <li>新的名称空间限定的扩展元素和属性。 </li> <li>新的 link 元素关系类型。 </li> </ul> <p>名称空间扩展包括在核心 Atom 元素中混合使用新的 XML 元素和属性。比如,Atom 定义了描述记录创建和发布时刻的元素。不过,可以设想一个生成的内容必须在给定的时间点过期作废的应用程序(比如表示特价商品或者每周排名前十的列表)。Atom 没有提供用于规定超期时间的核心元素。但是可以在单独的名称空间中声明这样的元素,然后将它们包括到 Atom 提要(feed)中,如清单 9 所示。不关心 extension 扩展元素的消费者可以选择忽略它。</p> <br> <strong>清单 9. 带有名称空间的有效期扩展</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <p>除了几个例外,可以在 Atom 文档中任何地方使用扩展元素和属性。比如,Atom 的日期结构,如 <code>atom:updated</code> 元素,可以包含 <code>extension</code> 属性,但是不能包含 <code>extension</code> 元素。</p> <p>顺便提一下,由于 Atom 是通过正式 IETF 标准化过程定义的,人们常常误以为像 <font color="#996699">清单 9</font> 中的 <code>s:expires</code> 元素这类扩展也必须经过同样正规和集中的过程来批准。绝对不是。Atom 扩展能够以完全分散、开放和非正式的方式定义,不需要任何 IETF 参与,但同时仍能保持互操作性。</p> <p>链接关系扩展包括创建新的 <code>link</code> 元素和 <code>rel</code> 属性值,标识新的链接关系类型。<code>link</code> 元素将外部资源和提要(feed)或记录(entry)联系在一起,<code>rel</code> 属性表示链接的目的。通过创建新的链接关系,可以扩展 <code>link</code> 元素所能表达的联系类型。</p> <p>比如,多数 weblog 软件包都支持读者为 blog 记录提交评注。这些注释本身可作为提要(feed)中的记录。清单 10 显示了我提议的一种链接扩展,它支持记录和相关注释间的双向链接。</p> <br> <strong>清单 10. 建议的注释提要(feed)扩展</strong> <br> <table width="100%" border="1"> <tbody> <tr> <td> <pre><code class="section"> </code></pre> </td> </tr> </tbody> </table> <br> <p><font color="#996699">清单 10</font> 中创建了三种新的链接关系:</p> <ul> <li><code>http://purl.org/syndication/thread/1.0/comments</code> —— 链接提要(feed)或记录(entry)和包含注释的 Atom 提要(feed)。 </li> <li><code>http://purl.org/syndication/thread/1.0/root</code> —— 链接注释提要(feed)和包含原始记录的提要(feed)。 </li> <li><code>http://purl.org/syndication/thread/1.0/in-reply-to</code> —— 链接注释记录和原始记录。 </li> </ul> <p>这种扩展仍然在积极地讨论和开发中,预计将不断地演化。</p> <p>其他建议还包括表示提要(feed)历史、相关许可证、提供一种列表排序机制的提要(feed)扩展,更多的建议仍在讨论之中。其中一些扩展可能会最终成为 IETF Internet-Drafts 甚至 RFC,另一些则不会。随着开发人员不断发现新的和有趣的应用,可以预料随着时间的流逝将出现很多有用的扩展。只要稍加努力,在 Atom 中使用现有的大量 RSS 扩展是完全可能的。</p> <br> <table width="100%" border="0"> <tbody> <tr> <td><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/d9e5fef902f5495e8fa6f894d7e35b75.gif"><br><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"></td> </tr> </tbody> </table> <table align="right" class="no-print"> <tbody> <tr align="right"> <td><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"><br> <table border="0"> <tbody> <tr> <td valign="middle"><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/12fe515f8e564045ad82598ca2a4928d.gif"><br></td> <td valign="top" align="right"><strong><font color="#996699">回页首</font></strong></td> </tr> </tbody> </table></td> </tr> </tbody> </table> <br> <br> <p><span class="atitle"><font>结束语</font></span></p> <p>2004 年 5 月,Uche Ogbuji 在 developerWorks 上发表了一篇 <font color="#5c81a7">文章</font>,对 Atom 的定义作了初步介绍。Uche 在文中写道,Atom 的主要目标之一是“创建比很多 RSS 流派技术上更坚实的设计,利用大量 RSS 用户的实践经验作出切合实际的设计决策,使这种新的格式与 Web 的体系结构和文化相适应”。虽然花了一些时间,通过大量仔细地讨论和艰苦的工作,包括 IETF 工作组的积极参与,Atom 1.0 实现了为 Web 内容联合提供一种简单、定义良好和没有歧义的格式的目标。</p> <br> <table width="100%" border="0"> <tbody> <tr> <td><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/d9e5fef902f5495e8fa6f894d7e35b75.gif"><br><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"></td> </tr> </tbody> </table> <table align="right" class="no-print"> <tbody> <tr align="right"> <td><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/faa71289894b4f62a548a50076eba4bc.gif"><br> <table border="0"> <tbody> <tr> <td valign="middle"><img height="0" alt="" width="0" src="http://img.e-com-net.com/image/info8/12fe515f8e564045ad82598ca2a4928d.gif"><br></td> <td valign="top" align="right"><strong><font color="#996699">回页首</font></strong></td> </tr> </tbody> </table></td> </tr> </tbody> </table> <br> <br> <p><span class="atitle"><font>参考资料 </font></span></p> <ul> <li>您可以参阅本文在 developerWorks 全球站点上的 <font color="#5c81a7">英文原文</font>。<br><br></li> <li>阅读 <font color="#5c81a7">Atom 1.0 规范</font>。<br><br></li> <li>查看 <font color="#5c81a7">RSS 2.0 规范</font>。<br><br></li> <li>请访问 Atom Working Group 的 Wiki,可以找到已知 <font color="#5c81a7">Atom 1.0 兼容软件</font> 的列表,以及 Atom 1.0 和 RSS 2.0 的 <font color="#5c81a7">详细比较</font>。<br><br></li> <li>如果希望进一步了解播客,请访问 <font color="#5c81a7">ipodder.org</font>。<br><br></li> <li>阅读 Uche Ogbuji 的 developerWorks 文章“<font color="#996699">Thinking XML: 使用 Atom 格式连锁新闻及其他内容</font>”(2004 年 5 月)。 <br><br></li> <li><font color="#5c81a7">IT Conversations</font> 使用 RSS 提供了多重播客。 <br><br></li> <li>在 <font color="#5c81a7">developerWorks XML 专区</font>可以找到数以百计的 XML 资源。<br><br></li> <li>了解如何才能成为一名 <font color="#5c81a7">IBM 认证的 XML 及相关技术的开发人员</font>。 </li> </ul>   </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1281996898386853888"></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">你可能感兴趣的:(11),Web2.0)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835509898507546624.htm" title="《策划经理回忆录之二》" target="_blank">《策划经理回忆录之二》</a> <span class="text-muted">路基雅虎</span> <div>话说三年变六年,飘了,飘了……眨眼,2013年5月,老吴回到了他的家乡——油城从新开启他的工作幻想症生涯。很庆幸,这是一家很有追求,同时敢于尝试的,且实力不容低调的新星房企——金源置业(前身泰源置业)更值得庆幸的是第一个盘就是油城十路的标杆之一:金源盛世。2013年5月,到2015年11月,两年的陪伴,迎来了一场大爆发。2000个筹,5万/筹,直接回笼1个亿!!!这……让我开始认真审视这座看似五线</div> </li> <li><a href="/article/1835508758042734592.htm" title="我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动" target="_blank">我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动</a> <span class="text-muted">李蕾1229</span> <div>为促进我校教师专业发展,发挥骨干教师的引领带头作用,11月6日下午,我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动。图片发自App会议由教师发展处李蕾主任主持,首先,由范校长宣读新老教师结对名单及双方承担职责。随后,两位新调入教师陈玉萍、莫正杰分别和他们的师傅鲍元美、刘召彬老师签订了师徒结对协议书。图片发自App图片发自App师徒拥抱、握手。有了师傅就有了目标有了方向,相信两位新教师在师</div> </li> <li><a href="/article/1835508131489214464.htm" title="高级编程--XML+socket练习题" target="_blank">高级编程--XML+socket练习题</a> <span class="text-muted">masa010</span> <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>1.北京华北2114.8万人上海华东2,500万人广州华南1292.68万人成都华西1417万人(1)使用dom4j将信息存入xml中(2)读取信息,并打印控制台(3)添加一个city节点与子节点(4)使用socketTCP协议编写服务端与客户端,客户端输入城市ID,服务器响应相应城市信息(5)使用socketTCP协议编写服务端与客户端,客户端要求用户输入city对象,服务端接收并使用dom4j</div> </li> <li><a href="/article/1835507866878963712.htm" title="开心" target="_blank">开心</a> <span class="text-muted">蒋泳频</span> <div>从无比抗拒来上课到接受,感动,收获~看着波哥成长,晶晶幸福笑容满面。感觉自己做的事情很有意义,很开心!还有3个感召目标就是还有三个有缘人,哈哈。明天感召去明日计划:8:30-11:00小公益11:00-21点上班,感召图片发自App图片发自App图片发自App</div> </li> <li><a href="/article/1835502281240440832.htm" title="2020.11.19" target="_blank">2020.11.19</a> <span class="text-muted">隆非凡</span> <div>日精进,今日体验:在维修过程中遇到的问题,把源头找到,在进行下一步开始。不要停留在一个点上,合理调整心态,把当下事做好。</div> </li> <li><a href="/article/1835501774031646720.htm" title="18-115 一切思考不能有效转化为行动,都TM是扯淡!" target="_blank">18-115 一切思考不能有效转化为行动,都TM是扯淡!</a> <span class="text-muted">成长时间线</span> <div>7月25号写了一篇关于为什么会断更如此严重的反思,然而,之后日更仅仅维持了一周,又出现了这次更严重的现象。从8月2号到昨天8月6号,5天!又是5天没有更文!虽然这次断更时间和上次一样,那为什么说这次更严重?因为上次之后就分析了问题的原因,以及应该如何解决,按理说应该会好转,然而,没过几天严重断更的现象再次出现,想想,经过反思,问题依然没有解决与改变,这让我有些担忧。到底是哪里出了问题,难道我就真的</div> </li> <li><a href="/article/1835498925755297792.htm" title="DIV+CSS+JavaScript技术制作网页(旅游主题网页设计与制作)云南大理" target="_blank">DIV+CSS+JavaScript技术制作网页(旅游主题网页设计与制作)云南大理</a> <span class="text-muted">STU学生网页设计</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1/1.htm">网页设计</a><a class="tag" taget="_blank" href="/search/%E6%9C%9F%E6%9C%AB%E7%BD%91%E9%A1%B5%E4%BD%9C%E4%B8%9A/1.htm">期末网页作业</a><a class="tag" taget="_blank" href="/search/html%E9%9D%99%E6%80%81%E7%BD%91%E9%A1%B5/1.htm">html静态网页</a><a class="tag" taget="_blank" href="/search/html5%E6%9C%9F%E6%9C%AB%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">html5期末大作业</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5%E8%AE%BE%E8%AE%A1/1.htm">网页设计</a><a class="tag" taget="_blank" href="/search/web%E5%A4%A7%E4%BD%9C%E4%B8%9A/1.htm">web大作业</a> <div>️精彩专栏推荐作者主页:【进入主页—获取更多源码】web前端期末大作业:【HTML5网页期末作业(1000套)】程序员有趣的告白方式:【HTML七夕情人节表白网页制作(110套)】文章目录二、网站介绍三、网站效果▶️1.视频演示2.图片演示四、网站代码HTML结构代码CSS样式代码五、更多源码二、网站介绍网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。网站程</div> </li> <li><a href="/article/1835497965330984960.htm" title="398顺境,逆境" target="_blank">398顺境,逆境</a> <span class="text-muted">戴骁勇</span> <div>2018.11.27周二雾霾最近儿子进入了一段顺境期,今天表现尤其不错。今天的数学测试成绩喜人,没有出现以往的计算错误,整个卷面书写工整,附加题也在规定时间内完成且做对。为迎接体育测试的锻炼有了质的飞跃。坐位体前屈成绩突飞猛进,估测成绩能达到12cm,这和上次测试的零分来比,简直是逆袭。儿子还在不断锻炼和提升,唯恐到时候掉链子。跑步姿势在我的调教下,逐渐正规起来,速度随之也有了提升。今晚测试的50</div> </li> <li><a href="/article/1835495517774245888.htm" title="python八股文面试题分享及解析(1)" target="_blank">python八股文面试题分享及解析(1)</a> <span class="text-muted">Shawn________</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>#1.'''a=1b=2不用中间变量交换a和b'''#1.a=1b=2a,b=b,aprint(a)print(b)结果:21#2.ll=[]foriinrange(3):ll.append({'num':i})print(11)结果:#[{'num':0},{'num':1},{'num':2}]#3.kk=[]a={'num':0}foriinrange(3):#0,12#可变类型,不仅仅改变</div> </li> <li><a href="/article/1835494762388484096.htm" title="【目标检测数据集】卡车数据集1073张VOC+YOLO格式" target="_blank">【目标检测数据集】卡车数据集1073张VOC+YOLO格式</a> <span class="text-muted">熬夜写代码的平头哥∰</span> <a class="tag" taget="_blank" href="/search/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/1.htm">目标检测</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>数据集格式:PascalVOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1073标注数量(xml文件个数):1073标注数量(txt文件个数):1073标注类别数:1标注类别名称:["truck"]每个类别标注的框数:truck框数=1120总框数:1120使用标注工具:labelImg标注</div> </li> <li><a href="/article/1835494257746604032.htm" title="MYSQL面试系列-04" target="_blank">MYSQL面试系列-04</a> <span class="text-muted">king01299</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div>MYSQL面试系列-0417.关于redolog和binlog的刷盘机制、redolog、undolog作用、GTID是做什么的?innodb_flush_log_at_trx_commit及sync_binlog参数意义双117.1innodb_flush_log_at_trx_commit该变量定义了InnoDB在每次事务提交时,如何处理未刷入(flush)的重做日志信息(redolog)。它</div> </li> <li><a href="/article/1835493007391027200.htm" title="百善孝为先" target="_blank">百善孝为先</a> <span class="text-muted">杜友顺</span> <div>2018年11月29日天气~晴星期四找点空闲找点时间领着孩子常回家看看带上笑容带上祝福陪同爱人常回家看看家,永远是儿女们幸福温暖的港湾,那里有我们日夜思念的父母,有着彼此的牵挂,无论走到哪里,家永远是避风雨的港湾。今天没事,和媳妇回了趟老家,看看父母,回到家,房间里不算凌乱,可是细心的我发现有的地方已经沾满了灰尘,桌子上父亲不离手的烟灰缸也弹满了烟灰。几个马上就要腐烂掉的水果蔫耷的搭拉着脑袋躺在了</div> </li> <li><a href="/article/1835492880198758400.htm" title="2022-11-17" target="_blank">2022-11-17</a> <span class="text-muted">无奇君</span> <div>又去了一次社康,这次是急性支气管炎……太难了。半夜就猛咳,天天咳醒,还好他戴海绵耳塞睡吵不到他,要不然对他来说也是种煎熬。一累也会猛咳,希望这次是最后一次吃药,吃完就好。又想把头发剪短了,顺便染个色。可是刚刚去看人家还没开门,不是休息日老板好佛系。理发店是个夫妻店,一年多前刚搬来的时候老板还没对象呢,当时聊天老板就说希望能找个对象一起两个人守着店都比上班强。不久后再去他已经有对象了,而且在店里帮忙</div> </li> <li><a href="/article/1835492741895778304.htm" title="番茄西红柿叶子病害分类数据集12882张11类别" target="_blank">番茄西红柿叶子病害分类数据集12882张11类别</a> <span class="text-muted">futureflsl</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E9%9B%86/1.htm">数据集</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%B1%BB/1.htm">分类</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>数据集类型:图像分类用,不可用于目标检测无标注文件数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片图片数量(jpg文件个数):12882分类类别数:11类别名称:["Bacterial_Spot_Bacteria","Early_Blight_Fungus","Healthy","Late_Blight_Water_Mold","Leaf_Mold_Fungus","Powdery</div> </li> <li><a href="/article/1835486185015832576.htm" title="【无标题】达瓦达瓦" target="_blank">【无标题】达瓦达瓦</a> <span class="text-muted">JhonKI</span> <a class="tag" taget="_blank" href="/search/%E8%80%83%E7%A0%94/1.htm">考研</a> <div>博客主页:https://blog.csdn.net/2301_779549673欢迎点赞收藏⭐留言如有错误敬请指正!本文由JohnKi原创,首发于CSDN未来很长,值得我们全力奔赴更美好的生活✨文章目录前言111️‍111❤️111111111111111总结111前言111骗骗流量券,嘿嘿111111111111111111111111111️‍111❤️111111111111111总结11</div> </li> <li><a href="/article/1835486185468817408.htm" title="上图为是否色发" target="_blank">上图为是否色发</a> <span class="text-muted">JhonKI</span> <a class="tag" taget="_blank" href="/search/%E8%80%83%E7%A0%94/1.htm">考研</a> <div>博客主页:https://blog.csdn.net/2301_779549673欢迎点赞收藏⭐留言如有错误敬请指正!本文由JohnKi原创,首发于CSDN未来很长,值得我们全力奔赴更美好的生活✨文章目录前言111️‍111❤️111111111111111总结111前言111骗骗流量券,嘿嘿111111111111111111111111111️‍111❤️111111111111111总结11</div> </li> <li><a href="/article/1835485884070326272.htm" title="2019-11-04复盘——飞来山上千寻塔,闻说鸡鸣见日升。" target="_blank">2019-11-04复盘——飞来山上千寻塔,闻说鸡鸣见日升。</a> <span class="text-muted">那一叶秋</span> <div>1、大盘篇先上老图,看习惯了,也就知道走势了图1上证指数日线图还是那张老图,自己可以在自己的相关软件上画出来,快变盘了。2、个股篇未加仓、未减仓。分析量能的时候,突然发现这么一个东西:“放量突破年线,缩量回调。”合众科技日线图其实,最近的N只个股,在技术分析上,都到了变盘的临界时候。结合这么久的走势,特别是ZJH不断放开IPO的申请,本质上说是融资难度变大,或者说是为企业的融资开创便利。但现在市场</div> </li> <li><a href="/article/1835483159140069376.htm" title="143234234123432" target="_blank">143234234123432</a> <span class="text-muted">JhonKI</span> <a class="tag" taget="_blank" href="/search/%E8%80%83%E7%A0%94/1.htm">考研</a> <div>博客主页:https://blog.csdn.net/2301_779549673欢迎点赞收藏⭐留言如有错误敬请指正!本文由JohnKi原创,首发于CSDN未来很长,值得我们全力奔赴更美好的生活✨文章目录前言111️‍111❤️111111111111111总结111前言111骗骗流量券,嘿嘿111111111111111111111111111️‍111❤️111111111111111总结11</div> </li> <li><a href="/article/1835480809147035648.htm" title="2021-11-15" target="_blank">2021-11-15</a> <span class="text-muted">宙火</span> <div>我给宋小姐写了首诗,是我在课上因思恋宋小姐而写的。“自古多情是唐宋,从来双飞归巢燕。邻家小女相聘婷,常使春意荡漾我。不知单思可为爱,惟愿一心付之汝。”我拿给宋小姐看了,她说我写得很棒。我很开心,但又不是那么开心。宋小姐是回复我了,但也只是说我写得很棒,对我诗句中蕴藏的真切感情,不知道是真的没发现,还是装作没发现。但我不深究,只是这样,我就很开心了。我答应宋小姐,一天给她写一首诗。</div> </li> <li><a href="/article/1835473930790465536.htm" title="119:虚惊一场" target="_blank">119:虚惊一场</a> <span class="text-muted">追梦的小蚂蚁</span> <div>医院体检结果出来了。老a被通知再次去复查,又复查了一遍,结果还是不理想。老a心里有点不痛快了,难不成饭吃到头了?这人生最悲剧的事情就是人没了,钱还没花完。我从明天开始想吃的想喝的一毛都不省,天天抽华子。上班期间,老a掏出华子给人散。老c:“这发什么横财了?都整上了华子了?”老a:“别tm废话,抽不?不抽我装上了!”老c:“哥哥,肯定抽啊,拿来。”老a:“就凭这个哥哥,以后给你天天发华子!”老c:“</div> </li> <li><a href="/article/1835472914879705088.htm" title="11月,你好" target="_blank">11月,你好</a> <span class="text-muted">自由自在的白云</span> <div>图片发自App今天是11月的第一天阳光明媚,秋日静好。给大家分享一个情绪管理的方法。也许你学习过,也许你还不曾了解,都没有关系,现在,我们一起来温习一下。就像孔老先生说的:学而时习之,温故而知新。种下对的种子,才会结出好的果实。种下情绪良好的种子,就可以收获良好的心态。“你瞧这些白云聚了又散,散了又聚,人生离合,亦复如斯。”世事如此,情绪的变化如山型曲线,一会来了,一会去了。还有那天课堂中老师讲,</div> </li> <li><a href="/article/1835462192720343040.htm" title="可以赚钱的app,你们都在用哪些?" target="_blank">可以赚钱的app,你们都在用哪些?</a> <span class="text-muted">配音新手圈</span> <div>1.七猫免费小说2.有柿3.番茄小说兼职副业推荐公众号,配音新手圈,声优配音圈,新配音兼职圈,配音就业圈,鼎音副业,有声新手圈,每天更新各种远程工作与在线兼职,职位包括:写手、程序开发、剪辑、设计、翻译、配音、无门槛、插画、翻译、等等。。。每日更新兼职。4.速读免费小说5.得间免费小说6.快手7.快手极速8.抖音火山版(可提0.2,可能我懒赚的慢,但真不推荐)9.拼多多10.淘宝11.点淘12.美</div> </li> <li><a href="/article/1835461934770647040.htm" title="2020-8-19晨间日记:看过的电影" target="_blank">2020-8-19晨间日记:看过的电影</a> <span class="text-muted">盐大虾</span> <div>今天是周三起床:6点半就寝:11点天气:晴心情:正常纪念日:周三任务清单今日完成的任务,最重要的三件事:1.整理写过的文档2.电影《电灯泡》3.这就是街舞第三季第五期改进:早睡早起习惯养成:早睡早起,看书周目标·完成进度两篇文章学习·信息·阅读电影艺术发展史相关教材健康·饮食·锻炼吃了挺多零食,还喝了果粒橙,还是得少吃,多锻炼,不然会慢慢死掉的。人际·家人·朋友淡定交流,不放在心上。工作·思考专心</div> </li> <li><a href="/article/1835461929674567680.htm" title="骑昆明到北海—119 砚山县" target="_blank">骑昆明到北海—119 砚山县</a> <span class="text-muted">61清风i</span> <div>从十年前第一次长途骑行青海湖开始每年一次长途骑行看风景,尝各地美食,探访异域文化,记录途中美食美景美事,已逐渐形成习惯。每年春季详细规划好线路,夏季出行,2020年因为疫情迟迟不能确定线路和行程。总算到了暑期疫情逐渐消失,规划了50多天的云南昆明—广西北海计划。本次行程从云南昆明出发到广西北海市结束,五十一天骑行二千多公里线路昆明-官渡古镇-环滇池--澄江市一抚仙湖—路居镇--江川区--通海县—龙</div> </li> <li><a href="/article/1835460785443270656.htm" title="2019考研 | 西交大软件工程" target="_blank">2019考研 | 西交大软件工程</a> <span class="text-muted">笔者阿蓉</span> <div>本科背景:某北京211学校电子信息工程互联网开发工作两年录取结果:全日制软件工程学院分数:初试350+复试笔试80+面试85+总排名:100+从五月份开始脱产学习,我主要说一下专业课和复试还有我对非全的一些看法。【数学100+】张宇,张宇,张宇。跟着张宇学习,入门视频刷一遍,真题刷两遍,错题刷三遍。书刷N多遍。从视频开始学习,是最快的学习方法。5-7月份把主要是数学学好,8-9月份开始给自己每个周</div> </li> <li><a href="/article/1835459333165510656.htm" title="(121)DAC接口--->(006)基于FPGA实现DAC8811接口" target="_blank">(121)DAC接口--->(006)基于FPGA实现DAC8811接口</a> <span class="text-muted">FPGA系统设计指南针</span> <a class="tag" taget="_blank" href="/search/FPGA%E6%8E%A5%E5%8F%A3%E5%BC%80%E5%8F%91%28%E9%A1%B9%E7%9B%AE%E5%AE%9E%E6%88%98%29/1.htm">FPGA接口开发(项目实战)</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a><a class="tag" taget="_blank" href="/search/FPGA/1.htm">FPGA</a><a class="tag" taget="_blank" href="/search/IC/1.htm">IC</a> <div>1目录(a)FPGA简介(b)IC简介(c)Verilog简介(d)基于FPGA实现DAC8811接口(e)结束1FPGA简介(a)FPGA(FieldProgrammableGateArray)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电</div> </li> <li><a href="/article/1835457570110795776.htm" title="C语言代码练习(第十九天)" target="_blank">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/C%E8%AF%AD%E8%A8%80%E9%87%8D%E7%82%B9%E7%BB%83%E4%B9%A0/1.htm">C语言重点练习</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>今日练习:52、有一个已经排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中53、输出"魔方阵"。所谓魔方阵是指它的每一行,每一列和对角线之和均相等。54、找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。有一个已经排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中运行代码intmain(){intarr[11]={1,3,9,12,15</div> </li> <li><a href="/article/1835451016456269824.htm" title="MongoDB知识概括" target="_blank">MongoDB知识概括</a> <span class="text-muted">GeorgeLin98</span> <a class="tag" taget="_blank" href="/search/%E6%8C%81%E4%B9%85%E5%B1%82/1.htm">持久层</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a> <div>MongoDB知识概括MongoDB相关概念单机部署基本常用命令索引-IndexSpirngDataMongoDB集成副本集分片集群安全认证MongoDB相关概念业务应用场景:传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。解释:“三高”需求:①Highperformance-对数据库高并发读写的需求。②HugeStorage-对海量数</div> </li> <li><a href="/article/1835450890077696000.htm" title="python怎么将png转为tif_png转tif" target="_blank">python怎么将png转为tif_png转tif</a> <span class="text-muted">weixin_39977276</span> <div>发国外的文章要求图片是tif,cmyk色彩空间的。大小尺寸还有要求。比如网上大神多,找到了一段代码,感谢!https://www.jianshu.com/p/ec2af4311f56https://github.com/KevinZc007/image2Tifimportjava.awt.image.BufferedImage;importjava.io.File;importjava.io.Fi</div> </li> <li><a href="/article/1835449874129186816.htm" title="2018-11-27" target="_blank">2018-11-27</a> <span class="text-muted">李丁梅</span> <div>今天带齐家去了办公室,肆拾玖坊西南负责人过来约谈。齐家这里摸摸,那里拿拿,换个地方爬爬。我陪着齐家一起玩,很简单的东西对于他来说趣味无穷,玩很久。</div> </li> <li><a href="/article/21.htm" title="矩阵求逆(JAVA)利用伴随矩阵" target="_blank">矩阵求逆(JAVA)利用伴随矩阵</a> <span class="text-muted">qiuwanchi</span> <a class="tag" taget="_blank" href="/search/%E5%88%A9%E7%94%A8%E4%BC%B4%E9%9A%8F%E7%9F%A9%E9%98%B5%E6%B1%82%E9%80%86%E7%9F%A9%E9%98%B5/1.htm">利用伴随矩阵求逆矩阵</a> <div>package gaodai.matrix; import gaodai.determinant.DeterminantCalculation; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * 矩阵求逆(利用伴随矩阵) * @author 邱万迟 </div> </li> <li><a href="/article/148.htm" title="单例(Singleton)模式" target="_blank">单例(Singleton)模式</a> <span class="text-muted">aoyouzi</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%BC%8F/1.htm">模式</a><a class="tag" taget="_blank" href="/search/Singleton/1.htm">Singleton</a> <div>3.1           概述 如果要保证系统里一个类最多只能存在一个实例时,我们就需要单例模式。这种情况在我们应用中经常碰到,例如缓存池,数据库连接池,线程池,一些应用服务实例等。在多线程环境中,为了保证实例的唯一性其实并不简单,这章将和读者一起探讨如何实现单例模式。 3.2</div> </li> <li><a href="/article/275.htm" title="[开源与自主研发]就算可以轻易获得外部技术支持,自己也必须研发" target="_blank">[开源与自主研发]就算可以轻易获得外部技术支持,自己也必须研发</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a> <div>       现在国内有大量的信息技术产品,都是通过盗版,免费下载,开源,附送等方式从国外的开发者那里获得的。。。。。。        虽然这种情况带来了国内信息产业的短暂繁荣,也促进了电子商务和互联网产业的快速发展,但是实际上,我们应该清醒的看到,这些产业的核心力量是被国外的</div> </li> <li><a href="/article/402.htm" title="页面有两个frame,怎样点击一个的链接改变另一个的内容" target="_blank">页面有两个frame,怎样点击一个的链接改变另一个的内容</a> <span class="text-muted">Array_06</span> <a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/XHTML/1.htm">XHTML</a> <div><a src="地址"  targets="这里写你要操作的Frame的名字" />搜索 然后你点击连接以后你的新页面就会显示在你设置的Frame名字的框那里 targerts="",就是你要填写目标的显示页面位置 ===================== 例如: <frame src=&</div> </li> <li><a href="/article/529.htm" title="Struts2实现单个/多个文件上传和下载" target="_blank">Struts2实现单个/多个文件上传和下载</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a><a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a> <div>struts2单文件上传:     步骤01:jsp页面 <!--在进行文件上传时,表单提交方式一定要是post的方式,因为文件上传时二进制文件可能会很大,还有就是enctype属性,这个属性一定要写成multipart/form-data,不然就会以二进制文本上传到服务器端-->   <form action="fileUplo</div> </li> <li><a href="/article/656.htm" title="推荐10个在线logo设计网站" target="_blank">推荐10个在线logo设计网站</a> <span class="text-muted">362217990</span> <a class="tag" taget="_blank" href="/search/logo/1.htm">logo</a> <div>在线设计Logo网站。 1、http://flickr.nosv.org(这个太简单) 2、http://www.logomaker.com/?source=1.5770.1 3、http://www.simwebsol.com/ImageTool 4、http://www.logogenerator.com/logo.php?nal=1&tpl_catlist[]=2 5、ht</div> </li> <li><a href="/article/783.htm" title="jsp上传文件" target="_blank">jsp上传文件</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/fileupload/1.htm">fileupload</a> <div>1. jsp上传 Notice: 1. form表单 method 属性必须设置为 POST 方法 ,不能使用 GET 方法 2. form表单 enctype 属性需要设置为 multipart/form-data 3. form表单 action 属性需要设置为提交到后台处理文件上传的jsp文件地址或者servlet地址。例如 uploadFile.jsp 程序文件用来处理上传的文</div> </li> <li><a href="/article/910.htm" title="我的架构经验系列文章 - 前端架构" target="_blank">我的架构经验系列文章 - 前端架构</a> <span class="text-muted">agevs</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/jQuer/1.htm">jQuer</a> <div>框架层面:近几年前端发展很快,前端之所以叫前端因为前端是已经可以独立成为一种职业了,js也不再是十年前的玩具了,以前富客户端RIA的应用可能会用flash/flex或是silverlight,现在可以使用js来完成大部分的功能,因此js作为一门前端的支撑语言也不仅仅是进行的简单的编码,越来越多框架性的东西出现了。越来越多的开发模式转变为后端只是吐json的数据源,而前端做所有UI的事情。MVCMV</div> </li> <li><a href="/article/1037.htm" title="android ksoap2 中把XML(DataSet) 当做参数传递" target="_blank">android ksoap2 中把XML(DataSet) 当做参数传递</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>我的android app中需要发送webservice ,于是我使用了 ksop2 进行发送,在测试过程中不是很顺利,不能正常工作.我的web service 请求格式如下     [html]  view plain copy   <Envelope xmlns="http://schemas.</div> </li> <li><a href="/article/1164.htm" title="使用Spring进行统一日志管理 + 统一异常管理" target="_blank">使用Spring进行统一日志管理 + 统一异常管理</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>统一日志和异常管理配置好后,SSH项目中,代码以往散落的log.info() 和 try..catch..finally 再也不见踪影! 统一日志异常实现类: [java]  view plain copy   package com.pilelot.web.util;      impor</div> </li> <li><a href="/article/1291.htm" title="Android SDK 国内镜像" target="_blank">Android SDK 国内镜像</a> <span class="text-muted">BigBird2012</span> <a class="tag" taget="_blank" href="/search/android+sdk/1.htm">android sdk</a> <div>一、镜像地址: 1、东软信息学院的 Android SDK 镜像,比配置代理下载快多了。 配置地址, http://mirrors.neusoft.edu.cn/configurations.we#android 2、北京化工大学的: IPV4:ubuntu.buct.edu.cn  IPV4:ubuntu.buct.cn IPV6:ubuntu.buct6.edu.cn </div> </li> <li><a href="/article/1418.htm" title="HTML无害化和Sanitize模块" target="_blank">HTML无害化和Sanitize模块</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/Linky/1.htm">Linky</a><a class="tag" taget="_blank" href="/search/Sanitize/1.htm">Sanitize</a> <div>一.ng-bind-html、ng-bind-html-unsafe         AngularJS非常注重安全方面的问题,它会尽一切可能把大多数攻击手段最小化。其中一个攻击手段是向你的web页面里注入不安全的HTML,然后利用它触发跨站攻击或者注入攻击。         考虑这样一个例子,假设我们有一个变量存</div> </li> <li><a href="/article/1545.htm" title="[Maven学习笔记二]Maven命令" target="_blank">[Maven学习笔记二]Maven命令</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>mvn compile compile编译命令将src/main/java和src/main/resources中的代码和配置文件编译到target/classes中,不会对src/test/java中的测试类进行编译 MVN编译使用 maven-resources-plugin:2.6:resources maven-compiler-plugin:2.5.1:compile &nbs</div> </li> <li><a href="/article/1672.htm" title="【Java命令二】jhat" target="_blank">【Java命令二】jhat</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Java%E5%91%BD%E4%BB%A4/1.htm">Java命令</a> <div>jhat用于分析使用jmap dump的文件,,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。 jhat默认开启监听端口7000的HTTP服务,jhat是Java Heap Analysis Tool的缩写 1. 用法: [hadoop@hadoop bin]$ jhat -help Usage: jhat [-stack <bool&g</div> </li> <li><a href="/article/1799.htm" title="JBoss 5.1.0 GA:Error installing to Instantiated: name=AttachmentStore state=Desc" target="_blank">JBoss 5.1.0 GA:Error installing to Instantiated: name=AttachmentStore state=Desc</a> <span class="text-muted">ronin47</span> <div>进到类似目录 server/default/conf/bootstrap,打开文件 profile.xml找到: Xml代码<bean    name="AttachmentStore"  class="org.jboss.system.server.profileservice.repository.AbstractAtta</div> </li> <li><a href="/article/1926.htm" title="写给初学者的6条网页设计安全配色指南" target="_blank">写给初学者的6条网页设计安全配色指南</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/ui%E8%87%AA%E5%AD%A6/1.htm">ui自学</a><a class="tag" taget="_blank" href="/search/ui%E8%A7%86%E9%A2%91/1.htm">ui视频</a><a class="tag" taget="_blank" href="/search/ui%E6%95%99%E7%A8%8B/1.htm">ui教程</a><a class="tag" taget="_blank" href="/search/ui%E8%B5%84%E6%96%99/1.htm">ui资料</a> <div>网页设计中最基本的原则之一是,不管你花多长时间创造一个华丽的设计,其最终的角色都是这场秀中真正的明星——内容的衬托     我仍然清楚地记得我最早的一次美术课,那时我还是一个小小的、对凡事都充满渴望的孩子,我摆放出一大堆漂亮的彩色颜料。我仍然记得当我第一次看到原色与另一种颜色混合变成第二种颜色时的那种兴奋,并且我想,既然两种颜色能创造出一种全新的美丽色彩,那所有颜色</div> </li> <li><a href="/article/2053.htm" title="有一个数组,每次从中间随机取一个,然后放回去,当所有的元素都被取过,返回总共的取的次数。写一个函数实现。复杂度是什么。" target="_blank">有一个数组,每次从中间随机取一个,然后放回去,当所有的元素都被取过,返回总共的取的次数。写一个函数实现。复杂度是什么。</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/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a> <div> import java.util.Random; import java.util.Set; import java.util.TreeSet; /** * http://weibo.com/1915548291/z7HtOF4sx * #面试题#有一个数组,每次从中间随机取一个,然后放回去,当所有的元素都被取过,返回总共的取的次数。 * 写一个函数实现。复杂度是什么</div> </li> <li><a href="/article/2180.htm" title="struts2获得request、session、application方式" target="_blank">struts2获得request、session、application方式</a> <span class="text-muted">chiangfai</span> <a class="tag" taget="_blank" href="/search/application/1.htm">application</a> <div>1、与Servlet API解耦的访问方式。 a.Struts2对HttpServletRequest、HttpSession、ServletContext进行了封装,构造了三个Map对象来替代这三种对象要获取这三个Map对象,使用ActionContext类。 ----->   package pro.action; import java.util.Map; imp</div> </li> <li><a href="/article/2307.htm" title="改变python的默认语言设置" target="_blank">改变python的默认语言设置</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div> import sys sys.getdefaultencoding()  可以测试出默认语言,要改变的话,需要在python lib的site-packages文件夹下新建: sitecustomize.py, 这个文件比较特殊,会在python启动时来加载,所以就可以在里面写上: import sys sys.setdefaultencoding('utf-8') &n</div> </li> <li><a href="/article/2434.htm" title="mysql导入数据load data infile用法" target="_blank">mysql导入数据load data infile用法</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%AF%BC%E5%85%A5%E6%95%B0%E6%8D%AE/1.htm">导入数据</a> <div>我们常常导入数据!mysql有一个高效导入方法,那就是load data infile 下面来看案例说明 基本语法: load data  [low_priority] [local] infile 'file_name txt' [replace | ignore] into table tbl_name [fields [terminated by't'] [OPTI</div> </li> <li><a href="/article/2561.htm" title="phpexcel导入excel表到数据库简单入门示例" target="_blank">phpexcel导入excel表到数据库简单入门示例</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/Excel/1.htm">Excel</a> <div> 跟导出相对应的,同一个数据表,也是将phpexcel类放在class目录下,将Excel表格中的内容读取出来放到数据库中 <?php error_reporting(E_ALL); set_time_limit(0); ?> <html> <head> <meta http-equiv="Content-Type" </div> </li> <li><a href="/article/2688.htm" title="22岁到72岁的男人对女人的要求" target="_blank">22岁到72岁的男人对女人的要求</a> <span class="text-muted">dcj3sjt126com</span> <div>22岁男人对女人的要求是:一,美丽,二,性感,三,有份具品味的职业,四,极有耐性,善解人意,五,该聪明的时候聪明,六,作小鸟依人状时尽量自然,七,怎样穿都好看,八,懂得适当地撒娇,九,虽作惊喜反应,但看起来自然,十,上了床就是个无条件荡妇。 32岁的男人对女人的要求,略作修定,是:一,入得厨房,进得睡房,二,不必服侍皇太后,三,不介意浪漫蜡烛配盒饭,四,听多过说,五,不再傻笑,六,懂得独</div> </li> <li><a href="/article/2815.htm" title="Spring和HIbernate对DDM设计的支持" target="_blank">Spring和HIbernate对DDM设计的支持</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/%E9%A2%86%E5%9F%9F%E6%A8%A1%E5%9E%8B/1.htm">领域模型</a> <div>A:数据访问对象     DAO和资源库在领域驱动设计中都很重要。DAO是关系型数据库和应用之间的契约。它封装了Web应用中的数据库CRUD操作细节。另一方面,资源库是一个独立的抽象,它与DAO进行交互,并提供到领域模型的“业务接口”。    资源库使用领域的通用语言,处理所有必要的DAO,并使用领域理解的语言提供对领域模型的数据访问服务。</div> </li> <li><a href="/article/2942.htm" title="NoSql 数据库的特性比较" target="_blank">NoSql 数据库的特性比较</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a> <div>Redis 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。目前由VMware主持开发工作。   1. 数据模型 作为Key-value型数据库,Redis也提供了键(Key)和值(Value)的映射关系。除了常规的数值或字符串,Redis的键值还可以是以下形式之一: Lists (列表) Sets</div> </li> <li><a href="/article/3069.htm" title="使用 Nginx Upload Module 实现上传文件功能" target="_blank">使用 Nginx Upload Module 实现上传文件功能</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>转载自: http://www.tuicool.com/wx/aUrAzm   普通网站在实现文件上传功能的时候,一般是使用Python,Java等后端程序实现,比较麻烦。Nginx有一个Upload模块,可以非常简单的实现文件上传功能。此模块的原理是先把用户上传的文件保存到临时文件,然后在交由后台页面处理,并且把文件的原名,上传后的名称,文件类型,文件大小set到页面。下</div> </li> <li><a href="/article/3196.htm" title="spring-boot-web-ui及thymeleaf基本使用" target="_blank">spring-boot-web-ui及thymeleaf基本使用</a> <span class="text-muted">jishiweili</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/thymeleaf/1.htm">thymeleaf</a> <div>视图控制层代码demo如下:   @Controller @RequestMapping("/") public class MessageController { private final MessageRepository messageRepository; @Autowired public MessageController(Mes</div> </li> <li><a href="/article/3323.htm" title="数据源架构模式之活动记录" target="_blank">数据源架构模式之活动记录</a> <span class="text-muted">home198979</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8%E8%AE%B0%E5%BD%95/1.htm">活动记录</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%98%A0%E5%B0%84/1.htm">数据映射</a> <div>hello!架构 一、概念 活动记录(Active Record):一个对象,它包装数据库表或视图中某一行,封装数据库访问,并在这些数据上增加了领域逻辑。 对象既有数据又有行为。活动记录使用直截了当的方法,把数据访问逻辑置于领域对象中。   二、实现简单活动记录 活动记录在php许多框架中都有应用,如cakephp。 <?php /** * 行数据入口类 *</div> </li> <li><a href="/article/3450.htm" title="Linux Shell脚本之自动修改IP" target="_blank">Linux Shell脚本之自动修改IP</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/Debian/1.htm">Debian</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a> <div>作为一名 Linux SA,日常运维中很多地方都会用到脚本,而服务器的ip一般采用静态ip或者MAC绑定,当然后者比较操作起来相对繁琐,而前者我们可以设置主机名、ip信息、网关等配置。修改成特定的主机名在维护和管理方面也比较方便。如下脚本用途为:修改ip和主机名等相关信息,可以根据实际需求修改,举一反三! #!/bin/sh #auto Change ip netmask ga</div> </li> <li><a href="/article/3577.htm" title="开发环境搭建" target="_blank">开发环境搭建</a> <span class="text-muted">独浮云</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a> <div>       最近在开发过程中,经常出现MyEclipse内存溢出等错误,需要重启的情况,好麻烦。对于一般的JAVA+TOMCAT项目开发,其实没有必要使用重量级的MyEclipse,使用eclipse就足够了。尤其是开发机器硬件配置一般的人。         &n</div> </li> <li><a href="/article/3704.htm" title="操作日期和时间的工具类" target="_blank">操作日期和时间的工具类</a> <span class="text-muted">vipbooks</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7%E7%B1%BB/1.htm">工具类</a> <div>   大家好啊,好久没有来这里发文章了,今天来逛逛,分享一篇刚写不久的操作日期和时间的工具类,希望对大家有所帮助。 /* * @(#)DataFormatUtils.java 2010-10-10 * * Copyright 2010 BianJing,All rights reserved. */ package test; impor</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>