- 博客(250)
- 资源 (1)
- 收藏
- 关注
原创 js 平行上下级关系的数据转换成树形结构算法
const list = [ {"id":6,"departmentId":1,"name":"a","name_en":null,"parentid":0,"order":65535,}, {"id":7,"departmentId":2,"name":"b","name_en":null,"parentid":1,"order":65535,"isDelete":0}, {"id":8,"departmentId":4,"name":"c","name_en":null,"parentid.
2020-12-28 11:57:27
582
原创 ant 多级多选
import React, { PureComponent } from 'react';import _ from 'lodash';import { Cascader, Tag } from 'antd';class CascaderMul extends PureComponent { state = { value: [], }; allLabel = []; componentDidMount() { const { options } = this..
2020-12-28 11:49:15
1040
原创 js 一致性hash算法
https://blog.youkuaiyun.com/sparkliang/article/details/5279393npm库https://www.npmjs.com/package/consistent-hashing
2020-12-21 00:40:59
654
1
原创 js 哈希散列值的模块
https://www.npmjs.com/package/fnv-plusvar fnv = require('fnv-plus'), astring = 'hello world', ahash52 = fnv.hash(astring), // 52-bit hash by default ahash64 = fnv.hash(astring, 64); // 64-bit hash specifiedconsole.log(ahash52.hex
2020-12-21 00:39:04
265
转载 node 桶排序
实现思路与步骤思路设置固定空桶数 将数据放到对应的空桶中 将每个不为空的桶进行排序 拼接不为空的桶中的数据,得到结果步骤演示假设一组数据(20长度)为[63,157,189,51,101,47,141,121,157,156,194,117,98,139,67,133,181,13,28,109] 现在需要按5个分桶,进行桶排序,实现步骤如下: 找到数组中的最大值194和最小值13,然后根据桶数为5,计算出每个桶中的数据范围为(194-13+1)/5=36.4 遍历
2020-12-21 00:34:25
218
原创 nodejs 文件操作
import fs from 'fs';import path from 'path';import glob from 'glob';import mkdirp from 'mkdirp';import rimraf from 'rimraf';export const readFile = file => new Promise((resolve, reject) => { fs.readFile( file, 'utf8', (.
2020-09-08 12:13:53
265
原创 js 深拷贝对象库
const extend = require('extend2'); // for deep cloneextend(true, {}, object1, objectN);
2020-08-27 09:00:08
735
转载 snowflake算法解决分布式ID自动生成
nodejs版本实现https://www.npmjs.com/package/node-snowflake#see-examplesexamplejs//only run simple http serverrequire('node-snowflake').Server(3001);//request url example:GET http://localhost:3001/next_id?worker_id={optional}&data_center_id={option.
2020-08-27 01:13:11
2208
转载 mongodb 桶模式(The Bucket Pattern)
桶模式随着数据在一段时间内持续流入(时间序列数据),我们可能倾向于将每个测量值存储在自己的文档中。然而,这种倾向是一种非常偏向于关系型数据处理的方式。如果我们有一个传感器每分钟测量温度并将其保存到数据库中,我们的数据流可能看起来像这样:{ sensor_id: 12345, timestamp: ISODate("2019-01-31T10:00:00.000Z"), temperature: 40}{ sensor_id: 12345, timestamp:
2020-08-25 08:53:45
2611
转载 MySQL 分库分表
Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql中有一种机制是表锁定和行锁定,是为了保证数据的完整性。表锁定表示你们都不能对这张表进行操作,必须等我对表操作完才行。行锁定也一样,别的sql必须等我对这条数据操作完了,才能对这条数据进行操作。2. mysql proxy:amoeba做mysql集群,利用amoeba。从上层的java
2020-08-24 13:25:51
255
原创 解决缓存穿透:布隆过滤器
https://blog.youkuaiyun.com/liebert/article/details/79737042https://blog.youkuaiyun.com/thlzjfefe/article/details/106056326
2020-08-18 12:00:21
197
转载 分布式系统中一致性哈希算法
业务场景近年来B2C、O2O等商业概念的提出和移动端的发展,使得分布式系统流行了起来。分布式系统相对于单系统,解决了流量大、系统高可用和高容错等问题。功能强大也意味着实现起来需要更多技术的支持。例如系统访问层的负载均衡,缓存层的多实例主从复制备份,数据层的分库分表等。我们以负载均衡为例,常见的负载均衡方法有很多,但是它们的优缺点也都很明显:随机访问策略。系统随机访问,缺点:可能造成服务器负载压力不均衡,俗话讲就是撑的撑死,饿的饿死。 轮询策略。请求均匀分配,如果服务器有性能差异,则无法实现性能
2020-07-29 21:59:34
239
原创 nodejs 自动重启工具nodemon
https://www.npmjs.com/package/nodemon全局安装npm install -g nodemon启动程序nodemon [your node app]
2020-07-01 20:43:32
357
原创 redux react-redux中文文档及教程
Redux 中文文档https://cn.redux.js.org/react-redux中文翻译https://segmentfault.com/a/1190000017064759?utm_source=tag-newest#item-2-3Redux 入门教程http://www.ruanyifeng.com/blog/2016/09/redux_tutorial_part_one_basic_usages.htmlRedux 入门教程(二):中间件与异步操作http:...
2020-06-17 18:53:44
993
原创 javaScript中测试代码执行时间
console.time('time'); for (var i = 0; i < 10000000; i++) { i / 2; } console.timeEnd('time');
2020-04-08 17:46:05
1902
原创 node redis锁的实现
锁是一种同步机制,用于保证一项资源在任何时候只能被一个进程使用,如果有其他进程想要使用相同的资源,那么就必须等待,直到正在使用资源的进程放弃使用权为止。const redis = require("redis"), client = redis.createClient();client.on("error", function (err) { console.log("...
2020-03-09 23:18:26
1242
原创 微信小程序绘制雷达图(多边形绘制)
WXML<canvas canvas-id="canvas" class="canvas" style="width: 700rpx; height: 600rpx;background:#fff;;"/>JSconst app = getApp()Page({ data: {}, onLoad: function () { // 能力值数据 ...
2020-03-09 22:05:58
1926
1
原创 颜色值16进制转rgba
/** * 颜色值16进制转rgba * @param {String} hex 16进制 * @param {Float} opacity 透明度 */ hexToRgba(hex, opacity) { let result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); retu...
2020-03-09 15:22:53
1906
1
原创 小程序同时绘制阴影与渐变色
//获取应用实例const app = getApp()Page({ onLoad: async function () { //小程序渐变色和阴影不能够同时设置,只能初始化一方再设置另一方 const ctx = wx.createCanvasContext('canvas') ctx.beginPath() ctx.setFillS...
2020-03-09 15:18:03
655
原创 MYSQL使用锁解决高并发更新丢失问题
排他锁:排他锁通过在事务中使用select ...for update语句来实现,排他锁会在当前行加一个行级锁,在释放锁(事务结束)之前其他事务不能再对该数据加锁,在并发的情况下,后执行的事务就会被堵塞,直到当前事务执行完成。(通过锁把并发改成了顺序执行)对SELECT进行加锁的方式有两种,只有在事务之中才能生效,否则不会生效SELECT ... LOCK IN SHARE MODE ...
2019-12-11 14:56:39
518
原创 js 使用占位符拼接字符串
String.prototype.format = function() { if(arguments.length == 0) return this; var param = arguments[0]; var s = this; if(typeof(param) == 'object') { for(var key in param) ...
2019-11-25 15:51:21
2356
原创 setTimeout与resolve、setImmediate比较
//setTimeout是在下一轮“事件循环”的开始时setTimeout(function () { console.log('three');}, 0);//立即resolve()的 Promise 对象,是在本轮“事件循环”(event loop)的结束时执行Promise.resolve().then(function () { console.log('two...
2019-11-15 13:29:51
597
原创 基于await 实现sleep函数
function sleep(interval) { return new Promise(resolve => { setTimeout(resolve, interval); })}async function oneAsync() { await sleep(1000); console.log(1)}oneAsync();...
2019-11-15 13:26:31
2302
原创 卸载mysql
1查找之前老版本mysql的目录、并且删除find / -name mysql/var/lib/mysql/var/lib/mysql/mysql/usr/lib64/mysql 2删除对应的mysql目录rm -rf /var/lib/mysqlrm -rf /var/lib/mysqlrm -rf /usr/lib64/mysql3卸载后/etc/my....
2019-11-05 13:38:02
145
原创 CentOS 7镜像下载
1 CentOS 7镜像下载官网地址 http://isoredirect.centos.org/centos/7.4.1708/isos/x86_64/2 阿里云站点下载http://mirrors.aliyun.com/centos/CentOS-7-x86_64-DVD-1708.iso 标准安装版,一般下载这个就可以了(推荐)CentOS-7-x86_64...
2019-10-31 17:45:05
3766
原创 Lunix关闭开启防火墙
1:查看防火状态systemctl status firewalldservice iptables status2:暂时关闭防火墙systemctl stop firewalldservice iptables stop3:永久关闭防火墙systemctl disable firewalldchkconfig iptables off4:重启防火墙s...
2019-10-29 16:40:49
924
原创 kafka安装
1 安装java环境https://blog.youkuaiyun.com/qq_25652213/article/details/899231272 下载安装kafkahttp://kafka.apachecn.org/quickstart.html3 kafka客户端kafkatool下载http://www.kafkatool.com/download.html使用教程:ht...
2019-10-28 19:03:10
117
原创 ssh Scecure Shell解决客户端乱码
1 locale -a 查询系统支持的字符集2输入export LANG=zh_CN.gbk设定字符集3若要永久生效,则需要到/etc/locale.conf 下将文件内容修改LANG="zh_CN.gbk"最后执行source /etc/locale.conf 即可永久生效...
2019-10-28 16:22:25
527
原创 lunix 安装mysql5.5.62
1 下载mysql 安装包https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.62-linux-glibc2.12-x86_64.tar.gz2解压安装包 tar -zxvf mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz3 将msyql移动到 /user/local底下并...
2019-10-28 00:21:38
481
原创 node mysql orm框架 Sequelize
https://github.com/sequelize/sequelizehttps://github.com/demopark/sequelize-docs-Zh-CNhttps://sequelize.org/master/manual/getting-started.htmlhttps://www.npmjs.com/package/mysql-model-ormhttps...
2019-10-15 16:18:17
762
原创 js 数字格式化库
decimal.js提供十进制类型的任意精度数值官网:http://mikemcl.github.io/decimal.js/GitHub:https://github.com/MikeMcl/decimal.jsbig.js一个小型,快速,易于使用的库,用于任意精度的十进制算术官网:http://mikemcl.github.io/big.jsGitHub:https://git...
2019-08-27 18:33:44
1799
原创 window下webstorm使用bable-node启动工程
如果出现 `v8debug is not defined` 请不要忽略 Node parameters: --expose_debug_as=v8debug -- //不要忽略后面的两个 --Application parameters: 这个是项目中的参数, 使用`process.argv`获取。 Environment variables: 环境变量相关, 比如: `N...
2019-08-27 14:18:25
207
原创 node MD5加密
const crypto = require('crypto');class MD5 { //随机盐值 getRandomSalt() { return Math.random().toString().slice(2, 6); } //md5加密数据 cryptPwd(password, salt) { // 密码加盐...
2019-08-23 18:06:30
667
原创 小程序复制内容到剪切板
//复制数据到系统剪贴板wx.setClipboardData({ data: 'data', success (res) { wx.getClipboardData({ success (res) { console.log(res.data) // data 剪贴板的内容 } ...
2019-08-23 17:56:49
1566
原创 js 扩展对象以及对象下的方法
//扩展对象以及对象下的方法const extend = (...arguments) => { let obj = {}; //Array.prototype.slice.call(arguments) 将类数组转化为真正的数组 //Array.from()方法或扩展运算符将参数转换为真实数组:Array.from(arguments); [].slic...
2019-08-22 17:12:29
518
原创 小程序判断手机机型
try { const res = wx.getSystemInfoSync() //判断是否为iphonex console.log(res.model.includes("iPhone X"))} catch (e) { // Do something when catch error}
2019-08-21 11:11:28
3929
原创 nodejs 处理图像模块
2 Node.js轻量级跨平台图像编解码库imagesnpm 地址https://www.npmjs.com/package/node-imagesvar images = require("images"); images("input.jpg") //Load image from file ...
2019-08-21 10:09:44
4382
原创 常用正则表达式
一、校验数字的表达式数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$ 正数、负数、和小...
2019-08-20 19:33:21
205
webstorm2019hhb.zip汉化包
2019-07-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人