window.opener的安全漏洞和rel=noopener标签的使用
最近我更新了我的网站代码,给友情链接和外部链接增加了rel=noopener标签,所以今天就讨论一下为什么要使用rel=noopener标签,其实这个是一个安全漏洞,JavaScript提供了window.opener来获取创建该窗口的 Window 对象,那么问题就来了,我们一点一点说。
共 106 篇文章
最近我更新了我的网站代码,给友情链接和外部链接增加了rel=noopener标签,所以今天就讨论一下为什么要使用rel=noopener标签,其实这个是一个安全漏洞,JavaScript提供了window.opener来获取创建该窗口的 Window 对象,那么问题就来了,我们一点一点说。
我的个人博客网站一直坚持每年一次大更新,但这次我决定不更新了,因为再更新就是使用微服务了,一个小网站用微服务架构就有点杀鸡用牛刀了,而且维护起来比较费时费力。所以直接写成教程文章就不再大动干戈的去重写我的博客了。
在《[二]Scala开发教程-Scala基础:数据类型》中我们讨论了数据类型,本片文章将讨论Scala中的变量与常量,在学习如何声明变量与常量之前,我们先来了解一些变量与常量:一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。二、常量 在程序运行过程中其值不会发生变化的量叫做常量。如:数值 3,字符'A'。
Dash是API文档浏览器和代码段管理器。Dash可帮助您存储代码片段,以及即时搜索和浏览文档以查找几乎所有可能使用的API。
Navicat Premium将所有Navicat版本合并为一个最终版本,可以连接MySQL、Oracle和PostgreSQL。Navicat Premium允许用户在一个客户机内将表和数据从Oracle拖放到MySQL、PostgreSQL拖放到MySQL、Oracle拖放到PostgreSQL,反之亦然。此外,针对不同数据库的批处理作业(如MySQL中的打印报告、Oracle中的备份数据和PostgreSQL中的同步数据)也可以被调度和自动地在特定时间运行。
Navicat Premium将所有Navicat版本合并为一个最终版本,可以连接MySQL、Oracle和PostgreSQL。Navicat Premium允许用户在一个客户机内将表和数据从Oracle拖放到MySQL、PostgreSQL拖放到MySQL、Oracle拖放到PostgreSQL,反之亦然。此外,针对不同数据库的批处理作业(如MySQL中的打印报告、Oracle中的备份数据和PostgreSQL中的同步数据)也可以被调度和自动地在特定时间运行。
由上面的表格我们可以看出来Scala里面都是对象,没有java中的原生类型,还有一部分和Java有所区别Scala包含了一些虚无的概念(Null,null,Nil,Nothing,None和Unit),空(Null)是一个trait,它(如果你不熟悉trait)有点像Java中的抽象类。确实存在一个空的实例
在Idea的启动界面中现在Configure,Plugins,搜索框中输入Scala,安装Scala插件,安装完成后会要求重启Idea,插件就可以生效了。接下来,我们创建一个Scala项目,点击Create New Project,左侧我们选择Scala,右侧我们选择IDEA,点击下一步,给项目起一个名字,这里叫HelloScala,然后选择要存储的位置,如果是第一次构建,还需要下载ScalaSDK
本地测试文件可以正常读取,但打包成jar包传到服务器上就无法获取了,报错信息是:class path resource [xxxx] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:xxxx.jar!/BOOT-INF/classes!xxxx,话不多说,先看正确的获取方法:使用PathMatchingResourcePatternResolver
我们每天Coding都会面临思路被迫中断,或者今天下班明天继续的情况,如果什么也不做,可能我们就想不起来还要干什么事,甚至解决问题的思路也一去不复返了。