title: 八月视野 date: 2020-8-8 tags: WEB
feeds-pub 同类产品多不重要, 把东西能做好很重要. 作者
Proxy SwitchyOmega chrome 插件用于网络切换, 切换选项卡经常发生卡顿, 该项目为多年前项目, 运行导致了卡顿错误发生.
jvm 的应用 spring boot 内存占用过高, 1.1GB 关闭了其中一个项目, 下降至 584M, 此项目达到了 516M 的内存.
当请求乱序, 需要 A 请求在 B 请求后不再发出, 应该如何实现?
如果表单长达多页且表单联动, 如何优雅的组织代码?
业务错误发生的时候, 重现业务步骤繁多, 如何快捷的重放业务?
function compose(funcArry) {
return function (next) {
let index = -1
function dispatch(i) {
index = i
let fn = funcArry[index]
if (i === funcArry.length) fn = next
if (!fn) return Promise.resolve()
try {
return Promise.resolve(fn(dispatch.bind(null, i + 1)))
} catch (err) {
return Promise.reject(err)
}
}
return dispatch(0)
}
}
compose([
async function a1(next) {
console.log('start 1')
await next()
console.log('end 1')
},
function a2(next) {
return new Promise((resolve, reject) => {
console.log('start 2')
resolve(next())
console.log('end 2')
})
},
function a3(next) {
return new Promise((resolve, reject) => {
console.log('start 3')
resolve(next())
console.log('end 3')
})
},
])(null)
为什么每次部署这么麻烦?因为没有做 git hook 自动部署。
如何表述一个东西清楚,足够多的信息去描述,预想读者可能提出的问题,当我思考如何表述的时候,让我查找了小学语文的答案,语文大概是最不被重视的一门学科,大家在生活中频繁使用。记叙文:时间背景人物,起因经过结果。议论文:是什么,为什么,怎么做。
fetch 的兼容不容乐观, iOS 11 和 qq browser 9.0 都不兼容.
✳在 webpack 中,loader 和 plugin 的区别是什么?
✳display:none 和 display:hidden 的区别是什么?
为什么我们不再需要 redux:使用 React Query 或者 SWR
WebAssembly SIMD(单一指令,多个数据|single instruction, mltple data)..一类利用底层硬件利用数据并行.由于 LLVM 的自动矢量化优化,已经移植为使用 WebAssembly 的应用程序可以从 SIMD 中受益,而无需进行源代码修改。实验版本: Chrome 84-86
内存测量 performance.measureMemory()对于整个网页, 单位是字节, 兼容 Chrome 83 以上, 属于非标准 api. 标准 api 是针对 JavaScript 堆的.
git commit 规范:
- feat
- fix
- docs
- style
- refactor
- pref
- test
- chore
- revert
- merge
web-transport 基于 QUIC 的可支持多个双向流的提案
为什么 proxy 优于 defineProperty? 比如只能监听已存在的属性, 对于新增删除属性就无能为力了, 同时无法监听数组的变化. 如果要监听数组的变化, 需要封装数组的原生方法, 'push','pop','shift','unshift','splice','sort','reverse'.
事件委托不再挂到 document 上. 挂在 document 时, 当嵌套组件使用时, e.stopPropagation() 无法正常使用.
针对 web-component 的可视化编辑器?
npm 和 yarn 的存放地址?
npm bin
@user\node_modules\.bin
npm dir
npm@6.14.5 @user\AppData\Roaming\npm\node_modules\npm
yarn bin
@user\node_modules
yarn global dir
@user\AppData\Local\Yarn\Data\global
JavaScript 代码转为 TypeScript ts-migrate
相比于 babel alias,更好的代码组织是使用 workspace
“大量小包”是包管理的最佳实践之一,这会使下载大小更小,因为这样做避免了打包体积巨大的代码,却仅使用到了其中很小一部分。
检查过时 deps:
yarn outdated
远程桌面替代品 freeRDP 使用示例 场景:网吧电脑无 mstsc
为什么 2014 年我的代码习惯是用 zip 进行压缩代码上传至服务器? 当时服务器只能内网访问, (并且服务器无法对外上网? 服务器没有 git 软件? 为什么没有使用 scp 进行同步?)
其他的 JavaScript 环境:
执行顺序
- 同步任务
- 微任务
- 宏任务
通过 echo $? 可查看终端上一进程的 exit code
解决 node promise.reject 不返回 0 的情况
多边形判断碰撞-A 中某线与 B 中某线相交, 完全不规则图像碰撞-先判断重合区域,然后检测重合区域是否有像素存在
sciter GUI 引擎使用 HTML,CSS 和脚本构建跨平台的桌面应用程序
如何实现一个无限累加的函数
sum(1)(2)(4).valueOf()
function sum(...args) {
const f = (...rest) => {
return sum(...[...args, ...rest])
}
f.valueOf = () => {
return args.reduce((x, y) => x + y, 0)
}
return f
}
Kibana 日志收集系统
自行视频解码 mix-blend-mode: screen;可以让视频黑色部分透出下层图片 WasmVideoPlayer 原型演示,ffmepg + wasm 实现,移动端性能较差 WXInlinePlayer 依赖于 flv, 且体积较大 Broadway 作者实现了一套安卓端的 h264 解码器(c 语言实现 + wasm),支持特定编码的 mp4 格式的视频,且支持不完善有黑屏情况,且无法按照视频帧率进行播放(未对视频进行细颗粒度播放) jsmpeg 作者手撸了一个 mpeg-ts 的解码器(支持 JavaScript 与 wasm 版本),支持 ts 格式(mpeg1 编码)的视频,支持较为稳定,可支持细颗粒度播放
Monad 是具备单位元和结合律的方法的对象, 能把一个值包装成容器, 对容器里装着的值, 把一个函数应用在值上.