node

浏览器渲染-css阻塞

半世苍凉 提交于 2020-02-06 18:38:47
引用 由于关系到文件的读取,那是肯定需要服务器的,我会把全部的文件放在 github 上 node 端唯一需要解释一下的是这个函数: function sleep(time) { return new Promise(function(res) { setTimeout(() => { res() }, time); }) } 嗯!其实就延时啦。如果 CSS 或者 JS 文件名有 sleep3000 之类的前缀时,意思就是延迟3000毫秒才会返回这文件。 下文使用的 HTML 文件是长这样的: 1234567891011121314151617 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> div { width: 100px; height: 100px; background: lightgreen; } </style></head><body> <div></div></body></html> 我会在其中插入不同的 JS 和 CSS 。 而使用的 common.css ,不论有没有前缀,内容都是这样的: div { background: red; } 好了,话不多数,开始正文! CSS 关于 CSS ,大家肯定都知道的是 <link>

HashMap源码分析

一个人想着一个人 提交于 2020-02-06 17:12:08
概述 HashMap实现了Map<K, V>接口,通过键-值(key-value)的方式存取数据。内部的数据结构是数组+链表(或者Tree),插入时通过key的hash值,映射((n - 1) & hash,其中n为数组的长度)到数组中的位置,如果hash值重复,则在链表的末端插入(当一个链表中的数据大于等于8个时,就将链表转变为Tree),而当数组达到一定值时,会resize,重新创建一个数组,大小是之前的两倍;取出时,也是通过key的hash值,映射到数组的位置,如果刚好是第一个,则返回,否则一直查找到key相等的value并返回,如果还是没找到则分会null。 本文的目标是带着学习的态度,查看HashMap的源码,从put,get,resize三个方法分析它的内部实现。 HashMap数据结构 HashMap继承自AbstractMap<K,V>,实现了Map<K, V>接口(AbstractMap<K,V>也实现了这个接口,为什么没有冲突呢?): Map接口有一个Entry接口,HashMap中内部类Node实现了Entry接口,数据就存放在: Node < K , V > [ ] table ; HashMap内部定义了几个重要参数: // 加载因子默认是0.75,取值越小,hash冲突概率越低,插入和查找速度愈快,但是占用的空间更多 final float

监控主机: node_exporter

大憨熊 提交于 2020-02-06 16:49:00
监控主机: node_exporter 在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。 从上面的描述中可以看出Exporter可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据即可。 这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。我们可以使用Node Exporter。 Node Exporter同样采用Golang编写,并且不存在任何的第三方依赖,只需要下载,解压即可运行。 运行 node exporter 下载软件包: mkdir -p /usr/local/prometheus/exporter/node cd /usr/local/prometheus/exporter/node curl -s -OL https://github.com/prometheus/node_exporter/releases/download/v0.18.0/node

nodejs的单元测试框架mocha

核能气质少年 提交于 2020-02-06 16:32:39
nodejs的单元测试框架mocha 当我们编写比较复杂的项目时,需要对项目的测试用例进行长期跟踪,对单元模块进行质量控制,对开发成果进行自我检验,那么需要一个好用的工具,自学了一下mocha,这个笔记几乎是照搬官网的英文版进行了自我的一番理解的初步呈现,多以条目为主,还没有时间进一步实践,通过强制写笔记的方式,鞭策自己加深理解,学会分享,提高学习力,我在努力。 1.安装 npm install --global mocha 2.作为项目开发依赖项安装 npm install --save-dev mocha 3.版本注意事项 Mocha v3.0.0 需要npm v2.14.2+ v3.0.0之后,不再依赖字符串匹配来决定执行哪些测试。 .only()可以多次使用来定义要运行的测试子集。 4.编码 可以支持before, after, beforeEach, afterEach 5.test目录 mocha会运行test目录下所有测试,目录名不能修改。 如果要包含子目录用--recursive 6.生成package.json依赖mocha 使用npm init命令生成package.json 7.每个测试一段 it("name", function(){…}) 8.测试原则 一次只测一种情况,测试代码要非常简单cd mocha 9.启动命令 (1).node_modules

nodejs文件服务器

此生再无相见时 提交于 2020-02-06 15:22:43
本文尝试使用nodejs搭建一个文件服务器。 首先在官方下载node环境并安装: https://nodejs.org/en/download/ 安装后node被加入到系统环境变量中。 >node --version > v12.14.1 1 const http = require("http"); 2 const Path = require("path"); 3 const fs = require("fs"); 4 5 var server = http.createServer(function(req, res) { 6 let currUrl = decodeURIComponent(req.url); 7 const fileName = Path.resolve(__dirname, "../" + currUrl); 8 const extName = Path.extname(fileName).substr(1); 9 10 if (fs.existsSync(fileName)) { //判断本地文件是否存在 11 var mineTypeMap = { 12 html: 'text/html;charset=utf-8', 13 htm: 'text/html;charset=utf-8', 14 xml: "text/xml;charset=utf-8

jupyter notebook/lab 输出显示每行变量

≡放荡痞女 提交于 2020-02-06 14:28:29
jupyter notebook/lab 默认输出只显示最后一行的变量 在文件的最上方添加: from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" 即可输出显示每行代码 如果要回复默认,改为如下即可: from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "none" 来源: CSDN 作者: 立志成为摄影师的健身虾 链接: https://blog.csdn.net/weekdawn/article/details/104194444

vue数据双向绑定的原理

给你一囗甜甜゛ 提交于 2020-02-06 13:09:13
一、vue的实现原理 Vue.js采用ES5提供的属性特性功能,结合发布-订阅模式,通过Object.defineOrototype()为各个定义set、get特性方法,在数据发生变化时给订阅者发布消息,触发相应的监听回调。 具体步骤如下: 对需要观察的数据对象进行递归遍历,包括子属性对象的属性,设置set和get特性方法。当给这个对象的某个值赋值时,会触发绑定的set特性方法,于是就能监听到数据变化。 用complie解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将各个指令对应的节点绑定更新函数,添加监听数据的订阅者。一旦数据有变动,就会收到通知,并更新视图。 Watcher订阅者是Observer发布者和complie解析模板指令之间通信的桥梁,主要功能如下: 在自身实例化时像属性订阅器(Dep)里面添加自己; 自身必须有一个update()方法; 在dep.notice()发布通知时,能调用自身的update()方法,并触发complie中绑定的回调函数。 MVVM是数据绑定的入口,整合了Watcher、Observer、Complie三者,通过Observer来监听自己的model数据变化,通过Complie来解析模板指令,最终利用Watcher搭起Observer和Complie之间的通信桥梁,达到数据变化通知视图更新的的效果。利用视图交互

删除倒数第n个链表的值

强颜欢笑 提交于 2020-02-06 08:56:53
遍历法, struct Node { int val; struct Node *next; }; void deleteNode(struct Node *temp, int n) { struct Node *start = temp; int len = 1; if (temp == null) return; while (start != null) { start = start->next; len++; } if (len < n) { printf("error"); return; } start = temp; struct Node *temp1 = start; if (len == n) { start = start->next; delete(start); } for (int i = 0; i < (len - n); i++) { temp1 = start; start = start->next; } temp1->next = start->next; delete(start); return; } 来源: CSDN 作者: technology_yu 链接: https://blog.csdn.net/u013436730/article/details/103616682

4. Deeper networks

删除回忆录丶 提交于 2020-02-06 08:48:52
Multiple hidden layers Multi-layer neural networks def predict_with_network ( input_data ) : # Calculate node 0 in the first hidden layer node_0_0_input = ( input_data * weights [ 'node_0_0' ] ) . sum ( ) node_0_0_output = relu ( node_0_0_input ) # Calculate node 1 in the first hidden layer node_0_1_input = ( input_data * weights [ 'node_0_1' ] ) . sum ( ) node_0_1_output = relu ( node_0_1_input ) # Put node values into array: hidden_0_outputs hidden_0_outputs = np . array ( [ node_0_0_output , node_0_1_output ] ) # Calculate node 0 in the second hidden layer node_1_0_input = ( hidden_0

K8s可视化监控告警【1】--Prometheus部署

淺唱寂寞╮ 提交于 2020-02-06 08:21:31
本文借鉴于 监控–Prometheus部署篇 1. prometheus权限设置 prometheus-rbac.yaml apiVersion : rbac.authorization.k8s.io/v1 kind : ClusterRole metadata : name : prometheus rules : - apiGroups : [ "" ] resources : - nodes - nodes/proxy - services - endpoints - pods verbs : [ "get" , "list" , "watch" ] - apiGroups : - extensions resources : - ingresses verbs : [ "get" , "list" , "watch" ] - nonResourceURLs : [ "/metrics" ] verbs : [ "get" ] --- apiVersion : v1 kind : ServiceAccount metadata : name : prometheus namespace : kube - system --- apiVersion : rbac.authorization.k8s.io/v1 kind : ClusterRoleBinding metadata