// 判断日期是不是今天、昨天、明天 const isToday = (str) => { let d = new Date(str).setHours(0, 0, 0, 0); let today = new Date().setHours(0, 0, 0, 0); let obj = { '-86400000': '昨天', 0: '今天', 86400000: '明天', }; return obj[d - today]
Background 最近在做有关游戏交易对账的一些工作,主要就是写一些Python,部署在内部LZ上,虽然每个游戏不一样,表结构也不一样,但是对账的逻辑是相似的,游戏日志表结构也十分相似。于是就有了个想法,根据一些参数自动化生成这个对账用的Python代码。 于是花了一天时间,写了几个Shell脚本,再加测试,可正常运行。再后来就又有了个想法,不如做一个平台,在前台页面输入参数,在后台执行相关脚本,生成代码,再返回前台供下载。于是又花了几天时间,用Node.JS写了一个网站,部署在内网上。 其实这不是今天
# 所以想要谁不可哈希 可添加 __hash__ = None # 如上面类中添加 __hash__ = None 该类的对象就不可哈希了
大家好,我是DD。 昨天,两条科技界的新闻炸了,一条是关于GitHub CEO发文:严格限制俄罗斯获取侵略性军事能力所需要的技术,一条是关于Oracle暂停俄罗斯所有业务。一个是全球最大的开源软件社区,一个是全球最大的数据库软件厂商。巨头们的举动,也开始带动其他科技公司排队加入了对俄罗斯的封锁。 就在昨天下午,微信群(点击加入)里也是盛传一些开源技术社区也宣布支持乌克兰,比如: Node.js 不过,今早DD看了一眼Node.js官网,已经撤下了相关文字。 除此之外,昨天曝光最多的应该就是拥有183K S
学习zepto.js(原型方法)[2] 接着昨天的来,继续说原型方法,昨天的传送阵(昨天出了点小意外,博文经过WP手机的UC浏览器进行编辑后标签就露出来了- -,现已修复); $.grep(): 作用与Array.filter类似(其实就是调用的filter方法- -) 通过传入两个参数,第一个为类数组的对象,第二个为用来执行判断的函数; var array =[1,2,3,4,5]; var even = $.grep(array, function (value) { r
我们有不少网友目前在使用DEDECMS织梦程序或者帝国CMS这类可以生成静态HTML的CMS是比较多的,毕竟在大数据的时候还是静态网站占用资源是比较少的。昨天老蒋遇到一个网友在服务器中有搭建宝塔面板,且是有安装DEDECMS程序的,由于他要调整一个广告位,设置之后要全站生效,必须要要重新生成HTML,于是在生成全站HTML的时候出现"504 Gateway time-out"问题。
不知道为什么,就是不喜欢extJS,昨天看到了疯狂秀才的页面,大家都说好,那我就借鉴一下吧。下载源码,加到aspx里面。运行,居然有js错误。一模一样的呀,怎么出错了?仔仔细细看了n遍,终于发现了不同的地方——多了一个表单<form > 。去掉了就ok了。 然后就是修改菜单了。秀才的菜单是写死在页面里的js形式,我是喜欢动态加载的,于是用了一个古老的方法,在后台组合html,哦不对是js脚本了。 写代码,运行,调试,ok。 private void BindNode() {
昨天群里有人问typecho的文章密码保护功能,提示密码错误时怎么发出弹窗式提醒,而非跳转到错误提示页面,我就随后说了个ajax提交表单的方式,刚刚试了一下确实很可以的,代码如下。 代码
偏见又来了,以下文字请注意阅读姿势: 我觉得JS的知识点,在学习的时候要有侧重。有些是面向工作的,有些是面向面试的,例如接下来的数值范围这个知识点。 数字是无限的,即使有一张无限大的纸,你也不可能写完所有的数字。所以在内存中,ECMAScript也存不了所有的数值。 那这就有一个范围的问题,即ECMAScript所能够表示的最大和最小值。 最小值,5e-324。昨天学过e表示法,就是0.000(324个0)0005,那么小。 最大值,1.799....257e+308,那么大的数。 (第29页有) 最小值是
学习zepto.js(Hello World) Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。 昨天听说了zepto.js,正好最近也比较闲,所以就学习一下这个著名DOM操作库,由于本人刚接触这个,但又不想单纯的说如何使用,所以本人会按照API顺序来说明方法如何使用并试着将对于源码的理解写上来; $(): 与jQuery的$()几乎一样,但zepto的选择器是直接使用的
昨天发布了网站页面滚动加载动画JS特效,但是加载的页面并不怎么完美,文章页面不能直接加载出来,需要滚动条继续下来,可能是没有调节js导致的,所以今天又重新测试了wow.js,感觉这个不错,很喜欢,有兴趣的可以测试下。页面在向下滚动的时候,有些元素会产生细小的动画效果。虽然动画比较小,但却能吸引你的注意。比如刚刚发布的 iPhone 6 的页面(查看)。如果你希望你的页面也更加有趣,那么你可以试试 WOW.js。
昨日我们已经设计了一个简单的功能页面,但是里面显示的数据是假的固定死的,主要是为了展示功能实现后的实际效果。这个也就是大部分前端程序员在开发中遇到的一个阶段,前端开发完成就差后端给数据,但是后端有可能还没开发完成,客户又想看实际什么效果那么就得造一点假数据来填充页面,这样给客户看开发成果就比较直观,当然现在前端老哥办法多,就算后端api还未开发完成,也能使用一些模拟数据接口工具,比如mock、json-server等工具,模拟一些数据接口返回数据,便于前端程序正常运行和测试,等到后端开发完成就替换为真实接口即可。所以说前后端分离也有这个好处,就是能自己开发完成后不需要等待后端,提升了开发效率,当然实际过程中就算前后端分离,但是前后端联调也是一言难尽啊。这个咱在这就不说了。
这里可以不用清掉cookie。直接全局搜__zp_stoken__参数既可,直接到加密的位置。
该文讲述了如何通过JavaScript判断滚动条是否停止滚动,从而解决在数据量较大情况下,频繁向后台发送请求计算数据,造成服务器和浏览器压力过大的问题。具体实现方法是:当滚动条滚动时,发起一个定期执行的方法,并记录一次当前滚动条到顶部的距离。在这个方法中,判断此时滚动条到顶部的距离是否和上次记录的相等,如果相等,那么说明停止滚动了,不相等则还在滚动。这种方法可以设置定时执行的时间,时间越短,响应的越及时,浏览器压力越大;时间越长,响应的越慢,浏览器压力越小。
原本昨天就要发文章的了,由于之前的pdd文章被投诉了,删除了,影响心情的同时也不敢乱发文章了,所以就暂时歇了一天,也改了另外一个网站,就是今天的物流网站。如果大家某天看不到我发文了,估计我也是被举报完了,到时想要看的可以去我的GitHub上看。
事情还得从元旦那回说起。话说2017年最后一天启用CDN内容分发服务后,网站也就更新了几篇文章而已,昨天按计划开更内容,写了一半准备插图的时候,就爆了。硬生生的不让我插入图片啊,俗话说字不如表,表不如图。一张图能解决很多文字才能表达清楚的意思,并且简单直白粗暴。
判断是否为质数,我之前用 js 写过,详情参见:http://blog.csdn.net/FungLeo/article/details/51483844
昨天是2017年工作的最后一天,伴随着昨天的结束,2017年的工作告一段落。 昨天和前天,在工作中,将一个双重循环的寻找逻辑,改为饿了用对象模拟的Map逻辑,使得效率一下子就提高了很多。今天就想和你聊聊这个类似Map的逻辑。 一开始并没有搜到JS中Map的用法,所以才采用了双重循环的逻辑。11月份在刚开始做这个功能的时候,是有在网上查过JS中的Map用法的,网上的大多解决方案是用循环去模拟Map。理由是JS中并没有Map这个数据结构。后来去W3C上查,也确实没有,外加之当时对JS对象的理解并不深,所以最终用
动态的编辑中,主要运用的原理是vuex,其实也有考虑用属性传递(props),但是我的富文本编辑并非简单的作为组件来实现的。而是作用一个单独的子页面来实现的,这样,在文档上就没有直接的关联,所以最终采用vuex。当然采用的编辑默认规则为只允许编辑最后一条动态,因为如果还去编辑以前的动态,一方面时间是否变更是个现实意义上的难题,另一方面,应该让更改的难度略微大一些,不然随随便便更改,那动态就成为了自我满足的工具。
1. 概述 上段时间一直忙于处理大会安全保障与应急,借助公司云悉情报平台,发现并处置几十起网站被劫持的情况。对黑客SEO技术颇有感觉。正好这段时间有时间,把以前遇到比较有趣的案例和大家分享一下。里面很多技术其实早已被玩透,只是网上搜了一下并无太多这方面的介绍。所以在这里共享一下相关的案例,案例主要分享一下思路。 1.1 原理 网站劫持是一个相对古老的技术,主要是黑帽用来做SEO用。实现网站劫持如果以下步骤: 入侵相关网站 然后在网站中插入JS或修改其配置文件,增加相应的劫持代码。另外一般会加入判断条件,判
(昨天喝多了,断更一天,各位抱歉哈) 这个问题,是我们共进会里一个成员提出的,大四,计算机专业,记得他有些JAVA经历,感觉算是半个后端转前端吧。他学习还是很努力的,作业啊,日志啊,签到啊,都不落下。 昨天他问我这个问题时,我当时已经喝多了,晕晕的回答他说, 建议你分成二部分来看待,,JS做为基础,一定要一直不停的看。就是遇到原生JS的知识,就看看。尤其要注意面试类的相关原生 JS知识,因为面试的时候,一定会问。 jQuery部分做为工作技术来看待, 一,可以从各种小例子入手,多做多练。目的是熟悉JQ的各种
最近这段时间主要在不同平台测试模块的稳定性,目前播放这一块没发现问题,由于条件限制,除了FreeBSD平台没测试过,Windows 7,Debian 7.x和macOS Sierra都测试过了,由于Nginx官方对Windows支持不太好,没用Windows平台最强大的IOCP接口(使用的select),所以导致Windows平台上运行效率不太高,表现在推流等待时间长,3s+,首屏时间很长,4s+,select本身原因限制客户端个数,默认是1024。推流等待时间和首屏时间最短的是macOS Sierra,本机上测试时基本上是秒推秒开。昨晚专门注意了一下,在macOS Sierra下编译时,SO_REUSEPORT和TCP_FASTOPEN两项都支持,前者让Nginx的每个子进程都可以listen,都有一个专门的accept队列,解决了惊群效应;后者则是在发起SYN时就已经携带实际数据,而不是握手完毕后再传输实际数据。秒推秒开可能跟这两个选项有关。但是macOS Sierra并不支持将某个进程绑定到某个CPU上,所以可能进程上下文切换会有开销,系统负载较大时可能效率不如Linux。由于macOS Sierra是公司的电脑,所以未做压力测试。我的笔记本装的是Debian 7.x,因为内核版本较低,所以macOS Sierra上支持的两个选项都不支持。测试时推流等待时间和首屏时间都介于Windows 7和macOS Sierra之间,在服务器上测试时(系统CentOS 6.4,支持SO_REUSEPORT但是不支持TCP_FASTOPEN)跟macOS Sierra上差不多,但是考虑到服务器的CPU性能强大得多,所以负载不高情况下,macOS Sierra的表现是最好的。由于macOS Sierra是从Mac OS X更新来的,而Mac OS X的底层最初是在FreeBSD基础上开发的,所以推测在FreeBSD上的表现应该也不错。
昨天搞了一天,我觉得新手可以参考我这篇文章思路,避免你和我一样踩坑,刚好去年的这几天也在搞mqtt,不过当时弄的是微信小程序,这次项目是uniapp,我想实现uniapp中的h5能够使用mqtt,转换成小程序后也能直接使用,后面成功了,但是也付出了点代价,接近弄了5个小时,一直在犹豫要不要发出来记录一下,后面还是妥协了,因为我怕下次我用到又继续像昨天那样, 本次解决了:
在src文件夹下创建:dateFormat.js文件,这个文件里面放的是格式化时间的js文件
上文我们一起看完了在 next.js 中如何解决 hydration fail 的错误和如何局部关闭 SSR 的几个方案,其中聊到了 next.js 的 dynamic API。老规矩,今天我们一起来看看 dynamic API 的源码实现。
由于昨天发了一篇关于setTimeout 的文章,里面提到了 Promise ,那篇文章里没有解释Promise的用法和含义,因为昨天的我还没太懂Promise,所以没有在那篇文章继续解释Promise,然后今天的我总算是对Promise有所理解了,然后我来谈谈我学到的Promise的知识,因为是个人的理解,所以会不全面,请多包涵。
也就是昨天刚学的DOM编程,其中涉及到getElementById()方法的使用。
计算质数的关键是要减少运算量。如果傻呢,就从1循环到这个数字来进行全量循环计算。聪明一点就不需要了,只需要循环到这个数字的平方根的数字即可。
大家好,在昨天的文章中我们详细讲解了如何使用requests+bs4爬取美国疫情实时数据,但是在文章发布之后大约三个小时就有读者后台留言说怎么代码不能用了,在第一个读者反馈的时候我在想难道写的还不够详细吗,在第二个读者反馈的时候我在想这届读者水平不太行嘛,结果在不断有人反馈代码失效了之后我打开电脑测试一下,网站确实做了反爬措施
前端提交登陆表单时数据包加密了, 而且有个 sign 字符串每次都不一样用于校验, 应该是用 js 加密
今天发布基于Ubuntu 16.04 64位教程。 其实你算一笔账目,如果你想做,你要找人做,几百块的部署费没有了,学会了,这些钱就省下来了。好了,就当你没看见这句话。 昨天的一些步骤就省略去了。 今天的从搭建HTTP服务开始。 首先我们先安装NodeJS #sudo apt-get update #curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - #sudo apt-get install -y nodejs 编写app.js/
截止昨天,咱们已经基本掌握了利用vue框架创建一个前端项目的能力,那么今天就开始实际应用于项目中,这里咱们就开发一个简单的sre管理平台系统的前端部分,后面再进行后端api的开发,最后实现一个前后端交互的管理系统demo。从简单开始,一步一步完成,相信到后期就能开发更多复杂项目。
JS的变量与其他语言的变量有很大区别,因为其变量松散的本质,决定了变量只是在特定时间内用于保存特定值的一个名字而已,变量的值及其数据类型可在声明周期内改变。
说到js正则表达式,js的字符串就是一个绕不开的话题 字符串是正则表达的是一种实践 字符串String支持一些支持正则表达式的方法,昨天提到的replace就是其中之一 它们分别是:
昨天,发布了《完美实现移动主题在 360 网站卫士缓存全开情况下的切换》一文,通过 JS 实现了主题在移动端访问时的自动切换,最后提到了可以在电脑版和移动版的 footer 里面加上手动切换链接,实现手动版本切换功能。 今早发现,电脑版切换到移动版是没问题了,但是移动版切换到电脑版,JS 将会再次工作uaredirect.js会再次做 UA 判断,然后由又跳回了电脑版! 也就是说,手机上浏览无法手动切换到电脑版,看来还得继续折腾! 于是,想到一个办法,给移动版的切换链接带上一个参数,再修改 uaredire
昨天看了别人的直播,总结了几个概念。今天和小伙伴聊到了两个问题。json生成器和流程图生成器。
本来想的是昨天晚上写这篇文章的,后来昨天在写一个Cordova上的iOS插件的时候各种不顺。对接的第三方SDK不给力,于是六点多回到家的时候,我就就开始娱乐了,哈哈哈~~ 其实这篇文章应该算是一篇拾遗。 从map组件说起 在今天公布的开发文档里,我们知道使用一个地图组件的时候是这样子的: <map longitude="23.099994" latitude="113.324520" markers="{{markers}}" covers="{{covers}}" style="width: 375
我知道你学不动了,但还是很平静的告诉你,jdk11发布了。没错,就是昨天,2018年9月25日,它,发布了。
首先先更正一下昨天发送内容的错误之处,对你造成的影响深表歉意。对照昨天的文章:ajax和vue.js(此处连接方便大家查看对照)中第6部分vue的事件与函数中,第4行更正为this.属性名或对象名.属性(昨天写成了冒号,此处为手误,特此更正)
在昨天的工作中遇到了一个微信小程序上传代码过大的情况,在这里总结一下具体的解决步骤,首先介绍一下,技术栈是使用uniapp框架+HBuilderX的开发环境。
时间格式化的需求: 今天的数据显示“时分”,HH:mm 10:00 昨天的数据显示“昨天 时分”, 昨天 10:00 今年的数据,显示 “月日 时分”, 05-01 10:00 不是今年的数据,显示“年月日 时分”, 2022-05-01 10:00 代码展示 在 ios中 用new Date("2022-05-01 10:00").getTime()会有兼容性问题,跟日期格式的连字符有关系,这里使用moment插件 const moment = require("moment"); // 判断日
老规矩,昨天写了关于 getServerSideProps 的内容,今天趁热写一下 getServerSideProps 相应的源码,看看 next.js getServerSideProps 是怎么实现的,还有什么从文档无法知晓的细节。
上篇文章主要分享了的一个commonJS规范的问题,那么今天接着昨天的话题继续聊一聊nodejs的模块儿查找机制
昨天分享的《难道这就是“西安一码通”再次崩溃的真实原因?》收到了很多留言,群里也是各种吐槽。怎么会通过服务端生成图片下发呢?Low的不行!
之前一直很好奇,SPA应用到底是怎么实现的,昨天无意间看到了有一篇介绍的文章,就想着来试一下水(以下根据我的理解所写,可能会让你看的云里雾里,如果想加深了解,最好先了解下window.location.hash是什么东西) 其实,SPA的原理就是,一开始将一些必要的页面都加载进来,当你在页面输入别的路由的时候,其实还是待在当前的页面,只不过是他识别出你想要去的地址,然后将那个页面的内容获取到,替代掉当前页面的内容,并且相应的改变url地址,这样给人看起来就好像到了另一个页面,实际上你还是在这个页面里,没有离
作者还有一个更加多stars的项目headroom.js,目前有10.9K stars
上一篇博客为大家分享了Kettle的骚操作——生成年度节假日表,其中在JS代码中调用了节假日API。
我所在的城市昨天出了近20+的阳性案例,但这丝毫没有 影响 到996的工作时间,当然,也没有影响到我想继续更新文章的决心。
领取专属 10元无门槛券
手把手带您无忧上云