url 从输入到渲染页面的全过程

  • 浏览器构建 HTTP Request 请求, DNS 解析 URL 地址、生成 HTTP 请求报文、构建 TCP 连接、使用 IP 协议选择传输路线
  • 将请求通过网络传输到服务端 从客户机到服务器需要通过许多网络设备,一般包括集线器、交换器、路由器等
  • 服务器构建 HTTP Response 响应,响应客户端的请求
  • 将响应体的数据通过网络传输返回给客户端
  • 浏览器渲染页面 解析 HTML、CSS、JS,生成 RenderTree 渲染页面
阅读全文 »

简述微信小程序原理

微信小程序采用 JavaScriptWXMLWXSS 三种技术进行开发,本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口微信的架构,是数据驱动的架构模式,它的 UI 和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现 小程序分为两个部分 webviewappService 。其中 webview 主要用来展现 UIappService 有来处理业务逻辑、数据及接口调用。它们在两个进程中运行,通过系统层 JSBridge 实现通信,实现 UI 的渲染、事件的处理

阅读全文 »

解释单向数据流和双向数据绑定

对于 Vue 来说,组件之间的数据传递具有单向数据流这样的特性称为单向数据流,单向数据流(Unidirectional data flow)方式使用一个上传数据流和一个下传数据流进行双向数据通信,两个数据流之间相互独立,单向数据流指只能从一个方向来修改状态。

阅读全文 »

ER6 新增方法

  1. let 和 const,解构赋值、模板字符串、箭头函数。
  2. Symbol、Map、Set 三种常用的数据类型。
  3. Proxy 重新定义了数据劫持的能力. (相对于 Object.defineProperty, Proxy 更多功能,例如可以劫持数组)。
  4. Reflect 定义了一套标准化的数据操作的方式。
  5. Promise 确实的解决了异步逻辑嵌套及回调地狱问题。定义了异步逻辑的三种状态 pending、rejected、fullfilled, 搭配 then、catch、all、race 等方法以及 async await 语法糖,大量简化了异步操作。
  6. Generator 函数,可以将异步逻辑划片执行(async/await 是它的语法糖)。
  7. 新增了 class 类的概念
  8. ES6 Modules
    阅读全文 »

介绍 JS 有哪些内置对象?

  • 数据封装类对象(可以 new 的):Object、Array、Boolean、Number、String
  • 其他对象:Function、Arguments、Math、Date、RegExp、Error
  • ES6 新增对象:Symbol(标识唯一性的 ID)、Map、Set、Promises、Proxy、Reflect
    阅读全文 »

display: none; 与 visibility: hidden; 的区别 ?

  • 联系:它们都能让元素不可见
  • 区别:
    • display:none;会让元素完全从渲染树中消失,渲染的时候不占据任何空间;visibility: hidden;不会让元素从渲染树消失,渲染师元素继续占据空间,只是内容不可见
    • 修改常规流中元素的display通常会造成文档重排。修改visibility属性只会造成本元素的重绘
阅读全文 »

HTML5 有哪些新特性?

  • 增强多媒体功能:video,audio 元素。
  • 新增本地存储:localStorage, SessionStorage。
  • 语义化标签:header,article,footer 等。**伴随提问:**如何理解 HTML5 结构语义化?
  • 新增表单控件:date, time, email 等。写法是 <input type="date" />
  • 新增位置,多任务等功能:GeoLocation,webWorker。

如何理解 HTML5 结构语义化?

阅读全文 »

目录

简介

Docker Compose 是一个需要在 Docker 主机上进行安装的 Docker 容器编排外部工具。其并不是通过脚本或各种冗长的 Docker 命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整个应用,然后通过一条命令完成应用部署。部署成功后,还可通过一系列简单命令实现对其完整生命周期的管理。