IntelliJ IDEA

SpringBoot中基于Pact的契约测试

萝らか妹 提交于 2020-08-07 11:21:25
背景 如今,契约测试已经逐渐成为测试圈中一个炙手可热的话题,特别是在微服务大行其道的行业背景下,越来越多的团队开始关注服务之间的契约及其契约测试。 什么是契约测试 关于什么是契约测试这个问题,首先先看一下Pact官方文档给出的定义:pact的官方文档,是另一个可以帮助我们理解契约测试的地方。它对契约测试给出了这样的定义: " Contract testing is a way to ensure that services (such as an API provider and a client) can communicate with each other"。 这里面需要关注的重点是 "communicate " , 它给出了Pact对契约测试范畴(scope)的定义 。 契约测试又称之为 消费者驱动的契约测试。这里的契约是指软件系统中各个服务间交互的数据标准格式,更多的指消费端(client)和提供端(server)之间交互的数据接口的格式。 契约测试的价值 那什么是契约测试的价值呢?要说清楚契约测试的价值,就需要准确认识契约测试的精髓——"消费者驱动" 在讨论契约测试的范畴里,”消费者驱动”述及的对象是契约,而不是契约测试。所以谁被驱动的对象就是契约。举个例子,当某个provider正常上线后,某个consumer需要消费这个provider的服务

WEB攻击手段及防御第1篇-XSS

大兔子大兔子 提交于 2020-08-07 10:24:37
概念 XSS全称为 Cross Site Script ,即跨站点脚本攻击,XSS攻击是最为普遍且中招率最多的web攻击方式,一般攻击者通过在网页恶意植入攻击脚本来篡改网页,在用户浏览网页时就能执行恶意的操作,像html、css、img都有可能被攻击。 像前不久微信貌似就中招,好像是在朋友圈发送一个带有脚本的链接,然后通过点击该链接就会弹出一个提示,虽然没有造成什么影响,但这是XSS攻击最鲜明的特点。 分类 XSS现在主要分为以下两种攻击类型: 1、反射型漏洞 这种类型攻击者一般通过在网页中嵌入含有恶意攻击脚本的链接,或者通过发送带脚本的链接给受害者,这个脚本链接是攻击者自己的服务器,用户通过点击该链接就能达到攻击的目的。如 http://www.test.com/p= <script src=... />,这样受害者的网页就嵌入了这段脚本,受害者通过点击链接触发攻击脚本。 新浪微博曾经就出现过一次较为严重的XSS攻击事件,攻击者通过发送一个带有链接的微博诱导用户点击,通过点击脚本链接大量用户自动发送某些不良信息和私信并自动关注攻击者的微博账号,这是典型的反射型漏洞。 这次新浪微博事件显然是一次推广营销而已,并没有严重影响新浪的服务,然而现实中攻击者可以通过窃取用户cookie获取用户名密码等重要信息来伪造用户交易、窃取用户的财产等影响用户财产安全的恶意行为。 2、存储型漏洞

maven白小白(二)生命周期complie,package,install

被刻印的时光 ゝ 提交于 2020-08-07 09:57:55
Maven对项目进行构建的生命周期 (构建:生产一个可以运行项目的过程) clean清理:清理的是class字节码文件,为下一次编译做准备(清除target文件) compile编译:java----->class(idea中形成target文件) 测试 自动调用Junit程序 报告:测试的结果 package打包: war,jar包 imsall安装:maven中打包到的文件,复制到仓库中的指定位置 deploy部署: war jar包,放置到指定的servlet容器中的目录 idea开发工具中对maven的管理和使用已经很灵活 直接看图,看字太无聊 例子:这个是test7这个project中maven的管理目录: 点击对应的生命周期,执行后的结果,如图 可以看到 打包和部署 后的项目的目录结构的不同。 当然这些生命周期的命令执行是有顺序的,按照从上到下的顺序,下面的命令执行之前,一定是执行了上面的所有命令了, 可以参考maven命令执行的时候打印的日志记录查看。 对当前project进行安装 是为了,方便其他project可以直接引入这个项目的坐标就可以引用这里项目里的类和方法 它会根据pom文件中的groupId ,artifactID,在你的maven本地仓库中生成一个你当前项目的包, 包的类型版本由packagin和version来解决啦。 有啥写啥,莫嫌弃。 来源:

用小程序灰度发布,整点新鲜的!

大憨熊 提交于 2020-08-07 09:40:50
编辑 | 强风吹拂 “不就是提个小需求么?你们怎么反应那么慢?” “你们这个需求排不到App里面,不予立项” “你们产品写的需求文档不是我们要的效果啊,我们看重的是……” “排队排队排队,研发人不够,排期已经到下个月中了。” “功能测试已经通过了,但是App近期没有上线计划,上线要等到下个月初哈” “特殊时期,包含该内容的APP一律不予审核通过” ........ 太难了,一个需求从提出、到立项、到研发完成、到正式上线,到底要经历多少艰难险阻? 比漫长的上线流程更扎心的,是好不容易上线的功能,错过了最佳窗口期,结果没有达到想要的效果。 就像这个流程图中所展现的,一个功能的上线,就算再精简流程,受限于组织架构、软件架构,也很难提升到哪儿去。而与繁复流程相伴的,是愈加丰富的业务场景和诉求: 业务部门:市场千变万化,必须加快需求的响应速度,及时跟上市场热点 运营部门:运营理论千千万万,App无法获得用户画像,就根本无法支撑精细化运营;而产品迭代速度又严重限制了运营计划的上线 产品部门:需求如潮水,处理不完的优先级排序,一味跟随业务需求,又导致App愈发冗余、缺少亮点 研发部门:排期、缺人、赶工,不停的做需求,根本没有多余的精力审查代码、优化架构、提升性能 这真的就是一个死结么?就没有办法,能够同时满足多方诉求? 有!来试试灰度发布吧! 什么是灰度发布? 按照传统定义

我还在生产玩 JDK7,JDK 15 却要来了!|新特性尝鲜

二次信任 提交于 2020-08-07 06:37:07
自从 JDK9 之后,每年 3 月与 9 月 JDK 都会发布一个新的版本,而2020 年 9 月即将引来 JDK15。 恰巧 IDEA 每四五个月会升级一个较大的版本,每次升级之后都会支持最新版本 JDK 引入的新功能。 这几天升级了 IDEA,顺便体验了一下 JDK15 的新特性。 虽然我知道你们可能跟我一样JDK8 都还没用熟,但是无妨,看看新版本 JDK 来酸一下。 Text Blocks 最终定板 之前版本的 JDK,如果我们需要插入 HTML , XML , SQL 或 JSON 片段,非常麻烦,需要对里面符号进行各种转义。 所以我每次都会在其他编辑器将 HTML , XML 等编辑好,然后直接复制到 IDEA 中,IDEA 自动会对这些字符转义。 每次复制进去就变成上图的效果,如果上面字符再多点,阅读起来就会更难,并且难以维护。 所幸 IDEA 提供了一个 Inject Language 功能,我们可以在里面快速方便的编辑。 Java 开发者也关注到这个问题,他们在 JDK13 引入的一个新的预览特性「 Text Blocks 」,可以使用三引号将复杂的字符串赋值,从而让我们从各种转义中解脱出来,可以更加方便的编辑字符串。 这个功能在其他语言还是比较常见的,比如 Python 等。 Text Blocks 新功能在 JDK14 再次以预览功能引入,最终在 JDK15

基于spring boot开发的Javaweb项目源码分享

一笑奈何 提交于 2020-08-07 05:14:23
简介 该项目是基于SpringBoot 2+Spring+Mybatis+Hibernate的敏捷开发系统;它是一款具有代码生成功能的智能快速开发平台;是以Spring Framework为核心容器,Spring MVC为模型视图控制器,Hibernate为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Disruptor作为并发框架,Bootstrap作为前端框架的优秀开源系统。 项目架构如下: jeeweb ├─jeeweb-common 公共模块 │ ├─jeeweb-common-base 公用基础模块 │ │ │ ├─jeeweb-common-email 邮件基础模块 │ │ │ ├─jeeweb-common-hibernatemvc hibernate公用模块 │ │ │ ├─jeeweb-common-mybatismvc mybatis公用模块 │ │ │ ├─jeeweb-common-oss 数据存储公用模块 │ │ │ ├─jeeweb-common-quartz quartz公用模块 │ │ │ ├─jeeweb-common-query 查询封装模块 │ │ │ ├─jeeweb-common-security 安全公用模块 │ │ │ ├─jeeweb-common-sms 短信公用模块 │ │ │ └

开始开发前,配置好你的idea

送分小仙女□ 提交于 2020-08-07 04:28:42
目录 一、字符编码设置,都需要改哪里? 二、Error:java:无效的原发性版本:N ,bytecode version改哪里? 二.1有三出地方需要检查: 二.2重新启动有,设置好的又变成默认值咋办? [1]:保证每次新建项目都是之前配置好的默认设置: [2]:maven项目的pom文件中,添加插件maven-complier-plugin 三、使用Lombok插件,但是注解无效,需要配置哪里? 四、过滤掉不想在projec看到的文件 五、如何在类、方法,快捷创建注释? 1、类注解设置: 2、方法注解设置: 1)、 param 一栏中的Expression添加: 2 )、return 一栏中的Expression添加: 3)、 图中第五步:添加: 六、不想每次修改一点代码都要手动重新启动运行程序?----热部署 1、设置pom文件:添加devtools包,添加spring-boot-maven-plugin插件 2、配置idea的: build project automatically 3、配置idea的: Registry (Ctrl+alt+shift+/) 一、字符编码设置,都需要改哪里? 二、Error:java:无效的原发性版本:N ,bytecode version改哪里? 二.1有三出地方需要检查: 二.2重新启动有,设置好的又变成默认值咋办? [1]

IntelliJ IDEA 注册码

空扰寡人 提交于 2020-08-07 04:21:28
idea到了有效期或是弹出License Activation 时,可选择以下Activation code重新认证: http://idea.lanyus.com/ HOST路径为:C:\Windows\System32\drivers\etc 来源: oschina 链接: https://my.oschina.net/u/4305979/blog/4312966

JavaFX+SpringBoot+验证码功能的小型薪酬管理系统

最后都变了- 提交于 2020-08-06 23:24:05
1 概述 1.1 简介 一个简单的小型薪酬管理系统,前端JavaFX+后端Spring Boot,功能倒没多少,主要精力放在了UI和前端的一些逻辑上面,后端其实做得很简单。 主要功能: 用户注册/登录 验证码找回密码 用户修改信息,修改头像 柱状图形式显示薪酬 管理员管理用户,录入工资 1.2 响应流程 1.3 演示 登录界面: 用户界面: 管理员界面: 2 环境 IDEA 2020.1 本地JDK+服务器JDK:OpenJDK 11 OepnJFX 11 Spring Boot 2.3.0(Spring Boot的更新速度真是太快了) Tomcat 9.0.33 MySQL 8.0.17 3 前端代码部分 3.1 前端概述 前端主要分为5个部分实现:控制器模块,视图模块,网络模块,动画模块还有工具类模块。 控制器模块:负责交互事件 视图模块:负责更新UI 网络模块:向后台发送数据请求 动画模块:移动、缩放、渐隐动画 工具类模块:加密,检查网路连通,居中界面等 3.2 概览 3.2.1. 代码目录树 3.2.2 资源目录树 分为css,fxml,默认图片,pem与项目配置文件。 css:界面所用到的样式 fxml:一个特殊的xml文件,用于定义界面与绑定Controller中的函数,也就是绑定事件 image:程序用到的默认图片 key:证书文件,用于OkHttp中的HTTPS