bind

前端必知必会之 JS 单线程与异步

半腔热情 提交于 2020-12-18 07:48:38
https://juejin.im/post/5e55272e6fb9a07ca453436f 已知,JavaScript 是单线程的,天生异步,适合 IO 密集型,不适合 CPU 密集型,但是,为什么是异步的喃,异步由何而来的喃,我们将在这里逐渐讨论实现。 一、进程与线程 1. 浏览器是多进程的 它主要包括以下进程: Browser 进程:浏览器的主进程,唯一,负责创建和销毁其它进程、网络资源的下载与管理、浏览器界面的展示、前进后退等。 GPU 进程:用于 3D 绘制等,最多一个。 第三方插件进程:每种类型的插件对应一个进程,仅当使用该插件时才创建。 浏览器渲染进程(浏览器内核):内部是多线程的,每打开一个新网页就会创建一个进程,主要用于页面渲染,脚本执行,事件处理等。 2. 渲染进程(浏览器内核) 浏览器的渲染进程是多线程的,页面的渲染,JavaScript 的执行,事件的循环,都在这个进程内进行: GUI 渲染线程:负责渲染浏览器界面,当界面需要重绘(Repaint)或由于某种操作引发回流(Reflow)时,该线程就会执行。 JavaScript 引擎线程:也称为 JavaScript 内核,负责处理 Javascript 脚本程序、解析 Javascript 脚本、运行代码等。(例如 V8 引擎) 事件触发线程:用来控制浏览器事件循环,注意这不归 JavaScript

前端必知必会之 JS 单线程与异步

我们两清 提交于 2020-12-18 07:48:27
https://juejin.im/post/5e55272e6fb9a07ca453436f 已知,JavaScript 是单线程的,天生异步,适合 IO 密集型,不适合 CPU 密集型,但是,为什么是异步的喃,异步由何而来的喃,我们将在这里逐渐讨论实现。 一、进程与线程 1. 浏览器是多进程的 它主要包括以下进程: Browser 进程:浏览器的主进程,唯一,负责创建和销毁其它进程、网络资源的下载与管理、浏览器界面的展示、前进后退等。 GPU 进程:用于 3D 绘制等,最多一个。 第三方插件进程:每种类型的插件对应一个进程,仅当使用该插件时才创建。 浏览器渲染进程(浏览器内核):内部是多线程的,每打开一个新网页就会创建一个进程,主要用于页面渲染,脚本执行,事件处理等。 2. 渲染进程(浏览器内核) 浏览器的渲染进程是多线程的,页面的渲染,JavaScript 的执行,事件的循环,都在这个进程内进行: GUI 渲染线程:负责渲染浏览器界面,当界面需要重绘(Repaint)或由于某种操作引发回流(Reflow)时,该线程就会执行。 JavaScript 引擎线程:也称为 JavaScript 内核,负责处理 Javascript 脚本程序、解析 Javascript 脚本、运行代码等。(例如 V8 引擎) 事件触发线程:用来控制浏览器事件循环,注意这不归 JavaScript

mybatis连接MySQL乱码

我怕爱的太早我们不能终老 提交于 2020-12-18 02:42:40
首先我想说这个问题.对于我来说坑了一下午 首先问题就是我用mybatispuls 连接mysql 第一步 jdbc:mysql: // localhost:3306/11e?useUnicode=true&characterEncoding=UTF-8 先把连接改了.设置utf-8 ,但是发现问题并没有解决 第二步. 然后我在是不是没有没有配置my.cnf 查找MySQL用到的my.cnf ps aux|grep mysql|grep ' my.cnf ' 发现没有找到. mysql --help |grep ' my.cnf ' 使用这个命令发现有 在etc/下创建 my.cnf # Default Homebrew MySQL server config [mysqld] # Only allow connections from localhost bind -address = 127.0 . 0.1 default -character- set = utf8 [mysqld] character - set -server= utf8 init_connect = ’SET NAMES utf8’ [client] default -character- set =utf8mb4 mysql: [Warning] World-writable config file '

Vue组件之props选项

白昼怎懂夜的黑 提交于 2020-12-17 15:49:56
Vue组件选项props 前面的话   组件接受的选项大部分与Vue实例一样,而选项props是组件中非常重要的一个选项。在 Vue 中,父子组件的关系可以总结为 props down, events up。父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发送消息。本文将详细介绍Vue组件选项props 父子级组件   在介绍props之前,先介绍父子级组件的写法   在一个良好定义的接口中尽可能将父子组件解耦是很重要的。这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性 【错误写法】   现在来介绍两种父子级组件的错误写法   下面这种形式的写法是错误的,因为当子组件注册到父组件时,Vue.js会编译好父组件的模板,模板的内容已经决定了父组件将要渲染的HTML   <parent>...</parent> 运行时,它的一些子标签只会被当作普通的HTML来执行,<child></child>不是标准的HTML标签,会被浏览器直接忽视掉 <div id="example"> <parent> <child></child> <child></child> </parent> </div>   在父组件标签之外使用子组件也是错误的 <div id="example"> <parent></parent> <child>

JQuery中的bind()和unbind()的理解

我的梦境 提交于 2020-12-17 05:23:57
bind()和unbind()提供了事件的绑定和取消机制,既可以绑定html默认支持的事件,也能够绑定自定义的事件。 1、JQuery中事件可以重复绑定,不会覆盖。 1 $("#button1").bind("click", function (){ 2 alert("func1" ); 3 }); 4 $("#button1").bind("click", function (){ 5 alert("func2" ); 6 }); 1 $("#button1").bind("click" ,sameFunc); 2 $("#button1").bind("click" ,sameFunc); 3 4 function sameFunc() 5 { 6 alert("func" ); 7 } 当点击button1的时候,这2个事件处理函数都会触发。上面绑定的是不同的匿名函数,占用不同的内存空间。就算是同一个处理函数,依然存在重复绑定问题。当button1被点击的时候,上面的事件处理函数同样会被调用2次。 2、使用bind一次绑定多个事件和处理函数。 如果多个事件需要注册相同的处理函数,那么可以使用如下代码进行简化(事件名称使用空格分隔): 1 $("#button1").bind("mousedown mouseup", function (){ 2 console.log(11

jQuery bind命名空间

本秂侑毒 提交于 2020-12-17 05:04:11
https://blog.csdn.net/honglei_zh/article/details/7834431 在没有看到这篇 文章之前,我一直不知道原来bind也可以有命名空间。事实上,我看完这篇文章后,再去翻了一下手册,也才发现了一点点的注释。但手册也仅仅是一句话就带 过去了。没有过多的深究,或许他认为命名空间这玩意很简单,没有必要多解释? 先看手册,由于bind方法有三个参数(type,[data],fn),所以手册上这么介绍: .bind() 方法是用于往文档上附加行为的主要方式。所有Jav aS cr ip t事件对象, 比如focus, mou seo ver, 和 resize,都是可以作为type参数传递进来的。 jQuery 还提供了一些绑定这些标准事件类型的简单方式,比如.click()用于简 化.bind('click')。一共有以下这 些:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select , submit, keydown, keypress, keyup, error

​Docker数据管理

别说谁变了你拦得住时间么 提交于 2020-12-16 20:45:22
点击上方蓝色字关注 [ 啃饼思录 ]~ Docker数据管理 写在前面 在前面我们详细学习了docker的三大核心概念:镜像、容器和仓库,接下来开始学习如何管理数据。在实际工作中使用docker,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,此时必然会使用到容器数据管理的各种操作。 容器中的数据管理主要有两种方式:(1)数据卷(Data Volumes),表示容器内数据直接映射到本地主机环境;(2)数据卷容器(Data Volume Containers),表示使用特定容器维护数据卷。 本篇就来学习docker数据管理相关的知识,首先会介绍如何在容器内创建数据卷,并且把本地目录或者文件挂载到容器内的数据卷中,接着介绍如何使用数据卷容器在容器和宿主机、容器和容器之间共享数据,并实现数据的备份和恢复。 数据卷 数据卷(Data Volumes)是一个可供容器使用的特殊目录,它将宿主机操作系统目录直接映射进容器,有点类似于Linux操作系统中的mount行为。 数据卷特性 数据卷提供很多特性,包括且不限于以下几点:(1)数据卷可以在容器之间共享和重用,容器间传递数据将变得高效与方便;(2)无论是容器内操作还是本地操作,用户对数据卷内数据的修改会立马生效;(3)用户对数据卷的更新不会影响到镜像,可以解耦应用和数据;(4)数据卷会一直存在,直到没有容器使用

网络编程

你离开我真会死。 提交于 2020-12-16 12:55:48
阅读目录 一.楔子 二.客户端/服务端架构 三.网络基础 四.套接字(socket)初使用 五.黏包 六.验证客户端链接的合法性 七.socketserver 回到顶部 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了。 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢? 类似的机制有计算机网盘,qq等等。我们可以在我们的电脑上和别人聊天,可以在自己的电脑上向网盘中上传、下载内容。这些都是两个程序在通信。 回到顶部 二.软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构~ 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。

clojure GUI编程-1

…衆ロ難τιáo~ 提交于 2020-12-16 09:23:27
clojure GUI编程-1 clojure GUI编程-1 目录 1. 简介 2. 实现过程 2.1. 添加依赖包 2.2. API请求的实现 2.3. gui界面的实现 2.4. 界面实时刷新的改进 2.5. 改进方法2 3. 总结 1 简介 最近了解了下GUI编程,测试了实时刷新GUI的编程方法,作为总结,记录下来。 具体示例以okex交易行情为例子,写一个GUI程序,界面要实时刷新当前行情。 参考 官方地址 。 okex的 API地址 , 主要用到获取币对信息,和深度数据。 2 实现过程 2.1 添加依赖包 新建deps.edn文件,添加依赖项: 1: { :aliases 2: { 3: ;; 运行初始代码 clj -A:run 4: :run { :main-opts [ "-m" "core" ] } 5: 6: ;; 用于运行改进后的代码 clj -A:run2 7: :run2 { :main-opts [ "-m" "core2" ] } } , 8: 9: :deps 10: { 11: org.clojure /clojure { : mvn / version "1.10.0" } , 12: com.cemerick /url { : mvn / version "0.1.1" } , ;; uri处理 13: slingshot { : mvn /

future面试

怎甘沉沦 提交于 2020-12-16 09:18:34
1) var a = []; a[100] = 1; console.log(a.length); // 101 console.log(a[0]); // undefined a[200] = undefined; console.log(a.length); // 201 console.log(a['100']); // 1 2)函数中this指向什么? call, apply, bind的用法和区别。 3)说说对prototype和__proto__的理解 4) var s = []; function foo() { for (var i = 0; i < 3; i++) { s[i] = function () { console.log(i); } } } foo(); // 空 s[0](); // 3 s[1](); // 3 s[2](); // 3 5)说说ES6为什么要引入let关键字? 6)什么是draw call?为什么减少draw call可以优化游戏速度?如何建撒后draw call?在creator中如何做? 7)一张1024*1024, 16位的贴图,在内存里面占多少个字节? 8)cocos中sprite的Blend属性,Src Blend Factor设置为SRC_ALPHA, Dst Blend Factor设置为ONE_SRC