Scratch VM原理
摘要:1. 将积木块转换成JavaScript函数执行。 1. 每个积木块都有一个opcode,对应一个JavaScript函数 2. 状态转移方程:全局变量存储。 3. 每秒钟刷新30次,相当于33毫秒:执行一次状态计算,并重绘整个舞台。 4. 模拟多线程。
阅读全文
posted @
2021-01-22 20:27
袜子破了
阅读(587)
推荐(0)
安全的登录组件
摘要:业务层: 1. 安全的密码,密码长度,密码复杂度,特殊字符。 2. 密码输入失败次数限制。 前端: 1. 预防重放攻击。 登录请求发送之前,获取random id 2. 参数签名。 通过wasm的md5算法签名参数,避免通过爬虫模拟登录。 3. 参数混淆后加密。 通过wasm的AES实现。 4. 集
阅读全文
posted @
2021-01-20 11:31
袜子破了
阅读(129)
推荐(0)
useEffect和useLayoutEffect的区别
摘要:useEffect : callback回调函数是在DOM操作结束后执行。 useLayoutEffect:callback回调是在render之后,但是DOM操作之前执行。
阅读全文
posted @
2021-01-19 19:29
袜子破了
阅读(387)
推荐(0)
http2协议的理解
摘要:HTTP2的优点: 1. 多路复用。基于同一个连接 并行发送多个请求。 2. 服务端推送。nginx还不支持。 3. 请求头部压缩。服务端和客户端,建立连接后需要共同维护一个头部表。后面的请求,只需携带跟上一次请求不同的头部字段信息。 4. 二进制桢。 有两种HTTP2协议: 一: 浏览器实现的HT
阅读全文
posted @
2021-01-16 15:20
袜子破了
阅读(458)
推荐(0)
多线程和单线程的理解
摘要:多线程: 优点: 1. 可以充分利用CPU多核优势。 2. 编程难度低,JAVA为例。可以利用同步阻塞式的IO模型。 缺点: 1. 线程数量过多时,线程间被操作系统调度,切换线程时会存在性能消耗 2. 多线程并发操作操作同一份数据时,需要考虑线程的安全性问题。 技巧: 1. 使用线程池,控制线程数量
阅读全文
posted @
2021-01-16 15:01
袜子破了
阅读(1711)
推荐(0)
User Token简单总结
摘要:1. 去中心化的JWT token 优点: 1. 去中心化,便于分布式系统使用 2. 基本信息可以直接放在token中。 username,nickname,role 3. 功能权限信息可以直接放在token中。用bit位表示用户所具有的功能权限。 缺点:服务端无法主动让token失效 2. 中心化
阅读全文
posted @
2021-01-16 14:32
袜子破了
阅读(1272)
推荐(0)
前端组件开发方法论
摘要:设计目标 合理拆分任务 解耦 做正确的事情,正确的做事,做的事正确。 结构与表现分离 关注点分离: html/css/js 反关注点分离:css in js(styled-components) 结构描述:json/xml,Virtual DOM 表现层:多端渲染,多平台渲染 约定优于配置 构建脚本
阅读全文
posted @
2021-01-15 16:39
袜子破了
阅读(247)
推荐(0)
Electron踩坑记录
摘要:1. electron通过点击托盘打开无边框透明窗口闪烁问题解决办法 https://blog.csdn.net/weixin_44399906/article/details/109245272 2. electron桌面通知,修改默认通知应用名electron.app.Electron为自己应用
阅读全文
posted @
2021-01-07 14:35
袜子破了
阅读(1920)
推荐(0)
2020年工作总结
摘要:我的工作: 前期: 1. Scratch创作器项目 2. Scratch作品分析服务 后期:架构组 1. 公共组件项目: 登录组件,WASM加解密组件/MD5,发送短信组件,滑动验证组件,上传组件, 标准化:jenkins,sentry,nexus npm私有库 1. WASM签名 , MD5签名,
阅读全文
posted @
2021-01-07 10:50
袜子破了
阅读(111)
推荐(0)
HTTPS理解
摘要:作用: 1. 证书:证明要访问的域名是真实的域名,不是被黑客冒充的假网站。 2. 加密:避免中间人攻击,避免内容被中间人获取。 证书中包含的信息: 1. RSA公钥 2. 证书签发机构,对证书的签名(指纹) 3. 签名算法,带RSA加密的SHA256 使用过程: 1. 密钥协商:客户端(浏览器)随机
阅读全文
posted @
2021-01-07 10:35
袜子破了
阅读(96)
推荐(0)
谨慎处理 Service Worker 的更新
摘要:Service Worker 以其 异步安装 和 持续运行 两个特点,决定了针对它的更新操作必须非常谨慎小心。因为它具有拦截并处理网络请求的能力,因此必须做到网页(主要是发出去的请求)和 Service Worker 版本一致才行,否则就会导致新版本的 Service Worker 处理旧版本的网页
阅读全文
posted @
2021-01-05 19:12
袜子破了
阅读(823)
推荐(0)
安装protoc和grpc插件
摘要:1. 下载: https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/1.34.1/ https://repo1.maven.org/maven2/com/google/protobuf/protoc/3.14.0/ 2. 配置环境变量
阅读全文
posted @
2021-01-03 11:51
袜子破了
阅读(2527)
推荐(0)