可能很多人跟我一样,学了很久也没记住什么是EaseIn,什么是EaseOut…主要是怎么区分,今天终于记住了:
首先在WPF中对Animation有EasingFunction标签,其具体的种类见后面的大图。而对每一种EasingFunction都有三种不同的缓动方式。
1.EaseIn:即缓动发生在入口处,也就是刚开始的时候。
2.EaseOut:即缓动发生在出口处,也就是结束之前。
3.EaseInOut:就是两边都有缓动了.
图片看原文把,图片很能让你很清晰的理解不同属性的缓动
可能很多人跟我一样,学了很久也没记住什么是EaseIn,什么是EaseOut…主要是怎么区分,今天终于记住了:
首先在WPF中对Animation有EasingFunction标签,其具体的种类见后面的大图。而对每一种EasingFunction都有三种不同的缓动方式。
1.EaseIn:即缓动发生在入口处,也就是刚开始的时候。
2.EaseOut:即缓动发生在出口处,也就是结束之前。
3.EaseInOut:就是两边都有缓动了.
图片看原文把,图片很能让你很清晰的理解不同属性的缓动
消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。 其主要用途:不同进程Process/线程Thread之间通信。
例如 zip -q -r PocTest.zip PocTest/
使用Fiddler时如何屏蔽Chrome的证书警告:"Your connection is not private"/"您的连接不是私密连接"(如图1所示)? 启动chrome的时候加上--ignore-certificate-errors命令行参数(如图2所示)即可。
通过node-open模块,可以在任何平台上打开某个浏览器网址。
在使用puppeteer自动化的过程中,会发现其实开启的chrome往往自动禁用了插件功能,如果我们想在自动化测试的过程中,再去使用一些常用的插件提升效率(偷懒)的话,就行不通了,其实解决办法还是有的,我们今天就来讲解这个问题。
page.setRequestInterception(true)拦截器的使用方法和场景 现附上Puppeteer的Api的链接https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md
原理是先获得本机chrome的cookie,然后再设置给Puppeteer
In puppeter you have access to the session cookies through page.cookies(). So once you log in, you could get every cookie and save it in a json file:
在日常研究中,我们经常碰到大量JavaScript代码,我们首先要深入分析才能了解这些代码的功能及具体逻辑。这些代码代码可能会被恶意注入到页面中,可能是客户送过来需要我们帮忙分析的脚本,也可能是我们的安全团队在网页上找到的引用了我们服务的某些资源。这些脚本通常代码量不大、经过混淆处理,并且我们总是需要经过多层修改才能继续深入分析。
通过block回调,可以轻松实现类似android的 setListener这样的机制,记得使用弱引用哦