blog icon indicating copy to clipboard operation
blog copied to clipboard

个人博客,如对你有帮助是我的荣幸,你的 star 是对我最大的支持!

Results 19 blog issues
Sort by recently updated
recently updated
newest added

interface VS type 相同点 都可以描述一个对象或者函数 interface type 都允许拓展(extends) interface extends interface type 与 type 相交 interface extends type type 与 interface 相交 不同点 type 可以而 interface 不行 interface 可以而 type...

typescript

browser VS module VS main 文件优先级 browser,module 和 main 字段 字段定义 使用场景与优先级 webpack + web + ESM webpack + web + commonJS webpack + node + ESM/commonJS node + commonJS...

node.js
webpack

前言 基本实现 编译 编译 ES5 编译 ES6 嵌入代码到 HTML 编译流程 编译结果 浏览器的存在的坑 react-scripts-modern 参考文章 # 前言 用过 `vue-cli 3.0` 的人可能会知道,vue-cli 提供了一个 [modern 模式](https://cli.vuejs.org/zh/guide/browser-compatibility.html#%E7%8E%B0%E4%BB%A3%E6%A8%A1%E5%BC%8F),可以在一个工程同时构建打包 ES5 和 ES6 两份代码: > Vue CLI...

优化
前端工程

前言 实践方案 polyfill.io @babel/preset-env 按需加载 @babel/plugin-transform-runtime 总结 思考与探索(Modern Build) Modern Build 注意事项 # 前言 大家都知道 babel 是兼容对 ES6 支持不完善的低版本浏览器的转换编译器。 而 babel 其实主要做的只有两件事情: - 语法转换 - 新 API 的 polyfill 兼容...

webpack
babel

前言 具体实现 参数 设计 代码 测试demo # 前言 做过爬虫的都知道,要控制爬虫的请求并发量,其实也就是控制其爬取频率,以免被封IP,还有的就是以此来控制爬虫应用运行内存,否则一下子处理N个请求,内存分分钟会爆。 而 `python`爬虫一般用多线程来控制并发, 然而如果是`node.js`爬虫,由于其**单线程无阻塞**性质以及事件循环机制,一般不用多线程来控制并发(当然`node.js`也可以实现多线程,此处非重点不再多讲),而是更加简便地直接在代码层级上实现并发。 为图方便,开发者在开发`node`爬虫一般会找一个并发控制的`npm包`,然而第三方的模块有时候也并不能完全满足我们的特殊需求,这时候我们可能就需要一个自己定制版的并发控制函数。 下面我们用15行代码实现一个并发控制的函数。 # 具体实现 ## 参数 首先,一个基本的并发控制函数,基本要有以下3个参数: - `list` {Array} - 要迭代的数组 - `limit` {number} - 控制的并发数量 -...

demo

背景 为什么要运行时校验数据? io-ts 解决方案? 理想方案探索 JSON schema typescript -> json-schema json-schema 校验库 commit 时自动更新 json-schema 总结 # 背景 大家出来写 ~~Bug~~ 代码的,难免会出 Bug。 文章背景就发生在一个 Bug 身上, 有一天,测试慌张中带着点兴奋冲过来: 测试:"xxx系统前端线上出 Bug 了,点进xx页面一片空白啊"。 我:"纳尼?我写的Bug怎么会出现代码呢?"。...

typescript

> **技术不只是用于工作,也用于生活。** > ------- 沃兹基 · 梭德 # 前言 去年,我开始了基金定投理财。 ![](http://pic1.zhimg.com/v2-e55ff56edc2501867fe0a251e32e944c_b.jpg) 没错,就我这兜里的几个**铜崩**也敢叫嚣着也"搏一搏,单车变摩托"了。 结果今年年初疫情来袭,全球股市大跌,恐慌中我疯狂低位抛售美基,裤兜里本来就不多的铜崩就更**孤影形单**了。 又过了几个月…… 卧槽!**美国这疫情爆发力他娘的美股这都能涨回来?这不科学!** 那些个日子,我都这种心情: ![](http://pic4.zhimg.com/80/v2-e0c8ce03cfe71c8e40437257e0c83c2b_1440w.jpg) 后来仔细想想,**投资肯定有涨有跌跌跌跌跌跌跌**,这都是浮亏,只要我不撒手,我就永远不亏,最重要的还是理性,有自己的投资决策树,不为外物所动。 > 大涨行情的我:好的,我懂了,要理性。 > 大跌行情的我:你懂个屁!! 说起来容易,做起来难,毕竟投资交易都是反人性的。坚持自己的投资策略谈何容易。然而,投资理财不就是一堆数字游戏,低买高卖嘛。 恰好,作为一只程序员,**对数据从来不陌生**。 那么整一个基金回测网站,模拟下投资策略收益应该不难吧? **要是不小心发现了”财富密码“,不用多久,我就会财富指数增长、一夜暴富、完成一个小目标、迎娶白富美、走上人生巅峰,想想还有点小激动。** ![](http://pic4.zhimg.com/80/v2-c86246de21a19fd0f71dfb87f80fa0a7_1440w.jpg) # 技术方案 那么,要开发一个基金回测网站,需要几步呢?...

一夜暴富

为什么需要指标监控告警 指标监控系统:Prometheus 为什么不用 mysql 存储? 时序数据库(Time Series Database/TSDB) 数据类型 nodejs 指标采集与数据拉取 promQL 基本查询 区间时间段查询 时间偏移查询 promQL 查询函数 指标聚合查询 指标时序曲线 Prometheus 查询瓶颈 可视化平台: Grafana 自定义图表 图表配置 自定义变量 告警 数据源 总结 参考文章...

node.js
基础架构

> 还没毕业时在其他平台写的博客,搬运到这吧,一家人就是要齐齐整整! 前言 -- 随着 CSS3 的推出与普及,其各种属性开始被广泛使用。尤其是其动画功能,对于一些简单的动画实现,实在没必要用 Javascript 去实现,这是 @keyframes 动画就派上了用场。今天来讲一下@keyframes的一些基本的用法和常见坑。 【本文志于向前端新手普及一些常见错误,如有任何错误,请指正。】 ---------- ### 一,基本语法 W3School 有更详细的介绍,这里就不再展开了,还不清楚的同学可以先去了解一下[CSS3 @keyframes 规则](http://www.w3school.com.cn/cssref/pr_keyframes.asp)再往下看。并且需要注意一下@keyframes 和 animation的兼容性问题。对于各种浏览器的兼容情况可以参考下图: ![可以看见当前大部分主流浏览器都支持](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTYwNDA4MjE1OTMzNDIz?x-oss-process=image/format,png) 可以看见当前大部分主流浏览器都支持@keyframes和animation( 就剩下IE9及之前的版本"一枝独秀" 了);另外,IOS safari 8.4和安卓浏览器4.4.4及之前的版本需要**加 -webkit- 前缀兼容** ----------...

CSS

背景 typescript 内置类型 Partial<T> Required<T> Readonly<T> Pick<T, K> Record<K, T> Exclude<T, U>,Omit<T, K> Extract<T, U> NonNullable<T> Parameters<T> ConstructorParameters<T> ReturnType<T> InstanceType<T> 自定义常用类型 weaken 数组 转换 成 union 根据 enum 生成 union...

typescript