![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发
文章平均质量分 73
睿江云计算
这个作者很懒,什么都没留下…
展开
-
如何使用Vscode结合docker进行开发
前言使用 Docker 与 VS Code 可以优化整个本地开发环境,加速项目进度过程。在所有环境中使用相同的基础映像,为所有开发人员提供相同的编辑器工具,可以更容易实现标准。大型项目的团队首先必须确保安装依赖、内核版本这些开发环境是统一的。为了解决开发环境一致性的问题,常规传统的办法就是制定开发人员遵循制定指南,但是尽管如此实际开发过程还是会遇到各种障碍。设置环境的常规方法如下图所示:另一种解决方案是使用所有必需的库和依赖项预先配置的开发环境,开发人员可以在容器中分拆这些库和依赖项。然后,开发人原创 2021-07-08 10:56:47 · 2595 阅读 · 0 评论 -
使用JAVA调用KURENTO录制功能
1. 前言在KURNTO中,实现了音视频录制功能。下面我们来详细的了解一下JAVA如何调用录制功能的实现。2. 思路2.1 部署kurento媒体服务器。启动成功默认监听8888,交互方式为webSocket。2.2 创建一个由WebRtcEndpoint 和RecorderEndpoint组成的媒体管道。3. 备注3.1. kurento默认支持录制属性{WEBM, MKV, MP4, WEBM_VIDEO_ONLY, WEBM_AUDIO_ONLY, MKV_VIDEO_ONLY,原创 2021-06-04 11:56:01 · 441 阅读 · 0 评论 -
Electron安装/打包错误的问题总结
什么是Electron简单的说Electron就是一个能让你使用 JavaScript, HTML 和 CSS 来创建桌面应用程序的框架。 而这些应用程序可以打包后在 macOS、Windows 和 Linux 上直接运行使用。非常适合前端来做桌面应用开发。一、Electron安装电脑装上node.js之后安装electron进入到electron项目路径在终端输入以下命令:npm install --registry https://registry.npm.taobao.org原创 2021-06-04 11:50:08 · 1823 阅读 · 1 评论 -
Ionic使用常用插件时遇到的坑与解决方法
一、 什么是IonicIonic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。 可以帮助您使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。它是基于Cordova框架,利用Cordova实现应用的手机功能调用、调试与发布。简单的话就是可以使用一套代码,利用Ionic可以生成安卓、IOS和网页端应用。二、 使用插件时遇到的坑与解决方法在开发Ionic应用时,因为程序本身是不具备调原创 2021-06-04 11:11:57 · 424 阅读 · 0 评论 -
非真实网络的视频传输实战(一)
本光头在N久之前的一门教学中说到,WEBRTC的原理,不知道同学们有没有看过那一篇,如果没有的话那就先去看看那篇课程,或者大家可以搜索一下webrtc的相关通信原理再来看本篇文章。本篇会介绍端对端连接的基本流程,也就是peer 2 peer,这次为演示方便,就不准备使用真实的服务器进行介绍(毕竟服务器带宽也不便宜呀)。也就是说本篇不涉及到跨网络的应用,而是在同一个页面里面,在其中一个video标签里头展示我们采集到的音频,视频流,之后创建两个peerConnection,然后将这个媒体流数据加入到其中一个原创 2021-06-04 11:07:06 · 278 阅读 · 0 评论 -
如何在CentOS 7上基于Apache安装Cerb
一、软件介绍Cerb是一个用PHP编写使用MySQL或MariaDB作为数据库的工作流和电子邮件自动化系统,非常适合大型团队。他的主要特性包括:1.大容量邮件管理。2.共享邮箱。3.用于实时监控和目标跟踪的仪表板。4.实时通知。5.任务管理器。6.适配移动设备。7.基于REST的API。Cerb是在社区15年的反馈基础上发展起来的,尽管源代码可以在Github上获取,但该软件是在一个名为Devblocks Public license(DPL)的商业开源许可证下分发的,值得注意的是,许可原创 2021-06-04 10:58:46 · 153 阅读 · 0 评论 -
通往高级JAVA开发的必经之路—JVM(二)
前言:上一篇讲完了JVM的类加载机制,运行时数据区以及版本7与8之间的一些区别。这一篇主要讲讲JDK8的默认的垃圾回收机制(GC)。开始之前先复习一下JVM的运行时数据区:垃圾回收(GC)概述:在堆内存中存放着很多new出来的对象,这些对象有些可能非常重要,会一直存在直到系统停止,有些可能用完一次后就不会再用了,朝生夕灭。那么如何合理的分配内存,清理无用的对象。就是垃圾回收机制的作用了。判断是否无用对象:堆内存中存放着那么多的对象,JVM是如何识别对象是否有用的?这里就涉及到了JVM的垃圾判原创 2021-06-04 10:43:27 · 160 阅读 · 1 评论 -
关于electron的基本调试
介绍调试是开发中必不可少的一个过程,electron分为主进程和渲染进程,所以需要有分别调试这两个进程渲染进程调试electron渲染进程的调试跟web开发的调试过程差不多一样,因为这个进程相当于Chromium 的一个窗口,在开发环境中可以设置:win.webContents.openDevTools() 来打开devtools来调试代码。接下来就可以对渲染进程进行调试,vue-devtools通常我们是使用vue+electron的模式进行开发,而在平时vue开发中,我们通常使用vue-原创 2021-06-04 10:33:16 · 1794 阅读 · 1 评论 -
如何使用perf top 探究性能
Perf 内置于Linux 内核源码树中的性能剖析工具。它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。可用于性能瓶颈的查找与热点代码的定位。linux2.6及后续版本都自带该工具,几乎能够处理所有与性能相关的事件。perf top 是比较常用于展示占用CPU始终最多的函数或者指令,一般以此来查找热点函数。实战root@xxxx:~# apt install linux-tools-commonroot@xxxx:~# perf topSample原创 2021-06-04 10:24:37 · 5144 阅读 · 1 评论 -
ansible进行ceph-rgw部署
用户管理用户创建执行下面的命令新建一个用户 (S3 接口):radosgw-admin user create —uid={username} —display-name=”{display-name}” [—email={email}]实例如下:radosgw-admin user create —uid=johndoe —display-name=”John Doe” —email=john@example.com获取用户信息要获取一个用户的信息,你必须使用 user info 子命令并且原创 2021-06-04 10:02:17 · 391 阅读 · 0 评论 -
安全测试系列之弱网测试
APP弱网测试用户在使用APP的过程中,网络条件比较复杂,如WiFi,4G,3G,2G;并且,当前有三大运营商,所提供的网络制式不太相同。同时,用户使用的场景也各不相同,比如室内,户外,电梯或者停车场等。因为不做任何处理的话很可能会崩溃闪退,很影响用户的使用。所以对客户端要求就比较高了,需要做容错处理,比如异常提示,超时处理,重连机制,以及缓存机制。弱网测试作为健壮性测试的重要部分,对于移动端的测试来说必不可少。主要包含以下几个方面。弱网功能测试这一部分主要是在各种非wifi网络..原创 2021-04-06 09:13:36 · 424 阅读 · 0 评论 -
OPENVIDU实现网络质量检测统计
1.前言在WebRTC中,我们需要对当前的音视频情况进行监控,便于对音视频质量有一个了解,同时可以用来分析定位音视频卡顿模糊等问题。WebRTC提供了一个标准的解决方案:标准详情,基于此标准Kurento也提供了一套实现方案,接下来就来具体介绍一下。2. 序列图依照上述时序图openvidu这块步骤分为2步:第一步创建媒体通道时开启WEBRTC统计信息:pipeline.setLatencyStats(true);第二步端点调用getStats方法并处理返回Map类..原创 2021-04-06 09:14:38 · 372 阅读 · 0 评论 -
Windows操作系统引导过程
Windows作为最流行的个人计算机操作系统,成为了我们学习、工作和生活的一部分。从计算机通电到Windows启动完成,这具体是怎样的过程?跟着小编一起去探索吧。Windows引导过程Windows作为最流行的个人计算机操作系统,成为了我们学习、工作和生活的一部分。平时使用计算机,我们都得先按下电源键然后等待Windows启动,初始化,进入欢迎页面,启动完成。会不会觉得整个过程比较神奇,想一探究竟?其实整个启动过程经历了多个阶段,接下来小编将一一讲述每一个阶段,揭开它们神秘的面纱。通电后CPU首先执行原创 2021-01-05 18:06:59 · 1885 阅读 · 1 评论 -
几招教你如何使用lttng以及log分析cpeh
LTTng: (Linux Trace Toolkit Next Generation),它是用于跟踪 Linux 内核、应用程序以及库的系统软件包.LTTng 主要由内核模块和动态链接库(用于应用程序和动态链接库的跟踪)组成。它由一个会话守护进程控制,该守护进程接受来自命令行接口的命令。babeltrace 项目允许将追踪信息翻译成用户可读的日志,并提供一个读追踪库,即 libbabletrace。 ceph代码中大量嵌入了tracepoint ,使用lttng进行跟踪。配置开启tracing 功能首原创 2021-01-05 17:59:28 · 512 阅读 · 0 评论 -
利用Angular elementRef实现一键复制功能
前言由于在之前有个项目需要实现一键复制功能,一开始大多数都会想着自己用js手写封着。后来发现angular有个机制,可以很简单的实现一键复制功能。背景Angular 的口号是 - “一套框架,多种平台。同时适用手机与桌面 (One framework.Mobile & desktop.)”,即 Angular 是支持开发跨平台的应用,比如:Web 应用、移动 Web 应用、原生移动应用和原生桌面应用等。为了能够支持跨平台,Angular 通过抽象层封装了不同平台的差异,统一了 API 接口。如原创 2021-01-05 17:37:11 · 376 阅读 · 0 评论 -
如何用electron高度自定义制一个系统菜单栏?
背景最近在做一个实时聊天的PC客户端,遇到这样一个任务,在客户端接收到其他用户消息的时候要闪烁系统托盘图标,并且在鼠标滑到系统托盘的时候显示未读消息的菜单栏(对,就是类似QQ的消息提示,例如下图);这里补充一下,我们是选用electron作为我们的开发框架,对于我们来说,electron可以使用前端语言(HTML+CSS+JS),并且可以跨平台的框架,就是我们的最佳选择。解题思路1、正常人的思路,都是先看看electron有没有集成好的api, 我也不例外,所以找了一圈,找到了一个系统托盘Tray模原创 2021-01-05 17:28:17 · 993 阅读 · 8 评论 -
jmeter 的 N 种正则表达式实现方式
一、什么是正则表达式?正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1.给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”);2.可以通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式的特点是:1.灵活性、逻辑性和功能性非常的强;2.可以迅速地用极简单的方式达到字符串的复杂控制。二、jmeter 正则原创 2021-01-05 17:08:59 · 360 阅读 · 0 评论 -
简单说说RDS的主从功能是如何实现
什么是RDS高可用目前睿江云已经推出的RDS数据库,也已经将以上提到的高可用,进行了融合。用户无需进行上面的配置,直接选购即可使用。相信不少的读者朋友,数据库的使用经验,相信使用的最多得应该是MYsql这个数据库软件了。如果一台系统能够不间断的提供服务,那么这台系统的可用性据说100%。那如果系统每运行100个时间单位,就会出现1个时间单位无法提供服务,那么该台系统的可用性是99%。数据库除了定期备份还需要实现冷热备份。甚至可以在全球范围内部署灾备数据中心。常见的RDS高可用思路主主模型,双方互为原创 2021-01-05 16:58:49 · 484 阅读 · 0 评论 -
简单说说springboot使用yaml文件配置注入常遇到的坑
YAML是JSON的一个超集,可以非常方便地将外部配置以层次结构形式存储起来。作为人员来说,使用YAML文件进行配置,可以使得我们的配置看起来层次更加直观,后期维护也比较方便,但是在使用YAML文件作为springboot的配置文件时,也时常会遇到各种坑,今天就将这些坑做一个小汇总和记录。1.空格上出现的坑首先是YAML文件是按照特定语法来解析文件的,当我们的配置文件格式出现错误时则会解析失败,而做容易出错的莫过于配置的键值对在冒号后还需要一个空格才能正常解析,如:在port:之后我们需要加上一个空原创 2021-01-05 16:54:09 · 904 阅读 · 1 评论 -
关于ext4文件系统概述
前言:目前大部分Linux操作系统使用的文件系统是ext4和xfs, 了解ext4在磁盘中的分布1. 容量概念对于储存几个概念的解析:sector(扇区) :1.磁盘最小的储存单位,可以通过命令行 fdisk -l得知单位每sector的大小(一般是512byte)2.机械硬盘HDD的可用空间大小计算公式是 heads(磁头数量) cylinders(柱面数量) sectors(扇区数量) * 每个sector大小(512byte)3.所以固态可用空间的总大小是 sectors(扇区数量)原创 2020-12-02 17:55:40 · 2612 阅读 · 0 评论 -
关于XFS文件系统概述
前言:目前XFS已成为Linux主流的文件系统,所以有必要了解下其数据结构和原理。XFS文件系统XFS是一个日志型的文件系统,能在断电以及操作系统崩溃的情况下保证数据的一致性。XFS最早是针对IRIX操作系统开发的,后来移植到linux上,目前CentOS 7已将XFS作为默认的文件系统。使用XFS已成为了潮流,所以很有必要了解下其数据结构和原理。XFS官方说明文档参考:https://xfs.org/docs/xfsdocs-xml-dev/XFS_Filesystem_Structure//tm原创 2020-12-02 17:29:11 · 3886 阅读 · 0 评论 -
通往高级JAVA开发的必经之路——JVM
前言:JAVA语言的一个非常重要的特点就是与平台的无关性。而使用JVM是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入JVM后,Java语言在不同平台上运行时不需要重新编译。Java语言使用模式JVM屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。开始讲解之前,我们先来看一下JVM的组成:这张图为JVM的组成图,大致分为三个系统构成,分别是类加载器系统、运行时数据原创 2020-12-02 17:12:12 · 157 阅读 · 0 评论 -
序列化与反序列化
考虑到可读性,数据往往不是以最有效的方式编写,但为了存储或传递数据时更加高效,同时不丢失其类型和结构,可以利用序列化和反序列化函数对数据进行处理。序列化将特定格式数据转换为可以恢复的字节串序列什么时候进行序列化?1)数据在网络上传输时2)数据保存到文件中时(由于序列化返回的是字符串,方便存储于任何地方!)反序列化顾名思义,将序列化得出的字符串恢复为原有格式数据的过程什么时候进行反序列化?1)程序读取数据的时候序列化和反序列化的目的是在不影响数据有效性情况下,更高效地存储和传输数据,使程原创 2020-12-02 16:41:05 · 431 阅读 · 0 评论 -
如何通过注释测试python代码
通常我们写一段临时的python脚本去实现一定的功能,是不会考虑对这段代码进行自动化的测试,因为后续不会对代码进行修改和持续的迭代。然而很多情况下我们编写项目的代码,必须考虑到产品迭代,以及代码修改后原有功能是否依然能正常运行等,这就需要对代码进行测试。测试的方式很多,包括使用python常用的单元测试框架pytest和unittest等,作为测试驱动开发的工具。除了这些测试框架,python也提供了一种文档型的测试方式,在编写的注释中加入测试用例进行验证,这就是本文的主角,doctest。注释内嵌脚本原创 2020-11-17 10:34:09 · 463 阅读 · 0 评论 -
如何实现IM表情、图片、文件之间的通讯?
背景随着企业的发展,企业事务管理系统如OA、CRM、PM、KM等将会越来越多。企业员工每天需要花大量的时间去各个系统查看与操作相关事务。尽管如此,各项信息还是无法第一时间得到处理,各项工作的执行效率大打折扣。因此,睿信IM产品应运而生,它可以:1、为企业提供私有的IM系统,防止商业信息泄露2、整合企业办公生态,汇总多端消息通知,防止消息漏接漏审。3、便捷企业办公,在IM中可完成多个办公系统的操作。简化办公流程操作。而通讯作为睿信IM最基本的功能,怎么少得了表情、图片、文件之间的通讯呢?那么问题来了原创 2020-11-16 17:39:11 · 659 阅读 · 2 评论 -
如何使用app原生上传替代uniapp的uploadfile接口
uniapp简介uniapp是近两年来比较火的号称开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序的一个平台,它提供了各种丰富的API文档让开发者快速的完成各种功能。但是由于uniapp是一个新兴平台,生态还不够完整,难免会出现一些bug。今天我们就来讲讲uniapp官方上传文件API的坑以及如何使用原生app写法代替uniapp的上传接口。uniapp官方上传文件接口uni.uploadFile(OBJECT)将本地资源上传到开发者服务器,客户端发起一个 POS原创 2020-11-16 17:31:18 · 837 阅读 · 2 评论 -
Mysql从索引原理对SQL分析优化实战
无论是在大型项目,还是小型项目中,随着业务的迭代,用户的增长,数据库数据往往都是成百万级别的,这时候普通的sql语句执行起来是非常慢的,这时候就需要对sql进行优化啦,接下来将手把手从索引原理带你学会如何分析优化,写出一手高逼格的sql。Mysql的索引存储原理:mysql有两种索引:**hash**和**b+tree**select * from user where age = 10 (生效)select * from user where age > 10 (不生效)(如上图)h原创 2020-11-16 17:23:40 · 143 阅读 · 1 评论 -
Kubernetes权限管理之RBAC (一)
k8s在启用基于角色管理的访问控制 RBAC(Role-based-Access-Control)的授权模式。相当于基于属性的访问控制ABAC(Attribute-based Access Control),RBAC主要是引入了 角色(Role 权限的集合) 和角色绑定(RoleBinding)的抽象概念。在ABAC中,k8s集群中的访问策略只能跟用户直接关联;而RBAC中,访问策略可以跟某个角色关联,具体的用户再和某个角色或者多个角色关联。RBAC有四个新的k8s顶级资源对象: 角色(Role)、集群角原创 2020-11-09 16:45:21 · 258 阅读 · 0 评论 -
五步教你如何使用k8s快速部署ES
Kubernetes今天小编打算用五步教大家如何使用k8s快速部署ES,有兴趣的小伙伴可以了解一下~由于是使用本地存储,所以需要先创建pv1、创建存储类local-elasticsearch.yamlkind: StorageClassapiVersion: storage.k8s.io/v1metadata: name: local-elasticsearchprovisioner: kubernetes.io/no-provisionervolumeBindingMode: Wai原创 2020-11-09 16:27:46 · 1599 阅读 · 0 评论 -
ClickHouse安装与单机部署
ClickHouse可以具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。本文是系统基于CentOS7上安装,ClickHouse版本v19.16.10.44, 单机部署云服务器。1. 安装包下载https://packagecloud.io/altinity/clickhouse下载6个安装文件clickhouse-test-19.16.10.44-1.el7.x86_64.rpmclickhouse-server-co原创 2020-10-26 15:30:00 · 813 阅读 · 0 评论 -
简单说说ClickHouse的概述以及优势
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。由号称“俄罗斯 Google”的 Yandex 开发而来,在 2016 年开源,在计算引擎里算是一个后起之秀,在内存数据库领域号称是最快的。由于它有几倍于 GreenPlum 等引擎的性能优势,所以不少人都选择将其安装云服务器中使用。ClickHouse 是一个列导向数据库,是原生的向量化执行引擎。它在大数据领域没有走 Hadoop 生态,而是采用 Local attached storage 作为存储,这样整个 IO 可原创 2020-10-26 15:13:06 · 3062 阅读 · 0 评论 -
【1024程序员日】程序员终于有用武之地了!破解题目赢好礼
当技术开始撑起世界、改变人类生活时,全球都在争夺IT相关人才——程序员。他们背后付出的辛劳,一点一点地被大众所熟知、所敬佩。但说起程序员,大家脑海飘过的词汇有哪些?高大上?大神?码农?熬夜改需求?通宵改BUG?格子衬衫代言人?霸王洗发水忠实用户?采访我司众多程序员,纷纷表示七天长假后最期待的节日不是元旦也不是春节,而是1024程序员节。这一天他们“最大”,领导、朋友、同事都将以他们为中心,更会贴心的为他们准备节日礼物……而一年一度属于他们的节日——1024程序员节将如期而至。1024程序员原创 2020-10-23 14:27:40 · 391 阅读 · 1 评论 -
教你如何快速部署docker容器虚拟化平台
大家好,我又来了,上一期枯燥地介绍过docker的一些基本概念,是否有摩拳擦掌开干部署docker的冲动?来来,接下来介绍docker的部署。2.1 实验环境准备睿江云环境: CENTOS7.6 64 位方法: 直接使用 centos 系统自带的 yum 源安装yum -y install dockersystemctl start docker #启动 docker 服务systemctl enable docker #设置开机启动 docker 服务docker version #显示 D原创 2020-10-21 14:59:26 · 200 阅读 · 0 评论 -
如何使用docker-compose搭建zabbix
相信不少的读者朋友,应该都有过zabbix搭建的经验。随着互联网的普及,相比于过去,搭建一个的zabbix平台,需要进行多个组件的安装,需要购买昂贵的硬件资源与相关网络资源的投入,成本可见一斑,笔者所在的公司是一家云计算公司,致力于为传统企业或个人提供便捷的云服务,本文谈到的几种高可用方案,均使用自家的云主机,实践出真知,下面就来谈谈如何使用docker-compose进行zabbix的安装。为什么要使用docker-compose的方式安装zabbixdocker相信有很多的读者朋友都有使用过,其中原创 2020-10-21 14:51:31 · 751 阅读 · 1 评论 -
自动化测试系列之jenkins配置搭建环境
今天来给大家讲解一下关于jenkins配置搭建环境~1、安装及运行(1)下载http://updates.jenkins-ci.org/latest/jenkins.war(2)运行两种运行方式:一种是基于tomcat、Jdk启动,一种是基于Docker启动我们这里使用tomcat运行将war包放到tomcat的webapps目录下,启动tomcat(3)测试Localhost:8080/Jenkins2、配置2.1初始化配置(1)解锁Jenkins第一次初始化登录要等待一些转载 2020-10-14 15:21:46 · 227 阅读 · 0 评论 -
前端常见一些安全问题及解决方案
今天小编给大家说说前端常见一些安全问题及解决方案,有兴趣的小伙伴可以了解一下!一、CSRF安全漏洞CSRF是通过仿造客户端的请求获取信息的,对于jsonp的请求,客户端确实可以仿造,但是因为对于ajax的请求,有同源策略限制,已经做了域名过滤,所以一般不会有问题。解决方案:1、检查报头中的referer参数确保请求发自正确的网站(但XHR请求课调用setRequestHeader方法来修改Referer报头)2、对于任何重要的请求都需要重新验证用户的身份;3、创建一个唯一的令牌(token),原创 2020-09-16 16:47:29 · 456 阅读 · 0 评论 -
如何使用PM2部署前端项目
PM2 是一个带有负载均衡功能的Node应用的进程管理器。当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载,PM2是比较合适的。但我们一般都是在本地启动我们的应用,那怎么部署到服务器呢?如果还没有云服务器,小编建议买一台哈,推荐睿江云第一步:安装nodejs 和 PM2安装nodejscurl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -## 如果执行失败 报 curl sudo:com原创 2020-09-16 16:05:49 · 431 阅读 · 0 评论 -
vuex状态管理器本地持久化
上一小节我们讲解了vuex状态管理器的基本原理和使用场景,如果自己做过demo的童鞋不难发现,在web端点击刷新按钮之后原先保存在vuex里面的数据全都被初始化了。其实不止这种情况会初始化vuex数据,当你在js代码里面执行了window.location.reload()方法后同样会初始化。下面我们来举个栗子。1、准备工作在安装好vuex,还没安装的童鞋可以参考上一小节去安装好vuex。2、将store中state的name设置为helloVueXstroe/index.jsimport Vue原创 2020-09-16 14:58:58 · 169 阅读 · 0 评论 -
websocket快速重连机制
导读:在一个完善的即时通讯应用中,websocket是极其关键的一环,它为web应用的客户端和服务端提供了一种全双工的通信机制,但由于它本身以及其底层依赖的TCP连接的不稳定性,开发者不得不为其设计一套完整的保活、验活、重连方案,才能在实际应用中保证应用的即时性和高可用性。就重连而言,其速度严重影响了上层应用的“即时性”和用户体验,试想打开网络一分钟后,微信还不能收发消息的话,是不是要抓狂?因此,如何在网络变更时快速恢复websocket的可用,就变得尤为重要。一、快速了解websocetWebsoc转载 2020-09-08 10:11:19 · 515 阅读 · 0 评论 -
如何使用selenium打开多个浏览器
前言在web测试中,不可避免的一个测试就是浏览器兼容性测试,在没有自动化测试前,我们总是苦逼的在一台或多台机器上安装N种浏览器,然后手工在不同的浏览器上验证主业务流程和关键功能模块功能,以检测不同浏览器或不同版本浏览器上,我们的web应用是否可以正常工作。下面我们看看怎么利用python selenium进行自动化的跨浏览器测试。什么是跨浏览器测试跨浏览器测试是功能测试的一个分支,用以验证web应用能在不同的浏览器上正常工作。**为什么需要跨浏览器测试**通常情况下,我们都期望web类应用能原创 2020-09-08 09:53:12 · 3194 阅读 · 0 评论