目录 0. 摘要 1. nginx模块组织结构 2. nginx模块数据结构 3. nginx模块初始化 4. 一个简单的http模块 5. 小结 6. 参考资料 0. 摘要 nginx有五大优点:模块化.事件驱动.异步.非阻塞.多进程单线程.其中,模块化设计类似于面向对象中的接口类,它增强了nginx源码的可读性.可扩充性和可维护性. nginx-1.4.0总共有5大一类模块:core.conf.event.http.mail,和48个二类模块(我自己的安装版本).每个模块有属于自己的配置项,…
Spring Boot 命名配置很少,却可以做到和其他配置复杂的框架相同的功能工作,从源码来看是怎么做到的. 我这里使用的Spring Boot版本是 2.0.1.RELEASE Spring Boot最重要的注解: @SpringBootApplication 打开它: 其中的几个注解: @SpringBootConfiguration 标注这个类是一个配置类,类似Spring的@Configuration @EnableAutoConfiguration 开启自动配置 @ComponentS…
我们先来看一下jQuery中有多少个方法是用来操作元素属性的. 首先,看一下实例方法: 然后,看下静态方法(工具方法): 静态方法是内部使用的,我们外面使用的很少,实例方法才是对外的. 接下来,我们来看下一些方法是如何使用的? $("#div1").attr("title","hello") ,设置属性,两个参数时. $("#div1").attr("title") , 获取属性值,一个参数时. $(&qu…
jQuery的工具方法,其实就是静态方法,源码里面就是通过extend方法,把这些工具方法添加给jQuery构造函数的. jQuery.extend({ ...... guid: 1, //唯一标识符,跟事件有关.举个例子:function show(){alert(this);}, $("#input1").click(show),$("#input2").click(function(){$("#input1").off()}),这里的sho…
AOP的基础是Java动态代理,了解和使用两种动态代理能让我们更好地理解 AOP,在讲解AOP之前,让我们先来看看Java动态代理的使用方式以及底层实现原理. 转自https://www.jianshu.com/u/668d0795a95b 本文是基于jdk1.8来对动态代理的底层机制进行探究的 Java代理介绍 Java中代理的实现一般分为三种:JDK静态代理.JDK动态代理以及CGLIB动态代理.在Spring的AOP实现中,主要应用了JDK动态代理以及CGLIB动态代理.但是本文着重介绍J…
$.map() 函数用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回,该函数有三个参数,如下: elems Array/Object类型 指定的需要处理的数组或对象. callback 遍历时执行的回调函数 arg 参数,执行回调函数时传入的参数 callback函数执行时可以带两个参数,分别是遍历时对应的值和它的索引(对象来说则是键名),如果有返回值,则将返回值拼凑为一个数组 $.fn.map()返回值是一个jQuery对象,它也是调用$.map()来实…
$.each一般用来遍历一个数组或对象,$.fn.each()就是指jQuery实例可以执行的操作(因为$.fn是jQuery对象的原型) $.each用来遍历一个数组或对象,并依次执行回掉函数,最后返回传递的数组或对象,以支持链式操作,可以传递三个参数,如下: object 待遍历的对象或数组 callback 要执行的函数,该函数可以带两个参数,分别表示该元素的索引(如果遍历对象则为键名)和值 writer by:大沙漠 QQ:22969969 args  一个数组,如果设置了该值,则参数2…
双大括号会将数据解释为普通文本,而非 HTML 代码.为了输出真正的 HTML,你需要使用 v-html 指令,例如: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vu…
先来看看官网的介绍: 简单的说,当组件的引入层次过多,我们的子孙组件想要获取祖先组件的资源,那么怎么办呢,总不能一直取父级往上吧,而且这样代码结构容易混乱.这个就是这对选项要干的事情 provide和inject需要配合使用,它们的含义如下: provide        ;一个对象或返回一个对象的函数,该对象包含可注入起子孙的属性,可以使用ES6的Symbols作为key(只有原生支持Symbol才可以)inject         ;一个字符串数组或一个对象             ;字符串…
先来看看官网的介绍: 官网介绍的很好理解了,也就是监听一个数据的变化,当该数据变化时执行我们的watch方法,watch选项是一个对象,键为需要观察的数据名,值为一个表达式(函数),还可以是一个对象,如果时对象可以包含如下几个属性: handler         ;对应的函数                          ;可以带两个参数,分别是新的值和旧的值,上下文为当前Vue实例            immediate     ;侦听开始之后是否立即调用 ;默认为false     …