bind

管理Docker数据[译]

浪子不回头ぞ 提交于 2020-11-22 07:48:08
管理Docker数据 2018-04-12 原文链接: https://docs.docker.com/storage/ 在容器的可写层可以存储数据,但是有如下缺点: 容器不再运行时,数据将不会持续存在,数据很难从容器中取出。 容器可写层与容器运行的宿主紧耦合。无法在不同主机之间很好的进行数据迁移。 在容器可写层数据写入数据,需要一个storage driver来管理文件系统。数据写入容器的读写层需要内核提供联合文件系统,相比使用data volumes直接写数据到宿主文件系统,这种抽象会带来开销。 Docker提供了三种不同的管理宿主上容器数据的方式: volumes , bind mounts 和 tmpfs volumes . 选择合适的mount类型 无论你选择哪种mount 类型,在容器中看到的数据都相同。即在容器文件系统中以目录或者独立文件的形式存在。 一种比较简单的方式区分 volumes, bind mounts 和 tmpfs mounts ,是通过区分数据存放在Docker宿主的具体位置。 Volumes: 存放宿主文件系统下的 /var/lib/docker/volumes 目录,非Docker进程不能修改这部分文件系统。Volumes是管理Docker持久化数据最好的方式。 Bind mounts: 存放在宿主的任意位置,可以是重要的系统文件或目录

有关Javascript的面试题

别说谁变了你拦得住时间么 提交于 2020-11-22 06:46:16
获取页面元素位置与宽高? element.clientWidth = content + padding element.clientHeight = content + padding element.getBoundingClientRect() 返回值情况 left:包围盒左边 border 以外的边缘距页面左边的距离 right:包围盒右边 border 以外的边缘距页面左边的距离 top:包围盒上边 border 以外的边缘距页面顶部的距离 bottom:包围盒下边 border 以外的便于距页面顶部的距离 width: content + padding + border height: content + padding + border 注意,设置外边距时外边距合并的情况 requestAnimationFrame 原理?是同步还是异步? 异步,传入的函数在重绘之前调用 js事件机制?点击屏幕上一个按钮,事件是如何传播的? 冒泡 下面代码输出结果?为什么? Function.prototype.a = 'a'; Object.prototype.b = 'b'; function Person(){}; var p = new Person(); console.log('p.a: '+ p.a); // p.a: undefined console.log('p

Jquery中事件的重复绑定

时光怂恿深爱的人放手 提交于 2020-11-22 01:55:33
问题:事件的绑定具有叠加效果,已有绑定的函数时,再次绑定,执行时会出现绑定多少次,触发多少次的情况 解决:1.on();绑定事件,提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind()、 delegate()、 live()等事件函数 off();解除绑定事件 $("#btn1").off("click").on("click", function (){   alert( "我是btn1!" );   }); 2.bind();绑定事件 unbind();移除通过bind()方法添加的事件 $("#btn1").unbind("click").bind("click", function (){   alert( "我是btn1!" );   });   $("#btn1").unbind().click( function (){ alert( "我是btn1!" ); }); 3.one();方法 绑定的事件处理函数只会执行一次。   $("#btn1").one("click", function (){   alert( "我只执行一次!" );   }); 来源: oschina 链接: https://my.oschina.net/u/4265488/blog/3918281

React Hooks实践体会

为君一笑 提交于 2020-11-22 01:40:21
一、前言 距离React Hook发布已经有一段时间了,笔者在之前也一直在等待机会来尝试一下Hook,并且是尝试用Hook的方式构建整个项目,正好公司的新的存储项目启动了,需要一个新的B端的web管理平台,机会就来了。笔者公司之前的前端项目都基于笔者之前在React Class组件以生命周期的方式下搭建的工程化框架和业务最佳实践的架子。其他非笔者开发和维护的项目也都基于这套架子。组内有个小伙伴参加了所在城市在三月底举行前端开发者大会,回来给我说会上讲Hook了,但基本上都是在讲官方文档,并没有讲实际的实践,小伙伴觉得太low了。笔者当时心想在下一个项目里一定要玩把大的,推翻我们之前那两个项目的架子设计,重来一遍,不使用任何Class组件+生命周期的方式,采用全函数式组件+Hook的方式,仅保留Redux那套体系,以及一些经过长期业务沉淀下来的、可复用的工具函数等东西。 要这么做还有一个重要理由就是,在后面一些组件库的大版本更新有很大的可能都会抛弃对老生命周期的支持,在后面进行组件库升级的时候,会被迫升级React,进而会面临大量的业务逻辑修改。而换成Hook以后,可以直接在业务代码中彻底告别生命周期的组件设计方式。毕竟这个项目是长时间支持的,不可能只维持几个月,要为后续的迭代提前考虑。 在项目未进入正式开发前的两周预研时间里

阿里云oss文件存储

↘锁芯ラ 提交于 2020-11-22 00:06:13
package com.cqcfs.storage.oss.service; import java.io.InputStream; /** * 文件上传接口 * * @author kongweichun * @date 2017-12-14-上午10:45 */ public interface FileStorage{ /** * 上传文件 * * @param fileBytes 文件的字节数组 * @param key 文件名 * @return 文件标识的唯一id * @author LIQIU * @Date 2017/12/14 上午11:28 */ void store( byte [] fileBytes, String key); /** * 存储输入流 * * @param input * @param key */ void store(InputStream input, String key); /** * 下载文件 * * @param key 文件名(带后缀名的) * @author LIQIU * @Date 2017/12/14 上午11:28 */ byte [] getBytes(String key); /** * 通过KEY删除文件 * * @param key */ void remove(String key); /** *

注解跨域踩坑@CrossOrigin

此生再无相见时 提交于 2020-11-21 04:24:03
org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'keyword' is not present 花蛇添足了, 请求成功后台报错 后台报错 页面测试两者没啥区别就是Josn的区别都可 去掉后成功获取结果数据 不要放开注释掉的代码 否则就报下面的错误 最终拿到数据 附上html的测试代码。 <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"> <script type="text/javascript" src="https://tugenhua0707.github.io/html5UploadImage/js/jquery.js"></script> </head> <body> <div id="app"> <div class="btn"><button>发送post请求</button></div> </div> <a href=""

【面试】40道题搞定 JavaScript 的 this

纵饮孤独 提交于 2020-11-20 04:31:55
这篇文章是我整理和自编的一些 this 面试题,其实在写之前,我也没想到关于 this 面试题能有这么的考点,但是如果你的思想开放一点,大胆一点,结合例如 let 、闭包、 forEach、map等ES6方法 来出题的话,会发现一些好玩有趣的题。 咳咳,开玩笑的哈,这篇文章对你理解 this 还是挺有帮助的,所以,请放心"食用"吧。😁 让我们来看看,通过阅读本篇文章你可以学习到: this 的默认绑定 隐式绑定 隐式绑定的隐式丢失问题 显式绑定 显式绑定的其它用法 new 绑定 箭头函数绑定 综合题 几道手写题 前期准备 在正式阅读之前,你需要知道 this 的5种绑定方式: 默认绑定(非严格模式下this指向全局对象, 严格模式下 this 会绑定到 undefined ) 隐式绑定(当函数引用有 上下文对象 时, 如 obj.foo() 的调用方式, foo 内的 this 指向 obj ) 显示绑定(通过 call() 或者 apply() 方法直接指定 this 的绑定对象, 如 foo.call(obj) ) new绑定 箭头函数绑定( this 的指向由外层作用域决定的) 1. 默认绑定 先介绍一种最简单的绑定方式吧: 默认绑定 。 也就是我们常说的:在非严格模式下 this 指向的是全局对象 window ,而在严格模式下会绑定到 undefined 。 1.1

jQuery的事件委托方法bind 、live、delegate、on之间有什么区别?

不问归期 提交于 2020-11-19 21:21:14
(1)、bind 【jQuery 1.3之前】 定义和用法:主要用于给选择到的元素上绑定特定事件类型的监听函数; 语法:bind(type,[data],function(eventObject)); 特点: (1)、适用于页面元素静态绑定。只能给调用它的时候已经存在的元素绑定事件,不能给未来新增的元素绑定事件。 (2)、当页面加载完的时候,你才可以进行bind(),所以可能产生效率问题。 实例如下:$( “#members li a” ).bind( “click”, function( e ) {} ); (2)、live 【jQuery 1.3之后】 定义和用法:主要用于给选择到的元素上绑定特定事件类型的监听函数; 语法:live(type, [data], fn); 特点: (1)、live方法并没有将监听器绑定到自己(this)身上,而是绑定到了this.context上了。 (2)、live正是利用了事件委托机制来完成事件的监听处理,把节点的处理委托给了document,新添加的元素不必再绑定一次监听器。 (3)、使用live()方法但却只能放在直接选择的元素后面,不能在层级比较深,连缀的DOM遍历方法后面使用,即( “ u l ” " ) . l i v e . . . 可 以 , 但 (“ul”").live...可以,但(“ul”").live...可以,但(

【编程鹿】学Vue.js这一篇就够了「万字学会|通俗易懂」上篇

半世苍凉 提交于 2020-11-19 20:19:12
1540394364528 vue概述 mvvm模式 image-20201001110548401 M:即Model,模型,包括数据和一些基本操作 V:即View,视图,页面渲染结果 VM:即View-Model,模型与视图间的双向操作(无需开发人员干涉) 在MVVM之前,开发人员从后端获取需要的数据模型,然后要通过DOM操作Model渲染到View中。而后当用户操作视图,我们还需要通过DOM获取View中的数据,然后同步到Model中。 而MVVM中的VM要做的事情就是把DOM操作完全封装起来,开发人员不用再关心Model和View之间是如何互相影响的: 只要我们Model发生了改变,View上自然就会表现出来。 当用户修改了View,Model中的数据也会跟着改变。 把开发人员从繁琐的DOM操作中解放出来,把关注点放在如何操作Model上。 mvvm模式的优势: 低耦合 视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上,当View变化时Model可以不变,当Model变化时View也可以不变 可重用性 可以把一些视图逻辑放在一个ViewModel里面,让多个View重用这段视图逻辑代码 独立开发 开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计。 而我们今天要学习的