原生js+css实现时序图

前言

前面我用React + AntDesign 实现了一个简单的时序图,但是后来有了更复杂的需求,并且要求同时展示2000个任务的展示,这就涉及到了性能问题,本人先使用React+antd+ts实现了一个基本满足下面需求的demo,但是react的渲染机制造成了较大的性能问题,利用chrome自带的Performance,测试发现demo的首次渲染高达10s以上,并且后续的操作也会使整个页面非常卡。时序图设计到的折叠和展开功能涉及到整个页面的重绘,经过思索后决定使用原生js+css去实现,因为原生js下性能是最优的。

Read More

理解动态规划

动态规划是一个经典而实用的算法,经常在面试题中出现。

以最著名的刷题网站leetcode为例,目前有147道动态规划算法题,占比约 13% 。

其重要性可见一斑~

这篇文章就来详细分析一下动态规划相关知识点。

Read More

微信小程序统计Trello、掘金积分,Promise异步处理

声明:本人是第一次写小程序项目,有写的不对的地方,大佬们指点指点。

简介

Trello是一款团队管理工具。本文介绍的是使用微信小程序做一个积分排名的项目,从微信小程序端去调用Trello的接口、获取掘金上面的文章,按照特定的规则去积分。项目开始之前需要做一些准备工作:

  1. 注册 Trello 账号–>注册为开发者 –>获取 trello 开发者的key –>生成 token。然后进入Trello API 文档获取需要的接口。
  2. 成为微信小程序开发者,具体步骤请参考https://developers.weixin.qq.com/miniprogram/dev/quickstart/basic/getstart.html
  3. 获取genetalks_大数据里面的所有文章。

提示:使用微信开发者工具发请求前先把:微信开发者工具(右上角) –> 详情 –> 不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书 (✔ 上)

Read More

使用vue自定义指令来开发一个表单验证插件

简介

这段时间在进行一个新项目的前期搭建,新项目框架采用vue-cli3和typescirpt搭建。因为项目比较轻量,所以基本没有使用额外的ui组件,有时候我们需要的一些基础组件我就直接自己开发了。今天就来介绍一下如何利用vue的自定义指令directive来开发一个表单验证插件的过程。本文是以ts为基础开发的,如果同学们需要js版的只需要把ts语法转为js即可。

Read More

mxGraph使用经验总结

mxGraph是一个支持多种语言(Java、JavaScript、PHP、.NET)的画图框架,所绘制的图形可以在主流浏览器以及原生应用上使用。
mxGraph官方资料全英文,网上有几篇mxGraph的教程,对于“入门”和“使用”讲解得比较详细。
所以这篇文章不是介绍如何画一个图形,写一个hello world,而是重点介绍学习mxGraph时觉得比较重要的、难以理解的或者容易被忽略的知识点。
需要读者对mxGraph的文档有一定的了解或者使用mxGraph。

Read More