科技新闻

SpringBoot 整合 WebSocket

给你一囗甜甜゛ 提交于 2020-03-29 17:16:26
SpringBoot 整合 WebSocket(topic广播) 1、什么是WebSocket   WebSocket为游览器和服务器提供了双工异步通信的功能,即游览器可以向服务器发送消息,服务器也可以向游览器发送消息。WebSocket需游览器的支持,如IE10、Chrome 13+、Firefox 6+,这对我们现在的游览器来说都不是问题。   WebSocket是通过一个socket来实现双工异步通讯能力的。但是直接使用WebSocket(或SockJS:WebSocket协议的模拟,增加了当游览器不支持WebSocket的时候的兼容支持)协议开发程序显得特别繁琐, 我们会使用它的子协议STOMP,它是一个更高级别的协议,STOMP协议使用一个基于帧的格式来定义消息,与HTTP的request和reponse类似(具有类似于@RequestMapping的@MassageMapping) 2、什么是 STOMP   STOMP,Streaming Text Orientated Message Protocol,是流文本定向消息协议,是一种为MOM(Message Oriented Middleware,面向消息的中间件)设计的简单文本协议。 它提供了一个可互操作的连接格式,允许STOMP客户端与任意STOMP消息代理(Broker)进行交互,类似于OpenWire

分析器错误消息: 未能找到 CodeDom 提供程序类型

三世轮回 提交于 2020-03-29 17:09:37
ylbtech-Error-WebForm:分析器错误消息: 未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35” 1.错误代码 返回顶部 1-1、 “/”应用程序中的服务器错误。 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误消息: 未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”。 源错误: 行 55: <system.codedom> 行 56: <compilers> 行

Chrome80调整SameSite策略对IdentityServer4的影响以及处理方案(翻译)

青春壹個敷衍的年華 提交于 2020-03-29 13:48:30
首先,好消息是Goole将于2020年2月份发布Chrome 80版本。本次发布将推进Google的“渐进改良Cookie”策略,打造一个更为安全和保障用户隐私的网络环境。 坏消息是,本次更新可能导致浏览器无法向服务端发送Cookie。如果你有多个不同域名的应用,部分用户很有可能出现会话时常被打断的情况。还有部分用户可能无法正常登出系统。 本篇博客将处理第一个问题(无法发送cookie到服务端)。至于第二个问题(cookie无法被删除),请参考另一篇 博客 。 首先,SameSite是什么 互联网是十分开放的平台:Cookie诞生于二十多年前,于2011年修订( RFC 6265 )。当时跨站访问攻击(CSRF)没有现在这么猖獗,侵犯用户隐私的行为也不像现在这样泛滥。 简而言之,Cookie标准规范规定,如果某域名下设置了Cookie,不管你是直接跳转到该域名,或是加载了该域名的某些资源(例如图片),或是向该域名发送POST请求,亦或将其嵌入iframe,浏览器访问该域名的每次请求,都将带上这个Cookie。 对于iframe嵌入的场景,你可能不希望浏览器将用户会话cookie自动发送到服务器,因为这样任何其他网站都可以在用户不知情的情况下,用他的会话上下文,跟你的服务器发送请求。 为了避免这种情况,SameSite cookie 规范 于2016年起草

JS-表单验证

妖精的绣舞 提交于 2020-03-29 06:59:55
表单验证需求: 1、所有表单项需要即时验证,最好是用户写一个验证一个 2、所有表单项当验证失败的时候提示错误消息,并且错误消息显示到组建的后面,红色字体,要求12号 3、当表单验证成功之后不提示消息 4、当只要表单项验证失败,阻止其提交表单 5、用户名不能为空 6、用户名长度必须在6-14位 7、密码和确认密码必须一致 注意:blur:失去焦点 focus:获取焦点 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="Generator" content="EditPlus®"> 6 <meta name="Author" content=""> 7 <meta name="Keywords" content=""> 8 <meta name="Description" content=""> 9 <title>表单验证</title> 10 </head> 11 <body> 12 <!-- 13 //name属性取消之后提交表单时则不会提交这个数据 14 --> 15 <script type="text/javascript"> 16 function checkName(userName){ 17 var ok=true; 18 var userName

JS表单验证

强颜欢笑 提交于 2020-03-29 06:59:07
HTML部分代码:         CSS样式:     消息提示框样式:        JS正则表达式代码:     电话:          邮箱:             密码:          再次输入密码验证:             整个表单页面验证:            完整代码:      <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>注册练习</title> <link rel="stylesheet" href="dist/css/bootstrap.min.css"/> <style> .err{ color: red; font-size: 12px; height: 16px; padding-left: 40px; margin-top: 10px; } </style></head><body> <div> <h3>注册</h3> <form action="#" method="post" id="myform"> <p> 手机:<input type="text" name="mobile" id="phone" onblur="mobiles(this)" /><span class="err" id="mobile"></span> </p> <p>

SQL 脚本收录

跟風遠走 提交于 2020-03-29 05:24:04
有些数据库语句可能平时用得不多,所以使用的时候总是难免上网查询,略嫌麻烦,特此收录 具体实现如下,如下语句执行后,会在查询分析器执行消息中显示执行数据库的所有存储过程源码,直接复制保存文本即可。 View Code 1 declare @proc_text varchar(max) 2 DECLARE get_proc_text_cursor CURSOR FOR 3 SELECT 'if object_id(N'''+ [name] +''') is not null drop proc ' + [name] + CHAR(10) + CHAR 4 (13) + ' GO ' + CHAR(10) + CHAR(13) + definition + CHAR(10) + CHAR 5 (13) +' GO' 6 FROM sys.sql_modules 7 inner join sysobjects on sys.sql_modules.object_id = sysobjects.id and type='p' 8 OPEN get_proc_text_cursor 9 FETCH NEXT FROM get_proc_text_cursor 10 INTO @proc_text 11 WHILE @@FETCH_STATUS = 012 BEGIN 13 print

14天入门JavaScript-day one

[亡魂溺海] 提交于 2020-03-28 20:47:54
第一天总结的是一些HTML DOM 事件中的鼠标事件 <!--more--> js事件中主要的都是对样式的显示隐藏, display:none or display:block 其中最简单的就是使用 onclick 事件对属性进行显示隐藏或者改变 class 属性 demo1 alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框。 语法 alert(message) 要在 window 上弹出的对话框中显示的纯文本(而非 HTML 文本) <input type="button" value="按钮" onclick="alert('我是一个消息框')"> demo2 鼠标移入移出显示隐藏div块 <input type="checkbox" onmousemove="document.getElementById('div1').style.display='block';" onmouseout="document.getElementById('div1').style.display='none';"> <div id="div1" class="dsn">显示隐藏div块</div> 更多的鼠标事件 属性 描述 DOM onclick 当用户点击某个对象时调用的事件句柄。 2 oncontextmenu 在用户点击鼠标右键打开上下文菜单时触发

2月10日就有人预言HP要上央视315了,呵呵!

孤人 提交于 2020-03-28 18:37:38
之前还以为HP的笔记本比较好,看来问题多哈。不过觉得Think Pad被Lenovo做了以后,也不怎么样了! 【搜狐IT消息】央视315晚会启动仪式在京召开。惠普DV2000/DV3000笔记本电脑被曝光出现严重质量问题,下面是这部分的文字实录: 欧阳夏丹 :欢迎大家继续收看我们的3·15晚会。对于像电脑、电视、手机等等这样的消费品,国家有一个相关的规定,叫做部分商品修理更换退货责任规定,也就是经常说的三包,包修、包退、包换,这是完善服务应有的规则,同时也是一个企业必须要去执行的规则。但是我们非常遗憾的看到有的企业却是单方面按照自己定的规则来做,完全把消费者的权益抛在脑后,对于他们这样的规则,我们称之为前规则。去年以来12315热线和来自全国各地的消费者协会都收到大量针对惠普DV2000和V3000笔记本电脑的投诉,问题到底出在哪里,我们一起来看看。 25台惠普D300笔记本是江苏老师一起购买的,仅仅使用了一年,笔记本出现温度过高,无法开机。 老师 :我的电脑换了两次主板,换了两块屏。 旁白 :无法正常开机。在武汉,消费者惠普V3000开机笔记本开机无法启动。在北京七位大学生购买了惠普DV2000笔记陆续罢工,为什么相同的故障集中出现在DV2000和V3000笔记本中。记者来到惠普公司总部。 惠普 :在那儿可能是几个月才发生一起,你说大规模爆发,在我们这看,我们连影都没见着。 旁白

RabbitMQ的各种模式

拜拜、爱过 提交于 2020-03-28 17:42:53
前面我们已经说明了Simple模式的实现,下面我们会说明其他模式的使用和实现 1、Work 工作模式    特点:一个消息只能被一个消费者获取,也就是说一个消息只能被消费一次。其实就是多了些消费者      使用场景: 生产消息的速度 大于 消费消费消息的速度,还句话说就是减少系统的负载 代码实现 和Simple模式类似,就是多了一个mainWorkReceive.go,代码都是一样的。 RabbitMQWork/mainWorkPublish.go package main import ( "demo/RabbitMQ" "fmt" "strconv" "time" ) func main() { rabbitmq := RabbitMQ.NewRabbitMQSimple("testSimple") for i := 0; i <= 100; i++ { rabbitmq.PublishSimple("Hello Test! "+strconv.Itoa(i)) time.Sleep(1*time.Second) fmt.Println(i) } } RabbitMQWork/mainWorkRecieve.go package main import "demo/RabbitMQ" func main() { rabbitmq := RabbitMQ

RabbitMQ集群架构之使用Haproxy实现高可用负载均衡

蓝咒 提交于 2020-03-28 15:54:20
RabbitMQ集群架构模式 那么对于Rabbitmq是单点应用来说,如果rabbitmq整个消息mq都会摊掉,所有在mq的消息高可用部分,就显得尤为重要了,那么在mq中提供了四种集群架构方案: 1、主备模式 (Warren) 2、镜像模式 (Mirror) 3、远程模式 (Shovel) 4、多活模式 (Federation) 在我们开发中最直接的模式就是主备模式:主要实现RabbitMQ的高可用集群,一般在并发和数据量不高的情况下,这种模型非常的好用且简单,主备模式也称为Warren模式 也就是一主一备,对于集群来说至少有两台服务器,那么这两台服务器一台在工作,一台在闲置,注意,这个的主备和我们之前的主从是不一样的,主从的话是一台作为主服务器,一台作为从服务器,虽然这两台是数据同步,主负责读写,而从只负责只读,而主备是一台工作一台闲着,如果一台服务器宕机了,那么备服务器切换过来,可能的话,这种对于负载均衡的话一台只忙着干活,一台只闲着,这种的生产中用的也很少,这种会造成我们资源的一个浪费。 镜像模式:集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多的,而且实现集群也非常简单,一般互联网大厂都会构建这种镜像集群模式,原理主要是在主备的基础上进行了扩展,集群中所有的节点设备都是同步的,每一个队列,交换机里面的配置信息和我们的数据都是同步的