vue 监控元素宽度_Vue入门系列之Vue实例详解与生命周期

vue 监控元素宽度_Vue入门系列之Vue实例详解与生命周期_第1张图片

 Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理、数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成、编译、挂着、销毁等过程进行js控制。

5.1. Vue实例初始化的选项配置对象详解

5.1.1. Vue实例的的data对象

  • 介绍

Vue的实例的数据对象data 我们已经用了很多了,数据绑定离不开data里面的数据。也是Vue的核心属性。它是Vue绑定数据到HTML标签的数据源泉,另外Vue框架会自动监视data里面的数据变化,自动更新数据到HTML标签上去。本质原理是:Vue会自动将data里面的数据进行递归抓换成getter和setter,然后就可以自动更新HTML标签了,当然用getter和setter所以老的浏览器Vue支持的不够好。

  • data对象的类型:

    • 类型是Object或者Function。

    • 如果是组件对象中,data必须是Function类型。【后面学了组件后就明白了,暂时对组件先放放。】

  • 实例:

// 创建普通的Vue实例var vm = new Vue({  data: data})// 组件定义【后面会详细讲的】// Vue.extend() 中 data 必须是函数var Component = Vue.extend({  data: function () {   //这里必须是函数!!!!    return { a: 1 }  }})

5.1.2. Vue实例的computed

  • 介绍

Vue的计算属性(computed)的属性会自动混入Vue的实例中。所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例。这就很强大了,再计算属性中定义的函数里面可以直接使用指向了vue实例的this,异常方便的啊。

  • 类型

{ 键:函数} { [key: string]: Function | { get: Function, set: Function } } 当然,可以省略setter,如果省略了setter,那么值就可以是普通函数,但是必须有返回值。

  • 官方的实例

  • var vm = new Vue({data: { a: 1 },computed: {  // 仅读取,值只须为函数  aDouble: function () {    return this.a * 2  },  // 读取和设置  aPlus: {    get: function () {      return this.a + 1    },    set: function (v) {      this.a = v - 1    }  }}})vm.aPlus   // -> 2vm.aPlus = 3vm.a       // -> 2vm.aDouble // -> 4

5.1.3. methods

  • 类型: { [key: string]: Function }

  • 详细:

methods 将被混入到 Vue 实例中。可以直接通过 VM 实例访问这些方法,或者在指令表达式中使用。方法中的 this 自动绑定为 Vue 实例。

注意,不应该使用箭头函数来定义 method 函数 (例如 plus: () => this.a++)。理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例,this.a 将是 undefined。

       示例:

var vm = new Vue({

data: { a: 1 },  methods: {    plus: function () {      this.a++    }  }})vm.plus()vm.a // 2

5.1.4. watch

  • 类型

{ [key: string]: string | Function | Object }

  • 详细:

一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue 实例将会在实例化时调用 $watch(),遍历 watch 对象的每一个属性。

  • 示例:

var vm = new Vue({  data: {    a: 1,    b: 2,    c: 3  },  watch: {    // 监控a变量变化的时候,自动执行此函数    a: function (val, oldVal) {      console.log('new: %s, old: %s', val, oldVal)    },    // 深度 watcher    c: {      handler: function (val, oldVal) { /* ... */ },      deep: true    }  }})vm.a = 2 // -> new: 2, old: 1
//注意,不应该使用箭头函数来定义 watcher 函数 (例如 searchQuery: newValue => this.updateAutocomplete(newValue))。理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例,this.updateAutocomplete 将是 undefined。

参考综合案例:

     Vue入门之数据监控title>  <script src="https://unpkg.com/vue/dist/vue.js">script>head><body>  <div id="app">    <p>{{ number }}p>    <input type="button" name="btnGetNumber" value="增加" v-on:click="getNumber()">  div>  <script>    var app = new Vue({               el: '#app',                     data: {                           number: 1      },      methods: {        // 事件响应方法的逻辑代码        getNumber: function (e) {          this.number += 1;   // 不管是内联方法调用,还是绑定事件处理器两种方式执行事件响应方法的时候 this都是指向 app        }      },      watch: {        // 监控number的变化,并自动执行下面的函数        number: function (val, oldVal) {          console.log('val:' + val + ' - oldVal: ' + oldVal);        }      }    });script>body>html></code></pre> 
    <h3>5.1.5. 设置el的详解</h3> 
    <ul> 
     <li><p>类型</p></li> 
    </ul> 
    <p>string | HTMLElement</p> 
    <p>限制:只在由 new 创建的实例中遵守。</p> 
    <ul> 
     <li><p>详细:</p></li> 
    </ul> 
    <p>提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标,也就是说Vue绑定数据到哪里去找。可以是CSS 选择器,也可以是一个 HTMLElement实例。</p> 
    <p>在实例挂载之后(生命周期的内容后面会详细讲的奥), 元素可以用 vm.$el 访问。</p> 
    <p>如果这个选项在实例化时有作用,实例将立即进入编译过程,否则,需要显式调用 vm.$mount() 手动开启编译。</p> 
    <pre class="has"><code>// 几乎所有例子都用到这个,所以就不再赘述var app = new Vue({           el: '#app',  ...});</code></pre> 
    <h2>5.2. Vue实例的生命周期</h2> 
    <p>Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程,我们称这是Vue的生命周期。通俗说就是Vue实例从创建到销毁的过程,就是生命周期。</p> 
    <p>在Vue的整个生命周期中,它提供了一系列的事件,可以让我们注册js方法,可以让我们达到控制整个过程的目的地,哇赛,如果你搞过Asp.Net WebForm的话,你会发现整个就是WebForm的翻版嘛哈哈。值得注意的是,在这些事件响应方法中的this直接指向的是vue的实例。</p> 
    <p>首先看看下面官网的一张生命周期的图,我做一下标注,看看整体的流程,后面我们上代码做一下效果。</p> 
    <p><a href="http://img.e-com-net.com/image/info8/56f4dc4baf2140418abdf9720318a68e.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/56f4dc4baf2140418abdf9720318a68e.jpg" alt="vue 监控元素宽度_Vue入门系列之Vue实例详解与生命周期_第2张图片" width="650" height="1517" style="border:1px solid black;"></a></p> 
    <p>Vue提供的可以注册的钩子都在上图片的红色框标注。他们是:</p> 
    <ul> 
     <li><p><code>beforeCreate</code></p></li> 
    </ul> 
    <p>在实例初始化之后,数据观测(data observer) 和 event/watcher 事件配置之前被调用。</p> 
    <ul> 
     <li><p><code>created</code></p></li> 
    </ul> 
    <p>实例已经创建完成之后被调用。在这一步,实例已完成以下的配置:数据观测(data observer),属性和方法的运算, watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。</p> 
    <ul> 
     <li><p><code>beforeMount</code></p></li> 
    </ul> 
    <p>在挂载开始之前被调用:相关的 render 函数首次被调用。</p> 
    <ul> 
     <li><p><code>mounted</code></p></li> 
    </ul> 
    <p>el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el 也在文档内。</p> 
    <ul> 
     <li><p><code>beforeUpdate</code></p></li> 
    </ul> 
    <p>数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。你可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程。</p> 
    <ul> 
     <li><p><code>updated</code></p></li> 
    </ul> 
    <p>由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态,因为这可能会导致更新无限循环。该钩子在服务器端渲染期间不被调用。</p> 
    <ul> 
     <li><p><code>beforeDestroy</code></p></li> 
    </ul> 
    <p>实例销毁之前调用。在这一步,实例仍然完全可用。</p> 
    <ul> 
     <li><p><code>destroyed</code></p></li> 
    </ul> 
    <p>Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用。接下来我们做一个例子,看一下Vue中所有的生命周期怎么用的。</p> 
    <pre class="has"><code> <html lang="en"><head>  <meta charset="UTF-8">  <title>Vue入门之生命周期title>  <script src="https://unpkg.com/vue/dist/vue.js">script>head><body>  <div id="app">    <p>{{ number }}p>    <input type="text" name="btnSetNumber" v-model="number">  div>  <script>    var app = new Vue({               el: '#app',                     data: {                           number: 1      },      beforeCreate: function () {        console.log('beforeCreate 钩子执行...');        console.log(this.number)      },      cteated: function () {        console.log('cteated 钩子执行...');        console.log(this.number)      },      beforeMount: function () {        console.log('beforeMount 钩子执行...');        console.log(this.number)      },      mounted: function () {        console.log('mounted 钩子执行...');        console.log(this.number)      },      beforeUpdate: function () {        console.log('beforeUpdate 钩子执行...');        console.log(this.number)      },      updated: function () {        console.log('updated 钩子执行...');        console.log(this.number)      },      beforeDestroy: function () {        console.log('beforeDestroy 钩子执行...');        console.log(this.number)      },      destroyed: function () {        console.log('destroyed 钩子执行...');        console.log(this.number)      },    });script>body>html></code></pre> 
    <p>再看一个综合的实战的例子,可能涉及到ajax和组件,不过先看一下vue的生命周期的例子的用法:</p> 
    <pre class="has"><code>import Axios from 'axios'       // 这是一个轻量级的ajax库,import是es6模块导入的语法。export default {                // 这是一个vue的模块,后面讲奥。  name: 'app',  components: {  },  data: function () {    return {      list: []    }  },  mounted: function () {          // 挂在完成后的生命周期钩子注册。    this.$nextTick(function () {  // 等待下一次更新完成后执行业务处理代码。      Axios.get('/api/menulist', {// 将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新        params: {        }      }).then(function (res) {        this.list = res.data      }.bind(this))    })  }}</code></pre> 
    <h2>5.3. Vue实例的全局配置</h2> 
    <p>这一块都是一些小的知识点,我就不赘述了,直接copy 官网 Vue.config 是一个对象,包含 Vue 的全局配置。可以在启动应用之前修改下列属性:</p> 
    <ul> 
     <li><p>silent</p> 
      <ul> 
       <li><p>类型:boolean</p></li> 
       <li><p>默认值:false</p></li> 
       <li><p>用法:</p><pre><code></code></pre></li> 
       <li><pre class="has"><code>Vue.config.silent = true//取消 Vue 所有的日志与警告。</code></pre></li> 
      </ul></li> 
     <li><p>optionMergeStrategies</p> 
      <ul> 
       <li><p>类型:{ [key: string]: Function }</p></li> 
       <li><p>默认值:{}</p></li> 
       <li><p>用法:</p><pre><code></code></pre></li> 
       <li><pre class="has"><code>Vue.config.optionMergeStrategies._my_option = function (parent, child, vm) {return child + 1}const Profile = Vue.extend({_my_option: 1})// Profile.options._my_option = 2//自定义合并策略的选项。//合并策略选项分别接受第一个参数作为父实例,第二个参数为子实例,Vue实例上下文被作为第三个参数传入。</code></pre></li> 
      </ul></li> 
     <li><p>devtools</p> 
      <ul> 
       <li><p>类型:boolean</p></li> 
       <li><p>默认值:true (生产版为 false)</p></li> 
       <li><p>用法:</p><pre><code></code></pre></li> 
       <li><pre class="has"><code>// 务必在加载 Vue 之后,立即同步设置以下内容Vue.config.devtools = true//配置是否允许 vue-devtools 检查代码。开发版本默认为 true,生产版本默认为 false。生产版本设为 true 可以启用检查。</code></pre></li> 
      </ul></li> 
     <li><p>errorHandler</p> 
      <ul> 
       <li><p>类型:Function</p></li> 
       <li><p>默认值:默认抛出错误</p></li> 
       <li><p>用法:</p><pre><code></code></pre></li> 
       <li><pre class="has"><code>Vue.config.errorHandler = function (err, vm) {// handle error}//指定组件的渲染和观察期间未捕获错误的处理函数。这个处理函数被调用时,可获取错误信息和 Vue 实例。//Sentry, an error tracking service, provides official integration using this option.</code></pre></li> 
      </ul></li> 
     <li><p>ignoredElements</p> 
      <ul> 
       <li><p>类型: Array</p></li> 
       <li><p>默认值: []</p></li> 
       <li><p>用法:</p><pre><code></code></pre></li> 
       <li><pre class="has"><code>Vue.config.ignoredElements = ['my-custom-web-component', 'another-web-component']须使 Vue 忽略在 Vue 之外的自定义元素 (e.g., 使用了 Web Components APIs)。否则,它会假设你忘记注册全局组件或者拼错了组件名称,从而抛出一个关于 Unknown custom element 的警告。</code></pre></li> 
      </ul></li> 
     <li><p>keyCodes</p> 
      <ul> 
       <li><p>类型:{ [key: string]: number | Array }</p></li> 
       <li><p>默认值:{}</p></li> 
       <li><p>用法:</p><pre><code></code></pre></li> 
       <li><pre class="has"><code>Vue.config.keyCodes = {v: 86,f1: 112,mediaPlayPause: 179,up: [38, 87]}api//给 v-on 自定义键位别名。</code></pre></li> 
      </ul></li> 
    </ul> 
    <h2>5.4. Vue的全局API</h2> 
    <p>Vue的全局API提供大量的功能,我这里就给大家罗列几个常用的结果,其他的还是参考官网.</p> 
    <h3>5.4.1. Vue.nextTick</h3> 
    <p><code>语法:Vue.nextTick( [callback, context] )</code></p> 
    <pre class="has"><code>参数:{Function} [callback]{Object} [context]</code></pre> 
    <p>用法:在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。</p> 
    <pre class="has"><code>// 修改数据vm.msg = 'Hello'// DOM 还没有更新Vue.nextTick(function () {  // DOM 更新了})</code></pre> 
    <h3>5.4.2. Vue.set</h3> 
    <p><code>语法:Vue.set( object, key, value )</code></p> 
    <pre class="has"><code>参数:{Object} object{string} key{any} value返回值:设置的值.</code></pre> 
    <p>用法:<br>设置对象的属性。如果对象是响应式的,确保属性被创建后也是响应式的,同时触发视图更新。这个方法主要用于避开 Vue 不能检测属性被添加的限制。注意对象不能是 Vue 实例,或者 Vue 实例的根数据对象。</p> 
    <h3>5.4.3. Vue.compile</h3> 
    <ul> 
     <li><p>语法:</p></li> 
    </ul> 
    <p><code>Vue.compile( template )</code></p> 
    <ul> 
     <li><p>参数:</p></li> 
    </ul> 
    <p><code>{string} template</code></p> 
    <ul> 
     <li><p>用法:</p></li> 
    </ul> 
    <pre class="has"><code>//在render函数中编译模板字符串。只在独立构建时有效var res = Vue.compile('</code></pre> 
    <div> <code>{{ msg }}</code> 
    </div> <code>')new Vue({ data: { msg: 'hello' }, render: res.render, staticRenderFns: res.staticRenderFns})</code> 
    <h3>5.4.4. 全局API总结</h3> 
    <p>其实还有几个其他的全局API,不打算在这里讲了,比如扩展组件Vue.extend 的用法、Vue.use加载插件、Vue.filter加载过滤器、Vue.directive自定义指令等 后面再讲其他Vue的知识点的时候,再加上这些,全局API其实就是Vue类型的静态方法,全局范围内都可以使用的,某些实例的方法本质也是调用了这些全局的,后面用到时候再说。</p> 
    <h2>5.5. Vue实例与生命周期总结</h2> 
    <p>Vue的实例封装的还是挺有艺术性的,很符合开发者的思维规范,它的生命周期也非常清晰,使用起来也非常方便。Vue确实一个好框架。</p> 
    <p><a href="http://img.e-com-net.com/image/info8/ae87a0e375ef4ee197f8624a233a5045.gif" target="_blank"><img src="http://img.e-com-net.com/image/info8/ae87a0e375ef4ee197f8624a233a5045.gif" alt="vue 监控元素宽度_Vue入门系列之Vue实例详解与生命周期_第3张图片" width="600" height="212" style="border:1px solid black;"></a></p> 
   </div> 
  </div> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1587246943355129856"></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">你可能感兴趣的:(vue,监控元素宽度,vue开启watch无限循环)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1899825281259073536.htm"
                           title="Vue.js-Vue实例" target="_blank">Vue.js-Vue实例</a>
                        <span class="text-muted"></span>

                        <div>推荐阅读原文学习笔记:Vue实例Vue实例组件间通信SeethePen组件间通信bywhjin(@whjin)onCodePen.用户信息表SeethePenzjagOybywhjin(@whjin)onCodePen.图书电商数据SeethePen图书电商数据bywhjin(@whjin)onCodePen.渲染微信精选数据SeethePen渲染微信精选数据bywhjin(@whjin)onCo</div>
                    </li>
                    <li><a href="/article/1899824121110392832.htm"
                           title="计算内容的长度的所有方法【C语言】" target="_blank">计算内容的长度的所有方法【C语言】</a>
                        <span class="text-muted">桦0</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>数组在C语言中,数组的大小是在编译时确定的,因此你可以直接使用数组的长度属性来计算数组中的元素个数。如果你有一个数组,你可以直接使用数组的声明来获取其长度。下面是一个简单的例子:在这个例子中,sizeof(myArray)会返回整个数组所占的字节数,而sizeof(myArray[0])会返回数组中单个元素所占的字节数。将整个数组的大小除以单个元素的大小,就可以得到数组中的元素个数。请注意,这种方</div>
                    </li>
                    <li><a href="/article/1899821850804940800.htm"
                           title="【Vue】从零开始创建一个vue项目" target="_blank">【Vue】从零开始创建一个vue项目</a>
                        <span class="text-muted">Pota-to成长日记</span>
<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/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>一、环境准备(编程基础配置)1.安装Node.js与npm作用:Node.js是JavaScript运行环境,npm是包管理工具(类似“应用商店”),Vue项目依赖它们。步骤:访问Node.js官网,下载LTS版本(长期支持版。双击安装包,默认勾选所有选项,一路点击“Next”完成安装。验证安装:node-v#显示版本号npm-v#显示版本号配置国内镜像加速(解决下载慢问题):npmconfigs</div>
                    </li>
                    <li><a href="/article/1899820716635779072.htm"
                           title="基于微信小程序的文章管理系统的设计与开发(源码+lw+部署文档+讲解等)" target="_blank">基于微信小程序的文章管理系统的设计与开发(源码+lw+部署文档+讲解等)</a>
                        <span class="text-muted">#Takagi S#</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/notepad%2B%2B/1.htm">notepad++</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a>
                        <div>文章目录前言项目背景介绍技术栈后端框架SSM前端框架Vue数据库MySQL(MyStructuredQueryLanguage)微信小程序具体实现截图详细视频演示系统测试系统测试目的系统功能测试系统测试结论代码参考数据库参考源码获取前言博主介绍:✌新人博主,工作经验两年+、专注于Java、小程序技术领域和毕业项目实战✌文末获取源码+数据库感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写</div>
                    </li>
                    <li><a href="/article/1899820589581922304.htm"
                           title="Vue 中 axios 的封装详解" target="_blank">Vue 中 axios 的封装详解</a>
                        <span class="text-muted">遇见~未来</span>
<a class="tag" taget="_blank" href="/search/Vue.js/1.htm">Vue.js</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/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>一、创建Axios实例/***@fileOverview封装axios请求模块*/importaxiosfrom"axios";//创建axios实例constaxiosInstance=axios.create({//设置基础请求路径baseURL:"https://api.example.com",//设置请求超时时间timeout:5000,//设置默认请求头headers:{"Conten</div>
                    </li>
                    <li><a href="/article/1899819076625166336.htm"
                           title="K8S日常问题优化" target="_blank">K8S日常问题优化</a>
                        <span class="text-muted">沉默的八哥</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a>
                        <div>在实际工作中,优化Kubernetes的性能和成本通常需要结合资源利用率分析、集群配置调整以及自动化工具的整合。以下是我在项目中实践过的一些典型优化场景和解决方案:一、资源利用率优化1.合理配置Requests/Limits问题:许多团队未准确设置Pod的requests和limits,导致资源浪费或频繁OOM。优化方法:使用Prometheus+Grafana监控Pod的实际CPU/内存使用量。</div>
                    </li>
                    <li><a href="/article/1899814541101953024.htm"
                           title="大数据学习(61)-Impala与Hive计算引擎" target="_blank">大数据学习(61)-Impala与Hive计算引擎</a>
                        <span class="text-muted">viperrrrrrr</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/impala/1.htm">impala</a><a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/yarn/1.htm">yarn</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                        <div>&&大数据学习&&系列专栏:哲学语录:承认自己的无知,乃是开启智慧的大门如果觉得博主的文章还不错的话,请点赞+收藏⭐️+留言支持一下博主哦一、impala与yarn资源管理YARN是ApacheHadoop生态系统中的一个资源管理器,它采用了master/slave的架构,使得多个处理框架能够在同一集群上共享资源。Impala作为Hadoop生态系统中的一个组件,可以与YARN集成,以便更好地管理</div>
                    </li>
                    <li><a href="/article/1899814541689155584.htm"
                           title="大数据学习(62)- Hadoop-yarn" target="_blank">大数据学习(62)- Hadoop-yarn</a>
                        <span class="text-muted">viperrrrrrr</span>
<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/yarn/1.htm">yarn</a>
                        <div>&&大数据学习&&系列专栏:哲学语录:承认自己的无知,乃是开启智慧的大门如果觉得博主的文章还不错的话,请点赞+收藏⭐️+留言支持一下博主哦一、YARN概述1.YARN简介Hadoop-YARN是ApacheHadoop生态系统中的一个集群资源管理器。它作为Hadoop的第二代资源管理框架,负责管理和分配集群中的计算资源。YARN的设计目标是提供一个通用的资源管理框架,使得Hadoop集群可以同时运</div>
                    </li>
                    <li><a href="/article/1899814414681436160.htm"
                           title="大数据学习(60)-HDFS文件结构" target="_blank">大数据学习(60)-HDFS文件结构</a>
                        <span class="text-muted">viperrrrrrr</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/hdfs/1.htm">hdfs</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                        <div>&&大数据学习&&系列专栏:哲学语录:承认自己的无知,乃是开启智慧的大门如果觉得博主的文章还不错的话,请点赞+收藏⭐️+留言支持一下博主哦一、体系结构HDFS是一个标准的主从(Master/Slave)体系结构的分布式系统;HDFS集群包含一个或多个NameNode(NameNodeHA会有多个NameNode)和多个DataNode(根据节点情况规划),用户可以通过HDFS客户端同NameNod</div>
                    </li>
                    <li><a href="/article/1899812018534281216.htm"
                           title="Dubbo知识点整理" target="_blank">Dubbo知识点整理</a>
                        <span class="text-muted">eeeeeeeeethan</span>
<a class="tag" taget="_blank" href="/search/dubbo/1.htm">dubbo</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>Dubbo模块划分Service:服务代码的实现。Config:RPC调用的配置,如超时时间、重试、缓存。Proxy:远程调用的服务代理。Registry:注册中心,给出调用方IP。Cluster:路由层,选择调用的服务提供者,实现路由过滤和均衡负载。Monitor:监控层。Protocol:远程调用层,封装调用过程。Exchange:信息交换层,用于封装请求并模式同步、异步获取响应结果。Tran</div>
                    </li>
                    <li><a href="/article/1899808740740231168.htm"
                           title="机器狗监控系统软件工程师面试题" target="_blank">机器狗监控系统软件工程师面试题</a>
                        <span class="text-muted">道亦无名</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E7%8B%97/1.htm">机器狗</a>
                        <div>大部分企业会使用的面试题一、基础知识编程语言方面请简述C++中多态的实现方式,在机器狗监控系统中,哪里可能会用到多态来提高代码的扩展性?例如不同型号机器狗的运动控制模块。Python作为脚本语言在系统开发中有诸多应用,说说Python的GIL(全局解释锁)对多线程性能的影响,以及在实时数据采集与处理场景下如何规避。数据结构与算法若要实现机器狗的路径规划,你会选择哪种数据结构来存储地图信息,比如栅格</div>
                    </li>
                    <li><a href="/article/1899808361440931840.htm"
                           title="电力行业中的SCADA系统(Supervisory Control and Data Acquisition,监控与数据采集系统)" target="_blank">电力行业中的SCADA系统(Supervisory Control and Data Acquisition,监控与数据采集系统)</a>
                        <span class="text-muted">小赖同学啊</span>
<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/%E6%99%BA%E8%83%BD%E7%A1%AC%E4%BB%B6/1.htm">智能硬件</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>在电力行业中,SCADA系统(SupervisoryControlandDataAcquisition,监控与数据采集系统)是核心的自动化控制系统,用于实时监测、控制和优化电力系统的运行。SCADA系统通过集成数据采集、通信、监控和控制功能,帮助电力公司实现电网的高效管理和故障快速响应。以下是SCADA系统在电力行业中的关键功能、组成和应用:SCADA系统的核心功能实时数据采集:从电力设备(如变压</div>
                    </li>
                    <li><a href="/article/1899805964903706624.htm"
                           title="跨域问题。" target="_blank">跨域问题。</a>
                        <span class="text-muted">C000kie</span>
<a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE/1.htm">项目</a><a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>目录跨域问题问题发现浏览器的同源策略解决办法跨域问题问题发现在开发前后端分离的项目时(flask+vue),遇到过页面不显示的问题,查看控制台,有这样的提示[localhost/:1](https://localhost/:1)AccesstoXMLHttpRequestat'[http://127.0.0.1:8000/category/list](http://127.0.0.1:8000/c</div>
                    </li>
                    <li><a href="/article/1899804326512095232.htm"
                           title="Java 数组" target="_blank">Java 数组</a>
                        <span class="text-muted">Mr_One_Zhang</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0JAVA/1.htm">学习JAVA</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><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>数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java语言中提供的数组是用来存储固定大小的同类型元素。你可以声明一个数组变量,如numbers[100]来代替直接声明100个独立变量number0,number1,....,number99。本教程将为大家介绍Java数组的声明、创建和初始化,并给出其对应的代码。声明数组变量首先必须声明数组变量,才能在</div>
                    </li>
                    <li><a href="/article/1899802436835536896.htm"
                           title="JavaEE AOP详解(从原理到实践 基于Spring AOP + AspectJ,附完整代码实例)" target="_blank">JavaEE AOP详解(从原理到实践 基于Spring AOP + AspectJ,附完整代码实例)</a>
                        <span class="text-muted">可问 可问春风</span>
<a class="tag" taget="_blank" href="/search/JAVAEE/1.htm">JAVAEE</a><a class="tag" taget="_blank" href="/search/java-ee/1.htm">java-ee</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>一、AOP核心概念1.为什么需要AOP?传统OOP编程中,重复的逻辑(如日志、事务、权限)会散落在各业务方法中,造成代码冗余和维护困难。AOP通过横向切割将这些公共功能抽取成独立模块(切面),实现解耦。2.AOP核心术语术语描述生活类比Aspect(切面)封装横切逻辑的类(如日志、事务)安保系统:处理监控、门禁等统一功能JoinPoint(连接点)程序执行期间的某个点(如方法执行、异常抛出)大楼出</div>
                    </li>
                    <li><a href="/article/1899801177533509632.htm"
                           title="多数元素题解" target="_blank">多数元素题解</a>
                        <span class="text-muted">陆仁贾笨贾</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</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/leetcode/1.htm">leetcode</a>
                        <div>题目:给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数大于⌊n/2⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。前置点播:摩尔投票法(Moore'sVotingAlgorithm)的核心思想是通过两两抵消不同的元素,最终剩下的元素就是出现次数超过一半的元素。以下是其具体的思想和步骤介绍:核心思想:在任何数组中,出现次数超过一半的元素,其出现次数比</div>
                    </li>
                    <li><a href="/article/1899798403219517440.htm"
                           title="八、Vuex与Composition API的结合:现代化状态管理方案" target="_blank">八、Vuex与Composition API的结合:现代化状态管理方案</a>
                        <span class="text-muted">码说数字化</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/VUE%E5%AE%9E%E6%88%98/1.htm">VUE实战</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a>
                        <div>一、Vuex与CompositionAPI的对比(一)Vuex的优势与不足优势集中式状态管理:在大型应用中,Vuex将所有共享状态集中管理,便于维护和调试。比如一个电商平台,用户信息、购物车状态、商品列表等全局状态都可以统一在Vuex中管理,开发人员能快速定位和修改相关状态逻辑。插件生态丰富:Vuex拥有众多插件,例如时间旅行插件可以方便地回溯状态变化,持久化插件能将状态保存到本地存储,增强了应用</div>
                    </li>
                    <li><a href="/article/1899798276773834752.htm"
                           title="Vue组件化开发:如何将一个大型应用拆分成多个小组件" target="_blank">Vue组件化开发:如何将一个大型应用拆分成多个小组件</a>
                        <span class="text-muted">码说数字化</span>
<a class="tag" taget="_blank" href="/search/%E7%A0%81%E8%AF%B4VUE/1.htm">码说VUE</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/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>在现代前端开发中,组件化开发已经成为一种主流的开发模式。Vue.js作为一款流行的前端框架,提供了强大的组件化支持,使得开发者能够将复杂的应用拆分成多个可复用、易维护的小组件。本文将详细介绍如何利用Vue的组件化开发思想,将一个大型应用拆分成多个小组件进行开发。1.什么是组件化开发?组件化开发是一种将用户界面拆分为独立、可复用的组件的开发方式。每个组件负责特定的功能或视图部分,组件之间通过prop</div>
                    </li>
                    <li><a href="/article/1899794496812544000.htm"
                           title="100.Vue3 + OpenLayers:使用 marker-feature 添加 Marker" target="_blank">100.Vue3 + OpenLayers:使用 marker-feature 添加 Marker</a>
                        <span class="text-muted">吉檀迦俐</span>
<a class="tag" taget="_blank" href="/search/OpenLayers/1.htm">OpenLayers</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/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/openlayers/1.htm">openlayers</a>
                        <div>在前端GIS(地理信息系统)开发中,OpenLayers是一个强大的开源地图库,可以帮助开发者快速构建Web地图应用。本文将详细介绍如何在Vue3项目中,使用OpenLayers并结合marker-feature插件来添加Marker。1.项目初始化如果你的Vue3项目还没有创建,可以使用Vite进行快速搭建:npmcreatevite@latestvue-openlayers-demo--tem</div>
                    </li>
                    <li><a href="/article/1899794243782766592.htm"
                           title="deepseek+ansible实现AI自动化集群部署" target="_blank">deepseek+ansible实现AI自动化集群部署</a>
                        <span class="text-muted">大囚长</span>
<a class="tag" taget="_blank" href="/search/AIOps/1.htm">AIOps</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/ansible/1.htm">ansible</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/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a>
                        <div>DeepSeek与Ansible协同配置Linux集群的完整机制方案,涵盖架构设计、工具调用链及Agent提示词体系:一、系统架构设计(四层联动)![架构图示意]用户交互层→AI决策层→执行引擎层→数据反馈层││││▼▼▼▼Web/CLI→DeepSeek引擎→Ansible→监控系统用户交互层Web界面:支持自然语言输入(如"部署10节点Kafka集群")CLI工具:deepseek-ctlcr</div>
                    </li>
                    <li><a href="/article/1899786680001425408.htm"
                           title="Vue项目构建与启动中的版本依赖问题及解决方案" target="_blank">Vue项目构建与启动中的版本依赖问题及解决方案</a>
                        <span class="text-muted">码农阿豪@新空间</span>
<a class="tag" taget="_blank" href="/search/%E5%8C%85%E7%BD%97%E4%B8%87%E8%B1%A1/1.htm">包罗万象</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/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>个人名片作者简介:java领域优质创作者个人主页:码农阿豪工作室:新空间代码工作室(提供各种软件服务)个人邮箱:[2435024119@qq.com]个人微信:15279484656个人导航网站:www.forff.top座右铭:总有人要赢。为什么不能是我呢?专栏导航:码农阿豪系列专栏导航面试专栏:收集了java相关高频面试题,面试实战总结️Spring5系列专栏:整理了Spring5重要知识点与</div>
                    </li>
                    <li><a href="/article/1899786553618657280.htm"
                           title="Qt 超详细入门指南:开启跨平台开发之旅" target="_blank">Qt 超详细入门指南:开启跨平台开发之旅</a>
                        <span class="text-muted">weixin_44799641</span>
<a class="tag" taget="_blank" href="/search/QT%E5%AD%A6%E4%B9%A0%E4%B8%93%E6%A0%8F/1.htm">QT学习专栏</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>Qt超详细入门指南:开启跨平台开发之旅一、Qt:开发领域的璀璨明珠(一)Qt的定义与定位Qt是一个功能极为强大且全面的跨平台C++应用程序开发框架。它宛如一个庞大的工具库,不仅提供了丰富的类库,还配备了一系列实用的开发工具,致力于帮助开发者高效地创建各类高性能、界面美观且易于维护的应用程序。这些应用程序的适用范围广泛,涵盖了桌面端、嵌入式系统以及移动平台等多个领域,可谓是开发领域中的“多面手”。(</div>
                    </li>
                    <li><a href="/article/1899783906085892096.htm"
                           title="【Prometheus】prometheus 架构介绍" target="_blank">【Prometheus】prometheus 架构介绍</a>
                        <span class="text-muted">Learn Forever</span>
<a class="tag" taget="_blank" href="/search/Prometheus/1.htm">Prometheus</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a>
                        <div>1.组件说明prometheusserver是Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。exporter简单说是采集端,通过http服务的形式保留一个url地址,prometheusserver通过访问该exporter提供的endpoint端点,即可获取到需要采集的监控数据。AlertManager在prometheus中,支持基于PromQL创建告警规则,如</div>
                    </li>
                    <li><a href="/article/1899783022702555136.htm"
                           title="Vue Amazing UI插件推荐" target="_blank">Vue Amazing UI插件推荐</a>
                        <span class="text-muted">前端熊猫</span>
<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/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E6%8F%92%E4%BB%B6%E6%8E%A8%E8%8D%90/1.htm">插件推荐</a>
                        <div>以下是针对VueAmazingUI的综合分析和技术选型建议,结合其技术特性、适用场景及与主流库的对比:一、核心优势解析技术栈轻量高效Vue3+Vite原生支持:充分发挥Vue3的CompositionAPI和Vite的极速构建能力,开发体验流畅。TreeShaking优化:按需引入组件时,最终打包体积显著减小(对比ElementPlus减少约30%),适合对性能敏感的项目。完整的TypeScrip</div>
                    </li>
                    <li><a href="/article/1899779744099004416.htm"
                           title="C语言每日一练Day03——移除元素" target="_blank">C语言每日一练Day03——移除元素</a>
                        <span class="text-muted">不摸鱼的程序员</span>
<a class="tag" taget="_blank" href="/search/%E3%80%8EC%E8%AF%AD%E8%A8%80%E3%80%8F%E5%88%9D%E9%98%B6%2B%E8%BF%9B%E9%98%B6/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/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a>
                        <div>移除元素问题描述解题方案思路一思路二思路三(最优解)总结:问题描述原题链接:https://leetcode.cn/problems/remove-element/解题方案思路一思路一:首先通过简单分析,很明显这是一道顺序表相关问题。首先能够想到的是暴力求解,即思路一:找到所有的val,每次挪动val后的数据覆盖删除val。代码展示:intfind(int*nums,intnumsSize,int</div>
                    </li>
                    <li><a href="/article/1899778231066750976.htm"
                           title="下一个十年财富风口?智享AI三代直播系统招商通道正式开启" target="_blank">下一个十年财富风口?智享AI三代直播系统招商通道正式开启</a>
                        <span class="text-muted">V__17671155793</span>
<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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>下一个十年财富风口?智享AI三代直播系统招商通道正式开启!2024年的商业世界正经历着百年未有的变局。当马斯克的脑机接口突破伦理边界,当ChatGPT重构知识生产关系,一个更宏大的叙事正在浮出水面——**人工智能不再是工具,而是新经济文明的操作系统**。在这场浪潮中,智享AI三代直播系统如同一枚核动力引擎,轰然开启了一个价值万亿的财富航道。它不仅是技术的集大成者,更是未来十年商业规则的制定者。此刻</div>
                    </li>
                    <li><a href="/article/1899777096754982912.htm"
                           title="pythonSTL---sys" target="_blank">pythonSTL---sys</a>
                        <span class="text-muted">MzKyle</span>
<a class="tag" taget="_blank" href="/search/python%E5%BA%93/1.htm">python库</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>sys是Python标准库中的一个内置模块,它提供了许多与Python解释器和系统环境进行交互的功能。1.导入sys模块在使用sys库的功能之前,需要先导入它:importsys2.命令行参数(sys.argv)sys.argv是一个包含命令行参数的列表。其中,sys.argv[0]是脚本的名称,后续的元素是传递给脚本的参数。importsys#打印脚本名称print(f"脚本名称:{sys.ar</div>
                    </li>
                    <li><a href="/article/1899775081903616000.htm"
                           title="在Vue中如何高效管理组件状态?" target="_blank">在Vue中如何高效管理组件状态?</a>
                        <span class="text-muted">几何心凉</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%B0%8F%E5%B8%B8%E8%AF%86/1.htm">前端小常识</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/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>在Vue中如何高效管理组件状态?文章目录在Vue中如何高效管理组件状态?1.引言2.局部状态管理2.1组件内部的data2.2计算属性与Watcher3.父子组件状态传递3.1通过Props与$emit3.2双向绑定(v-model)4.全局状态管理4.1使用Vuex4.2使用Pinia5.组合式API中的响应式状态管理6.最佳实践7.总结1.引言在现代前端开发中,随着应用复杂度的不断提升,组件状</div>
                    </li>
                    <li><a href="/article/1899761090804379648.htm"
                           title="HTML5和CSS3" target="_blank">HTML5和CSS3</a>
                        <span class="text-muted">ningmengjing_</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>一、CSS权重CSS权重指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对元素起作用,权重相同的,后写的样式会覆盖前面写的样式。1.权重的等级可以把样式的应用方式分为几个等级,按照等级来计算权重!important,加在样式属性值后,权重值为10000内联样式,如:style="",权重值为1000ID选择器,如:#content,权重值为100类,伪类和属性选择器,如:con</div>
                    </li>
                    <li><a href="/article/1899759705157332992.htm"
                           title="ECS搭建nginx服务器在阿里云" target="_blank">ECS搭建nginx服务器在阿里云</a>
                        <span class="text-muted">m0_63984008</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
                        <div>需要搭建自己的服务器除了使用本地PC外,我们还可以使用阿里、腾讯、新浪等平台提供的云服务器。本文主要记录在阿里云上运行Ubuntu系统搭建nginx服务器的过程。使用阿里云搭建nginx服务器总体需要以下几个步骤:1、注册阿里云平台账号2、购买开通ECS服务(开通时选择运行操作系统)3、在选择的操作系统上安装nginx程序(难点)4、配置并开启nginx服务器下面详细说明每个过程:1、注册账号:此</div>
                    </li>
                                <li><a href="/article/60.htm"
                                       title="Dom" target="_blank">Dom</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/html/1.htm">html</a>
                                    <div><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml&q</div>
                                </li>
                                <li><a href="/article/187.htm"
                                       title="【Spark九十六】RDD API之combineByKey" target="_blank">【Spark九十六】RDD API之combineByKey</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a>
                                    <div>1. combineByKey函数的运行机制 
  
RDD提供了很多针对元素类型为(K,V)的API,这些API封装在PairRDDFunctions类中,通过Scala隐式转换使用。这些API实现上是借助于combineByKey实现的。combineByKey函数本身也是RDD开放给Spark开发人员使用的API之一 
  
首先看一下combineByKey的方法说明:</div>
                                </li>
                                <li><a href="/article/314.htm"
                                       title="msyql设置密码报错:ERROR 1372 (HY000): 解决方法详解" target="_blank">msyql设置密码报错:ERROR 1372 (HY000): 解决方法详解</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/%E8%AE%BE%E7%BD%AE%E5%AF%86%E7%A0%81/1.htm">设置密码</a>
                                    <div>MySql给用户设置权限同时指定访问密码时,会提示如下错误: 
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number; 
  
问题原因:你输入的密码是明文。不允许这么输入。 
  
解决办法:用select password('你想输入的密码');查询出你的密码对应的字符串, 
然后</div>
                                </li>
                                <li><a href="/article/441.htm"
                                       title="路漫漫其修远兮 吾将上下而求索" target="_blank">路漫漫其修远兮 吾将上下而求索</a>
                                    <span class="text-muted">周凡杨</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0+%E6%80%9D%E7%B4%A2/1.htm">学习 思索</a>
                                    <div>王国维在他的《人间词话》中曾经概括了为学的三种境界古今之成大事业、大学问者,罔不经过三种之境界。“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。学习技术,这也是你必须经历的三种境界。第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。这里,注</div>
                                </li>
                                <li><a href="/article/568.htm"
                                       title="Hadoop(二)对话单的操作" target="_blank">Hadoop(二)对话单的操作</a>
                                    <span class="text-muted">朱辉辉33</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                                    <div>Debug: 
 
1、 
 
A = LOAD '/user/hue/task.txt' USING PigStorage(' ') 
AS (col1,col2,col3); 
DUMP A; 
 
//输出结果前几行示例: 
(>ggsnPDPRecord(21),,) 
(-->recordType(0),,) 
(-->networkInitiation(1),,) 
</div>
                                </li>
                                <li><a href="/article/695.htm"
                                       title="web报表工具FineReport常用函数的用法总结(日期和时间函数)" target="_blank">web报表工具FineReport常用函数的用法总结(日期和时间函数)</a>
                                    <span class="text-muted">老A不折腾</span>
<a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E5%B7%A5%E5%85%B7/1.htm">报表工具</a><a class="tag" taget="_blank" href="/search/web%E5%BC%80%E5%8F%91/1.htm">web开发</a>
                                    <div>web报表工具FineReport常用函数的用法总结(日期和时间函数) 
  
说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd。而且必须用英文环境下双引号(" ")引用。 
  
DATE 
DATE(year,month,day):返回一个表示某一特定日期的系列数。 
Year:代表年,可为一到四位数。 
Month:代表月份。</div>
                                </li>
                                <li><a href="/article/822.htm"
                                       title="c++ 宏定义中的##操作符" target="_blank">c++ 宏定义中的##操作符</a>
                                    <span class="text-muted">墙头上一根草</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a>
                                    <div>#与##在宏定义中的--宏展开 #include <stdio.h> #define f(a,b) a##b #define g(a)   #a #define h(a) g(a) int main() {       &nbs</div>
                                </li>
                                <li><a href="/article/949.htm"
                                       title="分析Spring源代码之,DI的实现" target="_blank">分析Spring源代码之,DI的实现</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/DI/1.htm">DI</a><a class="tag" taget="_blank" href="/search/%E7%8E%B0/1.htm">现</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E4%BB%A3%E7%A0%81/1.htm">源代码</a>
                                    <div>(转) 
   
分析Spring源代码之,DI的实现  
2012/1/3 by tony 
                接着上次的讲,以下这个sample    
[java]  
view plain 
copy 
print 
</div>
                                </li>
                                <li><a href="/article/1076.htm"
                                       title="for循环的进化" target="_blank">for循环的进化</a>
                                    <span class="text-muted">alxw4616</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a>
                                    <div>// for循环的进化
// 菜鸟
for (var i = 0; i < Things.length ; i++) {
	// Things[i]
}

// 老鸟
for (var i = 0, len = Things.length; i < len; i++) {
	// Things[i]
}

// 大师
for (var i = Things.le</div>
                                </li>
                                <li><a href="/article/1203.htm"
                                       title="网络编程Socket和ServerSocket简单的使用" target="_blank">网络编程Socket和ServerSocket简单的使用</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80/1.htm">网络编程基础</a><a class="tag" taget="_blank" href="/search/IP%E5%9C%B0%E5%9D%80%E7%AB%AF%E5%8F%A3/1.htm">IP地址端口</a>
                                    <div>  
网络编程;TCP/IP协议 
  
网络:实现计算机之间的信息共享,数据资源的交换 
  
协议:数据交换需要遵守的一种协议,按照约定的数据格式等写出去 
  
端口:用于计算机之间的通信 
     每运行一个程序,系统会分配一个编号给该程序,作为和外界交换数据的唯一标识 
0~65535 
  
查看被使用的</div>
                                </li>
                                <li><a href="/article/1330.htm"
                                       title="JDK1.5 生产消费者" target="_blank">JDK1.5 生产消费者</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/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/%E7%94%9F%E4%BA%A7%E6%B6%88%E8%B4%B9%E8%80%85/1.htm">生产消费者</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a>
                                    <div>ArrayBlockingQueue: 
       一个由数组支持的有界阻塞队列。此队列按 FIFO(先进先出)原则对元素进行排序。队列的头部 是在队列中存在时间最长的元素。队列的尾部 是在队列中存在时间最短的元素。新元素插入到队列的尾部,队列检索操作则是从队列头部开始获得元素。 
ArrayBlockingQueue的常用方法: 
</div>
                                </li>
                                <li><a href="/article/1457.htm"
                                       title="JAVA版身份证获取性别、出生日期及年龄" target="_blank">JAVA版身份证获取性别、出生日期及年龄</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/%E6%80%A7%E5%88%AB/1.htm">性别</a><a class="tag" taget="_blank" href="/search/%E5%87%BA%E7%94%9F%E6%97%A5%E6%9C%9F/1.htm">出生日期</a><a class="tag" taget="_blank" href="/search/%E5%B9%B4%E9%BE%84/1.htm">年龄</a>
                                    <div>        工作中需要根据身份证获取性别、出生日期及年龄,且要还要支持15位长度的身份证号码,网上搜索了一下,经过测试好像多少存在点问题,干脆自已写一个。 
CertificateNo.java 
package com.bijian.study;

import java.util.Calendar;
import </div>
                                </li>
                                <li><a href="/article/1584.htm"
                                       title="【Java范型六】范型与枚举" target="_blank">【Java范型六】范型与枚举</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>首先,枚举类型的定义不能带有类型参数,所以,不能把枚举类型定义为范型枚举类,例如下面的枚举类定义是有编译错的 
  
public enum EnumGenerics<T> { //编译错,提示枚举不能带有范型参数
    OK, ERROR;
    public <T> T get(T type) {
        return null;
    </div>
                                </li>
                                <li><a href="/article/1711.htm"
                                       title="【Nginx五】Nginx常用日志格式含义" target="_blank">【Nginx五】Nginx常用日志格式含义</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                                    <div>1. log_format 
1.1 log_format指令用于指定日志的格式,格式: 
  
log_format name(格式名称) type(格式样式) 
  
1.2 如下是一个常用的Nginx日志格式: 
  
log_format      main    '[$time_local]|$request_time|$status|$body_bytes</div>
                                </li>
                                <li><a href="/article/1838.htm"
                                       title="Lua 语言 15 分钟快速入门" target="_blank">Lua 语言 15 分钟快速入门</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/lua+%E5%9F%BA%E7%A1%80/1.htm">lua 基础</a>
                                    <div>-
- 
单行注释   
-
-
[[   
    
[多行注释]   
-
-
]]       
-
-
-
-
-
-
-
-
-
-   
- 
1. 
变量 & 控制流   
-
-
-
-
-
-
-
-
-
-   
num 
= 
23 
-
- 
数字都是双精度   
str 
= 
'aspythonstring' 
</div>
                                </li>
                                <li><a href="/article/1965.htm"
                                       title="java-35.求一个矩阵中最大的二维矩阵 ( 元素和最大 )" target="_blank">java-35.求一个矩阵中最大的二维矩阵 ( 元素和最大 )</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>the idea is from: 
http://blog.csdn.net/zhanxinhang/article/details/6731134 
 


public class MaxSubMatrix {

	/**see http://blog.csdn.net/zhanxinhang/article/details/6731134
	 * Q35
求一个矩阵中最大的二维</div>
                                </li>
                                <li><a href="/article/2092.htm"
                                       title="mongoDB文档型数据库特点" target="_blank">mongoDB文档型数据库特点</a>
                                    <span class="text-muted">开窍的石头</span>
<a class="tag" taget="_blank" href="/search/mongoDB%E6%96%87%E6%A1%A3%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93%E7%89%B9%E7%82%B9/1.htm">mongoDB文档型数据库特点</a>
                                    <div>MongoDD: 文档型数据库存储的是Bson文档-->json的二进制 
 
特点:内部是执行引擎是js解释器,把文档转成Bson结构,在查询时转换成js对象。 
 
mongoDB传统型数据库对比 
   传统类型数据库:结构化数据,定好了表结构后每一个内容符合表结构的。也就是说每一行每一列的数据都是一样的 
   文档型数据库:不用定好数据结构,</div>
                                </li>
                                <li><a href="/article/2219.htm"
                                       title="[毕业季节]欢迎广大毕业生加入JAVA程序员的行列" target="_blank">[毕业季节]欢迎广大毕业生加入JAVA程序员的行列</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div> 
    一年一度的毕业季来临了。。。。。。。。 
 
     正在投简历的学弟学妹们。。。如果觉得学校推荐的单位和公司不适合自己的兴趣和专业,可以考虑来我们软件行业,做一名职业程序员。。。 
 
     软件行业的开发工具中,对初学者最友好的就是JAVA语言了,网络上不仅仅有大量的</div>
                                </li>
                                <li><a href="/article/2346.htm"
                                       title="PHP操作Excel – PHPExcel 基本用法详解" target="_blank">PHP操作Excel – PHPExcel 基本用法详解</a>
                                    <span class="text-muted">cuiyadll</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>导出excel属性设置//Include classrequire_once('Classes/PHPExcel.php');require_once('Classes/PHPExcel/Writer/Excel2007.php');$objPHPExcel = new PHPExcel();//Set properties 设置文件属性$objPHPExcel->getProperties</div>
                                </li>
                                <li><a href="/article/2473.htm"
                                       title="IBM Webshpere MQ Client User Issue (MCAUSER)" target="_blank">IBM Webshpere MQ Client User Issue (MCAUSER)</a>
                                    <span class="text-muted">darrenzhu</span>
<a class="tag" taget="_blank" href="/search/IBM/1.htm">IBM</a><a class="tag" taget="_blank" href="/search/jms/1.htm">jms</a><a class="tag" taget="_blank" href="/search/user/1.htm">user</a><a class="tag" taget="_blank" href="/search/MQ/1.htm">MQ</a><a class="tag" taget="_blank" href="/search/MCAUSER/1.htm">MCAUSER</a>
                                    <div>IBM MQ JMS Client去连接远端MQ Server的时候,需要提供User和Password吗? 
答案是根据情况而定,取决于所定义的Channel里面的属性Message channel agent user identifier (MCAUSER)的设置。 
 
 
http://stackoverflow.com/questions/20209429/how-mca-user-i</div>
                                </li>
                                <li><a href="/article/2600.htm"
                                       title="网线的接法" target="_blank">网线的接法</a>
                                    <span class="text-muted">dcj3sjt126com</span>

                                    <div>一、PC连HUB (直连线)A端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 二、PC连PC (交叉线)A端:(568A): 白绿,绿,白橙,蓝,白蓝,橙,白棕,棕; B端:(标准568B):白橙,橙,白绿,蓝,白蓝,绿,白棕,棕。 三、HUB连HUB&nb</div>
                                </li>
                                <li><a href="/article/2727.htm"
                                       title="Vimium插件让键盘党像操作Vim一样操作Chrome" target="_blank">Vimium插件让键盘党像操作Vim一样操作Chrome</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a>
                                    <div>什么是键盘党? 
 
 键盘党是指尽可能将所有电脑操作用键盘来完成,而不去动鼠标的人。鼠标应该说是新手们的最爱,很直观,指哪点哪,很听话!不过常常使用电脑的人,如果一直使用鼠标的话,手会发酸,因为操作鼠标的时候,手臂不是在一个自然的状态,臂肌会处于绷紧状态。而使用键盘则双手是放松状态,只有手指在动。而且尽量少的从鼠标移动到键盘来回操作,也省不少事。 
 在chrome里安装 vimium 插件 
</div>
                                </li>
                                <li><a href="/article/2854.htm"
                                       title="MongoDB查询(2)——数组查询[六]" target="_blank">MongoDB查询(2)——数组查询[六]</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/MongoDB%E6%9F%A5%E8%AF%A2%E6%95%B0%E7%BB%84/1.htm">MongoDB查询数组</a>
                                    <div>MongoDB查询数组 
转载请出自出处:http://eksliang.iteye.com/blog/2177292 一、概述 
 MongoDB查询数组与查询标量值是一样的,例如,有一个水果列表,如下所示: 
> db.food.find()
{ "_id" : "001", "fruits" : [ "苹</div>
                                </li>
                                <li><a href="/article/2981.htm"
                                       title="cordova读写文件(1)" target="_blank">cordova读写文件(1)</a>
                                    <span class="text-muted">gundumw100</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/Cordova/1.htm">Cordova</a>
                                    <div>使用cordova可以很方便的在手机sdcard中读写文件。 
 
首先需要安装cordova插件:file 
命令为: 
 
cordova plugin add org.apache.cordova.file 
 
然后就可以读写文件了,这里我先是写入一个文件,具体的JS代码为: 
 


var datas=null;//datas need write
var directory=&</div>
                                </li>
                                <li><a href="/article/3108.htm"
                                       title="HTML5 FormData 进行文件jquery ajax 上传 到又拍云" target="_blank">HTML5 FormData 进行文件jquery ajax 上传 到又拍云</a>
                                    <span class="text-muted">ileson</span>
<a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/FormData/1.htm">FormData</a>
                                    <div>html5 新东西:FormData  可以提交二进制数据。 
 
 
页面test.html 
 

<!DOCTYPE>
<html>
<head>
<title> formdata file jquery ajax upload</title>
</head>

<body>
<</div>
                                </li>
                                <li><a href="/article/3235.htm"
                                       title="swift appearanceWhenContainedIn:(version1.2 xcode6.4)" target="_blank">swift appearanceWhenContainedIn:(version1.2 xcode6.4)</a>
                                    <span class="text-muted">啸笑天</span>
<a class="tag" taget="_blank" href="/search/version/1.htm">version</a>
                                    <div>  
swift1.2中没有oc中对应的方法: 
+ (instancetype)appearanceWhenContainedIn:(Class <UIAppearanceContainer>)ContainerClass, ... NS_REQUIRES_NIL_TERMINATION; 
 解决方法: 
在swift项目中新建oc类如下: 
#import &</div>
                                </li>
                                <li><a href="/article/3362.htm"
                                       title="java实现SMTP邮件服务器" target="_blank">java实现SMTP邮件服务器</a>
                                    <span class="text-muted">macroli</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a>
                                    <div>电子邮件传递可以由多种协议来实现。目前,在Internet 网上最流行的三种电子邮件协议是SMTP、POP3 和 IMAP,下面分别简单介绍。 
  ◆ SMTP 协议 
  简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一个运行在TCP/IP之上的协议,用它发送和接收电子邮件。SMTP 服务器在默认端口25上监听。SMTP客户使用一组简单的、基于文本的</div>
                                </li>
                                <li><a href="/article/3489.htm"
                                       title="mongodb group by having where 查询sql" target="_blank">mongodb group by having where 查询sql</a>
                                    <span class="text-muted">qiaolevip</span>
<a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/mongo/1.htm">mongo</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a>
                                    <div>SELECT cust_id,
       SUM(price) as total
FROM orders
WHERE status = 'A'
GROUP BY cust_id
HAVING total > 250

db.orders.aggregate( [
   { $match: { status: 'A' } },
   {
     $group: {
</div>
                                </li>
                                <li><a href="/article/3616.htm"
                                       title="Struts2 Pojo(六)" target="_blank">Struts2 Pojo(六)</a>
                                    <span class="text-muted">Luob.</span>
<a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/strust2/1.htm">strust2</a>
                                    <div>注意:附件中有完整案例 
1.采用POJO对象的方法进行赋值和传值 
2.web配置 
 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee&q</div>
                                </li>
                                <li><a href="/article/3743.htm"
                                       title="struts2步骤" target="_blank">struts2步骤</a>
                                    <span class="text-muted">wuai</span>
<a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a>
                                    <div>1、添加jar包 
2、在web.xml中配置过滤器 
 <filter> 
       <filter-name>struts2</filter-name> 
       <filter-class>org.apache.st</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>