这才是真正的js获取任意两个日期间的所有月份

这才是真正的js获取任意两个日期间的所有月份

js setFullYear与setMonth的坑

系统上线后,突然收到妹子的反馈,销售汇总查询报表页面显示的月份与实际销售月份不一致!我随即登上系统,按妹子的查询条件,查询数据,然后再查询实际销售数据,果然如妹子所说的,数据有问题,难道逻辑出错?然后我再导出报表对比,数据没问题,那好办,应该是前端展示错了。

为了再印证一下判断,浏览器F12开发者模式,抓了一下包,返回的数据正常,那么这回肯定是前端的锅了。话说前端也是我写的 :laughing:。很快定位到getMonthBetween,之前偷懒使用CV大法从网上抄来简单改改就用了,还好没变成自主创新

golang net/http tls客户端频繁请求 401 Unauthorized

golang net/http tls客户端频繁请求 401 Unauthorized

一、烟零蛋

其实这个问题是《golang操作华为防火墙ACL实现远程启停》里遇到的,项目做完准备交付,测试偶尔遇到前端一直转圈(前后端不分离项目)。经过定位发现卡在了获取防火墙策略状态那里,再fiddler抓包看到了请求发出后一直没数据返回,加上默认http.Client没设置超时处理,导致后端也无法返回数据。

为什么restConf服务不返回数据呢? 用fiddler直接模拟请求,也卡住了,根本没返回消息;再用python来请求,也是没任何数据响应;最后重启restConf服务,api https enable,问题暂时解决,但是前端多刷新几次后,又出现卡顿了。

zepto.js双击事件及双击DIV时不要选中文字

一个小项目中使用到了zepto库,前端想实现双击div触发事件,开始用的是doubleTap,移动端可以实现双击点击,但是PC端却没反应。试了jquery的dbclick没生效,google找了很久没找到。

后来在zepto.js源码中搜索click,找到了dblclick,直接测试,成功!

           /*
           $('.status-bar').doubleTap(() => {
                             
                $.toptip('doubleTap','success')
            });
            */

            $('.status-bar').dblclick(() => {
                $.toptip('doubleclick', 'warning')
            });

golang操作华为防火墙ACL实现远程启停2

golang操作华为防火墙ACL实现远程启停2---寻找真相

一、摸索

上文提到用go开发的程序对接防火墙api时出现remote error: tls: handshake failure,虽然通过调低防火墙api security加密算法强度解决了,但是总感觉怪怪的。因为用python和curl 简单测试了下,都能正常访问,难道golang还落后了?

为了搞清楚原因,先是设置了InsecureSkipVerify,测试没效果;再指定tls版本MaxVersion: tls.VersionTLS12, MinVersion: tls.VersionTLS12,也没效果;改写VerifyPeerCertificate ,直接return nil,测试还是没效果。

怀疑go需要手动指定证书,把cer转成pem后==(用openssl可以转)==,加载到RootCAs,测试还是不行。

golang操作华为防火墙ACL实现远程启停1

golang操作华为防火墙ACL实现远程启停

一、需求

某个服务端应用A在地点P1,地点P2通过网关建立的VPN来访问P1(A服务器禁止上外网,外网也不能访问A的服务)。这个A服务上线运行后,P2日常访问没什么问题。某天来了个新需求,为了增加A服务的安全性,P2不能再随意访问。要求:

  • 指定的管理人员可以在任意地方查看当前服务的状态==开启或关闭==。
  • 指定的管理人员可以随时在任意地方开启或关闭服务