再看最后一眼青春的星空

灿烂火光就像盛夏的烟火

欢送挣扎万年文明的巅峰

我们啊

将变星辰永远飘在黑暗宇宙

这个男人来自三体

Tirion

导航

#

[置顶] roc-charts 开源的轻量级关系图谱框架

摘要: 此框架基于 zrender 开发,用于展现节点之间的关系。关系的呈现(图谱布局)主要还是由使用者决定,可以很简单的将自己的布局算法加入到此框架中,而框架更多的作用是实现图谱操作功能,此框架内置了一些常用功能,也提供了插件机制可供开发更多功能。 框架的使用: yarn add roc-charts 或 阅读全文

posted @ 2020-06-09 15:26 Tirion 阅读(1404) 评论(0) 推荐(0) 编辑

#

[置顶] roc-charts 开发笔记:广度优先查找无向无权图两点间最短路径

摘要: 广度优先查找无向无权图两点间最短路径,可以将图看成是以起点为根节点的树状图,每一层是上一层的子节点,一层一层的查找,直到找到目标节点为止。 起点为0度,与之相邻的节点为1度,以此类推。 // 广度优先遍历查找两点间最短路径 breadthFindShortestPath(sourceId, targ 阅读全文

posted @ 2019-06-13 16:24 Tirion 阅读(776) 评论(0) 推荐(0) 编辑

#

[置顶] roc-charts 开发笔记:canvas——根据鼠标位置进行缩放的实现原理

摘要: 以任一点 A 缩放的基本原理: A 点为鼠标位置,正常放大是以原点放大,那么放大后 A 点就会变到 A1 点的位置 x1, y1。然后再将画布进行位移,将 A1 的位置移动到 A,则完成以 A 点缩放的功能。 代码示例: this.scale 是当前缩放比例,this.offsetX, this.o 阅读全文

posted @ 2018-08-07 14:38 Tirion 阅读(1226) 评论(2) 推荐(0) 编辑

2023年12月21日 #

光猫连接两个路由器互通

摘要: 光猫的两个 LAN 口分别连了个路由器,一个在客厅一个在卧室,路由器默认使用 DHCP,连接卧室路由器时访问不了连接客厅路由器的设备。 此时可进行以下操作实现互联: 如果两个路由器都支持 AP(有线中继) 功能,那么开启两个路由器的 AP 功能即可。不过我的一个路由器不支持 AP,所以需要另外的操作 阅读全文

posted @ 2023-12-21 20:29 Tirion 阅读(329) 评论(0) 推荐(0) 编辑

2023年1月9日 #

服务器中了 xmrig 挖矿病毒,杀进程后还得删除定时任务

摘要: 最近收到一条阿里云服务器发出的短信警告,说我们正在利用服务器挖矿,必须立即停止挖矿活动。 SSH 连上服务器后,使用 top -c 命令,发现有个 mxrig 进程几乎把服务器 CPU 资源占满了 通过搜索发现 mxrig 是个挖矿病毒,然后就开始查找解决此病毒的方法。 很多文章就是找到病毒路径删除 阅读全文

posted @ 2023-01-09 13:51 Tirion 阅读(1262) 评论(0) 推荐(0) 编辑

2022年3月23日 #

前端工程化:如何使用 TS 开发一个 CLI 脚手架

摘要: 当我们使用 react 或 Vue 开发项目时,我们可以通过使用 create-react-app,vue-cli 这样的命令行工具快速创建一个项目的脚手架。那么 create-react-app 这样的工具是怎样开发的呢? 创建项目 首先我们需要创建一个新的项目用于开发我们的 CLI 项目。 先创 阅读全文

posted @ 2022-03-23 17:26 Tirion 阅读(756) 评论(0) 推荐(0) 编辑

2022年3月12日 #

前端工程化:使用 shelljs 生成 yapi 接口文件

摘要: 之前的文章介绍了使用 yapi-to-typescript (下文简称 ytt)生成接口类型定义文件,方便我们直接使用接口的请求和响应类型,能减少很多写接口类型的时间。 使用 yapi-to-typescript 生成接口响应数据的 TS 类型声明 既然能生成接口类型定义文件,那也就可以生成接口请求 阅读全文

posted @ 2022-03-12 16:23 Tirion 阅读(398) 评论(0) 推荐(0) 编辑

2022年2月16日 #

Taro 项目中编写小程序统一跳转函数

摘要: 小程序中的页面跳转分为 switchTab, navigateTo, redirectTo 三个方法。每次写跳转的时候都要考虑是怎样的跳转,该使用哪个方法,这无疑是不必要的心智负担。 为了解决这个问题就编写了一个统一跳转函数,整合了3个跳转方法。 话不多说,直接看代码: import { navig 阅读全文

posted @ 2022-02-16 11:15 Tirion 阅读(228) 评论(0) 推荐(0) 编辑

2022年1月27日 #

Taro 中使用 canvas 绘制分享海报保存到本地

摘要: 小程序分享朋友圈目前的做法一般都是保存一个带有小程序二维码的海报到本地,网上也有不少相关文章,但是别人的不如自己的,这里记录一下自己生成海报保存到本地的方法。 本来一开始打算使用离屏 canvas 的,结果搞了半天发现小程序的离屏 canvas 和 通过 canvas 标签获取的有很多不同,简直就是 阅读全文

posted @ 2022-01-27 19:56 Tirion 阅读(1684) 评论(0) 推荐(0) 编辑

2021年12月30日 #

使用 yapi-to-typescript 生成接口响应数据的 TS 类型声明

摘要: TS 是越写越爽,但是很不爽的是接口响应数据一堆,每次要去手写很麻烦。 最近正好后端接口文档从一个垃圾工具切换到了 Yapi,然后去搜了下可以通过接口文档自动生成 TS 类型声明,就自己搞了下,还是很简单顺利。 只需要几步级搞定了: 安装 yarn add yapi-to-typescript -D 阅读全文

posted @ 2021-12-30 16:16 Tirion 阅读(1164) 评论(0) 推荐(0) 编辑

2021年11月26日 #

git 忽略文件提交的几种姿势

摘要: 大家都知道 git 忽略文件提交可以通过 .gitignore 中进行配置。但是有时这个配置并不能满足自己的需求。 比如 package.json 中我修改了一些配置,但是这些配置只是适合我自己使用,而同事不喜欢用,我就希望我本地的 package.json 不提交到远程仓库。这时通过配置 .git 阅读全文

posted @ 2021-11-26 10:17 Tirion 阅读(430) 评论(0) 推荐(0) 编辑

2021年10月28日 #

async await 原理——generator 自执行

摘要: generator 函数自执行 redux-saga 中使用 generator 函数来进行流程控制。通常的 generator 函数在 yield 的地方中止后,需要使用 next 来继续执行,但是 saga 使用中我们并没有调用 next,说明 saga 已经在内部进行了处理,那么它是怎么处理的 阅读全文

posted @ 2021-10-28 17:15 Tirion 阅读(105) 评论(0) 推荐(0) 编辑

2021年10月20日 #

React Hooks 的存取原理

摘要: 每个组件的 fiber 上都有个 memorizedState 属性用于存储这个组件的所有 hooks。hooks 中的每个 hook 也有个 memorizedState 用于存储这个 hook 的数据。而每个 hook 还有个 next 指向下一个 hook。 这里我们用链表实现 hooks 的 阅读全文

posted @ 2021-10-20 23:40 Tirion 阅读(350) 评论(0) 推荐(0) 编辑

The Man from 3body