字符编码笔记

ASCII 码我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对...

Read More

编程语言历史

Haskell curry。光看这个人的名字就很厉害,Haskell 被用来作为一门编程语言的名字,Curry 被用来作为一个编程技巧。在 1930+ 的时候发明了组合逻辑。但是大部分人都没接触过,而是在别人告诉你科里化的时候才去知道这个组合逻辑。 图灵机,1937年。基本思想是用机器来模拟人们用纸笔进行数学运算的过程,像下图一样,一个纸袋在移动,可以写...

Read More

大端模式和小端模式

大端模式大端模式(Big-Endian)又称大端字节序,由于在网络传输中一般使用的是大端模式,所以也叫网络字节序。 在大端模式中,将高位字节放在低位地址,低位字节放在高位地址。 举个例子,数值 0x12345678,其中 0x12 这一端是高位字节,0x78 这一端是低位字节。 该数值的存储顺序是这样的: 大端模式符合我们阅读和书写的方式,都是从左到右的。...

Read More

Web性能优化-代码优化

代码位置优化123456<head> // css ....</head><body> // js ...</body> 上文说到,CSS 要放在上面,JS 要放到下面,因为一些阻塞关系 1234 HTML不会相互影响/ \相互阻塞 CSS ————— JS ...

Read More

Web性能优化-总结

Read More

Web性能优化-缓存与内容协商

1. HTTP 缓存DNS 缓存 假设访问了百度,我们需要知道他的 ip 地址首先浏览器会问 windows,如果不知道会问电信要,电信就会返回给浏览器,此时浏览器会缓存下来(一般是一天),然后在返回给浏览器,浏览器也会缓存下来(一般是几分钟) HTTP 缓存在响应头中加入: 1Cache-Control: public, max-age=3600, mu...

Read More

Web性能优化-什么是连接复用

Web 性能指标web 性能优化到底在优化什么? 你可能会说优化的是用户体验,但用户体验是不可测量的,我们必须把用户体验变成可测量的指标,这些指标包括: 用户按下回车 由内容出现时(一般3秒之内还没有内容出现,用户就会比较焦虑,会关掉页面) DOM ready 事件发生(dom content loading ,代表 HTML 内容全部解析完,js 也基...

Read More

浏览器工具篇

Performance 面板一般点击录制,刷新页面就好了,但是: 小技巧: 先清空 document 再点击录制 然后刷新页面 结束录制 这样分析起来比较好看 怎么看结果? 主要看图里面的小山,选中该区域network 没啥好看的,和外面的差不多主要看 main,看脚本执行的性能 如图,从上往下就是某一次的调用,点击即可看到每块运行的那个 js, 怎...

Read More

浏览器渲染原理

浏览器的组成从输入网址之后,浏览器会调用自己的核心功能,他会去调用网络模块,得到网页之后,就调用到渲染引擎,渲染引擎就会开始呈现页面,如果遇到了 JS,会先用网络模块下载 JS,然后让 JS 解释器执行这个 JS。对于前端来必须关注 渲染引擎,JS解释器,网络模块 的基本原理 HTML 的解析过程12345// index.html<link -&...

Read More

银行家舍入法

一句话介绍 四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。 疑问一直以为 JavaScript 的 toFixed() 是四舍五入的,但今天却惊讶地发现:它并不是一直都会四舍五入的 121.35.toFixed(1) // 1.41.45.toFixed(1) // 1.4 为什么对于相同的尾数5的舍入,结果却不同呢?因...

Read More