接口对接 SOP —及时沟通与前置风险

接口对接过程遇到的问题

  • 没有接口文档,接口口头或者企业微信简单确认(特别是只有一两个接口)
  • 接口文档没有确定交付时间,或者到时间没有交付
  • 接口文档不全,部分接口缺失或者接口部分字段缺失
  • 后端修改接口没有通知前端,导致实际接口与接口文档不一致
  • ……

Read More

浏览器如何进行网络请求

输入一个 URL 敲下回车键发生了什么

1.DNS 域名解析(此处涉及 DNS 的寻址过程),找到网页的存放服务器;

2.浏览器与服务器建立 TCP 连接;

3.浏览器发起 HTTP 请求;

4.服务器响应 HTTP 请求,返回该页面的 HTML 内容;

5.浏览器解析 HTML 代码,并请求 HTML 代码中的资源(如 JavaScript、CSS、图片等,此处可能涉及 HTTP 缓存);

6.浏览器对页面进行渲染呈现给用户(此处涉及浏览器的渲染原理)。

Read More

JavaScript 实现继承

问题

  • JavaScript 的函数怎么也是个对象?
    1.JavaScript 中除了基本类型,其他都是对象,Symbol 也是基本数据类型。
    2.函数是一种特殊的对象,它也拥有属性和值,有一个特别的属性 prototype,该属性就是函数的原型对象。
    3.函数的原型对象(prototype) 都拥有 constructor 属性,该属性指向与之关联的构造函数。

  • __proto__ 和 prototype 到底是啥关系?
    1.每个对象都有 __proto__ 属性来标识自己所继承的原型对象,但只有函数才有 prototype 属性。
    2.每个函数都有一个 prototype 属性,该属性为函数的原型对象。
    3.通过将实例对象的 __proto__ 属性赋值为其构造函数的原型对象 prototype,JavaScript 可以使用构造函数创建对象的方法,来实现继承。

  • JavaScript 中对象是怎么实现继承的?
    通过原型链访问对象的方法和属性,找到返回对应的值,直到访问 Object.prototype 的原型对象 null 仍没找到的,返回 undefined。

  • JavaScript 是怎么访问对象的方法和属性的?

Read More

什么是 Babel?

Babel 对自己的定位:下一代 JavaScript 的编译器。它将新语法、新 API 编译成兼容代码,以便在老版本的浏览器也能使用。

Babel 基于插件架构,如果什么插件都不提供,babel 也不做什么事情,其作用如下。

1
const babel = code => code

Read More

什么是 DevOps、CI、CD?

在了解前端工程化的时候,经常听到 DevOps、CI、CD,I 借这个机会搞清楚。

DevOps 指用自动化工具更好的完成软件周期中的开发、测试和交付工作。

CI 和 CD 是 DevOps 的一部分。CI 是指持续集成 (Continuous Integration),CD 即指持续部署(Continuous Deploy),也指持续交付(Continuous Delivery)。

Read More