blog
blog copied to clipboard
this is my blog
## 推荐一些好用的用来做工程化的库 ## 代码质量相关 ### 管理代码质量的开放平台: [SonarQube](https://github.com/SonarSource/sonarqube) SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量。 ### 代码可维护度:[typhonjs-escomplex](https://github.com/typhonjs-node-escomplex/typhonjs-escomplex) 可维护度:通过 [typhonjs-escomplex](https://github.com/typhonjs-node-escomplex/typhonjs-escomplex) 对文件进行扫描,得出每个文件的可维护度,可读性,及复杂度的评分。针对得分比较差的文件可以进行深度分析帮助开发者更好的重构复杂代码。 ### 代码重复度:[jscpd](https://github.com/kucherenko/jscpd) 重复度: - 通过 [jscpd](https://github.com/kucherenko/jscpd) 计算重复出现的代码区块占比,计算出 clone 分数。并逐一列举重复的代码,方便开发者快速定位重复代码,将其封装成公共的方法和组件 - `jsinspect`: 对js或jsx代码做重复检测。强制校验 `npm install jscpd --save-dev` ```js...
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 1.3.1 to 1.3.4. Commits ebdf849 1.3.4 ac57872 move all allocUnsafes to allocs for easier maintenance c64c950 1.3.3 0598ba1 fix .. in encodingLength 010aedb 1.3.2 0d0d593 backport encodingLength...
## 理解一些基础概念 原型链,类,实例, 类属性,类方法, 实例属性,实例方法 ```js class A { static b = '1' static classMethod() { return 'hello' } } const a = new A(); a.c = 5; a.sayHello =...
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2. Changelog Sourced from ssri's changelog. 6.0.2 (2021-04-07) Bug Fixes backport regex change from 8.0.1 (b30dfdb), closes #19 Commits b7c8c7c chore(release): 6.0.2 b30dfdb fix: backport...
## 前言 本文主要从 3W (what, how, why) 角度出发通俗易懂的解释一下 什么是函数柯里化,以及怎么用三行代码来实现 `add(1)(2)(3)` 这个很常见的面试题。 ## 什么是函数柯里化(curry) 函数柯里化(curry)是函数式编程里面的概念。curry的概念很简单:只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。 简单点来说就是:每次调用函数时,它只接受一部分参数,并返回一个函数,直到传递所有参数为止。 举个🌰 将下面接受两个参数的函数改为接受一个参数的函数。 ```js const add = (x, y) => x + y; add(1, 2); ```...
## 笔试题:HTML标签的相关操作判断 1. 统计HTML标签中以b开头的标签数量 2. 统计HTML标签中出现次数最多的标签 3. 判断DOM标签的合法性 - 标签的闭合 - span里面不能有div - 其他符合HTML标签合法性的规则 ## 一些基础知识 ### getElementsByTagName() 在DOM中根据标签去获取元素的原生api是 `getElementsByTagName()`,它返回的是一个包含所有给定标签名称的元素 HTML集合[HTMLCollection](https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCollection "HTMLCollection"), 整个文件结构都会被搜索,包括根节点。 我们可以通过 `document.getElementsByTagName('*')`来获取当前文档中的所有标签。  还有一点需要注意: HTMLCollection 对象是一种类数组对象,可以通过位置来访问。 请注意,虽然可以通过方括号语法来访问...
## 使用 git 常遇到几个场景 - git 忽略已提交的文件 - 修改了文件名称的大小写 - 迁移代码仓库,同时保持有原有的提交历史 - 修改历史提交信息的 username 和 email ## 1. git 忽略已提交的文件 使用 git 的时候偶尔会遇到这些问题: 1. 想忽略已经提交的 logs 目录下的文件 2. 初始化 git...
## 泛型 泛型:在定义函数,接口,类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。 泛型和函数很类似,泛型接受的参数是类型,返回值也是类型 泛型要用尖括号() ```js function createArray(length: number, value: T): Array { let result: T[] = []; for (let i = 0; i < length; i++) { result[i] =...
## TS中的一些关键词总结 最近一直在写TS,偶尔会遇到一些自己之前没见过的一些符号或者关键词,就随手记录下来,本篇文章就是对这段时间遇到的进行了总结。 ## 目录概览 - TS中的一些符号 - `!` 断言操作符 - `?.` 链判断运算符 - TS中的一些关键词 - `type` - `interface` - `typeof` - `keyof` - `in` - 类型推断 - 条件类型 -...
## 看完后,感觉获益匪浅的一些文章 - [学不进去,没时间学怎么办?](https://www.zhangxinxu.com/life/2019/03/study/) - [公司不重视前端怎么办?](https://www.zhangxinxu.com/life/2019/07/company-ignore-fe/) - [大牛养成指南(1):吃的草够多,你也能成为大牛](https://zhuanlan.zhihu.com/p/22436213) - [大牛养成指南(2):先实现一个小目标吧!10000小时理论如何轻松落地](https://zhuanlan.zhihu.com/p/22495095) - [大牛养成指南(3)- 天天写业务代码,如何成为技术大牛?](https://zhuanlan.zhihu.com/p/22708863) ## 失眠 - [睡眠:BBC教你战胜失眠和焦虑的九大技巧](https://www.bbc.com/ukchina/simp/50855159) - [晚上睡不着怎么办?](https://www.zhihu.com/question/19941389) - [失眠强迫症](https://baike.baidu.com/item/%E5%A4%B1%E7%9C%A0%E5%BC%BA%E8%BF%AB%E7%97%87/15565229) ## 如何看书-关于是否要记笔记 - [你们看书做笔记吗?](https://www.zhihu.com/question/20186072) - [这样读书,三个月胜过你过去读三年](http://www.zhizhireader.com/blog/zheyangdushushengguoniguoquxuesannian.html) - [看书不做笔记?那么多年的书,白读了!](https://zhuanlan.zhihu.com/p/53730554) -...