首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

一个JS时间引发的

于是花了一天时间,写了几个Shell脚本,再加测试,可正常运行。再后来就又有了个想法,不如做一个平台,在前台页面输入参数,在后台执行相关脚本,生成代码,再返回前台供下载。...于是又花了几天时间,用Node.JS写了一个网站,部署在内网上。 其实这不是今天想写的内容,这是背景。是不是很长。其实主要是记录一下自己最近在干什么。 今天想写的是下面这个。...Question 在做这个平台的过程中有一个功能。在写Hive之类的SQL的时候,需要有一个时间参数,而这个时间必须是昨天,也就是今天的前一天。...看了看JS关于日期的方法,显然并没有类似于得到昨天的日期这种方法。后来发现有一种得到当前时间戳的方法getTime(),能返回1970年1月1日至今的毫秒数。...Second Problem 第一个问题解决了,再就是第二个问题了。 本以为又是很简单,使用一下.format("%Y%m%d")之类的应该就可以了,结果发现JS里面并没有类似于format这中方法!

2.2K50

JS不靠谱系列: 写一个验证过期时间的函数,包含jest单元测试

前言 我们经常用到的token还是cookie,都默认有一个过期时间 我们做鉴权的时候,很依赖这个,所以捣鼓下能不能再严谨点 因为之前都是以后台固定的格式,直接拿到值做一个简单的判断; 那,假如后台传过来的日期格式变了呢...Facebook 出品 ES5&&ES6 Typescript 我们不讲配置,也不讲其他琐碎,只说实现过程 ---- 思路分析 重心其实就是围绕传参来执行 判断参数的类型,只考虑两种情况 数字: 验证是否为一个正确的时间戳...---- 代码实现 代码不多,只涵盖了这么几种情况,具体看测试的文字描述 函数 js 版本(isDate.js , 暴露isDate函数,接收一个参数) function checkDateTime(d...1970年...那肯定不是我们后台要传的时间 // 小于这个年份的也必然不是,谁的后台token过期时间超过一年的......return false; } if (DiffTime > 60000) { // 过期结束时间必须大于传入时间 // 当过期时间还大于一分钟的时候, return

2K20

Vue 折腾记 - (12) Nuxt.js一个校验访问浏览器设备类型及环境的中间

前言 这个需求非常常见,分享出去的页面的有时候在手机访问,有时候别人是PC打开的; 若是不是共享同一个页面的情况,就需要拦截跳转了; 当然你要共享同一个页面也可以(放大化到PC也需要添加某些CSS,也需判断设备...) ---- 思路 本质上还是校验UA, 只是这次是从req拿到,而不是从客户端获取再做处理 客户端的处理的姿势 拿到window.navigator.userAgent 写一个判断的JS,匹配,返回对应的类型...拿到类型之后我们再考虑是否去跳转,或者做一些行为处理 服务端的处理姿势 其实基本和上面的思路一样的,只是我们能做处理的时间提前了 不用等到客户端页面渲染完毕后,再去判断,再做处理 用户的体验上会好很多...理清了逻辑我们就可以开始写了 ---- 谈谈Nuxt生命周期 Nuxt.js就是一个Vue的服务端渲染框架,和React的服务端渲染框架Next.js类似, 我们这里使用的版本是v1.4.2(默认初始化版本是基于...render(渲染)之前有几个阶段,通用全局配置均在middleware(中间件)阶段 那为什么不在nuxtServerInit去做一些处理,因为这里只能触发store的action ---- 代码实现

1.9K40

拼夕夕anti_content参数混淆逆向生成过程

2019年10月25号(美国当地时间10月24号),拼多多股价报39.96美元,上涨12.56%,市值增加至464亿美元,超过京东。...毕竟大神太多了。 我搞了两天才把这个参数完成。 人和人差距太特么大了、、、、、 好了,好了,不废话了,, 我们开干!...t就是我们的anti_content参数, 而且这个函数只有t参数, 而且这个函数小。。 是和我们下断点观察。 打上断点。开始观察。 然后t显示undefined 我们f8执行。...那就是中间发生了不可见人的秘密。 我们f11进入,,然后单步f10到这里。 可以看到PromiseValue。 大家可以搜一下Promise。...我是因为有一个时间戳出现了问题,才偶尔发现了这里。 也算是因祸得福。哈哈哈哈哈。 接下来我们再看看整个js文件。 因为谷歌没有折叠代码的功能。 我们拷贝到开发工具里。 可以看到整个js代码。

1.5K30

JS 逆向百例】反混淆入门,某鹏教育 JS 混淆还原

# @Software: PyCharm # @describe: 混淆还原小脚本 # ================================== # 待替换的值(太多了,仅列出少部分)...这里需要注意的一点,fm.js 后面还有个后缀,类似 t=454594,t=454570 等,不同的后缀得到的 JS 内容也有差异,各种函数变量名和那个列表元素顺序不同,实际上调用的方法是同一个,所以影响不大...实测这个 fm.js 的后缀短时间内不会改变,所以可以直接复制其完整地址来替换,要严谨一点的话,我们可以用正则表达式来匹配这个 t 值,在 Fiddler 里面选择 AutoResponder,点击 Add...,O000o 这个方法就是两个值进行相减,oQOQo 这个时间戳可以搜索 var oQOQo,是一开始加载就生成的时间戳,JS 一开始加载到点击登陆进入加密函数,也就一分钟左右,所以这里我们可以直接生成一个五位随机数...[08.png] 现在就剩下一个 t 参数了,往下看 t 其实就是 Q0oQQ["tokens"],中间经过了一个 if-else 语句,可以埋下断点进行调试,发现其实只执行了 else 语句,对 t

7.2K40

通俗LSTM长短时记忆循环神经网络介绍

[Long Short-Term Memory] 通过对比我们可以发现,LSTM和经典RNN有如下的区别: 除了中间状态H,还多了一个C 每个循环网络的单元(Cell)变得复杂了(多了所谓的三道门“遗忘门...首先,t-1时刻的输入h_{t-1}和x_t经过一个线性变换+sigmoid激活以后(这就是所谓的遗忘门),输出f_t。...f_t再与c_{t-1}进行相乘(element-wise multiplication)得到一个中间结果。...然后,t-1时刻的输入h_{t-1}和x_t经过另外一个线性变换+sigmoid激活以后(这就是所谓的输入门),输出l_t。...同时,h_{t-1}和x_t经过再另外一个线性变换+tanh激活以后),与l_t相乘得到一个中间结果。这个中间结果和上一步的中间结果相加(element-wise addition)得到c_t

2.2K50

3分钟学会在小程序开发纸飞机动画

不用想那么多了!我封装了一个game.class.js类,你只需要在引用就行了。以后我们也多多这种类,别人初始化用一下就行了,根本不用去理解你怎么完成的。...其实,就是给起始点和结束点中间加了一个控制点。 公式为: ? >>>> 三次贝塞尔曲线 ? 其实,就是给起始点和结束点中间加了两个控制点。 公式为: ?...>>>> 函数解析 所谓的公式其实就是函数(function),比如这个公式,就是一个叫B的函数,参数为tt的取值范围是0~1,p0~3这里其实是常数,因为在变化过程中他是不变的。...既然画线知道了,我们把所有点做为飞机的做标来设置就可以了,并且t时间相匹配,比如setinterval,设置300毫秒执行一次飞机定位,并且t+=0.1,于是就完成了一个动画,如果想让动画更连贯,最好用...并且t最好也用缓动来完成,因为飞机开始起飞慢,中间快,最后停下又慢。 >>>> 反三角函数 但是飞机飞行的时候不是一直水平的,它是按照曲线的切线运动的。这个怎么实现呢?就要用我们的反三角函数了。

2.2K40

重放浏览器多个请求性能测试实践

复制浏览器所有请求 这个复制出来的数据太多了,格式基本和之前的一样,我就不重复展示了。...获取HttpRequestBase对象 这里唯一和前文不同的就是从一个文件中获取多个HTTPrequestbase请求对象,这里我用了一个CurlRequestBase,只要检测到结束标志符号**--compressed...**,立刻生成一个HTTPrequestbase对象,紧接着把初始的CurlRequestBase对象还原,这样不会干扰下一个请求的数据。...,一次是根据CurlRequestBase对象的url属性进行过滤,主要是过滤掉js、css、图片、网页和媒体文件包括无用的请求。..."table":"\r\n\t\" > } ~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~ JSON ~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~~☢~ INFO->

41320

深入理解JS异步编程(一)

);} setTimeout(f, 3000); var t = new Date(); //运行5秒 while(true) { if(new Date() - t > 5000) { break...; } } 执行上述代码,可以发现,打印hello world,会在5秒的样子,因为JS是单线程,会在while循环里面消耗5秒的时间,形成阻塞。...等到5s过去,发现在队列里的settimeout已经到时间了,会马上执行函数。...效果是将一个函数推迟到代码书写的下一个同步方法执行完毕时或异步方法的事件回调函数开始执行时;与setTimeout(fn, 0) 函数的功能类似,但它的效率高多了。...passwordGuessHash) { callback(passwordHash === passwordGuessHash); } } 在平时写嵌套时,我们应该尽量避免多层嵌套,不然中间某个地方出错了将会导致你投入更多的时间

1.1K50

Django 模板HTML转义和CSRF4.3

request): return render(request, 'temtest/index2.html', { 't1...': 'hello' }) 模板代码: {{t1}} 显示效果如下图: 会被自动转义的字符 html转义,就是将包含的html标签输出,而不被解释执行...,原因是当显示用户提交字符串时,可能包含一些攻击性的代码,如js脚本 Django会将如下字符自动转义: < 会转换为< > 会转换为> ' (单引号) 会转换为' " (双引号...'django.middleware.csrf.CsrfViewMiddleware'注释 查看csrf1的源代码,复制,在自己的网站内建一个html文件,粘贴源码,访问查看效果 防csrf的使用 在django...return render(request,'booktest/csrf2.html',{'uname':uname}) 运行上面的两个请求,发现都可以请求 保护原理 加入标签后,可以查看源代码,发现多了如下代码

1.2K40

快速理解 Vite 的依赖预构建

信息中可以看出:扫描到了 3 个入口 html 文件扫描到两个需要进行预构建的依赖:vue 和 lodash,依赖扫描耗时 91.69 ms依赖打包耗时 83.92 ms每一条 DEBUG 信息最后会有一个时间...,为前后两条 DEBUG 信息相差的时间,一些行没有时间,则证明该 DEBUG 信息是多行的。...cos.ap-nanjing.myqcloud.com/img/202209031146477.png" alt="image-20220903114644443" style="zoom:50%;" />可以看到 node_module 下会多了一个..."}扫描结果会多了 lodash-es/merge.js 的内容,Vite 会为单独构建出一个不同的产物文件入口扫描如果用户没有指定入口文件,Vite 会扫描项目目录下的所有 HTML 文件(**/*....我们知道,浏览器处理 import 时,会发送一个请求到 Vite Dev Server,然后在中间件处理后,返回模块的内容。预构建依赖的路径,正是在 transform 中间件处理过程中被替换的。

3.8K51

前端中的直播

然而,video标签的限制实在是太多了,尤其是对于播放格式这一项,仅仅是支持 MP4 OGG WebM 格式,现在可能还支持 m3u8 格式的视频。...拉流:一般是一个URL地址,即播放地址,有多种类型的流。 视频直播服务目前常用的包含三种协议(当前时间阿里云的直播推流也是这三种协议),分别是RTML, HLS, (HTTP-)FLV。...web浏览器的直播,因为FLV和RMTP都不支持IOS的移动端(手机与平板) HTTP-FLV 关于FLV在目前来说还是一个更好的方案,关于FLV方面的介绍可以查看使用flv.js做直播。...当初在这里纠结了两天的时间,实在是没有办法。 我使用的是react框架开发的。...播放的时候中间会出现一个 ? 。没错,自己点击播放。真没意思。如果要解决这个问题,需要引入 video-js.swf 。

5.5K20

前端中的直播

然而,video标签的限制实在是太多了,尤其是对于播放格式这一项,仅仅是支持 MP4 OGG WebM 格式,现在可能还支持 m3u8 格式的视频。...拉流:一般是一个URL地址,即播放地址,有多种类型的流。 视频直播服务目前常用的包含三种协议(当前时间阿里云的直播推流也是这三种协议),分别是RTML, HLS, (HTTP-)FLV。...关于FLV在目前来说还是一个更好的方案,关于FLV方面的介绍可以查看使用flv.js做直播。...当初在这里纠结了两天的时间,实在是没有办法。 我使用的是react框架开发的。...播放的时候中间会出现一个[我还要自己去点击播放?]。没错,自己点击播放。真没意思。如果要解决这个问题,需要引入 video-js.swf 。

4.7K21
领券