Git worktree 命令

11 月 30 日
阅读 1 分钟
15
比如正在开发新功能feat/new1 ,这时候develop分支上的功能需要修复,按以往操作应该先将开发的代码存入暂存区,然后切换分支修改然后提交。或者重新在其他位置克隆一份单独管理。

git commit --amend 命令

11 月 30 日
阅读 1 分钟
53
{代码...} 有时候可能Git提交后发现还有文件需要修改,当这个提交没有被推送到远程时,可以用此命令覆盖提交,避免commit记录混乱。常用参数:--no-edit:不编辑--reset-author:重置提交用户为当前用户--author=:修改Git 的 author和 email 信息。示例想修改提交的消息描述 {代码...} 想重新提交文件 {代码...} 文档描...

麒麟系统中theia终端崩溃问题排查小记

9 月 12 日
阅读 3 分钟
621
其他小组在客户现场部署我们的系统时遇到了问题,公司环境测试正常的一个Docker到客户服务器上无法正常使用。Docker核心是运行theia程序,可以在网页里与VSCode一样开发代码。在客户服务器启动后,网页访问正常打开,但在里面开启终端时就卡死,然后theia的后台服务就崩溃断连了。

axios中responseType配置blob、arraybuffer、stream值有什么差异

6 月 25 日
阅读 3 分钟
1.8k
之前在测试朋友的大文件传输代码时发现个现象:arraybuffer时浏览器内存会不断占用,如果数据引用不释放内存是不会被释放的。而blob也会占用内存,但到一定层度即使引用没释放但内存也会释放,仔细对比一看磁盘读写会不断升高,而且还这产生一些卡顿。是不是有点奇怪?

Theia 开发环境搭建

3 月 28 日
阅读 5 分钟
958
Node.js >= 16.14.0 and < 17.If you are interested in Theia's VS Code Extension support then you should use a Node version at least compatible with the one included in the version of Electron used by VS Code.

Chrome 历史版本下载

3 月 20 日
阅读 1 分钟
3.4k
由于测试时候会需要用到历史版本,但发现不是很好找,于是记录一下。window/MAC/Linux:[链接]Window:[链接] MAC:[链接]firefox的历史版本:[链接]

从零开始Wails2编写Web桌面应用

2022-10-04
阅读 7 分钟
7.7k
前端要写桌面应用的话首先想到的肯定是Electron,Electron的应用成熟度已经无可置疑,但包体积始终是个令人头疼的问题。如果很在意体积问题,而且喜欢尝试新技术的话,在现代其他编程语言不断侵入前端生态的情况下,我们选择的眼光也不一定要局限在JavaScript上。

Mermaid 流程图入门

2022-04-30
阅读 3 分钟
7.1k
Markdown文档在开发中已经必不可少了,但只有文字描述始终有些枯燥,涉及到做图表的话又需要切换到其他工具中,绘制好后再黏贴回来,如果要修改,万一源文件丢失就更麻烦了。对于这种问题实际上也早有方法,就是在各种现代Markdown编辑器都能见到的Mermaid 渲染方案。

判断多边形是否属于复杂多边形

2022-04-20
阅读 4 分钟
1.4k
标注场景下,用户可以选取多点框选一个区域,这样会生成一个多边形。但某些多边形不适合标注场景,还会增加其他参数计算复杂度,需要判断出来禁止绘制。

鞋带公式计算canvas多边形图形面积

2022-04-12
阅读 2 分钟
2.1k
$$ S=\frac{1}{2}\left|\sum_{i=1}^{n}\left(x_{i} y_{i+1}-x_{i+1} y_{i}\right)\right|=\frac{1}{2}\left|\sum_{i=1}^{n} x_{i}\left(y_{i+1}-y_{i-1}\right)\right| $$

更安全的随机数生成

2022-01-04
阅读 2 分钟
5.6k
但如果涉及稍微严谨的一些场景中,Math.random()随机分布不够平均,这时候可以使用浏览器提供的更安全的随机数生成接口Crypto.getRandomValues()

利用husky实现前端项目自定义规范校验

2021-11-01
阅读 4 分钟
3.8k
触发检测的方式既然想到ESlint,那第一个念头是给ESlint增加自定义插件。但仔细又想了想,因为检测的是非JavaScript文件,而且也不是代码那种逻辑检测,只是在提交前做一下相应的文件是否有修改,实际上并不是很适合的场景。最适合的还是直接用Git的钩子,ESlint就是利用husky在相关钩子中调用检测。之前写了篇husky7 + ...

PEG实现 git diff 数据解析器

2021-10-19
阅读 8 分钟
2.4k
项目中想使用git diff的文件变更比对功能,但git diff返回的格式是纯文本且未解析的。网上找了相关的库,像是parse-git-patch,使用的是git format-patch命令生成的补丁文件,无法直接接收命令行中返回的文本格式,找了几个都是这样,所以干脆就自己动手实现一个。

理解JavaScript中各种二进制对象关系

2021-09-01
阅读 4 分钟
3.5k
现代 JavaScript 要面临更加复杂的场景,对于各种类型的数据传输也多了起来,其中涉及二进制传输,为了方便处理数据提高效率于是创造了ArrayBuffer对象。

Steam 7500赏金的钱包充值漏洞细节

2021-08-20
阅读 3 分钟
2.1k
近日,Hackerone(黑客街:知名全球漏洞众测平台,发现应用程序漏洞提交后可获得赏金)上的一名黑客 drbrix 发现了steam的一个严重漏洞,该漏洞允许用户无限制的免费向steam钱包中添加资金,来看下详细情况据悉,这个漏洞与荷兰支付平台Smart2Pay有关,这个漏洞允许steam用户免费的添加无限制的资金到steam钱包中,细节操...

Deno 简单测试服务器

2021-08-14
阅读 2 分钟
1.7k
有时候会需要临时起一个简单的服务器,用来测试查看请求信息。刚好用 Deno 官网的例子改一个。用 Node.js 写其实也一样方便。启动命令 {代码...} {代码...}

import-maps & Deno

2021-08-02
阅读 2 分钟
2.6k
在试用 Deno 的时候为依赖引入方式而困扰,按原始的引入方式依赖很难维护,查询相关文章,有推荐用单独 deps.ts 文件来维护,当然也有很多插件可以支持 Node 或者类似 Node 的维护方案。官网手册里有提及另一个比较有意思的标准方案 import-maps,而且此方案是已经在 Chrome89 中支持的。

husky7 + commitlint + lint-staged 记录

2021-07-28
阅读 2 分钟
7.9k
husky 在现代前端项目是必不可少的组件了,重构业务项目时依赖都升级到新版,发现 husky 还是在用低版本的,索性升级到最新的。 从 husky5 开始版本有了重大变化,旧的配置方式无法直接使用,需要重新配置一下。

MiniCoda + JupyterLab 记录

2021-06-22
阅读 3 分钟
4.2k
由于项目中需要修改 JupyterLab,但在 Windows 上装完环境启动就有问题,而且原有使用的 Anaconda 占空间太大了,硬盘不够用,所以尝试使用 MiniCoda 启动 JupyterLab,一边查找问题一边做了些笔记。

CRC32计算JavaScript实现代码

2021-05-27
阅读 2 分钟
3k
网上有的代码会计算出负数,有的不支持中文,这里整合了一下代码。验证网站: [链接] {代码...}

使用Lerna、Yarn管理Monorepo项目

2021-04-08
阅读 3 分钟
6.6k
平常的项目由于依赖包不多基本都是一个依赖使用一个仓库,但如果开发较为大型的项目,或者项目组件抽出的比较细,这种场景下一个依赖使用一个仓库就加大了管理难度。Monorepo就是解决这样场景而产生的,像是Babel、Vue3、React都是使用这样的管理方式。

即划即标 文本选中段落打标功能

2021-04-02
阅读 8 分钟
4.6k
由于选取标签避免麻烦,所以需要划出区域后立即弹出标签选择菜单,同时弹出菜单后可以支持快捷键的快速标注。在普通情况下,鼠标移入标签区域会浮现删除按钮,可以删除相应的标签,或者是点击标签区域,可以更换标签。

Anaconda基础操作

2021-03-18
阅读 2 分钟
4.3k
Anaconda是一个用于科学计算的Python发行版,支持 Linux、 Mac、 Windows系统,致力于简化包管理和部署,提供了超级强大的conda包管理与环境管理工具。(但体积比较大,另外还有一个miniconda精简的版本可供选择)

Cgr 一个同时管理npm、yarn的源切换工具

2021-03-17
阅读 1 分钟
2.9k
仓库地址:cgr安装 {代码...} Usage {代码...}

yalc 更适普的前端link工具

2021-03-17
阅读 2 分钟
18.6k
在组件依赖开发中,项目作为依赖库没办法单独直接运行,需要依赖进别的项目执行,这时候最常用的方式就是npm link。但用npm link引入有时候会因为各种问题导致构建或者运行时会报错,此时如果直接将文件复制进依赖目录则能正常运行。对于这样的情况,意外的碰到了一个很适合的解决方案——yalc。

动手实现获取并展示快捷键效果的Input组件

2021-01-12
阅读 3 分钟
2.2k
遇到一个需求,页面内要自定义快捷键,这就需要可以有地方设置和展示快捷键,找了一圈Element UI发现没有能稍微改改就能用的组件,所以自己动手写了一个。这个只有快捷键展示功能,快捷键实际绑定生效的话是依赖传回的快捷键数据,由另外的组件处理的。目前只测试了Chrome的环境。

前端不用Electron也能写Win应用 动手实现一个SwitchHosts程序

2020-12-21
阅读 6 分钟
4.2k
说到前端写Windows应用程序,首先想到的一定是Electron,这次我们换一个小众点的工具aardio。aardio是一个很轻量的工具,有着自己的语法,只面向windows应用开发,刚好其中也有支持前端应用打包功能。

TypeScript类型标注相关概念一览

2020-08-26
阅读 10 分钟
5.6k
用TypeScript重构了一遍业务后台,TS很大一部分在处理类型标注,基础的类型很容易上手,但到泛型一块,抽象程度一下子就高了起来,提供的许多工具也复杂了起来。重构的时候一直想整理一份方便查询的笔记一直没空,现在总算抽出时间整理了一份,将于类型有关的部分整理了出来,其他部分还需要自行翻阅相关文档。笔记类似...

LZW算法压缩字符串数据

2020-04-04
阅读 7 分钟
8.7k
有的时候代码里不得不带上一串长的字符数据表,本来就是小功能,将这种不大不小的数据外部存放显得累赘,放源码里又碍眼又占空间。这时候数据适合的可以通过设计精巧的结构简化存储的占位,没办法简化的可能会手工替换一下重复次数多的字符,但数量一大就没办法手工操作了,这时候应该用压缩算法来帮助我们。

PHP DateTime类计算早于改历时间的问题

2017-10-12
阅读 2 分钟
2.1k
1582年,因为旧历精度问题,导致已经积累了十天的偏差,,所以此年10月5号~10月14号跳过,10月4号之后直接是10月15号,同时修个置闰规则,成为如今使用的格里高利历。