使用CSP代替X-frame-options Posted December 18, 2018 ?...CSP 目前支持的浏览器有 Chrome 25+ Edge 14+ Firefox 23+ IE 10+ Opera 15+ 不支持 CSP 的浏览器只会忽略它,如常运行,默认为网页内容使用标准的同源策略...如果网站不提供 CSP 头部,浏览器也使用标准的同源策略(Same origin policy)a 比如: x-frame-options 控制嵌入白名单源, 大多数都是 sameorigin , 表示仅当前主机域名可以嵌入...X-FRAME-Options 写法 如果我要允许被嵌入, 就要更新 X-Frame-Options 的值....但我准备采取 CSP, 并移除 X-Frame-Options。 使用 CSP. 前面提到可以使用 @xframe_options_exempt 装饰器, 移除X-Frame-Options。
使用 React Hooks 代替 Redux 注:此文章立场不表示 Hooks 可以完全代替 Redux。因为 Redux 还有其他适用的场景和功能,只是在大部分场景可以用 Hooks 代替。...在对于数据处理上,我尝试了新的 React Context API, 使用 Context API 提供的 Provider 和 Consumer 的方法,去实现代替 Redux 的数据处理方案「这也是网上大部分推荐的代替...注:更不要使用 useState + context 的方式创建全局仓库来代替 Redux。 十分万幸的是,不久后 React 更新版本到 16.8.1。...这也就是这篇文章要讲的核心:使用 Hooks:useReducer 代替 Redux。 数据流对比 redux ? redux-数据流.png hooks ?...使用 state 渲染数据,使用 dispatch 修改数据。
前言 在我们使用Date的时候,会发现很多无法理解的返回值,而且有很多方法是已经被弃用了的 ?...在我们使用了jdk8+之后,我们可以使用LocalDate,LocalTime或者LocalDateTime来代替传统的Date 2....使用示例 代码示例以及输出 import java.time.LocalDateTime; import java.time.Month; import java.time.format.DateTimeFormatter...; import java.util.Date; /** * * LocalDateTime的使用 * * * @author Levi * @since 2019/12...我们不难发现LocalDateTime还是很友好的,建议jdk8+的小伙伴尽可能在之后使用LocalDateTime而不是去使用Date
,已经烂大街,在此就不过多的重复了; 今天写的demo主要是利用RecyclerView代替普通的listview和横向的listview; 个人感觉要想更深入的使用RecyclerView,必须要从最基础的功能开始实现...;今天我们就实现最简单的五点功能: 功能点:为RecyclerView添加点击事件,添加头布局和脚布局,添加下拉刷新和上拉加载更多; 好了首先说下如何用RecyclerView代替横向的listview...: RecyclerView的使用个人感觉其实比较简单,但是网上很多demo介绍的感觉有点复杂,在本文中RecyclerView的基本使用只需两步: 第一:设置布局管理器 第二:设置adapter...ToastUtils.showStaticToast(context,"当前点击的是第"+(position+1)+"张图片"); } }); 好了接下来了解下RecyclerView代替纵向...listview: 分割线和上面一样,在item中添加view实现分割线,点击事件同样是添加自定义监听; RecyclerView默认是没办法添加头布局和脚布局的,上面横向的没有使用这一块,但是纵向的在真实项目中就极有可能使用到这个功能点了
有时候,主机做了限制,wget无法获取文件,这时候在ssh下使用scp传输文件,就方便了很多。
LSP 是当前使用最广泛的一套协议,用于给文本编辑器提供类似 IDE 的功能,比如:自动补全、定义跳转等。...对于 Emacs 来说,主要有两个实现: •emacs-lsp/lsp-mode,主打功能丰富 •joaotavora/eglot,主打小巧精悍 笔者本人在使用 lsp-mode 多年后转到了 eglot...下面是笔者在使用 lsp-mode 几天后,执行 memory-report 后的数据(完整版): Largest Variables 1.8 GiB lsp-clients 1.8 GiB...在替换成 eglot 后,内存使用就没有这么夸张了,用 rust-analyzer 进行补全时,之前的卡顿感没有了,和在 VSCode 中的体验无异。...而且 eglot 的依赖很少,会尽量复用 Emacs 内置的模块,比如采用 flymake,而不是 flycheck,也有相关 issue 讨论如何用在 eglot 中使用 flycheck: •How
WebRTC作为浏览器中的一个组件,在设计的时候考虑了大量了安全问题,比如要求getUserMedia在加密网页中才能打开摄像头, 使用MDNS来防止IP地址的泄露, 使用DTLS来加密datachannel...在Datachannel数据通道中,WebRTC完全使用DTLS来进行协商和加解密,在音视频通道中WebRTC使用SRTP来进行数据的加解密,DTLS的作用仅仅是用来做密钥交换,密钥交换完就没有DTLS...所以常说的WebRTC使用DTLS来进行加解密是不严谨的,DTLS只是用来做密钥交换。...使用SDES来代替DTLS协商 既然DTLS在WebRTC音视频传输过程中只是用来做密钥交换,那有没有其他的密钥交换方式呢? 实际上WebRTC本身也支持通过SDES的方式来交换密钥。...使用SDES的方式来握手的时候offer和answer的SDP中会有 'a=crypto:' 使用DTLS的方式来握手的时候SDP中会有: 'a=fingerprint:' 带来的好处 1, 更低的首帧延迟
平时在开发中避免不了使用大量的if else语句,但过多层的if else对于性能有很大的开销,类似如下代码 public class MainStart { public static void...使用策略模式客户端代码不需要调整,算法之间可以互相替换,因为不同的算法实现的是同一个接口。...e.printStackTrace(); } } return inter; } } 在这一步骤中,我们需要一种方式可以根据msgid来反射获取对象的实例,这里使用枚举来维护二者的对应关系
前面我们已经介绍了可以使用 vmagent 代替 prometheus 抓取监控指标数据,要想完全替换 prometheus 还有一个非常重要的部分就是报警模块,之前我们都是在 prometheus 中定义报警规则评估后发送给...Prometheus 告警规则定义格式支持 与 Alertmanager 集成 在重启时可以保持报警状态 Graphite 数据源可用于警报和记录规则 支持记录和报警规则重放 非常轻量级,没有额外的依赖 要开始使用...'xxx@163.com' smtp_auth_username: 'xxx@163.com' smtp_auth_password: '' # 使用网易邮箱的授权码...到这里基本上我们就完成了使用 vm 代替 prometheus 来进行监控报警了,vmagent 采集监控指标,vmalert 用于报警监控,vmstorage 存储指标数据,vminsert 接收指标数据...,vmselect 查询指标数据,已经完全可以不使用 prometheus 了,而且性能非常高,所需资源也比 prometheus 低很多。
,通常只能使用pip install -i安装或者修改全局的pip.conf文件。...当某个项目使用确定的python版本,这个版本也并不能在requirements.txt中体现,只能通过readme或者文档来记录,并且需要在创建虚拟环境时手动调用正确的python版本。...项目需要使用flake8、pylint、black等代码优化工具时,这些依赖也会被pip freeze命令写入requirements.txt中,然而这些依赖是不需要出现在生产环境的。...好处2:减少手动激活虚拟环境次数 pipenv将virtualenv、pyvenv和pip命令整合使用,pipenv减少了手动激活虚拟环境的次数,使用pyvenv模块运行main.py,需要先执行source...如果需要安装依赖的,直接执行pipenv install xxx,也不需要先激活虚拟环境,再使用pip install xxx安装。
前面我们在教程:使用R包deconstructSigs根据已知的signature进行比例推断,顺利的把508个病人,根据11个signature进行了比例推断,得到的比例矩阵以普通的热图,以及pheatmap...这样的感觉,其实就可以使用NMF算法来实现,尤其是层次聚类并不能很好的把样本进行“泾渭分明”的分组。...consensusmap(mut.nmf2, labRow = NA, labCol = NA, annCol = data.frame...as.matrix(nmf.input2[,sample.order]), Rowv=NA, Colv=NA, annCol = data.frame...TRUE, cexCol = 0.3, cexRow = 0.3, filename = "NMF_heatmap.pdf") ac=data.frame
现在使用RxDart改写这个页面。
如今的Android社区,人人都在讨论RxJava以及为什么我们应该在项目中使用RxJava。...使用MVP构建代码库 当我们在开发一款叫做Radyoland的无线流媒体应用的时候,我们决定使用MVP模式来设计我们的代码库和项目架构等。...那就是在Android应用的代码库中引入并使用RxJava和RxAndroid。 ? 如何使用RxJava 首先,我们需要更改所有REST接口的返回类型。...不使用RxJava: @GET("") Call getRadioList(); 使用RxJava: @GET("") Observable getRadioList...开始使用RxJava之后,我们需要修改所有方法的实现方式。
可以从多个文件中加载 scrape 配置 部署 接下来我们以抓取 Kubernetes 集群指标为例说明如何使用 vmagent,我们这里使用自动发现的方式来进行配置。...vmagent 是兼容 prometheus 中的 kubernetes_sd_configs 配置的,所以我们同样可以使用。...所以如果你抓取的监控目标非常大,那么我们建议使用 vmagent 集群模式,那么可以使用 StatefulSet 方式进行部署 # vmagent-sts.yaml apiVersion: v1 kind...,可以使用如下的查询语句: sum(container_memory_working_set_bytes{image!...我们可以使用 https://grafana.com/grafana/dashboards/12683 来展示 vmagent 的状态。
Oracle 尽量使用LISTAGG代替WM_CONCAT 测试数据 SELECT * FROM TEST_IGNORE; 使用wm_concat SELECT T.RCLASS, WMSYS.WM_CONCAT...SELECT T.RCLASS, WMSYS.WM_CONCAT(distinct T.BANK) AS BANK FROM TEST_IGNORE T GROUP BY T.RCLASS; 使用
来源:Demuxed 2021 主讲人:Collin Miller 内容整理:冯冬辉 Screencastify 的网页视频编辑器使用 ffmpeg 和它的 filter graph 作为渲染引擎,但是这导致了用户界面在预览渲染输出上的重复工作...如图所示,这里有三条记录,每一条都描述了从源胶带到目标胶带的时间段,以及使用哪个源。EDL 做的就是将源中所需的时间段,映射到输出上。...将 EDL 映射到 ffmpeg 该编辑器也使用 ffmpeg 的 complex filters 做图像操作,例如 裁剪、组装、模糊等操作。...这里引发的思考是,render(timestamp, videos, edl) => frame,如果有一个时间戳,一个视频的集合,和类似 EDL 的东西,能不能来渲染一个帧?...问题在于,WebCodecs 使用的一些编解码器只有在硬件渲染器(GPU)可用时才可用,而在 Puppeteer 无头浏览器的环境下无法工作。
该工具使用TLS1.3协议从某种程度上 复活了域前置技术。这一新技术被安全研究人员称为“域隐藏”。...---- 1、域前置 域前置是一种隐藏连接真实端点来规避审查的技术,其原理为在不同通信层使用不同的域名:在明文的DNS请求和TLS服务器名称中使用无害的域名来初始化连接,而实际要连接的被封锁域名仅在创建加密的...这种技术在所有主流的CDN上都是可行的,直到2018年4月,俄罗斯政府向各大供应商施压,试图阻 止全球知名的app——Telegram使用谷歌云和AWS来实现域前置。...可以使用DNS over HTTPS(DoH)来实现这一目的。DoH可以绕过一些防火墙和审计设备,并且该技术正被广泛地使用。...获取该 公钥的方式是使用DNS查询TXT记录中的_esni记录。
本文介绍在满足原有需求、实现原有逻辑的场景下,在 Flink 中使用 union 代替 cogroup(或者join) ,简化任务逻辑,提升任务性能的方法,阅读时长大概 7 分钟,话不多说,直接进入正文...cogroup cogroup 实现示例如下,示例代码直接使用了处理时间(也可替换为事件时间~),因此对数据源的时间戳做了简化(直接干掉): public class Cogroup { public...在数据源的 schema 相同(或者不同但经过处理之后可以 format 成相同格式)的情况下,或者处理逻辑相同的话,可以使用 union 进行逻辑简化。...总结 本文首先介绍了需求场景,第二部分分析了使用 cogroup(案例代码)是如何解决此需求场景,再分析了此实现方案可能会存在一些问题,并引出了 union 解决方案的逆推和设计思路。...在第三部分针对此场景使用 union 代替 cogroup 进行了一定程度上的优化。如果针对此场景,大佬们有更好的优化方案的话,期待留言喔。
自己使用的服务器,为了方便远程修改同步文件,特地去安装 ftp 服务器有点浪费。linux 服务器自带 sftp 功能,也能满足文件上传下载的功能,所以,整起!
该示例基于 A-Frame,且仅使用 11 个 HTML 元素! ?...在这个部分,我们将会对若干 A-Frame 组件的实现做一些深入探讨。在实践中,我们经常会通过已由 A-Frame 社区开发人员编写好的 HTML 来使用组件,而不是从头构建它们。...对于一个盒子来说,我们会为其配置及添加 A-Frame 的基础几何组件和材质组件。组件使用 HTML 属性来表示,组件属性默认使用类似 CSS 样式的表示方法来表示。...A-Frame 只引入了少数 API,大多数 API 和原生 web 开发 API 保持一致。点此详细了解如何在 A-Frame 中使用 JavaScript 和 DOM API。...在此之前,我们已经自己写了一个实现随机颜色的 A-Frame 组件。 但也可以使用社区中已有的开源组件,然后直接通过 HTML 使用它们!
领取专属 10元无门槛券
手把手带您无忧上云