2019-04-25 旧博客地址 地址由于方便问题,以后的博文都在这里编写,而编写博文是为了记录自己的技术成长与以后忘记有个地方可以查找,好记性不如烂笔头。 以前的博文是在博客园编写的地址为https://www.cnblogs.com/zhangzhicheng 阅读全文…
2020-09-14 http第三篇 HTTPMIME type数据类型表示实体数据的内容是什么,使用的是 MIME type,相关的头字段是 Accept 和 Content-Type; Accept 字段标记的是客户端可理解的 MIME type 相应的,服务器会在响应报文里用头字段 Content-Type 告诉实体数据的真实类型 有了 MIME type 和 Encoding type,无论是浏览器还是服务器就都可以轻松... 阅读全文…
2020-09-10 http第二篇 报文结构HTTP 是基于 TCP/IP 的,那么传输的事情应该是 TCP/IP 完成的,那么 HTTP 称为超文本传输协议是不是有点不妥了,因为它不负责传输,那这个传输又是怎么回事,答案就在它的传输的报文内容,HTTP 协议在规范文档里详细定义了报文的格式,规定了组成部分,解析规则,还有处理策略。 HTTP 协议是一个“纯文本”的协议,而 HTTP2/3 后就是二进制协议,http/1 纯文... 阅读全文…
2020-09-06 http第一篇 http 简史 HTTP 协议始于三十年前蒂姆·伯纳斯 - 李的一篇论文; HTTP/0.9 是个简单的文本协议,只能获取文本资源; HTTP/1.0 确立了大部分现在使用的技术,但它不是正式标准; HTTP/1.1 是目前互联网上使用最广泛的协议,功能也非常完善; HTTP/2 基于 Google 的 SPDY 协议,注重性能改善,但还未普及; HTTP/3 基于 Google ... 阅读全文…
2020-07-19 探讨react的核心原理 React 核心而前三个就可以实现一个简单版 React,最后一个 Fiber 为 React 核心数据结构 React.createElement:创建虚拟 DOM React.Component:实现⾃定义组件 ReactDOM.render:渲染真实 DOM Fiber 核心数据结构 createElementReact 会把 jsx 语法经过 babel 转译成 React.cr... 阅读全文…
2020-06-01 redux中间件原理 前言redux 中间件设计的代码,简洁到极致,它的代码量很少,但却满足 redux 设计中间件的要求,柯里化的特性也在这里完美的体现。 涉及的代码createStore.ts、compose.ts、applyMiddleware.ts createStore 所有 store 集中所在,这里包括了监听变化,数据存储、替换 reducer、中间件等处理逻辑。 compose 使用数组 redu... 阅读全文…
2020-05-30 了解react-router的实现 前言react-router 的路由是是基于 history 实现的,而我们可以根据不同的使用场景,使用不同的包,如浏览器上使用react-router-dom,而react-router是一个 monorepo 项目,使用 yarn 的工作空间管理 node_modules 的包,所以 package 目录下的包是没有 node_modules 的,在scripts\build.js里有它... 阅读全文…
2020-05-27 ora-终端loading动画与shellJs ora如果有深入进行过前端构建的,一定会遇到除了 webpack 等构建工具之外的实现前端自动化的过程,比如编译、git 提交、发布一步完成,无需开发者进行多次的指令操作等,那么一般当我们合并这些流程后等待时由于命令行界面就只有我们输入的内容外没有任何的提示而卡在这等待会感觉体验特别差,而 ora 就是为了解决这个问题的,就是我们在客户端界面上发送请求后需要一个 loadding 的动画一样... 阅读全文…