http2
简介
http/2的主要目标是通过运行全量请求和多路响应来减少延时,减少通过使用高效的头部字段压缩减少协议过载,添加请求优先级和服务器推送功能;
http2没有修改http的语义。http1.1的所有核心概念都保留了下来;http2修改了数据在客户端和服务器间是怎样格式化数据和传输数据的;
二进制传输
HTTP 2.0 中所有加强性能的核心点在于此。在之前的 HTTP 版本中,我们是通过文本的方式传输数据。
在 HTTP 2.0 中引入了新的编码机制,所有传输的数据都会被分割,并采用二进制格式编码。
多路复用
在 HTTP 2.0 中,有两个非常重要的概念,分别是帧(frame)和流(stream)。
帧代表着最小的数据单位,每个帧会标识出该帧属于哪个流,流也就是多个帧组成的数据...
vue源码分析
初始化顺序
initLifecycle(vm)
initEvents(vm)
initRender(vm)
callHook(vm, 'beforeCreate')
initInjections(vm) // resolve injections before data/props
initState(vm)
initProvide(vm) // resolve provide after data/props
callHook(vm, 'created')
如果参数同时又render和template,会优先使用render
dist结果说明
vue.runtime.common.js(运行时 CommonJS形式)
...
Flow
Flow 是js的静态类型检查工具;是通过静态类型注解实现的;
// @flow
function square(n: number): number {
return n * n;
}
square("2"); // Error!
安装
- npm install --save-dev babel-cli babel-preset-flow
- 在.babelrc 文件添加如下:
{
"presets": ["flow"]
}
初始化项目
执行flow init 会产生一个文件.flowconfig,用于通知后台进程在哪里开始检查FLOW代码;
flow status 在后台运行一个进程,检查Flow文件;多次执行此命令仍然运行同一个后台进程;...
dart入门
mac 安装开发环境
- brew tap dart-lang/dart
- brew install dart
安装命令行工具:
pub global activate webdev stagehand
安装完以后如果找不到命令,把路径$HOME/.pub-cache/bin加到$PATH里
构建一个app
- mkdir quickstart
- cd quickstart
- stagehand web-simple // 使用一个模板
- pub get //类似npm i
- webdev serve //运行
安装Dart SDK会有以下命令可以使用:
dartanalyzer
静态分析工具,评估和报告你代码里的错误和警告。
...
docker入门
Docker是开发和系统管理员用来开发,部署和运行应用程序的容器。
使用linux容器部署应用程序叫做容器化。容器的概念并不新鲜,但是使用容器易于部署应用却很新鲜。
镜像 VS 容器
容器由运行的image启动;
image是一个可执行的包,包括运行应用程序需要的所有内容---代码,运行时环境,库,环境变量和配置文件;
container是一个image的运行实例---image执行的时,内存中的样子(即有状态的image或者说是用户进程)
你可以使用docker ps,查看正在运行的容器列表;
docker container ls -a 查看所有容器
容器 VS 虚拟机
一个特定容器运行在linux,和其他容器共享主机内核。
容器运行在分散的进程中,不会因为其他运行程序占用...
共计 109 篇文章,22 页。