技术随笔
mmmMMM12345
这个作者很懒,什么都没留下…
展开
-
hyper-v中ubuntu20设置静态IP并联网
hyper-v ubuntu虚拟机 配置静态IP配置并联网原创 2022-10-26 18:14:19 · 789 阅读 · 0 评论 -
数独的递归解法
鄙人不才,不会其他算法。看到数独第一个想法就是递归来接。数独的规则大家都知道:一个9*9的81格矩阵;同一列只能有1-9九个数字,不能重复;同一行只能有1-9九个数字,不能重复;在一个小的3*3矩阵中,只能有1-9九个数字,不能重复;那么接数独的思路是这样的,在一个空格子中,先从同一列,同一行,小矩阵中排除已有的数字,然后在剩下的数字中先填一个,再到下一个空格子中重复此步骤,如果下一个格子中找不出解,那么说明在之前的步骤中填的数字是不对的,那就回退到之前的格子,换一个数字继续下一原创 2022-01-24 17:38:18 · 876 阅读 · 0 评论 -
webstorm断点无效
今天在调试的时候发现断点突然就不行了,最后发现是文件名中多了个空格的原因原来的文件名是5. A大家注意看点和A中间多了个空格重命名文件后5.A再进行断点,正常了。真是奇葩的问题...原创 2022-01-05 17:43:03 · 2189 阅读 · 2 评论 -
Cannot find engine named: ‘javascript‘, ensure you set language field in JSR223
JMETER运行脚本的时候报错Cannot find engine named: 'javascript', ensure you set language field in JSR223原来是脚本里有一个javascript的脚本,而高版本java已经移除了javascript的引擎,所以不支持了,两种方案一,javascript换别的语言重写二,换回低版本java,比如8.0...原创 2021-10-25 16:14:51 · 1103 阅读 · 0 评论 -
yii插件kartik中date-range-picker清除按钮的实现方法
实现方法就是借用clear按钮,和clear按钮的cancle事件了实现输入框中已经选择的日期数据代码如下'pluginOptions'=>[ 'timePicker' => true, 'timePickerIncrement' => 1, 'timePicker24Hour' => true, 'locale'=>[ 'format'=>$taskSearch::TIME_FORMAT,原创 2021-10-18 16:49:07 · 393 阅读 · 0 评论 -
B-tree B树的JS实现(三):删除元素
首先,B树必须满足:元素数=子节点数 - 1。删除元素,会导致上述条件不满足。对于可能会导致这种不满足的删除,需要考虑下面几种情况:一:删除元素后,如果删除节点的叶子节点有丰满元素,向子节点借元素,子节点再向它的子节点借,只到叶子节点。二:叶子节点没有丰满元素,子节点有,向子节点借后,子节点的子节点进行合并。三:以上都不满足,向兄弟节点借。借的元素给父节点,然后父节点给删除节点一个元素。然后有以下两种情况: 1:兄弟节点有丰满元素,兄弟节点的叶子节点也有丰满元素,兄弟节...原创 2021-08-16 19:48:22 · 408 阅读 · 0 评论 -
PHP超大数据EXCEL生成方法
有个需求,用PHP生成EXCEL,数据量有30万行。用SpreadSheet肯定是不行了。最后用的PHP的扩展,xlswriter。官方网址https://xlswriter-docs.viest.me/zh-cn/an-zhuang/pecl-tui-jian首先安装扩展pecl install xlswriter# 添加 extension = xlswriter.so 到 ini 配置如果pecl安装不成功,可以选用源码安装。可以去官网查阅,这里不必再表。然后PHP中调原创 2021-08-05 16:32:39 · 567 阅读 · 0 评论 -
B-tree B树的JS实现(二):五阶B-tree添加元素
优化了一下分裂方式const M = 5;class BTree { constructor() { /*只需要入口节点,即根节点*/ this.root = null; } addKey(key){ if(this.root === null){ this.root = new BTreeNode(); this.root.add(key); retur原创 2021-07-20 14:28:48 · 249 阅读 · 0 评论 -
B-tree B树的JS实现(一):添加元素
话不多说,直接上代码,B树的理论网上太多太多了,大家自行查找学习吧const M = 3;class BTree { constructor() { /*只需要入口节点,即根节点*/ this.root = null; } addKey(key){ if(this.root === null){ this.root = new BTreeNode(); this.root.add(.原创 2021-07-19 18:18:39 · 459 阅读 · 0 评论 -
关于导致PHP假死的一个APCU的BUG
最近遇到了一个比较棘手的问题,服务器莫名其妙就挂了。查看nginx日志,报HTTP 499错误码,说明PHP对nginx未响应了。查看php进程,发现进程存在,查看代码报错日志,并未发现报错。重启php后服务器恢复。但是恢复20分钟后还是挂了。再次查看php slowlog发现端倪,有慢日志,从慢日志定位到代码,报错指向的代码是apcu_store()初步判断是apcu的问题。查看apc配置,php -i | grep apc发现apcu配置的内存只有32M,修改配置,将apc原创 2021-07-12 15:21:11 · 487 阅读 · 2 评论 -
PHP多进程
业务上遇到一个问题,需要生产大量的EXCEL文件,但是PHP单进程在IO操作时非常慢。所以用到了多进程来处理。关键方法pcntl_fork()我们先将要生产的EXCEL分组,比如我们需要4个进程来处理任务,那就分为4组,然后分给fork出来的子进程。然后主进程等待所有的子进程退出,再继续做后续操作。下面上代码//$cpuNum = $this->getCupNum(); 可以动态根据CPU核数来建立子进程$cpuNum = 16;/*任务分组*/$tables = ar原创 2021-07-08 18:46:15 · 150 阅读 · 2 评论 -
生成唯一uid的思路
一. 通过mysql主键索引生成通过mysql的主键自增来获取uid。如果有要求比如从10000开始,那么可以设置自增起始值为10000。还可以设置自增长度,比如自增长度为2,那么获取到的值为1,3,5......二.通过redis INCR命令生成通过redis的INCR命令的返回值获得自增的id...原创 2021-07-07 16:29:42 · 608 阅读 · 0 评论 -
MySQL 时间类型 DATE、DATETIME和TIMESTAMP的区别
1.DATE、DATETIME和TIMESTAMP 表达的时间范围Type Range Remark DATE '1000-01-01'to'9999-12-31' 只有日期部分,没有时间部分 DATETIME '1000-01-01 00:00:00'to'9999-12-31 23:59:59' 时间格式为YYYY-MM-DD hh:mm:ss,默认精确到秒 TIMESTAMP '1970-01-01 00:00:01'UTC to...原创 2021-07-06 18:57:26 · 452 阅读 · 0 评论 -
理清JS中的原型prototype
网上的文章,关于对象原型,我感觉说的都很乱。以下分享一下我的思路。记住原型就是prototype,原型链可以看做是一条绳子,顺着绳子打结,每次打结都栓上对象的prototype。现在我定义一个对象function Tank(){ this.type = function(){ console.log("tank"); }}那么原型链上绑一个Tank.prototype。然后原型链这条绳子就看成__proto__,顺着绳子可以找到该对象上一个原型对象pr原创 2021-06-23 19:24:46 · 88 阅读 · 0 评论 -
js中WeakMap的实际用处
放在WeakMap中的对象都是弱引用,在实际应用的时候可以防止对象无法被回收比如以下代码let map = new Map();let button = document.querySelector('#login');map.set(button, {disabled: true});这样会导致按钮的Dom无法回收用WeakMap可以解决该问题let weakMap = new WeakMap();let button = document.querySelector('#l原创 2021-06-22 18:04:30 · 551 阅读 · 0 评论 -
关于2的1000次方
之前看到文章说,一道面试题,计算2的1000次方。底下的评论基本上都是说因为数据长度非常大,需要按数据的每一位来创造数组,按数组的每位做循环计算。如果用js的话,一行代码搞定,而且速度很快,耗时4毫秒console.log(BigInt(Math.pow(2,1000)));...原创 2021-06-22 11:26:27 · 454 阅读 · 0 评论