Sentry使用

Sentry使用介绍Sentry 是一个开源的实时错误追踪系统,可以帮助开发者实时监控并修复异常问题。它主要专注于持续集成、提高效率并且提升用户体验。Sentry 分为服务端和客户端 SDK,前者可以直接使用它家提供的在线服务,也可以本地自行搭建;后者提供了对多种主流语言和框架的支持。目前公司的项目也都在逐步应用...

Deno

Deno入门简介终于等到Deno发布1.0了,很开心。A secure runtime for JavaScript and TypeScript. 安装1brew install deno 运行一个例子: 1deno run https://deno.land/std/examples/welcome.ts2#...

前端监控

前端监控系统踩坑(一)随着系统的功能不断的增加,慢慢就会有对各种指标、报错以及用户行为进行统计分析的需求产生。 通过分析采集的数据,来了解用户的需求,更有侧重的去完善功能,以便更好的贴近用户。 为什么需要前端监控系统 不了解哪些功能是用户高频使用的,哪些是无人问津的 有些功能的稳定性较差,需要进行异常记录,方便排...

WebSocket实现设计

WebSocket实现设计WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 有时会遇到服务器需要主动推动消息的需求,或者有频繁的少量消息需要交换。因为HTTP请求的头部可能很长,这种场景下,会带来很多的带宽损耗。 WebSocket 协议,能更好的节省服务器资源和带宽...

ArrayBuffer

ArrayBuffer概述ArrayBuffer对象代表储存二进制数据的一段内存,它不能直接读写,只能通过视图(TypedArray视图和DataView视图)来读写,视图的作用是以指定格式解读二进制数据。 ArrayBuffer也是一个构造函数,可以分配一段可以存放数据的连续内存区域。 1const buf =...

创建一个组件库

创建一个组件库组件库一般分为两个主要部分,组件实现和文档示例。 目前考虑基于umi-library实现一个组件库。 umi-library介绍umi-library是一个基于rollup和docz实现的一个组件库工具,同时它也支持babel打包。 特性 ✔︎ 基于 docz 的文档功能 ✔︎ 基于 rollup ...

事件循环笔记

事件循环笔记JavaScript为什么单线程?JS作为浏览器的脚本语言,需要处理用户交互和操作DOM,这决定它只能是一个单线程语言。因为假定JS是多线程的话,两个线程同时操作DOM会导致冲突。HTML5提出了Web Worker标准,允许JS创建多线程,但是也有很多限制,比如子线程完全受主线程控制,不能操作DOM...

NPM包发布与管理

NPM包发布与管理发布到官方NPM仓库 首先需要在NPM官网创建一个账号 然后通过npm login登录账号 创建一个项目文件夹,通过npm init初始化,修改package.json里的项目信息,添加README.md.(已有项目的跳过) 通过npm publish发布(包名不能与现有的包重名或者非常接...

前端面试题整理

前端面试题整理JScall, apply, bind区别当函数需要传递多个变量时, apply 可以接受一个数组作为参数输入, call 则是接受一系列的单独变量。 Bind和call很相似,第一个参数是this的指向,从第二个参数开始是接收的参数列表。 bind返回对应函数, 便于稍后调用; apply, ca...

单元测试

React单元测试笔记什么是单元测试单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 React常用的单元测试工具Jest+Enzyme Jest使用安装用yarn安装jest:yarn add --dev jest 或者npm: npm install --save-dev j...