主页

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,和其他容器共享主机内核。 容器运行在分散的进程中,不会因为其他运行程序占用...

阅读更多