我正在设计一个RESTful API,旨在供单页应用程序和本机移动应用程序使用.此API的某些调用会返回可以缓存一段时间的公开结果.此外,需要速率保护来保护API免受未经授权的用户(蜘蛛)
缓存: Cloudflare 支持HTTP缓存控制头,因此API可以决定通过GET请求的每个实体是否公开以及缓存多长时间.
DDOS保护: Cloudflare支持有一篇文章建议对后端API禁用DDOS保护,但这不适用于我的用例,即每个客户端应该向API发出少量请求.本机DDOS保护实际上符合我保护API免受机器人攻击的要求.
我需要知道如何以编程方式检测Cloudflare何时服务于Captcha/我受到攻击等页面这将允许SPA /移动应用程序智能地做出反应,并将用户重定向到Web视图,在那里她可以演示她" hummanness".
从Cloudflare文档中,显示DDOS质询时发送的HTTP状态代码并不明显.绕过Cloudflare DDOS保护的开源云计算器似乎表明Captcha和挑战页面的HTTP状态为200. 有没有比解析请求体更好的方法来确定是否启动了DDOS保护?
Cloudflare 显然使用cookie记录谁成功解决了Captcha.这显然会增加本机应用程序的额外复杂性.在挑战解决后,有没有一种方法可以将Cloudflare会话cookie转移回本机应用程序?
可能这是一个先进的Cloudflare用例 - 但我认为它很有前途,并且很高兴听到有人有这样的经历(在Cloudflare或其他CDN上).
当使用bootstrap 3的固定顶部导航时,我注意到当用户在移动设备上使用原生缩放时,顶部导航也变得非常大.这导致了非常差的用户体验,导航模糊了大部分内容并最终破坏了自身,如下例所示:
这个问题可以在http://www.exploretrade.info/上看到,并且似乎也会影响使用这种导航的许多其他网站; 一个常见的解决方案是禁用用户缩放,但这会损害网站的可访问性.
我的问题是:当用户缩放移动设备上的内容时,如何使固定顶部导航的显示大小保持不变
transform: scale
指令2position: fixed
元素,在缩小之后最终以某种方式居中在屏幕中在移动设备上,Bootstrap 3默认情况下将导航栏(导航栏)缩小为汉堡图标.单击汉堡包时,JavaScript会切换导航菜单项的显示 - 扩展或折叠导航栏.但
如果这是可能的,它将具有良好的性能优势:用户可以在JavaScript执行之前已经导航(在片状移动连接上有好处),而较小的项目可能能够完全放弃对jQuery + bootstrap javascript的依赖,节省大约45k在第一页加载.此外,在JS错误的情况下,网站变得更加健壮 - 至少页面导航保持可用.
或者,可以在没有jQuery依赖的情况下重新实现bootstrap JS - 在这里完成导航栏.
作为参考,这是静态导航栏顶部示例在移动模式下的样子:
有时 GNU R 有一个问题,Hadley Wickham建议:
我建议您重新安装所有软件包。
问题是如何以最好的方式做到这一点。我知道install.packages
或update.packages
将升级所有软件包版本并覆盖现有版本:
update.packages(checkBuilt = TRUE, ask = FALSE)
Run Code Online (Sandbox Code Playgroud)
使用 CRAN 包时(GitHub 或其他来源没有什么特别之处),这种天真的方法对我有用:
my.packages <- rownames(installed.packages());
install.packages(my.packages);
Run Code Online (Sandbox Code Playgroud)
例如,如果我从 GitHub 安装了开发版本,或者使用了一些未公开共享的本地包,我该怎么办?
我正在寻找的是一种方法:
我该如何满足这些要求?
在带有 Laravel-Mix 4 的 Laravel 6 应用程序中,并使用 Vue 预设,我需要编译我的 JavaScript 代码以兼容 IE11。这意味着为缺失的函数添加任何 polyfill,编译出箭头函数,等等。开箱即用,这还没有完成。
我的测试代码resources/js/app.js
:
//require('./bootstrap');
let test = [1, 2, [3, 4]];
console.log(
test.flat().map((x) => 2*x)
);
Run Code Online (Sandbox Code Playgroud)
使用默认配置,laravel mix 似乎不会编译 JavaScript 代码,而只会进行一些格式化。注释保留在编译输出中。
结果npm run dev
是:
Asset Size Chunks Chunk Names
/css/app.css 0 bytes /js/app [emitted] /js/app
/js/app.js 4.95 KiB /js/app [emitted] /js/app
Run Code Online (Sandbox Code Playgroud)
使用 systemd,我想管理具有以下属性的队列工作器的多个实例:
我能够实现这些功能,但该解决方案的功能比诸如supervisord之类的替代方案要重。 有没有更简单的方法来单独使用 systemd 来管理多实例服务?