自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 问答 (1)
  • 收藏
  • 关注

原创 goroutine的传统同步机制

goroutine的传统同步机制goroutine是go的轻量级“线程",也叫协程。它有以下几个特点:轻量级“线程”非抢占式多任务处理,由协程主动交出控制权编译器、解释器、虚拟机层面的多任务多个携程可能在一个或多个线程上运行go推荐的goroutine之间的同步机制是channel,基于CSP(Communication Sequential Process)模型,经典名:不要使用共享内存来通信,要使用通信来共享内存。但是本篇文章并不将CSP模型,而是回到传统的同步机制:WaitGrou

2020-08-31 11:41:02 191

原创 前端如何识别浏览器类别+Blob流如何兼容IE

前端如何识别浏览器类别+Blob流如何兼容IE浏览器识别和兼容如何识别浏览器类别Blob流兼容IE10-11浏览器识别和兼容作为一个后端开发,有时候也要写写前端代码,但是如果让我兼容IE浏览器,我只能够祭上这张图:。如何识别浏览器类别var agent = navigator.userAgent.toLowerCase();console.log(agent); var arr = []; var system = agent.split(' ')[1].split(' ')[0].spl

2020-07-20 14:57:37 1351

原创 SpringBoot通过Mybatis配置多数据源的时候,为何无法加载mybatisAppConfig.xml文件中的枚举处理类typeHandler?

一般在SpringBoot项目中,都是通过mybatis-generator插件读取generatorConfig.xml自动生成mapper.xml文件、Mapper.java、entity实体类等。如果有枚举类转换处理,可以放到mybatisAppConfig.xml文件中配置。然后,通过设置一个简单的数据源配置类就可以了,如下:@Configuration@MapperScan("...

2018-12-18 22:37:00 1100

原创 IDEA中安装go插件,如何能够配置go SDK?

最近在学习go语言,一个是因为区块链的技术热潮,另一个是接手的项目有用到go写多线程高并发,因此决定自学go。第一个遇到的问题就是环境!通过一个晚上的摸索,大概步骤如下:在IDEA中先打开settings——>Http Proxy,设置代理,否则你是无法下载go插件的!进入settings——>plugins——>Browse repositories从浏览器中下载插件:上图中一...

2018-06-04 21:24:28 15874 1

原创 基于SpringBoot框架的单元测试和集成测试的区别和联系

1、单元测试和集成测试的区别:Web集成测试:在嵌入式的Servlet容器(Tomcat,Jetty)里启动应用程序,在真正的应用服务器里进行测试。Spring Mock MVC :能在一个接近真实的模拟Servlet容器里启动应用程序,而不用实际启动应用服务器,相当于单元测试。2、可以采用Spring MVC进行单元测试,包括:standaloneSetup():手工创建并配置的控制器w

2017-12-19 19:56:26 4126

原创 idea中安装redis插件以及使用指南

redis是很多企业优化数据存储的一个重要考虑方向,一般我们都会下载一个redis客户端进行访问。我的前一篇关于redis的文章也是用的redis desktop manager来访问远程redis的。     但是这些客户端有时非常不友好,例如想要查看某个key下面的value,需要使用get命令才可以,而且格式没有。     因此,我推荐使用intellij IDEA中的Iedis插件,非常

2017-11-14 20:09:56 45239 16

原创 mysql数据库优化方案之explain执行计划

数据库优化中的explainexplain作用: 是在执行某条SQL(复杂的)与之前,采用explain先测试一下这个SQL语句的性能如何,可以从是否使用索引,主从表格等方面来评估你的SQL语句质量。explain执行计划的结果:如果是复杂查询,在select_type中只有一个primary,但是会有多个 derived(派生类);其中,derived导出类是针对原表的;在inner

2017-11-11 12:15:49 1543

原创 java代码编程规范

(1)if与else之间不要有注解打断 (2)在写代码的时候,注意看右边黄色的警告 (3)if和else之间嵌套太多,如果某个条件没有执行语句,可以先return,这样就不用写else了 (4)if和else最好先写短的,在写长的,也建议先写条件为true,再写false的 (5)在函数内部的注释是//,函数上面的注解是/ * *,如果是成员变量,注解是/ * * (6)尽量使用St

2017-11-11 10:43:27 269

原创 RedisTemplate缓存用法小记

1、下载一个客户端:Redis Desktop Manager2、redis的引用包:<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.8.6.RELEASE</version></dependency>

2017-11-09 19:36:51 20585 1

原创 如何在windows上运行一个javascript脚本

如何在windows上运行一个javascript脚本最近要测试一个公司内部行政数据、人员数据等的同步, 需要很多测试数据。为了方便,就写了一个js脚本自动生成测试数据,但是却不知道如何单独运行这个js脚本:首先在电脑上装nodecmd进入命令行进入到js所在的目录运行 node npm -i 运行 node XXX.js完成

2017-11-09 11:54:53 15717

原创 SpringBoot+Mybatis框架项目的单元测试和集成测试(下)

集成测试集成测试需要启动服务,并且连接数据库,因此配置这一块要做到位。本人之前没有接触过SpringBoot集成测试,故踩了以下3个大坑,希望分享给大家!问题1:SpringBoot的自动装配、yml文件都无法导入 在测试过程中,发现如果只是添加:@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {

2017-08-30 08:31:56 13696

原创 SpringBoot+MyBatis框架的项目单元测试+集成测试(上)

单元测试这是我的项目目录结构: 其中,所有的SQL操作都在mapper.xml中 单元测试 采用了Mockitoverify方法: 验证方法执行过几次: verify(tBookController, times(1)).queryTBookByName(captor.capture());     如上代码所示,验证了tBookController的queryTBookByNa

2017-08-29 08:35:14 6801

原创 如何在Vue中插入echarts图表

vue中插入echarts表格和普通的html页面非常不一样,因为vue自身是携带echarts插件的。再加上vue具有生命周期的概念,页面加载之前、页面加载中都有不一样的函数来实现,因此加载一个echarts图需要在多个地方联合实现!1、<template>中添加echarts容器首先,需要在<template>中注明将echarts图片插入到哪个div容器中:<div class="box-bo

2017-05-25 10:42:35 3164

原创 Ubuntu下Vue.js+webpack的安装(nodejs版本纠正)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-05-18 14:05:29 2962

原创 Ubuntu下Vue.js+webpack的安装

1、需要安装nodejs,最好是新一点的版本:(1)安装依赖包Python 2.6,Ubuntu默认已经安装;(2)安装g++     命令:sudo apt-get install g++ curl libssl-dev apache2-utils(3) 安装git命令:sudo apt-get install git-core(4)下载源码命令:git cl

2017-05-09 20:17:23 2468

原创 虚函数、纯虚函数在C++和java中的区别

1、虚函数C++中:virtual 返回类型 函数名( 参数列表 ){ 函数体 }Java中:所有普通的成员方法(没有被static/native等关键字修饰)如果没有声明为final,那么都默认是virtual的,可以被派生类(子类)override(重写)2、纯虚函数C++中:virtual 返回类型 函数名(参数列表)= 0;即没有函数体的虚函数,任何包含纯虚函数的类

2017-03-24 16:24:48 966

原创 避免硬编码,json读取配置项,和代码分离

为了避免硬编码,尤其是在使用git对项目版本进行管理的时候,我们需要将配置从代码中分离出来。可以将配置信息放入到json文件中:configure.json文件如下:{ "port": "2181", "quorum": "192.168.1.103", "master": "192.168.1.103:60000", "fs": "hdfs://192.168.1.103

2017-03-15 21:25:26 578

转载 霍夫曼前缀编码

作为哈夫曼树的一个重要应用,我们来介绍哈夫曼编码。在我的上一篇博文《树之哈夫曼树》中已经介绍了建立哈夫曼树的过程,而由哈夫曼树求得的编码为最优前缀码。 每个叶子表示的字符的编码,就是 从根到叶子的路径上的标号依次相连所形成的编码,显然这就是该字符的最优前缀码。 所谓 前缀码 是指,对字符集进行编码时,要求字符集中任一字符的编码都不是其它字符的编码的前缀,比如常见的等长编码就是前缀码。所谓 最优前缀

2016-11-07 13:04:25 1987

转载 使用HTTPS防止流量劫持

何为流量劫持前不久小米等六家互联网公司发表联合声明,呼吁运营商打击流量劫持。流量劫持最直观的表现,就是网页上被插入了一些乱七八糟的广告/弹窗之类的内容。比如下面这种:页面的右下角被插入了广告。流量劫持总体来说属于中间人攻击(Man-in-the-Middle Attack,MITM)的一种,本质上攻击者在通信两端之间对通信内容进行嗅探和篡改,以达到插入数据和获取关键信息的目的。目前

2016-04-16 17:10:57 3273

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除