编程随想

2019 年 12 月 15 日

记一次anti anti debug

去年在微博上看到某前端大佬提供的一种检测用户是否打开控制台的方式,后面自己也去探索了一种方式,同时也发现在StackOverflow上有关于这个话题的讨论。不过这些方式后面都失效了。 今天偶然打开了一...

进一步了解
2019 年 10 月 22 日

一起来洗牌

一副扑克牌: const arr = [“A”,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″,”10″,”J”,”Q”,”K”,”S”] 通过何种方式洗牌才是足够乱的呢? 如果单论“...

进一步了解
2019 年 10 月 21 日

一次自定义编码的探索

朋友给了个题: 对1-500000000(别数了,5亿)的整数,实现一个encode编码方法,要求编码后的字符串只包含数字和字母,然后对应实现一个decode方法,可以将该字符串还原回去。 比如: e...

进一步了解
2019 年 09 月 15 日

字体文件信息读取

如何从一个字体文件中读取出需要的信息呢?比如字体名称(非文件名)、字体版权方等等,刚好最学习了浏览器里面的二进制,就尝试了用浏览器来解析字体文件信息。 首先介绍两种常见的字体文件,ttf(TrueTy...

进一步了解
2019 年 08 月 21 日

浏览器里的二进制

以下是几个主角的简介: ArrayBuffer 对象用来表示通用的、固定长度的原始二进制数据缓冲区。大白话其实就是代表一块固定的连续内存数据,虽然名字中带有Array,其实和我们认知的数组没半毛钱关系...

进一步了解
2019 年 08 月 13 日

字节序理解示例

字节序的介绍文章网上非常多,这里不再赘述,可以参考MDN上的介绍。 在做底层网络编程的时候会遇到字节序转换的情况,因为我们现在接触的机器一般都是little-endian(小端序)而网络传输一般使用b...

进一步了解
2019 年 07 月 25 日

浏览器FPS计算

FPS的概念随手一搜有很多,简单来讲,就是一秒钟内渲染了多少次画面。 在浏览器里面,浏览器渲染一次页面是有回调的requestAnimationFrame, 那么计算FPS就是计算: 1÷两次渲染的时...

进一步了解
2019 年 03 月 04 日

一次性搞清字符编码

正文开始前的絮叨 不看并不影响后面的理解 弄清各种编码的念头在我脑海里面已经浮现过 N 回了,我相信很多人也一样,特别是接触过后端语言的人,会时不时碰到乱码,需要按正确的编码类型解码才能得到正常的文字...

进一步了解