《JavaScript高级程序设计》Chapter 10 DOM(文档对象模型)

节点层次

  1. DOM 可以将任何 HTML 和 XML 文档描绘成一个由多层节点构成的结构。节点分为几种不同的类型,每种类型分别表示文档中不同的信息和标记。每个节点都拥有各自的特点、数据和方法,另外也与其他节点存在某种关系。节点之间的关系构成了层次,而所有页面标记则表现为一个以特定节点为根节点的树形结构。

  2. Node 类型

    • DOM1 级定义了一个 Node 接口,该接口将由 DOM 中的所有节点类型实现。这个 Node 接口在 JavaScript 中是作为 Node 类型实现的;除了 IE 之外,在其他所有浏览器中都可以访问到这个类型。JavaScript 中的所有节点类型都继承自 Node 类型,因此所有节点类型由在 Node 类型中定义的下列 12 个数值常量表示:
      • Node.ELEMENT_NODE(1);
      • Node.ATTRIBUTE_NODE(2);
      • Node.TEXT_NODE(3);
      • Node.CDATA_SELECTION_NODE(4);
      • Node.ENTITY_REFERENCE_NODE(5);
      • Node.ENTITY_NODE(6);
      • Node.PROCESSING_INSTRUCTION_NODE(7);
      • Node.COMMENT_NODE(8);
      • Node.DOCUMENT_NODE(9);
      • Node.DOCUMENT_TYPE_NODE(10);
      • Node.DOCUMENT_FRAGMENT_NODE(11);
      • Node.NOTATION_NODE(12);
    • 将 nodeType 属性与数字值进行比较,可以确定节点的类型。
    if(someNode.nodeType == 1) {
        alert('Is a Element');
    }
    
    • 详细信息:
      • nodeName 和 nodeValue 属性

        • 对于元素节点,nodeName 中保存的始终都是元素的标签名,而 nodeValue 的值则始终为 null。
      • 节点关系

        • 每一个节点都有一个 childNodes 属性,其中保存着一个 NodeList 对象。NodeList 是一种类数组对象,用于保存一组有序的节点,可以通过位置来访问这些节点。但是,NodeList 不是 Array 的实例,它实际上是基于 DOM 结构动态执行查询的结果,因此 DOM 结构的变化能够自动反映在 NodeList 对象中。由于 IE8 及更早版本将 NodeList 实现为一个 COM 对象,所以不能使用正常的操作方法操作这种对象。必须手动枚举 NodeList 中的所有成员
        function convertToArray(nodes) {
            var array = null;
            try {
                array = Array.prototype.slice.call(nodes, 0);
            } catch (ex) {
                array = new Array();
                for(var i = 0, len = nodes.length; i < len; i++) {
                    array.push(nodes[i]);
                }
            }
            return array;
        }
        
        • 每一个节点都有一个 parentNode 属性,该属性指向文档树种的父节点。包含在 childNodes 列表中的所有节点都具有相同的父节点,因此它们的 parentNode 属性都指向同一个节点。包含在 childNodes 列表中的每个节点相互之间都是同胞节点。通过使用列表中每个节点的 previousSibling 属性和 nextSibling 属性,可以访问同一列表中的其他节点。
        • 父节点的 firstChild 和 lastChild 属性分别指向其 childNodes 列表中的第一个和最后一个节点。
        • hasChildNodes() 在节点包含一个或多个子节点的情况下返回 true。(比查询 length 更简单)
        • ownerDocument 属性指向表示整个文档的文档节点。任何节点都属于它所在的文档,任何节点都不能同时存在于两个或多个文档中。用此属性可以直接访问文档节点。
      • 操作节点

        • appendChild() 用于向 childNodes 列表的末尾添加一个节点。添加节点后,childNodes 的新增节点、父节点及以前的最后一个子节点的关系指针都会相应地得到更新。更新完成后,appendChild() 返回新增的节点
        • 任何 DOM 节点都不能同时出现在文档中的多个位置上。因此,如果在调用 appendChild() 时传入了父节点的第一个子节点,那么该节点就会成为父节点的最后一个子节点。
        • insertBefore() 将节点放在 childNodes 列表中某个特定的位置上。接收两个参数:要插入的节点和作为参照的节点。要插入的节点会作为变成参照节点的前一个同胞节点(previousSibling),同时被方法返回。如果参照节点是 null ,则与 appendChild() 相同。
        • replaceChild() 替换节点。接收两个参数:要插入的节点和要被替换的节点。将由这个方法删除要被替换的节点,同时由要插入的节点占据其位置。
        • removeChild() 移除节点。返回被移除的节点。
      • 其他方法

        • cloneNode() 用于创建调用这个方法的节点的一个完全相同的副本。接收一个 boolean 类型参数,表示是否执行深复制(复制节点及其整个子节点树)。如果是 false 执行浅复制(只复制节点本身)。
        • normalize() 处理文档树中的文本节点。当在某个节点上调用这个方法时,就会在该节点的后代节点中查找上述两种情况。如果找到了空文本节点则删除它;如果找到了相邻的文本节点,则将它们合并为一个文本节点。
  3. Document 类型

    • 在浏览器中,document 对象是 HTMLDocument(继承自 Document 类型)的一个实例,表示整个 HTML 页面。
    • Document 节点具有如下特征:
      • nodeType 9
      • nodeName '#document'
      • nodeValue null
      • parentNode null
      • ownerDocument null
      • 子节点可能是一个 DocumentType(最多一个)、Element(最多一个)、ProcessingInstruction 或 Comment 。
    • Document 类型可以表示 HTML 页面或者其他基于 XML 的文档。最常见的应用还是作为 HTMLDocument 实例的 document 对象。
    • Document 节点有两个内置的访问其子节点的快捷方式:documentElement 属性,始终指向 HTML 页面中的 元素;通过 childNodes 列表访问文档元素。
    • 作为 HTMLDocument 的实例,document 对象还有一个 body 属性,直接指向 元素。
    • Document 另一个可能的子节点是 DocumentType。通常将 标签看成一个与文档其他部分不同的实体,可以通过 doctype 属性(在浏览器中是 document.doctype )来访问它的信息。但是在 IE8 中会将 DOCTYPE 作为注释,所以 doctype 值始终为 null。
    • document 的其他标准属性
      • title 包含 元素中的文本。</li> <li>URL 包含页面完整的 URL。</li> <li>domain 包含页面的域名。</li> <li>referrer 保存着链接到当前页面的那个页面的 URL;在没有来源页面的情况下,referrer 属性可能包含空字符串。</li> </ul> </li> <li>查找元素 <ul> <li>getElementById()</li> <li>getElementsByTagName()</li> <li>IE8 以下,元素 ID 不区分大小写。</li> <li>namedItem() 通过元素的 name 特性取得集合中的项。(也可以使用 [] 进行访问)</li> <li>调用 document.getElementsByTagName('*') 取得文档中的所有元素。</li> <li>(只有 HTMLDocument 才有)getElementsByName() (如果使用 namedItem() 只会取得所有与传入 name 吻合的元素中的第一个元素)</li> </ul> </li> <li>特殊集合 <ul> <li>document.anchors</li> <li>document.applets</li> <li>document.forms</li> <li>document.images</li> <li>document.links</li> </ul> </li> <li>DOM 一致性检测 <ul> <li>document.implementation 检测浏览器实现了 DOM 的哪些部分。 <ul> <li>DOM1 只为 document.implementation 规定了 hasFeature(),接受两个参数:要检测的 DOM 功能的名称及版本号。如果浏览器支持给定名称和版本的功能,则返回 true。(查文档)</li> </ul> </li> </ul> </li> <li>文档写入 <ul> <li>write() / writeln() 接收一个字符串参数,即要写入到输出流中的文本。 <ul> <li>在文档加载结束后调用 document.write() 那么输出的内容将会重写整个页面。</li> </ul> </li> <li>open() / close() 打开 / 关闭 当前网页的输出流。如果在页面加载期间使用 write() / writeln(),则不需要使用这两个方法。</li> </ul> </li> </ul> </li> <li> <p>Element 类型</p> <ul> <li> <p>Element 类型用于表现 XML 或 HTML 元素,提供了对元素标签名、子节点及特性的访问。Element 节点具有以下特性:</p> <ul> <li>nodeType 1</li> <li>nodeName 元素标签名</li> <li>nodeValue null</li> <li>parentNode 可能是 Document 可能是 null</li> <li>其他子节点可能是 Element Text Comment ProcessingInstruction CDATASection EntityReference</li> </ul> </li> <li><p>访问元素的标签名,可以使用 nodeName 也可以使用 tagName。(在 HTML 中,标签名始终以全部大写表示,而 XML 则始终与源代码中保持一致。)</p></li> <li><p>HTML 元素的关联关系(查手册)</p></li> <li> <p>取得特性(不区分大小写)</p> <ul> <li>getAttribute()</li> </ul> </li> <li> <p>设置特性</p> <ul> <li>setAttribute()</li> <li>removeAttribute()</li> </ul> </li> <li> <p>attributes 属性</p> <ul> <li>Element 类型是使用 attributes 属性的唯一一个 DOM 类型节点。attributes 属性中包含一个 NamedNodeMap,与 NodeList 类似,也是一个”动态“的集合。元素的每一个特性都由一个 Attr 节点表示,每个节点都保存在 NamedNodeMap 对象中。NamedNodeMap 对象拥有下列方法:</li> <li>getNamedItem(name) 返回 nodeName 属性等于 name 的节点;</li> <li>removeNamedItem(name) 从列表中移除 nodeName 属性等于 name 的节点;</li> <li>setNamedItem(node) 向列表中添加节点,以节点的 nodeName 属性为索引;</li> <li>item(pos) 返回位于数字 pos 位置处的节点。</li> <li>attribute 属性中包含一系列节点,每个节点的 nodeName 就是特性的名称,而节点的 nodeValue 就是特性的值。要取得元素的 id 特性,可以使用如下代码:</li> </ul> <pre><code>var id = element.attributes.getNamedItem('id').nodeValue; var id_1 = element.attributes['id'].nodeValue; </code></pre> <ul> <li>在 IE7- 中,所有被指定的特性或者通过 setAttribute() 设置的特性,其 specified 属性值都会变成 true。</li> </ul> </li> <li> <p>创建元素</p> <ul> <li>document.createElement() 接收一个参数:要创建元素的标签名或完整标签。</li> </ul> <pre><code>var div = document.createElement('div'); var newDiv = document.createElement('<div id=\"myNewDiv\" class=\"box\"></div>'); </code></pre> </li> <li> <p>元素的子节点</p> <ul> <li>元素可以有任意数目的子节点和后代节点。</li> <li>元素支持 getElementsByTagName() 方法。在通过元素调用这个方法时,除了搜索起点是当前元素之外,其他方面都跟通过 document 调用这个方法相同,因此结果只会返回当前元素的后代。</li> </ul> </li> </ul> </li> <li> <p>Text 类型</p> <ul> <li> <p>文本节点由 Text 类型表示,包含的是可以照字面解释的纯文本内容。纯文本中可以包含转义后的 HTML 字符,但不能包含 HTML 代码。Text 节点具有以下特征:</p> <ul> <li>nodeType 3</li> <li>nodeName '#text'</li> <li>nodeValue 节点所包含的文本</li> <li>parentNode Element</li> <li>不支持(没有)子节点</li> <li>可以通过 nodeValue 或 data 属性访问 Text 节点中包含的文本,这两个属性中包含的值相同。对 nodeValue 的修改也会通过 data 反映出来,反之亦然。</li> <li>appendData(text) 将 text 添加到节点末尾</li> <li>deleteData(offset, count) 从 offset 指定的位置开始删除 count 个字符。</li> <li>insertData(offset, text) 在 offset 指定的位置插入 text</li> <li>replaceData(offset, count, text) 用 text 替换从 offset 指定的位置开始到 offset + count 为止处的文本。</li> <li>splitText(offset) 从 offset 指定的位置将当前文本节点分成两个文本节点。</li> <li>subStringData(offset, count) 提取从 offset 指定的位置开始到 offset + count 位置处的字符串。</li> <li>length 保存节点中字符的数目。(nodeValue.length == data.length)</li> <li>每个可以包含内容的元素最多只能有一个文本节点,而且必须确实有内容存在。</li> </ul> </li> <li> <p>创建文本节点</p> <ul> <li>document.createTextNode() 接收一个参数:要插入节点中的文本。</li> <li>在创建文本节点时,也会为其设置 ownerDocument 属性。不过,除非把新节点添加到文档树中已经存在的节点中,否则不会在浏览器窗口中看到新的节点。</li> </ul> <pre><code>var element = document.createElement('div'); element.className = 'message'; var textNode = document.createTextNode('<strong>Hello</strong> world!'); element.appendChild(textNode); document.body.appendChild(element); </code></pre> </li> <li> <p>规范化文本节点</p> <ul> <li>合并相邻文本节点,由 Node 类型定义,名叫 normalize()。如果在一个包含两个或者多个文本节点的父元素上调用 normalize() 方法,则会将所有文本节点合并成一个节点,结果节点的 nodeValue 值等于将合并前每个文本节点的 nodeValue 值拼接起来的值。</li> </ul> <pre><code>var element = document.createElement('div'); element.className = 'message'; var textNode = document.createTextNode('Hello'); var anotherTextNode = document.createTextNode('World'); element.appendChild(textNode); element.appendChild(anotherTextNode); element.normalize(); </code></pre> </li> <li> <p>分割文本节点</p> <ul> <li>splitText() 将一个文本节点分成两个文本节点,按照指定的位置分割 nodeValue 值。原文本节点将包含从头开始到指定位置之前的内容,新的文本节点包含剩下的文本。该方法返回一个新的文本节点,该节点与原节点的 parentNode 相同。</li> </ul> <pre><code>var element = document.createElement('div'); element.className = 'message'; var textNode = document.createTextNode('Hello World'); element.appendChild(textNode); document.body.appendChild(element); var newNode = element.firstChild.splitText(5); </code></pre> </li> </ul> </li> <li> <p>Comment 类型</p> <ul> <li>注释在 DOM 中是通过 Comment 类型来表示的。Comment 节点具有下列特征: <ul> <li>nodeType 8</li> <li>nodeName '#comment'</li> <li>nodeValue 注释内容</li> <li>parentNode Document / Element</li> <li>不支持子节点</li> </ul> </li> <li>与 Text 类型继承自相同的基类,拥有除 splitText 外所有字符串的操作方法。与 Text 类型相似,也可以通过 nodeValue 或 data 属性取得注释内容。</li> <li>使用 document.createComment() 并为其传递注释文本可以创建注释节点。</li> </ul> </li> <li> <p>CDATASection 类型</p> <ul> <li>CDATASection 类型值针对基于 XML 的文档,表示 CDATA 区域。CDATASection 节点具有下列特征: <ul> <li>nodeType 4</li> <li>nodeName "#cdata-section"</li> <li>nodeValue CDATA 区域中的内容</li> <li>parentNode Document / Element</li> </ul> </li> <li>与 Text 类型吧继承自相同的基类,拥有除 splitText 外所有字符串的操作方法。</li> <li>CDATA 区域只会出现在 XML 文档中,因此多数浏览器会把 CDATA 区域错误的解析为 Comment 或 Element。在真正的 XML 文档中,可以使用 document.createCDataSection() 来创建 CDATA 区域。</li> </ul> </li> <li> <p>DocumentType 类型</p> <ul> <li>仅有 Firefox、Safari、Opera 支持。包含于文档的 doctype 有关的所有信息。具有如下特征: <ul> <li>nodeType 10</li> <li>nodeName doctype 的名称</li> <li>nodeValue null</li> <li>parentNode Document</li> </ul> </li> <li>在 DOM1 中,DocumentType 对象智能通过解析文档代码的方式来创建。支持它的浏览器会把 DocumentType 对象保存在 document.doctype 中。DOM1 描述了 DocumentType 的三个属性:name entities notations。</li> </ul> </li> <li> <p>DocumentFragment 类型</p> <ul> <li>DocumentFragment 在文档中没有对应的标记。DOM 规定文档片段 (document fragment) 是一种”轻量级“的文档,可以包含和控制节点,但不会像完整的文档那样占用额外的资源。DocumentFragment 节点具有下列特征: <ul> <li>nodeType 11</li> <li>nodeName "#document-fragment"</li> <li>nodeValue null</li> <li>parentNode null</li> <li>子节点可以是 Element ProcessingInstruction Comment Text CDATASection 或 EntityReference</li> </ul> </li> <li>创建 DocumentFragment 对象可以使用 document.createDocumentFragment() 方法。</li> <li>DocumentFragment 继承了 Node 的所有方法。可以通过 appendChild() 或 insertChild() 将文档片段中的内容添加到文档中。将文档片段作为参数传递给这两个方法时,实际上只会将文档片段的所有子节点添加到相应位置上;文档片段本身永远不会称为文档树的一部分。</li> </ul> </li> <li> <p>Attr 类型</p> <ul> <li>元素的特性在 DOM 中以 Attr 类型来表示。在所有浏览器中都可以访问 Attr 类型的构造函数和原型。从技术角度来讲,特性就是存在于元素的 attributes 属性中的节点。特性节点具有下列特征: <ul> <li>nodeType 2</li> <li>nodeName 特性名称</li> <li>nodeValue 特性的值</li> <li>parentNode null</li> </ul> </li> <li>Attr 对象有三个属性,name value specified。其中,name 是特性名称,value 是特性的值,specified 是布尔值,用以区别特性是代码中指定的还是默认的。</li> <li>使用 document.createAttribute() 并传入特性的名称可以创建新的特性节点。</li> </ul> <pre><code>var attr = document.createAttribute('align'); attr.value = 'left'; element.setAttributeNode(attr); </code></pre> </li> </ol> <h2>DOM 操作技术</h2> <ol> <li> <p>动态脚本</p> <ul> <li><p>动态脚本指的是在页面加载时不存在,但是将来的某个时刻通过修改 DOM 动态添加的脚本。</p></li> <li> <p>创建动态脚本可以插入外部文件,也可以直接插入 JavaScript 代码。</p> <pre><code><script type="text/javascript" src="client.js"></script> </code></pre> <p>动态创建这个节点的 DOM</p> <pre><code>var script = document.createElement("script"); script.type = "text/javascript"; script.src = "client.js"; document.body.appendChild(script); </code></pre> </li> <li><p>行内 JavaScript 代码也可以使用类似的方式添加。</p></li> <li><p>使用这种方式要考虑兼容性问题。</p></li> <li><p>以这种方式加载的代码会在全局作用域中执行,而且当脚本执行后立即可用。实际上,这样执行的代码与在全局作用域中把相同的字符串传递给 eval() 是一样的。</p></li> </ul> </li> <li> <p>动态样式</p> <ul> <li>方法类似于动态脚本。</li> <li> <strong>必须将 <link> 元素添加到 <head> 而不是 <body> 中</strong>,才能保证在所有浏览器中的行为一致。</li> <li>加载样式与执行 JavaScript 代码是异步的,后边的章节给出了利用时间检测这个过程是否完成的方法。</li> <li>IE 将 <style> 视为一个特殊的、与 <script> 类似的节点,不允许访问其子节点。通过访问元素的 styleSheet 属性中的 cssText 属性可以使其接受 CSS 代码。</li> </ul> <pre><code>var style = document.createElement("style"); style.type = "text/css"; try { style.appendChild(document.createTextNode("body {background-color: red}")); } catch (ex) { style.styleSheet.cssText = "body {background-color: red}"; var head = document.getElementByTagName("head")[0]; head.appendChild(style); </code></pre> </li> <li> <p>表格操作</p> <ul> <li>DOM 为 <table> <tbody> <tr>元素添加了一些属性和方法,以方便表格的创建。(查手册)</li> </ul> </li> <li> <p>使用 NodeList</p> <ul> <li>每当文档结构发生变化时,NodeList NamedNodeMap 和 HTMLCollection 都会得到更新。从本质上说,所有的 NodeList 对象都是在访问 DOM 文档时实时运行的查询。</li> <li>使用迭代方法对 NodeList 进行操作时,最好使用第二个变量保存 NodeList 的 length。</li> </ul> </li> </ol> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1188082133034442752"></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">你可能感兴趣的:(《JavaScript高级程序设计》Chapter 10 DOM(文档对象模型))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1773616671278301184.htm" title="美易官方:盘前道指期货涨0.5%,游戏驿站跌逾15%" target="_blank">美易官方:盘前道指期货涨0.5%,游戏驿站跌逾15%</a> <span class="text-muted">美股投资</span> <a class="tag" taget="_blank" href="/search/%E8%B4%A2%E7%BB%8F/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><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A/1.htm">新浪微博</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1/1.htm">微信</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%85%AC%E4%BC%97%E5%B9%B3%E5%8F%B0/1.htm">微信公众平台</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6/1.htm">百度</a><a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a> <div>在股市开盘前的交易时段,道指期货上涨了0.5%,而游戏驿站(GameStop)的股价却出现了大幅下跌,跌幅超过15%。这一市场动态引发了投资者的广泛关注,也反映了当前股市的复杂性和不确定性。美股股指期货周三盘前走强,交易员为季度末的再平衡做准备。本周因假期而缩短,美国将公布关键通胀数据。道指期货涨0.5%,标普500指数期货涨0.6%,纳指期货涨0.5%。德国DAX指数涨0.4%,英国富时100指</div> </li> <li><a href="/article/1773611036537061376.htm" title="100天30本书读书计划(2018-06-11)DAY 62" target="_blank">100天30本书读书计划(2018-06-11)DAY 62</a> <span class="text-muted">一个姜姜</span> <div>【书名】当我谈跑步时,我谈些什么【作者】村上春树【读书页数】51--128/187【读书时间】2018年6月11日【精彩句子】01肌肉难长,易消。赘肉易长,难消。P5502肌肉也同有血有肉的动物一般无二,它也愿意过更舒服的日子,不继续给它负荷,它便会心安理得地将记忆出去。想再度输入的话,必须得从头开始,将同样的模式重复一遍。P7703不管怎样,反正得坚持跑步。每天跑步对我来说好比生命线,不能说忙就</div> </li> <li><a href="/article/1773606625437876224.htm" title="2019-04-08早" target="_blank">2019-04-08早</a> <span class="text-muted">梦雅的简动力</span> <div>在上瑜伽课前10分钟的调息中,你的眼睛为什么总是想睁开?(焦虑)。你的眉头为什么总是紧锁?(压力)。练习体式时你为什么总是去看别人?(攀比)保持体式时你为什么总是烦躁?(性急)。保持长久而规律的练习,以上这些,终归离你远去。瑜伽,首先,不是帮你得到,而是教你放下。图片发自App时间,一时间无法跳离这个特殊的词汇毅力,坚持,真诚,需要时间来见证真相,现实,伪装,时间自然会揭秘珍惜它又害怕它可它丝毫不</div> </li> <li><a href="/article/1773604729713131520.htm" title="我喝醉了,但是与你无关" target="_blank">我喝醉了,但是与你无关</a> <span class="text-muted">Z先生的日记本</span> <div>2019年04月10号晚上我和一个朋友喝酒了,彻彻底底的喝醉了,喝到短片,事后我问L,我说我喝醉了之后,都发生了什么,L没有告诉我详情,但是跟我说了大致,他说我跟他一直聊天,说自己小的时候的事,说自己爸妈的事,说自己现在过得很苦可能,确实是喝醉了酒,才会毫无防备的跟其他人说这些吧。L还说感觉我过得很苦,很心疼。醉了酒之后还哭了,想想还真是丢人一年前,在宿舍也有一瓶红酒,那是舍友出去拉赞助时候,友商</div> </li> <li><a href="/article/1773604712310964224.htm" title="python抓包与解包_Python—网络抓包与解包(pcap、dpkt)" target="_blank">python抓包与解包_Python—网络抓包与解包(pcap、dpkt)</a> <span class="text-muted">weixin_39691055</span> <a class="tag" taget="_blank" href="/search/python%E6%8A%93%E5%8C%85%E4%B8%8E%E8%A7%A3%E5%8C%85/1.htm">python抓包与解包</a> <div>pcap安装[root@localhost~]#pipinstallpypcap抓包与解包#-*-coding:utf-8-*-importpcap,dpktimportre,threading,requests__black_ip=['103.224.249.123','203.66.1.212']#抓包:param1eth_name网卡名,如:eth0,eth3。param2p_type日志捕</div> </li> <li><a href="/article/1773603579169406976.htm" title="2022年河南省高等职业教育技能大赛云计算赛项竞赛赛卷(样卷)" target="_blank">2022年河南省高等职业教育技能大赛云计算赛项竞赛赛卷(样卷)</a> <span class="text-muted">忘川_ydy</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%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/openstack/1.htm">openstack</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/ansible/1.htm">ansible</a> <div>#需要资源(软件包及镜像)或有问题的,可私博主!!!#需要资源(软件包及镜像)或有问题的,可私博主!!!#需要资源(软件包及镜像)或有问题的,可私博主!!!第一部分:私有云任务1私有云服务搭建(10分)使用提供的用户名密码,登录竞赛用的云计算平台,按要求自行使用镜像创建两台云主机,创建完云主机后确保网络正常通信,然后按要求配置服务器。根据提供安装脚本框架,补充脚本完成OpenStack平台的安装搭</div> </li> <li><a href="/article/1773600053722677248.htm" title="打印出1-100的奇数 。(C语言)" target="_blank">打印出1-100的奇数 。(C语言)</a> <span class="text-muted">王多鱼001</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/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>代码:#includeintmain(){for(inti=1;i<101;i++){if(i%2==1){printf("%d,",i);}}return0;}</div> </li> <li><a href="/article/1773594892119900160.htm" title="LeetCode1047:删除字符串中的所有相邻重复项" target="_blank">LeetCode1047:删除字符串中的所有相邻重复项</a> <span class="text-muted">一个小猴子`</span> <a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a> <div>题目描述给出由小写字母组成的字符串S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在S上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。示例:输入:“abbaca”输出:“ca”解释:例如,在“abbaca”中,我们可以删除“bb”由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。之后我们得到字符串“aaca”,其中又只有“a</div> </li> <li><a href="/article/1773594136444731392.htm" title="word字号和mathtype磅值关系及批量修改" target="_blank">word字号和mathtype磅值关系及批量修改</a> <span class="text-muted">小铁匠-Ma</span> <a class="tag" taget="_blank" href="/search/office%E5%B0%8F%E6%8A%80%E5%B7%A7/1.htm">office小技巧</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a> <div>word字号和mathtype磅值关系及批量修改1.字号与磅值关系字号「八号」对应磅值5字号「七号」对应磅值5.5字号「小六」对应磅值6.5字号「六号」对应磅值7.5字号「小五」对应磅值9字号「五号」对应磅值10.5字号「小四」对应磅值12字号「四号」对应磅值14字号「小三」对应磅值15字号「三号」对应磅值16字号「小二」对应磅值18字号「二号」对应磅值22字号「小一」对应磅值24字号「一号」对应</div> </li> <li><a href="/article/1773585584300818432.htm" title="下载Android源码" target="_blank">下载Android源码</a> <span class="text-muted">赛非斯</span> <div>repoinit-uhttps://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest-bandroid-10.0.0_r411.首先下载repo:a)终端运行gitclonegit://codeaurora.org/tools/repo.gitb)mkdir~/binc)拷贝repo到~/bin下面,修改repo权限,chmoda+x~</div> </li> <li><a href="/article/1773583062202908672.htm" title="新网师的精神肤色(幕布笔记)" target="_blank">新网师的精神肤色(幕布笔记)</a> <span class="text-muted">悦读书香</span> <div>王子老师的《极简100小妙招》收到已经几天了,之前大概的浏览了全书,今天起给自己定了一个计划,必须每天学习极简小妙招里面的一个妙招,并加以运用。一、今天要打卡什么内容因有完成每天学习极简小妙招的计划,所以今天晚饭吃的比较简单,草草吃完以后带着小宝到广场溜达一圈,急忙赶回来学习极简小妙招。再重看的时候不知道自己要学点什么,打卡哪一招,感觉哪个都简单,就看这一环节像王子老师说的“一看就会”,但做这一环</div> </li> <li><a href="/article/1773573233237360640.htm" title="淘宝天猫38节活动时间和玩法,2024年焕新周满减优惠多少" target="_blank">淘宝天猫38节活动时间和玩法,2024年焕新周满减优惠多少</a> <span class="text-muted">小小编007</span> <div>在2024年,淘宝天猫平台即将迎来一年一度的38节活动,这是广大消费者们翘首以待的购物狂欢节。在这篇文章中,我们将为您详细解读淘宝天猫38节活动的时间安排和玩法,以及2024年焕新周的满减优惠力度。一、淘宝天猫38节活动时间2024年淘宝天猫38节活动将于2月28日正式启动,持续至3月8日,为期10天。活动期间,消费者们可以尽情享受各种优惠折扣、满减活动以及限时秒杀,尽情释放购物热情。2024淘宝</div> </li> <li><a href="/article/1773569717865349120.htm" title="SpringMVC设置全局异常处理器" target="_blank">SpringMVC设置全局异常处理器</a> <span class="text-muted">水岸齐天</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>文章目录背景分析使用@ControllerAdvice(@RestControllerAdvice)+@ExceptionHandler实现全局异常全局异常处理-多个处理器匹配顺序存在一个类中存在不同的类中对于过滤器和拦截器中的异常,有两种思路可以考虑背景在项目中我们有需求做一个全局异常处理,来规范所有出去的异常信息。参考:官方文档分析首先ControllerAdvice(RestControll</div> </li> <li><a href="/article/1773569448767193088.htm" title="为什么说仪式和习惯非常重要?" target="_blank">为什么说仪式和习惯非常重要?</a> <span class="text-muted">章鱼老师zy</span> <div>这是章鱼姐第【40】篇原创文章,日更计划第【37/100】天。阅读张萌萌姐【精力管理手册】第【6/7】章。一阅读摘要这一章萌姐讲到了习惯的重要性,为什么说养成一个习惯很重要?如何养成一个好习惯?如何建立自己的仪式感?二金句精力管理最重要的是产生什么效果。当你想做却没有动力去做一件事情时,你就应该把它养成习惯。习惯可以帮我们创造稳定框架。对于那些特别考验意志的事情,我们应该先行后思。三思考题,萌姐讲</div> </li> <li><a href="/article/1773569321646227456.htm" title="安神的投资札记——指数跟踪周报(20220602)" target="_blank">安神的投资札记——指数跟踪周报(20220602)</a> <span class="text-muted">echo安神</span> <div>本周关键词:缩表上周调整过后,本周又反弹了。最近创业板好活跃,跌的时候跌得凶,涨的时候也涨得猛。底部特征明显。上证50,0.99%;沪深300,2.21%;中证100,1.85%;中证500,3.03%;深证100,3.71%;创业板指数,5.85%;中证1000,3.75%。美联储6月1日开启缩表,每月总计减持475亿美元美国国债和MBS(抵押贷款支持证券),并将在3个月后提高缩表上限至每月95</div> </li> <li><a href="/article/1773568940136529920.htm" title="细水长流的日子之二百五十二(一点一点慢慢长大)" target="_blank">细水长流的日子之二百五十二(一点一点慢慢长大)</a> <span class="text-muted">独一无二的小茶叶</span> <div>2021-10-22今天小妹妹刚来,见到放在桌篓子里晾着的薰青豆,想要吃,给她拿个小碗装了点,我正在厨房收拾,嘱咐她自己去坐在小椅子上吃,她却一屁股坐在厨房门口的地板上吃起来不小心打翻了,就直接趴在地板上一粒一粒地捡拾。口渴了,自己去把奶瓶里剩下的奶喝掉,然后到厨房门口将奶瓶提给我让我洗干净,把手伸的很长,边小嘴巴里说哇哇,我不让她的小脚跨进厨房半步,怕自己有时没看好出现意外,她牢牢记着,脚绝对不</div> </li> <li><a href="/article/1773554866065571840.htm" title="Django之Debug篇" target="_blank">Django之Debug篇</a> <span class="text-muted">菜鸟之编程</span> <a class="tag" taget="_blank" href="/search/Django/1.htm">Django</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>一、DebugToolBar基本使用1.1、概述Django框架的调试工具栏使用django-debug-toolbar库,是一组可配置的面板,显示有关当前请求/响应的各种调试信息,点击时,显示有关面板内容的更多详细信息。官方文档:DjangoDebugToolbar—DjangoDebugToolbar4.3.0documentation1.2、安装pipinstalldjango-debug-</div> </li> <li><a href="/article/1773554825179496448.htm" title="2022-10-02" target="_blank">2022-10-02</a> <span class="text-muted">朗月斋主</span> <div>肿瘤溶解病毒(OVs)作为一种新型的免疫治疗和治疗辅助剂,在制药行业中越来越受到关注,因为它们能够通过多种机制诱导和提高抗肿瘤免疫力。首先,OVs能够利用宿主免疫系统的内在机制(例如,逃避免疫检测)可以使肿瘤的免疫逃逸机制失效。第二,许多类型的OVs已被证明可以直接裂解肿瘤细胞,从而诱导出由肿瘤相关抗原和危险信号分子释放介导的肿瘤特异性T细胞反应。第三,表达免疫刺激治疗基因的武装OV可以在肿瘤组织</div> </li> <li><a href="/article/1773538564877910016.htm" title="你有想删除的人生吗?(2022-10-10)" target="_blank">你有想删除的人生吗?(2022-10-10)</a> <span class="text-muted">燕归来2021</span> <div>中午遛弯清茶发信息给我:有本书不用看了,建议看作者的另一本。然后聊起她推给我的日剧《人生删除事务所》,我只看了一集,名字觉得很有意思,就问清茶有没有想删除的人生,她回:没有,这么平淡的日子。我:我也没有,这么精彩的人生,哈哈。虽是玩笑说,却也不完全瞎说。闺蜜性情平和佛性,我苦苦挣扎修行半靠子,她生来就有。由人生就聊到最近我追的李子勋,李老师的观点:心理学讲人性多讲道德少,讲究有效性非真实性,很多观</div> </li> <li><a href="/article/1773530120070430720.htm" title="心赏(2018.10.8)" target="_blank">心赏(2018.10.8)</a> <span class="text-muted">六一节_3928</span> <div>1.上班第一天,同事彤休完产假,回来上班,给我带了酸奶和水果。她生小孩时,我给她发了一个小红包贺喜,哪知她就记在心里了。心赏这个有心的90后。2.女儿放学回来,说自己当了小组长。一边说不想当,一边得意的样子。心赏老师给了孩子这个锻炼的机会。3.老妈今天做了"蚂蚁上树"的菜,得到女儿的高度肯定。心赏老妈还在不断学习。</div> </li> <li><a href="/article/1773528182234873856.htm" title="springboot集成logback-spring.xml文件" target="_blank">springboot集成logback-spring.xml文件</a> <span class="text-muted">RT_0114</span> <a class="tag" taget="_blank" href="/search/SpringBoot/1.htm">SpringBoot</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/logback/1.htm">logback</a> <div>彩色日志日志分debug和error文件输出,方便开发人员运维日志限制最大保管天数日志限制总量大小占用量GB日志限制单个文件大小MB日志显示最大保留天数屏蔽没用的日志${CONSOLE_LOG_PATTERN}${log.path}/debug.log${log.path}/%d{yyyy-MM-dd,aux}/debug.%d{yyyy-MM-dd}.%i.log.gz1024MB50GB365</div> </li> <li><a href="/article/1773525915951759360.htm" title="keras.optimizers优化器中文文档" target="_blank">keras.optimizers优化器中文文档</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%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>优化器optimizers优化器是编译Keras模型必要的两个参数之一model=Sequential()model.add(Dense(64,init='uniform',input_dim=10))model.add(Activation('tanh'))model.add(Activation('softmax'))sgd=SGD(lr=0.01,decay=1e-6,momentum=0.</div> </li> <li><a href="/article/1773525837279199232.htm" title="2021.12.13 自律日记" target="_blank">2021.12.13 自律日记</a> <span class="text-muted">夏舒帅然a</span> <div>深感时光转瞬即逝,如指缝流金!自律、习惯养成、执行力提高迫在眉睫!今天是什么日子:平日艳阳天起床:7:50任务清单(明日)1.起床:7:302.就寝:10:103.读书30分钟4.打两套太极5.两次静坐(每次15分钟)昨日完成的任务情况,最重要的三件事一.读书30分。未完成二.就寝10:00完成三.起床7:30未完成四.打两套太极未完成五.两次静坐(每次15分钟)未完成习惯养成:早睡早起、每日读书</div> </li> <li><a href="/article/1773520124586819584.htm" title="helm 部署 Kube-Prometheus + Grafana + 钉钉告警部署 Kube-Prometheus" target="_blank">helm 部署 Kube-Prometheus + Grafana + 钉钉告警部署 Kube-Prometheus</a> <span class="text-muted">zxj19880502</span> <a class="tag" taget="_blank" href="/search/grafana/1.htm">grafana</a><a class="tag" taget="_blank" href="/search/prometheus/1.htm">prometheus</a> <div>背景角色IPK8S版本容器运行时k8s-master-1172.16.16.108v1.24.1containerd://1.6.8k8s-node-1172.16.16.109v1.24.1containerd://1.6.8k8s-node-2172.16.16.110v1.24.1containerd://1.6.8安装kube-prometheusmkdir-p/data/yaml/kub</div> </li> <li><a href="/article/1773514238858428416.htm" title="2022-2-13晨间日记" target="_blank">2022-2-13晨间日记</a> <span class="text-muted">越亮也打烊</span> <div>今天是什么日子起床:7:00就寝:12:08天气:晴心情:糟糕纪念日:无任务清单昨日完成的任务,最重要的三件事:寒假作业,网课,画画改进:作业时间剪短习惯养成:网课不逃~周目标·完成进度数学卷子100%学习·信息·阅读《傅雷家书》《钢铁是怎样炼成的》健康·饮食·锻炼我终于不喝饮料啦,喝茶~人际·家人·朋友邝姐姐带我吃火锅工作·思考啥时候开学,我还有几天赶完作业最美好的三件事1.卷子写完了2.我有冰</div> </li> <li><a href="/article/1773510584294244352.htm" title="中国最美的100个地方,待“软禁”结束后,满血复活去一次旅行!" target="_blank">中国最美的100个地方,待“软禁”结束后,满血复活去一次旅行!</a> <span class="text-muted">是北河二1995</span> <div>【阅读原文,请点击:原文,硬核100个】离成为一个倾国倾城、走路带风的女子还有365天!大家好,我是小草们的北河二~一转眼,2020年已过1/4,突如其来的病毒,搅得人心惶惶。原本的3月里,景区爆满、街道拥堵、小吃铺做无缺席。然而,地球妈妈不会一直宠着我们,给了我们好几个警告。如今,连CCTV-1播出的《人与自然》,我都可以看上好一会儿......高山、流水、湖泊、森林、大海.....它们也在这初</div> </li> <li><a href="/article/1773509319225049088.htm" title="2022-03-10" target="_blank">2022-03-10</a> <span class="text-muted">花满三春</span> <div>梦想花开六月的风吹在我的脸上,在我的心里留下了遗憾,看着这惨不忍睹的分数,我收起了我的年少轻狂。天气很热,但我的心很冷,我盯着镜子中的自己,握紧了拳头,眼睛红红的,突然,一行晶莹的液体从我脸上滑落,那些晶莹的液体不断地在我脸上落下,唉?镜子中的我脸怎么有泪痕?哦,我原来哭了,我笑了,我不知道我到底在笑什么,是笑我怎么这么懦弱,还是笑我这么不争气。努力复习了这么久,小考才考这么点分,我放任我的泪水,</div> </li> <li><a href="/article/1773504028425125888.htm" title="4.24 使用计算命令制作图像合成艺术效果 [Ps教程]" target="_blank">4.24 使用计算命令制作图像合成艺术效果 [Ps教程]</a> <span class="text-muted">互动教程网</span> <div>1.本节课程将为您演示,如何使用[计算]命令,将两张示例图片,制作成超酷的图像合成特效。首先点击顶部的文档标签,切换至另一张示例图片。image2.接着依次点击[图像>计算]命令,弹出[计算]窗口。image3.[计算]命令,用于混合两个来自一个或多个源图像的单个通道。然后可以将结果应用到新图像、新通道或当前图像的选区中。image4.在弹出的计算窗口中,点击下拉箭头,选择[计算]命令的源图片。i</div> </li> <li><a href="/article/1773501994674225152.htm" title="虚拟 DOM 的优缺点有哪些" target="_blank">虚拟 DOM 的优缺点有哪些</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/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> <div>虚拟DOM(VirtualDOM)技术作为现代前端开发中的重要组成部分,已经成为了众多流行前端框架的核心特性。它的引入为前端开发带来了诸多优势,同时也需要我们认真思考其潜在的考量。下面简单的介绍一下虚拟DOM技术的优势与缺点,深入探讨其在实际应用中的影响。提升性能虚拟DOM的最大优势之一是提升页面性能。通过比较前后两次虚拟DOM树的差异,最小化实际DOM操作,从而减少页面重渲染时的性能消耗。这种优</div> </li> <li><a href="/article/1773498604284084224.htm" title="感恩日志 第【1210】天:(2019.02.01)(腊月二十七)" target="_blank">感恩日志 第【1210】天:(2019.02.01)(腊月二十七)</a> <span class="text-muted">山东慧恩贺守金</span> <div>今日感悟:二十七撇松枝!今日是真正的第一天假期:吃饭找物业看望父母打麻将。时间过的飞快,转眼间,已经放假5天了,保养车,购置年货,送礼,出差,回家。春节假期:陪伴父母、妻儿的时间,反思的时间,规划的时间。白天太忙,忙着各种琐事,晚上才真正有时间留给自己,思考,总结。感恩这一个充实而忙碌的一天。</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>